From ec6455c704feceff80a445de50b8f31db31b23e4 Mon Sep 17 00:00:00 2001 From: jjh Date: Thu, 14 Sep 2023 14:11:12 +0900 Subject: [PATCH] =?UTF-8?q?=EB=8B=A8=EC=86=8D=20=EC=82=AC=EC=A7=84?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EC=B6=94=EA=B0=80=20=ED=9B=84=20=EC=82=AC?= =?UTF-8?q?=EC=A7=84=20=EC=9E=AC=EC=A1=B0=ED=9A=8C=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xit/fims/sprt/service/Sprt02Service.java | 12 +- .../sprt/service/bean/Sprt02ServiceBean.java | 20 ++- .../xit/fims/sprt/web/Sprt02Controller.java | 24 +++- .../WEB-INF/jsp/fims/sprt/sprt02020-info.jsp | 119 ++++++++---------- 4 files changed, 99 insertions(+), 76 deletions(-) diff --git a/src/main/java/cokr/xit/fims/sprt/service/Sprt02Service.java b/src/main/java/cokr/xit/fims/sprt/service/Sprt02Service.java index 7924b955..4575d313 100644 --- a/src/main/java/cokr/xit/fims/sprt/service/Sprt02Service.java +++ b/src/main/java/cokr/xit/fims/sprt/service/Sprt02Service.java @@ -21,16 +21,22 @@ import cokr.xit.foundation.data.DataObject; public interface Sprt02Service { /**단속 ID의 개별총정보를 반환한다. - * @param crdnId 단속ID + * @param crdnId 단속 ID * @return 개별총정보 */ DataObject getCrdnInfo(SprtQuery req); + /**단속 ID의 단속, 납부자정보를 반환한다. + * @param crdnId 단속 ID + * @return 단속, 납부자 정보 + */ + DataObject getCrdnPayerInfo(SprtQuery req); + /**단속 ID의 단속, 납부자, 부과 정보를 반환한다. - * @param crdnId 단속ID + * @param crdnId 단속 ID * @return 단속, 납부자, 부과 정보 */ - DataObject getCrdnPayerInfo(SprtQuery req); + List getCrdnFileList(SprtQuery req); /** 단속 사진에 대한 정보를 수정한다. * @param nonQueryRequest 처리 요청, crdn 단속정보, newFileInfoList 업로드 파일 목록 diff --git a/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02ServiceBean.java b/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02ServiceBean.java index 49c92af7..bf8b4f1a 100644 --- a/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02ServiceBean.java +++ b/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt02ServiceBean.java @@ -49,7 +49,19 @@ public class Sprt02ServiceBean extends AbstractServiceBean implements Sprt02Serv // 단속, 납부자 조회 DataObject dataObject = sprt02Bean.getCrdnPayerInfo(req); - // 첨부파일 조회 + // 단속 파일 조회 + List fileList = getCrdnFileList(req); + + if (fileList != null && !fileList.isEmpty()) { + dataObject.set("fileList", fileList); + } + + return dataObject; + } + + @Override + public List getCrdnFileList(SprtQuery req) { + // 첨부 파일 조회 FileQuery fileQuery = new FileQuery(); fileQuery.setInfoType(Crdn.INF_TYPE); @@ -57,10 +69,6 @@ public class Sprt02ServiceBean extends AbstractServiceBean implements Sprt02Serv List fileList = fileBean.getFileList(fileQuery); - if (fileList != null && !fileList.isEmpty()) { - dataObject.set("fileList", fileList); - } - // 동영상 존재 여부 확인 // dataObject.set("videoExist", "N"); // String linkTblNm = dataObject.string("LINK_TBL_NM"); @@ -88,7 +96,7 @@ public class Sprt02ServiceBean extends AbstractServiceBean implements Sprt02Serv // } // } - return dataObject; + return fileList; } @Override diff --git a/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java b/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java index 1df9390d..0f89e6bf 100644 --- a/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java +++ b/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java @@ -130,7 +130,29 @@ public class Sprt02Controller extends ApplicationController { ; } - /**단속 정보, 이미지 파일 정보를 수정한다. + /**지정하는 단속 ID의 단속 이미지 파일 정보를 반환한다. + * @param crdnId 단속 ID + * @return fims/sprt/sprt02020-main 또는 jsonView + *
 {
+	 *     "crdnPayer": {...}
+	 * }
+ */ + @RequestMapping(name="단속 이미지 파일 정보 조회", value="/020/crdnFileList.do") + public ModelAndView getCrdnFileList(SprtQuery req) { + List fileList = sprt02Service.getCrdnFileList(req); + + boolean json = jsonResponse(); + + ModelAndView mav = new ModelAndView("jsonView"); + + return mav + .addObject("pageName", "sprt02020") + .addObject("pageNameMain", "sprt02010") + .addObject("fileList", fileList) // 파일 리스트 + ; + } + + /**단속 이미지 파일 정보를 수정한다. * @param crdn 단속 정보, 추가한 이미지 파일 newFileList, modifyFileList 편집한 이미지 파일 * @return jsonView *
 {
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp
index 3efee5c2..b99b4131 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp
@@ -212,7 +212,7 @@
 					
 				 
 
-				

+

@@ -286,14 +286,14 @@
- +
- - + +
-
+
@@ -351,7 +351,10 @@ // 저장 ${pageName}Control.onSave = (resp) => { - dialog.alert(resp.retMessage); + let btnTitle = $("#btnAddFile--${pageName}").attr("title"); + let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); + + dialog.alert(showMessage); if (resp.saved) { fnImageRefreshInfo(); // 이미지(사진) 재조회 @@ -382,9 +385,7 @@ , data : formData , contentType : false , processData : false - , success : resp => { - ${pageName}Control.onSave(resp); - } + , success : resp => { ${pageName}Control.onSave(resp); } }); } @@ -423,10 +424,8 @@ tagsText += " />"; tagsText += ""; tagsText += ""; - - if (j % 2 == 1) { - tagsText += "
"; - } + tagsText += "
"; + tagsText += "

"; j++; } @@ -518,30 +517,36 @@ fnImageRefreshInfo = () => { let crdnId = $("#crdnId--${pageName}").val(); -// // 단속 ID 가 없다면.. return -// if (crdnId == null || crdnId == "") { -// return; -// } - -// let params = { -// callPurpose : "view" -// , crdnId : crdnId -// , delYn : "N" -// }; - -// ajax.get({ -// url : wctx.url("/sprt/sprt02/020/info.do") -// , headers: { Accept: "application/json; charset=utf-8" } // json -// , data : params || {} -// , success : resp => { -// if (resp.crdnPayer) { -// ${pageName}Control.setData([resp.crdnPayer]); -// } else { -// $("#frmEdit--${pageName}")[0].reset(); -// } - -// } -// }); + // 단속 ID 가 없다면.. return + if (crdnId == null || crdnId == "") { + return; + } + + let params = { + callPurpose : "view" + , crdnId : crdnId + , delYn : "N" + }; + + ajax.get({ + url : wctx.url("/sprt/sprt02/020/crdnFileList.do") + , headers: { Accept: "application/json; charset=utf-8" } // json + , data : params || {} + , success : resp => { + // 이미지 정보를 파일 배열에 셋팅 + existFileArr = []; // 파일 배열 초기화 + + if (resp.fileList) { + resp.fileList.forEach(function(item) { + item.status = ""; + existFileArr.push(item); + }); + } + + // 화면에 이미지 표시 + fnImageDisplay(true); + } + }); } /************************************************************************** @@ -607,9 +612,15 @@ ); }); + // 사진 추가 + $("#btnAddFile--${pageName}").on("click", () => { + $("#inputUploadSet--${pageName}").trigger("click"); + }); + // 선택 사진 삭제 - $("#btnDeleteExistPhoto--${pageName}").on('click', () => { + $("#btnDeleteFile--${pageName}").on('click', () => { let checked = $("#displayForExist--${pageName}").find("[name='existPhoto']:checked"); + if (checked.length < 1) { dialog.alert("선택된 사진이 없습니다."); return; @@ -625,33 +636,6 @@ fnImageDisplay(true); }); - - // 사진 추가 - $("#btnAddFile--${pageName}").on("click", () => { - $("#inputUploadSet--${pageName}").trigger("click"); - }); - - // 사진 삭제 - $("#btnCancelAddFile--${pageName}").on("click", () => { - let checked = $("#displayForNew--${pageName}").find("[name='newPhoto']:checked"); - - if (checked.length < 1) { - dialog.alert("선택된 사진이 없습니다."); - return; - } - - let checkedArr = []; - - for (let iLoop = 0; iLoop < checked.length; iLoop++) { - checkedArr.push(checked[iLoop].value); - } - - captureFileArr = captureFileArr.filter(item => checkedArr.indexOf(item.id) == -1); - localUploadArr = localUploadArr.filter(item => checkedArr.indexOf(item.id) == -1); - numberPlateArr = numberPlateArr.filter(item => checkedArr.indexOf(item.id) == -1); - - fnImageDisplay(false); - }); } /************************************************************************** @@ -745,7 +729,9 @@ // Dataset 셋팅 ${pageName}Control.setData([crdnPayerInfo]); - // 이미지 셋팅 + // 이미지 정보를 파일 배열에 셋팅 + existFileArr = []; // 파일 배열 초기화 + if (crdnPayerInfo.fileList) { crdnPayerInfo.fileList.forEach(function(item) { item.status = ""; @@ -753,6 +739,7 @@ }); } + // 화면에 이미지 표시 fnImageDisplay(true); });