단속 사진파일 추가 후 사진 재조회 수정.

main
jjh 1 year ago
parent 3904f196da
commit ec6455c704

@ -26,11 +26,17 @@ public interface Sprt02Service {
*/ */
DataObject getCrdnInfo(SprtQuery req); DataObject getCrdnInfo(SprtQuery req);
/** ID , .
* @param crdnId ID
* @return ,
*/
DataObject getCrdnPayerInfo(SprtQuery req);
/** ID , , . /** ID , , .
* @param crdnId ID * @param crdnId ID
* @return , , * @return , ,
*/ */
DataObject getCrdnPayerInfo(SprtQuery req); List<DataObject> getCrdnFileList(SprtQuery req);
/** . /** .
* @param nonQueryRequest , crdn , newFileInfoList * @param nonQueryRequest , crdn , newFileInfoList

@ -49,6 +49,18 @@ public class Sprt02ServiceBean extends AbstractServiceBean implements Sprt02Serv
// 단속, 납부자 조회 // 단속, 납부자 조회
DataObject dataObject = sprt02Bean.getCrdnPayerInfo(req); DataObject dataObject = sprt02Bean.getCrdnPayerInfo(req);
// 단속 파일 조회
List<DataObject> fileList = getCrdnFileList(req);
if (fileList != null && !fileList.isEmpty()) {
dataObject.set("fileList", fileList);
}
return dataObject;
}
@Override
public List<DataObject> getCrdnFileList(SprtQuery req) {
// 첨부 파일 조회 // 첨부 파일 조회
FileQuery fileQuery = new FileQuery(); FileQuery fileQuery = new FileQuery();
@ -57,10 +69,6 @@ public class Sprt02ServiceBean extends AbstractServiceBean implements Sprt02Serv
List<DataObject> fileList = fileBean.getFileList(fileQuery); List<DataObject> fileList = fileBean.getFileList(fileQuery);
if (fileList != null && !fileList.isEmpty()) {
dataObject.set("fileList", fileList);
}
// 동영상 존재 여부 확인 // 동영상 존재 여부 확인
// dataObject.set("videoExist", "N"); // dataObject.set("videoExist", "N");
// String linkTblNm = dataObject.string("LINK_TBL_NM"); // String linkTblNm = dataObject.string("LINK_TBL_NM");
@ -88,7 +96,7 @@ public class Sprt02ServiceBean extends AbstractServiceBean implements Sprt02Serv
// } // }
// } // }
return dataObject; return fileList;
} }
@Override @Override

@ -130,7 +130,29 @@ public class Sprt02Controller extends ApplicationController {
; ;
} }
/** , . /** ID .
* @param crdnId ID
* @return fims/sprt/sprt02020-main jsonView
* <pre><code> {
* "crdnPayer": {...}
* }</code></pre>
*/
@RequestMapping(name="단속 이미지 파일 정보 조회", value="/020/crdnFileList.do")
public ModelAndView getCrdnFileList(SprtQuery req) {
List<DataObject> 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 * @param crdn , newFileList, modifyFileList
* @return jsonView * @return jsonView
* <pre><code> { * <pre><code> {

@ -212,7 +212,7 @@
</div> </div>
</div> <!-- 단속 정보 <div class="card"> --> </div> <!-- 단속 정보 <div class="card"> -->
</p> <p></p>
<!-- 납부자 정보 --> <!-- 납부자 정보 -->
<div class="card"> <div class="card">
@ -286,14 +286,14 @@
<div class="col-md-12 d-flex justify-content-between"> <div class="col-md-12 d-flex justify-content-between">
<div> <div>
<button type="button" class="btn btn-primary" id="btnEditPhoto--${pageName}" title="선택 사진 편집">편집</button> <button type="button" class="btn btn-primary" id="btnEditPhoto--${pageName}" title="선택 사진 편집">사진 편집</button>
</div> </div>
<div> <div>
<button type="button" class="btn btn-primary" id="btnAddFile--${pageName}" title="사진 추가">추가</button> <button type="button" class="btn btn-primary" id="btnAddFile--${pageName}" title="사진 추가">사진 추가</button>
<button type="button" class="btn btn-primary" id="btnDeleteFile--${pageName}" title="선택 사진 삭제">삭제</button> <button type="button" class="btn btn-primary" id="btnDeleteFile--${pageName}" title="선택 사진 삭제">사진 삭제</button>
</div> </div>
</div> </div>
<div id="displayForExist--${pageName}" style="overflow-y:scroll; min-height:80px; max-height:600px; border-style:solid;"> <div id="displayForExist--${pageName}" style="overflow-y:scroll; min-height:80px; max-height:630px; border-style:solid;">
</div> </div>
<form id="frmUploadSet--${pageName}" method="post" enctype="multipart/form-data"> <form id="frmUploadSet--${pageName}" method="post" enctype="multipart/form-data">
@ -351,7 +351,10 @@
// 저장 // 저장
${pageName}Control.onSave = (resp) => { ${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) { if (resp.saved) {
fnImageRefreshInfo(); // 이미지(사진) 재조회 fnImageRefreshInfo(); // 이미지(사진) 재조회
@ -382,9 +385,7 @@
, data : formData , data : formData
, contentType : false , contentType : false
, processData : false , processData : false
, success : resp => { , success : resp => { ${pageName}Control.onSave(resp); }
${pageName}Control.onSave(resp);
}
}); });
} }
@ -423,10 +424,8 @@
tagsText += " />"; tagsText += " />";
tagsText += "<img src='"+ item.URL +"' width='260' height='150' />"; tagsText += "<img src='"+ item.URL +"' width='260' height='150' />";
tagsText += "</label>"; tagsText += "</label>";
if (j % 2 == 1) {
tagsText += "<br />"; tagsText += "<br />";
} tagsText += "<p></p>";
j++; j++;
} }
@ -518,30 +517,36 @@
fnImageRefreshInfo = () => { fnImageRefreshInfo = () => {
let crdnId = $("#crdnId--${pageName}").val(); let crdnId = $("#crdnId--${pageName}").val();
// // 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
// if (crdnId == null || crdnId == "") { if (crdnId == null || crdnId == "") {
// return; return;
// } }
let params = {
callPurpose : "view"
, crdnId : crdnId
, delYn : "N"
};
// let params = { ajax.get({
// callPurpose : "view" url : wctx.url("/sprt/sprt02/020/crdnFileList.do")
// , crdnId : crdnId , headers: { Accept: "application/json; charset=utf-8" } // json
// , delYn : "N" , data : params || {}
// }; , success : resp => {
// 이미지 정보를 파일 배열에 셋팅
existFileArr = []; // 파일 배열 초기화
// ajax.get({ if (resp.fileList) {
// url : wctx.url("/sprt/sprt02/020/info.do") resp.fileList.forEach(function(item) {
// , headers: { Accept: "application/json; charset=utf-8" } // json item.status = "";
// , data : params || {} existFileArr.push(item);
// , success : resp => { });
// if (resp.crdnPayer) { }
// ${pageName}Control.setData([resp.crdnPayer]);
// } else {
// $("#frmEdit--${pageName}")[0].reset();
// }
// } // 화면에 이미지 표시
// }); 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"); let checked = $("#displayForExist--${pageName}").find("[name='existPhoto']:checked");
if (checked.length < 1) { if (checked.length < 1) {
dialog.alert("선택된 사진이 없습니다."); dialog.alert("선택된 사진이 없습니다.");
return; return;
@ -625,33 +636,6 @@
fnImageDisplay(true); 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 셋팅 // Dataset 셋팅
${pageName}Control.setData([crdnPayerInfo]); ${pageName}Control.setData([crdnPayerInfo]);
// 이미지 셋팅 // 이미지 정보를 파일 배열에 셋팅
existFileArr = []; // 파일 배열 초기화
if (crdnPayerInfo.fileList) { if (crdnPayerInfo.fileList) {
crdnPayerInfo.fileList.forEach(function(item) { crdnPayerInfo.fileList.forEach(function(item) {
item.status = ""; item.status = "";
@ -753,6 +739,7 @@
}); });
} }
// 화면에 이미지 표시
fnImageDisplay(true); fnImageDisplay(true);
}); });

Loading…
Cancel
Save