의견제출 등록, 수정, 삭제 메시지 출력 수정.

main
jjh 1 year ago
parent 7762ec95ca
commit bee5040363

@ -44,7 +44,7 @@ public interface Excl02Service {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
boolean createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List<FileInfo> fileInfoList); String createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List<FileInfo> fileInfoList);
/** . /** .
* @param opnnSbmsn * @param opnnSbmsn
@ -53,7 +53,7 @@ public interface Excl02Service {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
boolean updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List<FileInfo> fileInfoList); String updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List<FileInfo> fileInfoList);
/** () . /** () .
* @param opnnSbmsn * @param opnnSbmsn
@ -62,7 +62,7 @@ public interface Excl02Service {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
boolean updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn); String updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn);
/** . /** .
* @param opnnSbmsn * @param opnnSbmsn
@ -71,7 +71,7 @@ public interface Excl02Service {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
boolean removeOpnnSbmsn(OpnnSbmsn opnnSbmsn); String removeOpnnSbmsn(OpnnSbmsn opnnSbmsn);
/** . /** .
* @param excl * @param excl
@ -80,7 +80,7 @@ public interface Excl02Service {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
boolean removeOpnnSbmsnList(ExclQuery req); String removeOpnnSbmsnList(ExclQuery req);
} }

@ -106,8 +106,8 @@ public class Excl01Bean extends AbstractComponent {
} }
// 단속 상태 코드(CRDN_STTS_CD) 확인.. // 단속 상태 코드(CRDN_STTS_CD) 확인..
if (levyExcl.getLevyExclSeCd().equals("1") || levyExcl.getLevyExclSeCd().equals("2")) { // 비부과(서손), 계고 if (levyExcl.getLevyExclSeCd().equals("1") || levyExcl.getLevyExclSeCd().equals("2")) { // 비부과(서손), 계고
// 단속 상태 코드가 부과(51) 보다 크다면, 비부과 또는 계고 등록 할 수 없다. 종료.. // 단속 상태 코드가 부과(51) 보다 크다면, 비부과 또는 계고 등록 할 수 없다. 종료..
if (infoCrdnLevyExcl.number("CRDN_STTS_CD").intValue() > 50) { if (infoCrdnLevyExcl.number("CRDN_STTS_CD").intValue() >= 51) {
retMessage = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다."; retMessage = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다.";
return retMessage; return retMessage;
} }

@ -72,13 +72,13 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
// 변수 선언 // 변수 선언
String retMessage = ""; // 처리 결과 메시지 String retMessage = ""; // 처리 결과 메시지
// 부과제외IDs 건수를 확인하여 1건이하면.. 종료 // 부과제외 IDs 건수를 확인하여 1건이하면.. 종료
if (req.getLevyExclIDs().length < 1 ) { if (req.getLevyExclIDs().length < 1) {
retMessage = "작업 중 선택 자료가 존재하지 않습니다."; retMessage = "작업 중 선택 자료가 존재하지 않습니다.";
return retMessage; return retMessage;
} }
// 부과제외IDs 만큼 반복.. // 부과제외 IDs 만큼 반복..
for (int iLoop = 0; iLoop < req.getLevyExclIDs().length; iLoop++) { for (int iLoop = 0; iLoop < req.getLevyExclIDs().length; iLoop++) {
LevyExcl levyExcl = new LevyExcl(); // 부과제외(TB_LEVY_EXCL) LevyExcl levyExcl = new LevyExcl(); // 부과제외(TB_LEVY_EXCL)

@ -97,17 +97,23 @@ public class Excl02Bean extends AbstractComponent {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
public boolean createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List<FileInfo> fileInfoList) { public String createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List<FileInfo> fileInfoList) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과 boolean retSuccess = false; // DB 처리 결과
String retMessage = ""; // 처리 결과 메시지
// 단속 ID로 단속, 의견제출 정보 조회 // 단속 ID로 단속, 의견제출 정보 조회
DataObject infoCrdnOpnnSbmsn = opnnSbmsnMapper.selectCrdnInfo(opnnSbmsn.getCrdnId()); DataObject infoCrdnOpnnSbmsn = opnnSbmsnMapper.selectCrdnInfo(opnnSbmsn.getCrdnId());
// 의견제출ID가 있다면 이미 자료가 존재하므로 종료.. // 의견제출ID가 있다면 이미 자료가 존재하므로 종료..
if (!infoCrdnOpnnSbmsn.string("OPNN_ID").equals("")) { if (!infoCrdnOpnnSbmsn.string("OPNN_ID").equals("")) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback retMessage = "[F] 작업 중 이미 등록된 자료가 존재합니다.";
throw new RuntimeException("의견제출 대장에 정보가 이미 존재합니다."); return retMessage;
}
// 단속 상태 코드가 부과(51) 보다 크다면, 의견제출 등록을 할 수 없다. 종료..
if (infoCrdnOpnnSbmsn.number("CRDN_STTS_CD").intValue() >= 51) {
retMessage = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + infoCrdnOpnnSbmsn.string("CRDN_STTS_NM") + " 상태 입니다.";
return retMessage;
} }
// 의견제출 대장 필수값 입력 // 의견제출 대장 필수값 입력
@ -158,7 +164,9 @@ public class Excl02Bean extends AbstractComponent {
throw new RuntimeException("의견제출 등록 중 단속대장의 의견제출여부 수정에 실패하였습니다."); throw new RuntimeException("의견제출 등록 중 단속대장의 의견제출여부 수정에 실패하였습니다.");
} }
return true; retMessage = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
} }
/** . /** .
@ -168,9 +176,10 @@ public class Excl02Bean extends AbstractComponent {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
public boolean updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List<FileInfo> fileInfoList) { public String updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List<FileInfo> fileInfoList) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과 boolean retSuccess = false; // DB 처리 결과
String retMessage = ""; // 처리 결과 메시지
// 의견제출 첨부파일 등록 // 의견제출 첨부파일 등록
if (fileInfoList != null && !fileInfoList.isEmpty()) { if (fileInfoList != null && !fileInfoList.isEmpty()) {
@ -202,7 +211,9 @@ public class Excl02Bean extends AbstractComponent {
throw new RuntimeException("의견제출 대장 수정에 실패하였습니다."); throw new RuntimeException("의견제출 대장 수정에 실패하였습니다.");
} }
return true; retMessage = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
} }
/** () . /** () .
@ -212,9 +223,10 @@ public class Excl02Bean extends AbstractComponent {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
public boolean updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn) { public String updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과 boolean retSuccess = false; // DB 처리 결과
String retMessage = ""; // 처리 결과 메시지
String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD) String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD)
// 의견제출(TB_OPNN_SBMSN) 자료 조회 // 의견제출(TB_OPNN_SBMSN) 자료 조회
@ -227,8 +239,8 @@ public class Excl02Bean extends AbstractComponent {
// 수납 또는 취소된 자료를 의견제출 수용할 수 없다 // 수납 또는 취소된 자료를 의견제출 수용할 수 없다
if (infoCrdnOpnnSbmsn.number("CRDN_STTS_CD").intValue() >= 71) { if (infoCrdnOpnnSbmsn.number("CRDN_STTS_CD").intValue() >= 71) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback retMessage = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + infoCrdnOpnnSbmsn.string("CRDN_STTS_NM") + " 상태 입니다.";
throw new RuntimeException(infoCrdnOpnnSbmsn.string("CRDN_STTS_NM") + " 자료는 의견제출 심의처리를 할 수 없습니다."); return retMessage;
} }
// 의견제출 답변을 수정 한다. // 의견제출 답변을 수정 한다.
@ -261,7 +273,6 @@ public class Excl02Bean extends AbstractComponent {
crdnSttsHstry.setBfrSttsChgDt(infoCrdnOpnnSbmsn.string("CRDN_STTS_CHG_DT")); crdnSttsHstry.setBfrSttsChgDt(infoCrdnOpnnSbmsn.string("CRDN_STTS_CHG_DT"));
crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd); crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd);
crdnSttsHstry.setTaskDtlId(opnnSbmsn.getOpnnId()); crdnSttsHstry.setTaskDtlId(opnnSbmsn.getOpnnId());
crdnSttsHstry.setEtcCn("의견제출 심의(답변)");
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다. // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다.
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
@ -272,7 +283,9 @@ public class Excl02Bean extends AbstractComponent {
} }
} }
return true; retMessage = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
} }
/** . /** .
@ -282,9 +295,10 @@ public class Excl02Bean extends AbstractComponent {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
public boolean removeOpnnSbmsn(OpnnSbmsn opnnSbmsn) { public String removeOpnnSbmsn(OpnnSbmsn opnnSbmsn) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과 boolean retSuccess = false; // DB 처리 결과
String retMessage = ""; // 처리 결과 메시지
// 의견제출(TB_OPNN_SBMSN) 자료 조회 // 의견제출(TB_OPNN_SBMSN) 자료 조회
ExclQuery exclQuery = new ExclQuery(); ExclQuery exclQuery = new ExclQuery();
@ -294,16 +308,6 @@ public class Excl02Bean extends AbstractComponent {
DataObject infoCrdnOpnnSbmsn = opnnSbmsnMapper.selectOpnnSbmsnInfo(exclQuery); DataObject infoCrdnOpnnSbmsn = opnnSbmsnMapper.selectOpnnSbmsnInfo(exclQuery);
// 단속 상태 코드가 의견제출 접수(31) 또는 의견제출 수용(82) 이라면... 이전 단속 상태 코드로 복원 한다.
if (infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("31") || infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("82")) {
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장을 삭제 한다.
retSuccess = crdnSttsHstryBean.removeHstryUpdateCrdnSttsCd(infoCrdnOpnnSbmsn.string("CRDN_ID"), "92");
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("의견제출 삭제 중 단속상태 변경에 실패하였습니다.");
}
}
// 첨부파일 삭제 // 첨부파일 삭제
String[] deleteFiles = {opnnSbmsn.getOpnnId()}; String[] deleteFiles = {opnnSbmsn.getOpnnId()};
@ -316,6 +320,16 @@ public class Excl02Bean extends AbstractComponent {
throw new RuntimeException("의견제출 대장 삭제에 실패하였습니다."); throw new RuntimeException("의견제출 대장 삭제에 실패하였습니다.");
} }
// 단속 상태 코드가 의견제출 접수(31) 또는 의견제출 수용(82) 이라면... 이전 단속 상태 코드로 복원 한다.
if (infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("31") || infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("82")) {
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장을 삭제 한다.
retSuccess = crdnSttsHstryBean.removeHstryUpdateCrdnSttsCd(infoCrdnOpnnSbmsn.string("CRDN_ID"), "92");
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("의견제출 삭제 중 단속상태 변경에 실패하였습니다.");
}
}
// 단속 대장(TB_CRDN) 의견제출여부(OPNN_SBMSN_YN) 정보를 수정 한다. // 단속 대장(TB_CRDN) 의견제출여부(OPNN_SBMSN_YN) 정보를 수정 한다.
Crdn crdn = new Crdn(); Crdn crdn = new Crdn();
@ -328,7 +342,9 @@ public class Excl02Bean extends AbstractComponent {
throw new RuntimeException("의견제출 삭제 중 단속대장의 의견제출여부 수정에 실패하였습니다."); throw new RuntimeException("의견제출 삭제 중 단속대장의 의견제출여부 수정에 실패하였습니다.");
} }
return true; retMessage = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
} }
} }

@ -9,6 +9,7 @@ import org.springframework.stereotype.Service;
import cokr.xit.base.file.FileInfo; import cokr.xit.base.file.FileInfo;
import cokr.xit.fims.excl.OpnnSbmsn; import cokr.xit.fims.excl.OpnnSbmsn;
import cokr.xit.fims.excl.ExclQuery; import cokr.xit.fims.excl.ExclQuery;
import cokr.xit.fims.excl.LevyExcl;
import cokr.xit.fims.excl.service.Excl02Service; import cokr.xit.fims.excl.service.Excl02Service;
import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.component.AbstractServiceBean;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
@ -54,50 +55,52 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
} }
@Override @Override
public boolean createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List<FileInfo> fileInfoList) { public String createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List<FileInfo> fileInfoList) {
return excl02Bean.createOpnnSbmsn(opnnSbmsn, fileInfoList); return excl02Bean.createOpnnSbmsn(opnnSbmsn, fileInfoList);
} }
@Override @Override
public boolean updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List<FileInfo> fileInfoList) { public String updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List<FileInfo> fileInfoList) {
return excl02Bean.updateOpnnSbmsn(opnnSbmsn, fileInfoList); return excl02Bean.updateOpnnSbmsn(opnnSbmsn, fileInfoList);
} }
@Override @Override
public boolean updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn) { public String updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn) {
return excl02Bean.updateOpnnSbmsnAnswer(opnnSbmsn); return excl02Bean.updateOpnnSbmsnAnswer(opnnSbmsn);
} }
@Override @Override
public boolean removeOpnnSbmsn(OpnnSbmsn opnnSbmsn) { public String removeOpnnSbmsn(OpnnSbmsn opnnSbmsn) {
return excl02Bean.removeOpnnSbmsn(opnnSbmsn); return excl02Bean.removeOpnnSbmsn(opnnSbmsn);
} }
@Override @Override
public boolean removeOpnnSbmsnList(ExclQuery req) { public String removeOpnnSbmsnList(ExclQuery req) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과 String retMessage = ""; // 처리 결과 메시지
// 의견제출IDs 건수를 확인하여 1건이하면.. 종료 // 의견제출 IDs 건수를 확인하여 1건이하면.. 종료
if (req.getOpnnIDs().length < 1 ) { if (req.getOpnnIDs().length < 1) {
return retSuccess; retMessage = "작업 중 선택 자료가 존재하지 않습니다.";
return retMessage;
} }
// 의견제출IDs 만큼 반복.. // 의견제출 IDs 만큼 반복..
for (int iLoop = 0; iLoop < req.getOpnnIDs().length; iLoop++) { for (int iLoop = 0; iLoop < req.getOpnnIDs().length; iLoop++) {
OpnnSbmsn opnnSbmsn = new OpnnSbmsn(); OpnnSbmsn opnnSbmsn = new OpnnSbmsn();
opnnSbmsn.setOpnnId(req.getOpnnIDs()[iLoop]); // 의견제출 ID opnnSbmsn.setOpnnId(req.getOpnnIDs()[iLoop]); // 의견제출 ID
opnnSbmsn.setDelRsn(req.getDelRsn()); // 삭제 사유 opnnSbmsn.setDelRsn(req.getDelRsn()); // 삭제 사유
// 의견제출 삭제 호출 // 부과제외 삭제 호출
retSuccess = excl02Bean.removeOpnnSbmsn(opnnSbmsn); retMessage = excl02Bean.removeOpnnSbmsn(opnnSbmsn);
if (!retSuccess) { // 오류가 발생하였으면 종료..
return retSuccess; if (retMessage.contains("[F]")) {
return retMessage;
} }
} }
return true; return retMessage;
} }
} }

@ -133,10 +133,18 @@ public class Excl02Controller extends ApplicationController {
fileInfoList = new FileInfoFactory().makeFileInfos(null, uploadFiles); fileInfoList = new FileInfoFactory().makeFileInfos(null, uploadFiles);
} }
boolean saved = excl02Service.createOpnnSbmsn(excl02, fileInfoList); boolean saved = false;
String retMessage = excl02Service.createOpnnSbmsn(excl02, fileInfoList);
if (retMessage.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved); .addObject("saved", saved)
.addObject("retMessage", retMessage);
} }
/** . /** .
@ -155,10 +163,41 @@ public class Excl02Controller extends ApplicationController {
fileInfoList = new FileInfoFactory().makeFileInfos(null, uploadFiles); fileInfoList = new FileInfoFactory().makeFileInfos(null, uploadFiles);
} }
boolean saved = excl02Service.updateOpnnSbmsn(excl02, fileInfoList); boolean saved = false;
String retMessage = excl02Service.updateOpnnSbmsn(excl02, fileInfoList);
if (retMessage.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved); .addObject("saved", saved)
.addObject("retMessage", retMessage);
}
/** () .
* @param opnnSbmsn
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name="의견제출 대장 답변 수정", value="/030/updateAnswer.do")
public ModelAndView updateOpnnSbmsnAnswer(OpnnSbmsn excl02) {
boolean saved = false;
String retMessage = excl02Service.updateOpnnSbmsnAnswer(excl02);
if (retMessage.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("retMessage", retMessage);
} }
/** . /** .
@ -171,10 +210,18 @@ public class Excl02Controller extends ApplicationController {
*/ */
@PostMapping(name="의견제출 대장 제거", value="/010/remove.do") @PostMapping(name="의견제출 대장 제거", value="/010/remove.do")
public ModelAndView removeOpnnSbmsn(OpnnSbmsn excl02) { public ModelAndView removeOpnnSbmsn(OpnnSbmsn excl02) {
boolean saved = excl02Service.removeOpnnSbmsn(excl02); boolean saved = false;
String retMessage = excl02Service.removeOpnnSbmsn(excl02);
if (retMessage.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved); .addObject("saved", saved)
.addObject("retMessage", retMessage);
} }
/** . /** .
@ -187,10 +234,18 @@ public class Excl02Controller extends ApplicationController {
*/ */
@PostMapping(name="의견제출 대장 제거", value="/010/removes.do") @PostMapping(name="의견제출 대장 제거", value="/010/removes.do")
public ModelAndView removeOpnnSbmsnList(ExclQuery req) { public ModelAndView removeOpnnSbmsnList(ExclQuery req) {
boolean saved = excl02Service.removeOpnnSbmsnList(req); boolean saved = false;
String retMessage = excl02Service.removeOpnnSbmsnList(req);
if (retMessage.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved); .addObject("saved", saved)
.addObject("retMessage", retMessage);
} }
/** ID . /** ID .
@ -221,19 +276,4 @@ public class Excl02Controller extends ApplicationController {
; ;
} }
/** () .
* @param opnnSbmsn
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name="의견제출 대장 답변 수정", value="/030/updateAnswer.do")
public ModelAndView updateOpnnSbmsnAnswer(OpnnSbmsn excl02) {
boolean saved = excl02Service.updateOpnnSbmsnAnswer(excl02);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
} }

@ -127,7 +127,7 @@ public class Sprt02Controller extends ApplicationController {
*/ */
@RequestMapping(name="의견제출 정보 조회", value="/030/info.do") @RequestMapping(name="의견제출 정보 조회", value="/030/info.do")
public ModelAndView getOpnnSbmsnInfo(SprtQuery req) { public ModelAndView getOpnnSbmsnInfo(SprtQuery req) {
// 의견제출 // 의견제출(TB_OPNN_SBMSN) 대장 조회
ExclQuery exclQuery = new ExclQuery(); ExclQuery exclQuery = new ExclQuery();
if (req.getCallPurpose() == null) { if (req.getCallPurpose() == null) {
@ -140,6 +140,9 @@ public class Sprt02Controller extends ApplicationController {
DataObject opnnSbmsn = excl02Service.getOpnnSbmsnInfo(exclQuery); DataObject opnnSbmsn = excl02Service.getOpnnSbmsnInfo(exclQuery);
// 단속(TB_CRDN) 대장 조회
DataObject totalInfo = sprt02Service.getCrdnInfo(req);
boolean json = jsonResponse(); boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02030-info"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02030-info");
@ -147,6 +150,7 @@ public class Sprt02Controller extends ApplicationController {
return mav return mav
.addObject("pageName", "sprt02030") .addObject("pageName", "sprt02030")
.addObject("pageNameMain", "sprt02010") .addObject("pageNameMain", "sprt02010")
.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)) // 단속 정보
.addObject("opnnSbmsn", json ? opnnSbmsn : toJson(opnnSbmsn)) // 의견제출 정보 .addObject("opnnSbmsn", json ? opnnSbmsn : toJson(opnnSbmsn)) // 의견제출 정보
; ;
} }
@ -204,7 +208,7 @@ public class Sprt02Controller extends ApplicationController {
*/ */
@RequestMapping(name="처리 상세 정보 조회", value="/050/info.do") @RequestMapping(name="처리 상세 정보 조회", value="/050/info.do")
public ModelAndView getPrcsDtlInfo(SprtQuery req) { public ModelAndView getPrcsDtlInfo(SprtQuery req) {
// 감경 조회 // 과태료 감경(TB_RDUCT) 대장 조회
LevyQuery levyQuery = new LevyQuery(); LevyQuery levyQuery = new LevyQuery();
if (req.getCallPurpose() == null) { if (req.getCallPurpose() == null) {
@ -218,7 +222,7 @@ public class Sprt02Controller extends ApplicationController {
DataObject rduct = levy02Service.getRductInfo(levyQuery); DataObject rduct = levy02Service.getRductInfo(levyQuery);
// 부과제외 조회 // 부과 제외(TB_LEVY_EXCL) 대장 조회
ExclQuery exclQuery = new ExclQuery(); ExclQuery exclQuery = new ExclQuery();
if (req.getCallPurpose() == null) { if (req.getCallPurpose() == null) {
@ -232,20 +236,23 @@ public class Sprt02Controller extends ApplicationController {
DataObject levyExcl = excl01Service.getLevyExclInfo(exclQuery); DataObject levyExcl = excl01Service.getLevyExclInfo(exclQuery);
// 단속 상태 이력 // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 조회
CrdnSttsHstryQuery crdnSttsHstryQuery = new CrdnSttsHstryQuery(); CrdnSttsHstryQuery crdnSttsHstryQuery = new CrdnSttsHstryQuery();
crdnSttsHstryQuery.setCrdnId(req.getCrdnId()); crdnSttsHstryQuery.setCrdnId(req.getCrdnId());
crdnSttsHstryQuery.setOrderBy("CSH.REG_DT DESC, CSH.STTS_HSTRY_ID DESC"); crdnSttsHstryQuery.setOrderBy("CSH.REG_DT DESC, CSH.STTS_HSTRY_ID DESC");
List<?> crdnSttsHstry = crdnSttsHstryService.getCrdnSttsHstrys(crdnSttsHstryQuery); List<?> crdnSttsHstry = crdnSttsHstryService.getCrdnSttsHstrys(crdnSttsHstryQuery);
// 단속 납부자 이력 // 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 조회
CrdnPayerHstryQuery crdnPayerHstryQuery = new CrdnPayerHstryQuery(); CrdnPayerHstryQuery crdnPayerHstryQuery = new CrdnPayerHstryQuery();
crdnPayerHstryQuery.setCrdnId(req.getCrdnId()); crdnPayerHstryQuery.setCrdnId(req.getCrdnId());
crdnPayerHstryQuery.setOrderBy("CPH.REG_DT DESC, CPH.CHG_HSTRY_ID DESC"); crdnPayerHstryQuery.setOrderBy("CPH.REG_DT DESC, CPH.CHG_HSTRY_ID DESC");
List<?> crdnPayerHstry = crdnPayerHstryService.getCrdnPayerHstrys(crdnPayerHstryQuery); List<?> crdnPayerHstry = crdnPayerHstryService.getCrdnPayerHstrys(crdnPayerHstryQuery);
// 단속(TB_CRDN) 대장 조회
DataObject totalInfo = sprt02Service.getCrdnInfo(req);
boolean json = jsonResponse(); boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02050-info"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02050-info");
@ -253,8 +260,9 @@ public class Sprt02Controller extends ApplicationController {
return mav return mav
.addObject("pageName", "sprt02050") .addObject("pageName", "sprt02050")
.addObject("pageNameMain", "sprt02010") .addObject("pageNameMain", "sprt02010")
.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)) // 단속 정보
.addObject("pageDataName1", "Rduct") // dataset1 .addObject("pageDataName1", "Rduct") // dataset1
.addObject("rduct", json ? rduct : toJson(rduct)) // 감경 정보 .addObject("rduct", json ? rduct : toJson(rduct)) // 과태료 감경 정보
.addObject("pageDataName2", "LevyExcl") // dataset2 .addObject("pageDataName2", "LevyExcl") // dataset2
.addObject("levyExcl", json ? levyExcl : toJson(levyExcl)) // 부과 제외 정보 .addObject("levyExcl", json ? levyExcl : toJson(levyExcl)) // 부과 제외 정보
.addObject("pageDataName3", "CrdnSttsHstry") // dataset3 .addObject("pageDataName3", "CrdnSttsHstry") // dataset3

@ -448,8 +448,6 @@
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do?openerPageName=${pageName}") url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do?openerPageName=${pageName}")
, data : params || {} , data : params || {}
, success : resp => { , success : resp => {
resp = resp.replace(/infoPrefix/g, this.prefix)
.replace(/prefixName/g, this.prefixName)
dialog.open({ dialog.open({
id : ${pageName}Control.prefixed("Dialog") id : ${pageName}Control.prefixed("Dialog")
, title : ${pageName}Control.prefixName + " 정보" , title : ${pageName}Control.prefixName + " 정보"

@ -366,6 +366,37 @@
}); });
} }
// 삭제 callback
${pageName}Control.onRemove = (selected, resp) => {
let btnTitle = $("#btnRemove--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage);
if (resp.saved) {
${pageName}Control._load();
}
}
// 삭제
${pageName}Control.remove = (params) => {
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
if (!params) {
params = {};
params[${pageName}Control.prefixed("IDs")] = selected.join(",");
}
ajax.post({
url : ${pageName}Control.urls.remove
, data : params
, success : resp => ${pageName}Control.onRemove(selected, resp)
});
}
/************************************************************************** /**************************************************************************
* *
**************************************************************************/ **************************************************************************/
@ -418,8 +449,6 @@
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do") url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do")
, data : params || {} , data : params || {}
, success : resp => { , success : resp => {
resp = resp.replace(/infoPrefix/g, this.prefix)
.replace(/prefixName/g, this.prefixName)
dialog.open({ dialog.open({
id : ${pageName}Control.prefixed("InfoDialog") id : ${pageName}Control.prefixed("InfoDialog")
, title : ${pageName}Control.prefixName + " 정보" , title : ${pageName}Control.prefixName + " 정보"

@ -208,11 +208,15 @@
**************************************************************************/ **************************************************************************/
// 저장 callback // 저장 callback
${pageName}Control.onSave = (resp) => { ${pageName}Control.onSave = (resp) => {
let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html();
let showMessage = resp.retMessage.replace(/[S]|[F]/g, dialogTitle);
dialog.alert(showMessage);
if (resp.saved) { if (resp.saved) {
// 폼을 리셋해서 uploadFiles에 출력된 선택 파일을 초기화시킨다. // 폼을 리셋해서 uploadFiles에 출력된 선택 파일을 초기화시킨다.
document.getElementById("frmFile--${pageName}").reset(); document.getElementById("frmFile--${pageName}").reset();
dialog.alert("저장됐습니다.");
dialog.close(${pageName}Control.prefix + "Dialog"); dialog.close(${pageName}Control.prefix + "Dialog");
} }
} }
@ -221,9 +225,8 @@
${pageName}Control.save = (info) => { ${pageName}Control.save = (info) => {
if (!info) return; if (!info) return;
let create = isEmpty(info.opnnId);
let formData = new FormData(); let formData = new FormData();
let create = isEmpty(info.opnnId);
// 첨부파일 배열에 있는 내용을 등록 // 첨부파일 배열에 있는 내용을 등록
for (let iLoop = 0; iLoop < $fileListArr.length; iLoop++) { for (let iLoop = 0; iLoop < $fileListArr.length; iLoop++) {

@ -141,8 +141,12 @@
**************************************************************************/ **************************************************************************/
// 저장 callback // 저장 callback
${pageName}Control.onSave = (resp) => { ${pageName}Control.onSave = (resp) => {
let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html();
let showMessage = resp.retMessage.replace(/[S]|[F]/g, dialogTitle);
dialog.alert(showMessage);
if (resp.saved) { if (resp.saved) {
dialog.alert("저장됐습니다.");
dialog.close(${pageName}Control.prefix + "Dialog"); dialog.close(${pageName}Control.prefix + "Dialog");
} }
} }

@ -310,6 +310,11 @@
} else { } else {
$("#frmEdit--${pageName}")[0].reset(); $("#frmEdit--${pageName}")[0].reset();
} }
// 최상단 단속 Data 셋팅
if (resp.totalInfo) {
${pageNameMain}Control.setData([resp.totalInfo]);
}
} }
}); });
} }

@ -494,6 +494,11 @@
// 주소 변동 이력 Data 셋팅 // 주소 변동 이력 Data 셋팅
${pageName}${pageDataName4}Dataset.setData(resp.crdnPayerHstryList); ${pageName}${pageDataName4}Dataset.setData(resp.crdnPayerHstryList);
// 최상단 단속 Data 셋팅
if (resp.totalInfo) {
${pageNameMain}Control.setData([resp.totalInfo]);
}
} }
}); });
} }

Loading…
Cancel
Save