From 0e24a8ea63fec2383c753bb4880216a8fc4ec3db Mon Sep 17 00:00:00 2001 From: JIWOO Date: Wed, 8 Jan 2025 14:17:56 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20=EB=A1=9C?= =?UTF-8?q?=EA=B7=B8=20=EC=A0=80=EC=9E=A5=20=EC=8B=9C=20=ED=94=84=EB=A1=9C?= =?UTF-8?q?=EA=B7=B8=EB=9E=A8=EC=9D=B4=EB=A6=84=EC=97=90=20=3F=20=EC=95=9E?= =?UTF-8?q?=EB=B6=80=EB=B6=84=EB=A7=8C=20=EB=93=B1=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../log/clg/service/impl/EgovLoginLogServiceImpl.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/kcc/let/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java b/src/main/java/kcc/let/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java index 4e63b417..cab044ed 100644 --- a/src/main/java/kcc/let/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java +++ b/src/main/java/kcc/let/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java @@ -78,8 +78,12 @@ public class EgovLoginLogServiceImpl extends EgovAbstractServiceImpl implements //loinLog.setMethodNm(s_arr[s_arr.length-3]+"/"+s_arr[s_arr.length-2]+"/"+s_arr[s_arr.length-1]); - loinLog.setMethodNm(StringUtil2.extractLogMethodNm(loinLog.getUrl())); - + /*250108 - 메소드 길이로 인하여 로그 기록 시 오류. + ?를 기준으로 앞부분 사용*/ + //loinLog.setMethodNm(StringUtil2.extractLogMethodNm(loinLog.getUrl())); + String methodNm = loinLog.getUrl(); + String[] methodNmArr = methodNm.split("\\?"); + loinLog.setMethodNm(methodNmArr[0]); System.out.println("loinLog.getMethodNm()"); System.out.println(loinLog.getMethodNm()); @@ -105,8 +109,9 @@ public class EgovLoginLogServiceImpl extends EgovAbstractServiceImpl implements //다시 남기기 i=loginLogDAO.logInsertWebLoginLogNewStep1(loinLog); //사용자 페이지의 로그만 남김(메뉴에 등록된 페이지만 남김) + //250108 - logInsertWebLoginLogNewStep1와 동일하게 LETTNLOGINLOG에 로그를 남기는데 PK 중복 에러로 인하여 주석 //lettnloginlog 에 남기기 - i=loginLogDAO.logInsertWebLoginLogNewStep2(loinLog); //사용자 페이지의 로그만 남김(메뉴에 등록된 페이지만 남김) + //i=loginLogDAO.logInsertWebLoginLogNewStep2(loinLog); //사용자 페이지의 로그만 남김(메뉴에 등록된 페이지만 남김) } }catch(Exception ex) { From 3737901d5c56bffa4f55514a2bb2b0dd22738df5 Mon Sep 17 00:00:00 2001 From: tolag3 Date: Wed, 8 Jan 2025 14:19:25 +0900 Subject: [PATCH 2/2] =?UTF-8?q?pdf=20=EB=B3=80=ED=99=98=EC=86=94=EB=A3=A8?= =?UTF-8?q?=EC=85=98=20=EA=B0=9C=EB=B0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pdf/service/PdfJsonSerializerOption.java | 29 ++++ .../pdf/service/PdfJsonSerializerOptions.java | 29 ++++ .../java/kcc/com/pdf/service/PdfService.java | 7 + src/main/java/kcc/com/pdf/service/PdfVO.java | 52 +++++++ .../java/kcc/com/pdf/service/impl/PdfDAO.java | 10 ++ .../com/pdf/service/impl/PdfServiceImpl.java | 145 ++++++++++++++++++ src/main/java/kcc/xxx/web/XxxController.java | 24 ++- .../seed/com/gtm/base/BaseController.java | 21 ++- .../clipreport4/DataConnection.properties | 30 ++-- .../WEB-INF/clipreport4/License.properties | 4 +- .../logs/ClipReport4.2025-01-07-1.log | 134 ++++++++++++++++ .../ClipReport4/ClipReportViewer_pdf_down.jsp | 98 ++++++++++++ 12 files changed, 559 insertions(+), 24 deletions(-) create mode 100644 src/main/java/kcc/com/pdf/service/PdfJsonSerializerOption.java create mode 100644 src/main/java/kcc/com/pdf/service/PdfJsonSerializerOptions.java create mode 100644 src/main/java/kcc/com/pdf/service/PdfService.java create mode 100644 src/main/java/kcc/com/pdf/service/PdfVO.java create mode 100644 src/main/java/kcc/com/pdf/service/impl/PdfDAO.java create mode 100644 src/main/java/kcc/com/pdf/service/impl/PdfServiceImpl.java create mode 100644 src/main/webapp/WEB-INF/jsp/ClipReport4/ClipReportViewer_pdf_down.jsp diff --git a/src/main/java/kcc/com/pdf/service/PdfJsonSerializerOption.java b/src/main/java/kcc/com/pdf/service/PdfJsonSerializerOption.java new file mode 100644 index 00000000..a33991a8 --- /dev/null +++ b/src/main/java/kcc/com/pdf/service/PdfJsonSerializerOption.java @@ -0,0 +1,29 @@ +package kcc.com.pdf.service; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; + +import kcc.com.pdf.service.PdfVO.Option; + +import java.io.IOException; +import java.util.List; + +public class PdfJsonSerializerOption extends JsonSerializer> { + + @Override + public void serialize(List Option, JsonGenerator gen, SerializerProvider serializers) throws IOException { + if (Option == null || Option.isEmpty()) { + gen.writeNull(); + return; + } + + if (Option.size() == 1) { + // 옵션이 하나일 때 객체로 직렬화 + serializers.defaultSerializeValue(Option.get(0), gen); + } else { + // 옵션이 여러 개일 때 배열로 직렬화 + serializers.defaultSerializeValue(Option, gen); + } + } +} \ No newline at end of file diff --git a/src/main/java/kcc/com/pdf/service/PdfJsonSerializerOptions.java b/src/main/java/kcc/com/pdf/service/PdfJsonSerializerOptions.java new file mode 100644 index 00000000..032c7817 --- /dev/null +++ b/src/main/java/kcc/com/pdf/service/PdfJsonSerializerOptions.java @@ -0,0 +1,29 @@ +package kcc.com.pdf.service; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; + +import kcc.com.pdf.service.PdfVO.Options; + +import java.io.IOException; +import java.util.List; + +public class PdfJsonSerializerOptions extends JsonSerializer> { + + @Override + public void serialize(List options, JsonGenerator gen, SerializerProvider serializers) throws IOException { + if (options == null || options.isEmpty()) { + gen.writeNull(); + return; + } + + if (options.size() == 1) { + // 옵션이 하나일 때 객체로 직렬화 + serializers.defaultSerializeValue(options.get(0), gen); + } else { + // 옵션이 여러 개일 때 배열로 직렬화 + serializers.defaultSerializeValue(options, gen); + } + } +} \ No newline at end of file diff --git a/src/main/java/kcc/com/pdf/service/PdfService.java b/src/main/java/kcc/com/pdf/service/PdfService.java new file mode 100644 index 00000000..cc1357d8 --- /dev/null +++ b/src/main/java/kcc/com/pdf/service/PdfService.java @@ -0,0 +1,7 @@ +package kcc.com.pdf.service; + +import java.util.Map; + +public interface PdfService { + Map conversionPdf(String caseNo) throws Exception; +} \ No newline at end of file diff --git a/src/main/java/kcc/com/pdf/service/PdfVO.java b/src/main/java/kcc/com/pdf/service/PdfVO.java new file mode 100644 index 00000000..90a61c31 --- /dev/null +++ b/src/main/java/kcc/com/pdf/service/PdfVO.java @@ -0,0 +1,52 @@ +package kcc.com.pdf.service; + +import java.util.ArrayList; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +@JsonInclude(JsonInclude.Include.NON_EMPTY) +public class PdfVO { + private String inputUri; + private String outputUri; + private String name; + private List subtasks = new ArrayList<>(); + + @Getter + @Setter + @NoArgsConstructor + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public static class SubTask { + private String type; + @JsonSerialize(using = PdfJsonSerializerOption.class) + private List options = new ArrayList<>(); + } + + @Getter + @Setter + @NoArgsConstructor + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public static class Options { + private String mergeSrcUri; + private String pages; + @JsonSerialize(using = PdfJsonSerializerOption.class) + private List