From 273e104268bd49398b9b663880f5f7c1874de782 Mon Sep 17 00:00:00 2001 From: "Jonguk. Lim" Date: Wed, 17 Jul 2024 17:38:57 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=ED=8F=90=EA=B8=B0=EB=B3=B4=EA=B3=A0=20?= =?UTF-8?q?=EC=84=9C=EB=B2=84=20=ED=98=B8=EC=B6=9C=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cokr/xit/adds/cmm/model/ApiUtil.java | 13 ++++- .../xit/adds/cmm/model/NimsApiRequest.java | 13 +++++ .../xit/adds/nims/web/AddsNimsController.java | 58 +++++++++++++++++++ src/main/resources/application.yml | 7 ++- .../WEB-INF/jsp/adds/nims/dsuseDoc-main.jsp | 18 +++--- 5 files changed, 95 insertions(+), 14 deletions(-) diff --git a/src/main/java/cokr/xit/adds/cmm/model/ApiUtil.java b/src/main/java/cokr/xit/adds/cmm/model/ApiUtil.java index 4eac526..0089c39 100644 --- a/src/main/java/cokr/xit/adds/cmm/model/ApiUtil.java +++ b/src/main/java/cokr/xit/adds/cmm/model/ApiUtil.java @@ -1,6 +1,7 @@ package cokr.xit.adds.cmm.model; import java.net.http.HttpResponse; +import java.util.List; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -39,6 +40,7 @@ public class ApiUtil { request.contentType(WebClient.Request.ContentType.FORM); request.uri(uri); toData(request, cls); + System.out.println("request : " + request); }); return rslt.body(); } @@ -68,8 +70,15 @@ public class ApiUtil { JSONObject jsonObj = toObjByObj(obj, JSONObject.class); for (Object key : jsonObj.keySet()) { - // API 호출 시 필요없는 파라메터 제외 - request.data((String) key, ObjectUtils.isEmpty(jsonObj.get(key))? StringUtils.EMPTY: jsonObj.get(key)); + Object value = jsonObj.get(key); + + if (value instanceof List) { + // List를 쉼표로 구분된 문자열로 변환 + String listAsString = String.join(",", (List) value); + request.data((String) key, listAsString); + } else { + request.data((String) key, ObjectUtils.isEmpty(value) ? StringUtils.EMPTY : value.toString()); + } } } diff --git a/src/main/java/cokr/xit/adds/cmm/model/NimsApiRequest.java b/src/main/java/cokr/xit/adds/cmm/model/NimsApiRequest.java index 57246db..7012315 100644 --- a/src/main/java/cokr/xit/adds/cmm/model/NimsApiRequest.java +++ b/src/main/java/cokr/xit/adds/cmm/model/NimsApiRequest.java @@ -1,5 +1,7 @@ package cokr.xit.adds.cmm.model; +import java.util.List; + import org.apache.commons.lang3.StringUtils; import lombok.Data; @@ -363,4 +365,15 @@ public class NimsApiRequest { */ private String userId; } + + @Data + public static class DsuseMgtInqReq { + private List dscdmngIds; + + private String adds12; + + private String userId; + + + } } diff --git a/src/main/java/cokr/xit/adds/nims/web/AddsNimsController.java b/src/main/java/cokr/xit/adds/nims/web/AddsNimsController.java index dd2a393..e605eb3 100644 --- a/src/main/java/cokr/xit/adds/nims/web/AddsNimsController.java +++ b/src/main/java/cokr/xit/adds/nims/web/AddsNimsController.java @@ -78,6 +78,9 @@ public class AddsNimsController extends ApplicationController { @Value("${app.inf.nims.api.prdMnfSeqInfoOfBarcode}") private String prdMnfSeqInfoOfBarcodeEndpoint; + @Value("${app.inf.nims.api.dsuseMgtListForRptDoc}") + private String dsuseMgtListForRptDocEndpoint; + @Resource(name="sigunguDepartmentService") private SigunguDepartmentService sggDeptService; @@ -621,4 +624,59 @@ public class AddsNimsController extends ApplicationController { String rslt = ApiUtil.callNimsApi(apiHost + productAndseqInfoEndpoint, dto); return json.parse(rslt, new TypeReference<>() {}); } + + @RequestMapping(value = "/getDsuseMgtListForRptDoc.do", name="보고문서 출력 상세 목록 조회", produces = "application/json;charset=UTF-8") + public @ResponseBody ApiBaseResponse> getDsuseMgtListForRptDoc(@ModelAttribute NimsApiRequest.DsuseMgtInqReq dto) { + String rslt = ApiUtil.callNimsApi(apiHost + dsuseMgtListForRptDocEndpoint, dto); + ApiBaseResponse> parse = json.parse(rslt, new TypeReference<>() {}); + + + + + + + + + + + return parse; + } } + + +/* + +for(let dsuseMgtMaster of respData){ + dsuseMgtMaster.dsuseMgtDtls.map((dtl) => { + keys = Object.keys(dsuseMgtMaster); + for(let key of keys){ + if(key == "dsuseMgtDtls"){ + continue; + } + + if(key == "bsshNm" || key == "bsshCd"){ + dtl[key+"0"] = dsuseMgtMaster[key]; + } else if(dtl[key] == undefined){ + dtl[key] = dsuseMgtMaster[key]; + } + } + return dtl; + }); + } + + let dtls = []; + for(let i=0; i < respData.length; i++){ + dtls = dtls.concat(respData[i].dsuseMgtDtls); + } + + let url = ""; + if(ADDS12 == "01"){ + url = wctx.url("/adds/nims/makeDisposeResultReportHwp.do"); + } else if(ADDS12 == "02"){ + url = wctx.url("/adds/nims/makeDisposeProcessDetailsHwp.do"); + } else { + return; + } + + + */ diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 6d12e36..13a80cc 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,7 +1,7 @@ server: shutdown: graceful port: 9077 - max-http-header-size: 100KB + max-http-header-size: 48KB servlet: context-path: / @@ -68,9 +68,10 @@ app: jurisdictionGovInfo: /api/biz/nims/v1/getNimsJurisdictionGovInfo # 폐기보고 조회 nimsDsuseRptInfo: /api/biz/nims/v1/getNimsDsuseRptInfo - + # 바코드 조회 prdMnfSeqInfoOfBarcode: /api/biz/nims/v1/getPrdMnfSeqInfoOfBarcode - + # 보고문서 정보 목록 조회 + dsuseMgtListForRptDoc: /api/biz/nims/v1/getDsuseMgtListForRptDoc logging: file: diff --git a/src/main/webapp/WEB-INF/jsp/adds/nims/dsuseDoc-main.jsp b/src/main/webapp/WEB-INF/jsp/adds/nims/dsuseDoc-main.jsp index eb3b22c..dd3a1ec 100644 --- a/src/main/webapp/WEB-INF/jsp/adds/nims/dsuseDoc-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/adds/nims/dsuseDoc-main.jsp @@ -374,16 +374,16 @@ alert("체크된 자료가 없습니다."); return; } - - ajax.post({ - url: '', + + ajax.get({ + url: wctx.url("/adds/nims/getDsuseMgtListForRptDoc.do"), contentType : "application/json; charset=utf-8", - - data: JSON.stringify({ - "dscdmngIds" : dscdmngIds, - "userId" : "${currentUser.account}", - "deptCd": "${currentUser.deptCode}" - }), + data: { + dscdmngIds : dscdmngIds, + userId : "${currentUser.account}", + deptCd: "${currentUser.deptCode}", + adds12: ADDS12 + }, success:resp => { if(!resp.success){ dialog.alert({