From 124cbc7e4b4df308c146d73d9c7966c251f8612e Mon Sep 17 00:00:00 2001 From: jjh Date: Mon, 24 Jul 2023 18:23:33 +0900 Subject: [PATCH] =?UTF-8?q?=EB=8B=A8=EC=86=8D=20=EC=9E=AC=EB=93=B1?= =?UTF-8?q?=EB=A1=9D=20=EC=88=98=EC=A0=95.=20=EC=86=8C=EC=8A=A4=20?= =?UTF-8?q?=EC=A0=95=EB=A6=AC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cokr/xit/fims/excl/Excl01Query.java | 47 ++-- .../java/cokr/xit/fims/excl/Excl02Query.java | 35 ++- .../java/cokr/xit/fims/excl/Excl03Query.java | 35 ++- .../cokr/xit/fims/excl/dao/Excl03Mapper.java | 60 +++-- .../xit/fims/excl/service/Excl03Service.java | 2 +- .../excl/service/bean/Excl01ServiceBean.java | 74 +++--- .../fims/excl/service/bean/Excl03Bean.java | 32 ++- .../excl/service/bean/Excl03ServiceBean.java | 116 ++++++++- .../xit/fims/excl/web/Excl01Controller.java | 4 +- .../sql/mapper/fims/excl/excl01-mapper.xml | 2 +- .../sql/mapper/fims/excl/excl03-mapper.xml | 234 +++++++++++++++++- .../WEB-INF/jsp/fims/excl/excl01010-main.jsp | 6 +- .../WEB-INF/jsp/fims/excl/excl01020-info.jsp | 13 +- .../WEB-INF/jsp/fims/excl/excl02010-main.jsp | 15 +- .../WEB-INF/jsp/fims/excl/excl03010-main.jsp | 31 ++- 15 files changed, 559 insertions(+), 147 deletions(-) diff --git a/src/main/java/cokr/xit/fims/excl/Excl01Query.java b/src/main/java/cokr/xit/fims/excl/Excl01Query.java index 5e0ae50b..b9b19614 100644 --- a/src/main/java/cokr/xit/fims/excl/Excl01Query.java +++ b/src/main/java/cokr/xit/fims/excl/Excl01Query.java @@ -20,6 +20,9 @@ public class Excl01Query extends QueryRequest { private String sggCd; // 시군구 코드 private String taskSeCd; // 업무 구분 코드 private String delYn; // 삭제 여부 + // ID + private String levyExclId; // 부과 제외 ID + private String crdnId; // 단속 ID // 공통 조건 private String schDateOpt; // 검색 일자 구분 private String schDateFrom; // 검색 일자 시작 @@ -45,9 +48,6 @@ public class Excl01Query extends QueryRequest { private String levyExclSeNm; // 부과 제외 구분 코드 private String vhrno; // 차량번호 - 단속(TB_CRDN) private String rtpyrNm; // 납부자 명 - 납부자(TB_PAYER) - // ID - private String levyExclId; // 부과 제외 ID - private String crdnId; // 단속 ID public String getSggCd() { return ifEmpty(sggCd, () -> null); @@ -79,6 +79,26 @@ public class Excl01Query extends QueryRequest { return self(); } + public String getLevyExclId() { + return ifEmpty(levyExclId, () -> null); + } + + public T setLevyExclId(String levyExclId) { + this.levyExclId = levyExclId; + + return self(); + } + + public String getCrdnId() { + return ifEmpty(crdnId, () -> null); + } + + public T setCrdnId(String crdnId) { + this.crdnId = crdnId; + + return self(); + } + public String getSchDateOpt() { return ifEmpty(schDateOpt, () -> null); } @@ -290,27 +310,6 @@ public class Excl01Query extends QueryRequest { return self(); } - // - public String getLevyExclId() { - return ifEmpty(levyExclId, () -> null); - } - - public T setLevyExclId(String levyExclId) { - this.levyExclId = levyExclId; - - return self(); - } - - public String getCrdnId() { - return ifEmpty(crdnId, () -> null); - } - - public T setCrdnId(String crdnId) { - this.crdnId = crdnId; - - return self(); - } - public String getLevyExclSeCd() { return ifEmpty(levyExclSeCd, () -> null); } diff --git a/src/main/java/cokr/xit/fims/excl/Excl02Query.java b/src/main/java/cokr/xit/fims/excl/Excl02Query.java index 3380e5dc..6c2adf75 100644 --- a/src/main/java/cokr/xit/fims/excl/Excl02Query.java +++ b/src/main/java/cokr/xit/fims/excl/Excl02Query.java @@ -20,6 +20,9 @@ public class Excl02Query extends QueryRequest { private String sggCd; // 시군구 코드 private String taskSeCd; // 업무 구분 코드 private String delYn; // 삭제 여부 + // ID + private String opnnId; // 의견 제출 ID + private String crdnId; // 단속 ID // 공통 조건 private String schDateOpt; // 검색 일자 구분 private String schDateFrom; // 검색 일자 시작 @@ -40,8 +43,6 @@ public class Excl02Query extends QueryRequest { // 동적 검색 조건 private String mainOption; private String subOption; - // ID - private String opnnId; // 의견 ID public String getSggCd() { return ifEmpty(sggCd, () -> null); @@ -73,6 +74,26 @@ public class Excl02Query extends QueryRequest { return self(); } + public String getOpnnId() { + return ifEmpty(opnnId, () -> null); + } + + public T setOpnnId(String opnnId) { + this.opnnId = opnnId; + + return self(); + } + + public String getCrdnId() { + return ifEmpty(crdnId, () -> null); + } + + public T setCrdnId(String crdnId) { + this.crdnId = crdnId; + + return self(); + } + public String getSchDateOpt() { return ifEmpty(schDateOpt, () -> null); } @@ -223,16 +244,6 @@ public class Excl02Query extends QueryRequest { return self(); } - public String getOpnnId() { - return ifEmpty(opnnId, () -> null); - } - - public T setOpnnId(String opnnId) { - this.opnnId = opnnId; - - return self(); - } - // 동적 검색 조건 /////////////////////////////////////////////////////////////// public String getMainOption() { return ifEmpty(mainOption, () -> null); diff --git a/src/main/java/cokr/xit/fims/excl/Excl03Query.java b/src/main/java/cokr/xit/fims/excl/Excl03Query.java index 0a63ea61..1d006281 100644 --- a/src/main/java/cokr/xit/fims/excl/Excl03Query.java +++ b/src/main/java/cokr/xit/fims/excl/Excl03Query.java @@ -20,6 +20,10 @@ public class Excl03Query extends QueryRequest { private String sggCd; // 시군구 코드 private String taskSeCd; // 업무 구분 코드 private String delYn; // 삭제 여부 + // ID + private String reRegId; // 재등록 ID + private String crdnId; // 단속 ID + // 공통 조건 private String schDateOpt; // 검색 일자 구분 private String schDateFrom; // 검색 일자 시작 @@ -32,8 +36,6 @@ public class Excl03Query extends QueryRequest { // 동적 검색 조건 private String mainOption; private String subOption; - // ID - private String reRegId; // 재등록 ID public String getSggCd() { return ifEmpty(sggCd, () -> null); @@ -64,6 +66,25 @@ public class Excl03Query extends QueryRequest { return self(); } + public String getReRegId() { + return ifEmpty(reRegId, () -> null); + } + + public T setReRegId(String reRegId) { + this.reRegId = reRegId; + + return self(); + } + + public String getCrdnId() { + return ifEmpty(crdnId, () -> null); + } + + public T setCrdnId(String crdnId) { + this.crdnId = crdnId; + + return self(); + } public String getSchDateOpt() { return ifEmpty(schDateOpt, () -> null); @@ -135,16 +156,6 @@ public class Excl03Query extends QueryRequest { return self(); } - public String getReRegId() { - return ifEmpty(reRegId, () -> null); - } - - public T setReRegId(String reRegId) { - this.reRegId = reRegId; - - return self(); - } - // 동적 검색 조건 /////////////////////////////////////////////////////////////// public String getMainOption() { return ifEmpty(mainOption, () -> null); diff --git a/src/main/java/cokr/xit/fims/excl/dao/Excl03Mapper.java b/src/main/java/cokr/xit/fims/excl/dao/Excl03Mapper.java index d4fe27ce..807ae8dd 100644 --- a/src/main/java/cokr/xit/fims/excl/dao/Excl03Mapper.java +++ b/src/main/java/cokr/xit/fims/excl/dao/Excl03Mapper.java @@ -5,6 +5,7 @@ import java.util.Map; import org.egovframe.rte.psl.dataaccess.mapper.Mapper; +import cokr.xit.fims.excl.Excl01Query; import cokr.xit.fims.excl.Excl03; import cokr.xit.fims.excl.Excl03Query; import cokr.xit.foundation.component.AbstractMapper; @@ -27,64 +28,91 @@ public interface Excl03Mapper extends AbstractMapper { * @param req 단속 재등록 조회 조건 * @return 단속 재등록 목록 */ - List selectCrdnReList(Excl03Query req); + List selectCrdnReRegList(Excl03Query req); /**지정한 조건에 따라 단속 재등록 객체들을 반환한다. * @param req 단속 재등록 조회 조건 * @return 단속 재등록 객체 목록 */ - List selectCrdnRes(Excl03Query req); + List selectCrdnReRegs(Excl03Query req); /**지정한 ID의 단속 재등록 정보를 반환한다. * @param levyExclId 단속 재등록 ID * @return 단속 재등록 정보 */ - DataObject selectCrdnReInfo(Excl03Query req); + default DataObject selectCrdnReRegInfo(String reRegId) { + List crdnReRegInfo = selectCrdnReRegs(new Excl03Query().setReRegId(reRegId).setOrderBy("RE_REG_ID")); - default DataObject selectCrdnReInfo(String reRegId) { - DataObject crdnReInfo = selectCrdnReInfo(new Excl03Query().setBy("reRegId").setTerm(reRegId)); - - return crdnReInfo; + return !crdnReRegInfo.isEmpty() ? crdnReRegInfo.get(0) : null; } /**단속 재등록 정보를 등록한다. * @param params 파라미터 - *
  • "excl03" - 단속 재등록
  • + *
    • "crdnReReg" - 단속 재등록
    • *
    • "currentUser" - 현재 접속한 사용자
    • *
    * @return 저장된 정보수 */ - int insertCrdnRe(Map params); + int insertCrdnReReg(Map params); /**단속 재등록 정보를 등록한다. - * @param excl03 단속 재등록 + * @param crdnReReg 단속 재등록 * @return 저장 여부 *
    • 저장됐으면 true
    • *
    • 그렇지 않으면 false
    • *
    */ - default boolean insertCrdnRe(Excl03 excl03) { - return excl03 != null && insertCrdnRe(params().set("excl03", excl03)) == 1; + default boolean insert(Excl03 excl03) { + return excl03 != null && insertCrdnReReg(params().set("excl03", excl03)) == 1; } /**지정한 단속 재등록을 삭제한다. * @param params 파라미터 - *
    • "excl03" - 단속 재등록
    • + *
      • "crdnReReg" - 단속 재등록
      • *
      • "currentUser" - 현재 접속한 사용자
      • *
      * @return 저장된 정보수 */ - int deleteCrdnRe(Map params); + int deleteCrdnReReg(Map params); /**단속 재등록 정보를 삭제한다. + * @param crdnReReg 단속 재등록 + * @return 저장 여부 + *
      • 저장됐으면 true
      • + *
      • 그렇지 않으면 false
      • + *
      + */ + default boolean delete(Excl03 excl03) { + return excl03 != null && deleteCrdnReReg(params().set("excl03", excl03)) == 1; + } + + + + + /**지정한 단속ID의 단속 대장 정보를 반환한다. + * @param crdnId 단속ID + * @return 단속 대장 정보 + */ + DataObject selectCrdnInfo(String crdnId); + + /**단속 재등록 정보를 등록한다. + * @param params 파라미터 + *
      • "excl03" - 단속 재등록
      • + *
      • "currentUser" - 현재 접속한 사용자
      • + *
      + * @return 저장된 정보수 + */ + int insertCopyCrdn(Map params); + + /**단속 재등록 정보를 등록한다. * @param excl03 단속 재등록 * @return 저장 여부 *
      • 저장됐으면 true
      • *
      • 그렇지 않으면 false
      • *
      */ - default boolean deleteCrdnRe(Excl03 excl03) { - return excl03 != null && deleteCrdnRe(params().set("excl03", excl03)) == 1; + default boolean insertCopyCrdn(Excl03 excl03) { + return excl03 != null && insertCopyCrdn(params().set("excl03", excl03)) == 1; } } diff --git a/src/main/java/cokr/xit/fims/excl/service/Excl03Service.java b/src/main/java/cokr/xit/fims/excl/service/Excl03Service.java index 5f0e0e11..8d1365dc 100644 --- a/src/main/java/cokr/xit/fims/excl/service/Excl03Service.java +++ b/src/main/java/cokr/xit/fims/excl/service/Excl03Service.java @@ -28,7 +28,7 @@ public interface Excl03Service { * @param req 단속 재등록 조회 조건 * @return 단속 재등록 객체 목록 */ - List getCrackdownReRegistrations(Excl03Query req); + List getCrackdownReRegistrations(Excl03Query req); /**지정한 ID의 단속 재등록 정보를 반환한다.
      * @param reRegId 단속 재등록 ID diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/Excl01ServiceBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/Excl01ServiceBean.java index 280f77b4..b9669f8f 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/Excl01ServiceBean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/Excl01ServiceBean.java @@ -1,7 +1,5 @@ package cokr.xit.fims.excl.service.bean; -import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; - import java.util.HashMap; import java.util.List; import java.util.Map; @@ -56,28 +54,28 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv Map retMap = new HashMap(); // 결과 return // 단속 ID로 부과제외 정보 조회 - DataObject dataCrdnLevyExcl = excl01Bean.getCrdnLevyExclusion(excl01.getCrdnId()); + DataObject infoCrdnLevyExcl = excl01Bean.getCrdnLevyExclusion(excl01.getCrdnId()); - // 부과제외 ID가 있다면 이미 부과제외 자료가 존재하므로 종료.. - if (!dataCrdnLevyExcl.string("LEVY_EXCL_ID").equals("")) { - retMap.put("retCode", "000"); + // 부과제외 ID가 있다면 이미 부과제외 자료가 존재. 종료.. + if (!infoCrdnLevyExcl.string("LEVY_EXCL_ID").equals("")) { + retMap.put("retSaved", "false"); retMap.put("retMessage", "부과제외 정보가 이미 존재합니다."); return retMap; } if (excl01.getLevyExclSeCd().equals("1") || excl01.getLevyExclSeCd().equals("2")) { // 비부과, 계고 등록시.. - // 단속 상태 코드가 부과(51) 보다 크다면..부과제외 등록 할 수 없다. - if (Integer.parseInt(dataCrdnLevyExcl.string("CRDN_STTS_CD")) > 50) { - retMap.put("retCode", "000"); - retMap.put("retMessage", "단속 상태가 " + dataCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다"); + // 단속 상태 코드가 부과(51) 보다 크다면..부과제외 등록 할 수 없다. 종료.. + if (Integer.parseInt(infoCrdnLevyExcl.string("CRDN_STTS_CD")) > 50) { + retMap.put("retSaved", "false"); + retMap.put("retMessage", "단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다"); return retMap; } // 추가필요 20230718 조재현 ////////////////////////////////////////////////////////// // 자동등록 자료만 민원답변 부분을 처리 - if (dataCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02")) { + if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02")) { } } @@ -95,45 +93,44 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv retSuccess = excl01Bean.createLevyExclusion(excl01); // 1건이 등록 되지 않았다면.. if (!retSuccess) { - retMap.put("retCode", "000"); + retMap.put("retSaved", "false"); retMap.put("retMessage", "부과제외 대장 등록에 실패하였습니다."); -// return retMap; - - throw new RuntimeException("부과제외 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 오류메세지를 보내고 롤백.. + // 예외를 발생시켜서 오류메세지를 보내고 롤백.. + throw new RuntimeException(retMap.get("retMessage")); } // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장 등록 CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); crdnSttsHstry.setCrdnId(excl01.getCrdnId()); - crdnSttsHstry.setBfrSttsCd(dataCrdnLevyExcl.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(dataCrdnLevyExcl.string("CRDN_STTS_CHG_DT")); + crdnSttsHstry.setBfrSttsCd(infoCrdnLevyExcl.string("CRDN_STTS_CD")); + crdnSttsHstry.setBfrSttsChgDt(infoCrdnLevyExcl.string("CRDN_STTS_CHG_DT")); crdnSttsHstry.setCrdnSttsCd(excl01.getCrdnSttsCd()); crdnSttsHstry.setTaskDtlId(excl01.getLevyExclId()); crdnSttsHstry.setEtcCn("부과제외 등록"); retSuccess = crdnSttsHstryBean.create(crdnSttsHstry); if (!retSuccess) { - retMap.put("retCode", "000"); + retMap.put("retSaved", "false"); retMap.put("retMessage", "단속상태이력 대장 등록에 실패하였습니다."); -// return retMap; - - throw new RuntimeException("단속상태이력 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 오류메세지를 보내고 롤백.. + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException(retMap.get("retMessage")); } // 단속(TB_CRDN) 대장 상태 코드 수정 retSuccess = excl01Bean.updateCrackdownStatus(excl01); if (!retSuccess) { - retMap.put("retCode", "000"); + retMap.put("retSaved", "false"); retMap.put("retMessage", "단속 대장에 단속상태 수정에 실패하였습니다."); - return retMap; + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException(retMap.get("retMessage")); } // 처리 성공 - retMap.put("retCode", "001"); + retMap.put("retSaved", "true"); retMap.put("retMessage", "저장 되었습니다."); return retMap; @@ -147,14 +144,15 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv retSuccess = excl01Bean.updateLevyExclusion(excl01); if (!retSuccess) { - retMap.put("retCode", "000"); + retMap.put("retSaved", "false"); retMap.put("retMessage", "부과제외 대장 수정에 실패하였습니다."); - return retMap; + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException(retMap.get("retMessage")); } // 처리 성공 - retMap.put("retCode", "001"); + retMap.put("retSaved", "true"); retMap.put("retMessage", "저장 되었습니다."); return retMap; @@ -210,7 +208,8 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv if (!infoCrdnSttsHstry.string("CRDN_STTS_CD").equals(infoCrdnSttsCd.string("CRDN_STTS_CD"))) { retMessage = retMessage + "단속 상태가 " + infoCrdnSttsCd.string("LEVY_EXCL_SE_NM") + " 이(가) 아닙니다."; - throw new RuntimeException(retMessage); // 예외를 발생시켜서 오류메세지를 보내고 롤백.. + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException(retMessage); } // 부과제외(TB_LEVY_EXCL) 삭제 @@ -218,17 +217,20 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv if (!retSuccess) { retMessage = retMessage + "부과제외 자료 삭제에서 오류가 발생 되었습니다."; - throw new RuntimeException(retMessage); // 예외를 발생시켜서 오류메세지를 보내고 롤백.. + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException(retMessage); } - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 삭제 + // 단속 상태 이력 ID deltCrdnSttsHstry.setSttsHstryId(infoCrdnSttsHstry.string("STTS_HSTRY_ID")); + // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 삭제 retSuccess = crdnSttsHstryBean.remove(deltCrdnSttsHstry); if (!retSuccess) { retMessage = retMessage + "단속상태이력 자료 삭제에서 오류가 발생 되었습니다."; - throw new RuntimeException(retMessage); // 예외를 발생시켜서 오류메세지를 보내고 롤백.. + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException(retMessage); } // 단속(TB_CRDN) 대장 상태 코드 수정 @@ -240,13 +242,14 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv if (!retSuccess) { retMessage = retMessage + "단속 자료 수정에서 오류가 발생 되었습니다."; - throw new RuntimeException(retMessage); // 예외를 발생시켜서 오류메세지를 보내고 롤백.. + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException(retMessage); } // 추가필요 20230718 조재현 ////////////////////////////////////////////////////////// // 부과제외구분이 비부과(서손), 계고일 경우 - if (excl01.getLevyExclSeCd().equals("1") || excl01.getLevyExclSeCd().equals("2")) { - /* + if (infoCrdnSttsCd.string("LEVY_EXCL_SE_CD").equals("1") || infoCrdnSttsCd.string("LEVY_EXCL_SE_CD").equals("2")) { +/* if GB <> 3 then begin //서손 취소하는데, cp_answer의 처리상태가 답변대상 또는 서손의 답변 미대상 자료이면 원래 초기상태로 되돌린다 @@ -327,8 +330,7 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv end; end; - */ - +*/ } // 처리 성공 diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/Excl03Bean.java b/src/main/java/cokr/xit/fims/excl/service/bean/Excl03Bean.java index dc8bba88..4d66e37a 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/Excl03Bean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/Excl03Bean.java @@ -34,15 +34,15 @@ public class Excl03Bean extends AbstractComponent { * @return 단속 재등록 목록 */ public List getCrackdownReRegistrationList(Excl03Query req) { - return excl03Mapper.selectCrdnReList(req); + return excl03Mapper.selectCrdnReRegList(req); } /**지정한 조건에 따라 단속 재등록 객체들을 반환한다. * @param req 단속 재등록 조회 조건 * @return 단속 재등록 객체 목록 */ - public List getCrackdownReRegistrations(Excl03Query req) { - return excl03Mapper.selectCrdnRes(req); + public List getCrackdownReRegistrations(Excl03Query req) { + return excl03Mapper.selectCrdnReRegs(req); } /**지정한 ID의 단속 재등록 정보를 반환한다.
      @@ -50,7 +50,7 @@ public class Excl03Bean extends AbstractComponent { * @return 단속 재등록 정보 */ public DataObject getCrackdownReRegistrationInfo(String opnnId) { - return excl03Mapper.selectCrdnReInfo(opnnId); + return excl03Mapper.selectCrdnReRegInfo(opnnId); } /**단속 재등록 정보를 등록한다. @@ -61,7 +61,7 @@ public class Excl03Bean extends AbstractComponent { *
    */ public boolean createCrackdownReRegistration(Excl03 excl03) { - return excl03Mapper.insertCrdnRe(excl03); + return excl03Mapper.insert(excl03); } /**단속 재등록 정보를 삭제한다. @@ -72,6 +72,26 @@ public class Excl03Bean extends AbstractComponent { *
*/ public boolean removeCrackdownReRegistration(Excl03 excl03) { - return excl03Mapper.deleteCrdnRe(excl03); + return excl03Mapper.delete(excl03); } + + /**지정한 조건에 따라 부과제외 대장 목록을 조회하여 반환한다. + * @param req 부과제외 대장 조회 조건 + * @return 부과제외 대장 목록 + */ + public DataObject getCrackdown(String crdnId) { + return excl03Mapper.selectCrdnInfo(crdnId); + } + + /**단속 정보를 복사하여 신규 단속 정보를 등록한다. + * @param excl03 단속 재등록 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + public boolean createCopyCrackdown(Excl03 excl03) { + return excl03Mapper.insertCopyCrdn(excl03); + } + } diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/Excl03ServiceBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/Excl03ServiceBean.java index f58e0251..7f079bcc 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/Excl03ServiceBean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/Excl03ServiceBean.java @@ -8,10 +8,13 @@ import org.springframework.stereotype.Service; import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.data.DataObject; - +import cokr.xit.base.file.service.bean.FileBean; +import cokr.xit.fims.crdn.Crdn; +import cokr.xit.fims.crdn.service.bean.Crdn05ServiceBean; import cokr.xit.fims.excl.Excl03; import cokr.xit.fims.excl.Excl03Query; import cokr.xit.fims.excl.service.Excl03Service; +import cokr.xit.fims.task.service.TaskService; /**단속 재등록 서비스 구현체. * @@ -30,13 +33,16 @@ public class Excl03ServiceBean extends AbstractServiceBean implements Excl03Serv @Resource(name = "excl03Bean") private Excl03Bean excl03Bean; + @Resource(name="crdn05Service") + private Crdn05ServiceBean crdn05Service; + @Override public List getCrackdownReRegistrationList(Excl03Query req) { return excl03Bean.getCrackdownReRegistrationList(req); } @Override - public List getCrackdownReRegistrations(Excl03Query req) { + public List getCrackdownReRegistrations(Excl03Query req) { return excl03Bean.getCrackdownReRegistrations(req); } @@ -47,7 +53,111 @@ public class Excl03ServiceBean extends AbstractServiceBean implements Excl03Serv @Override public boolean createCrackdownReRegistration(Excl03 excl03) { - return excl03Bean.createCrackdownReRegistration(excl03); + // 변수 선언 + boolean retSuccess = false; // DB 처리 결과 + String retMessage = "등록 처리 중 "; + + // 단속 ID로 부과제외 정보 조회 + DataObject infoCrdn = excl03Bean.getCrackdown(excl03.getBfrCrdnId()); + + Crdn crdn = new Crdn(); + + crdn.setSggCd(infoCrdn.string("SGG_CD")); + crdn.setTaskSeCd(infoCrdn.string("TASK_SE_CD")); +// crdn.setCrdnRegSeCd(infoCrdn.string("CRDN_REG_SE_CD")); +// crdn.setCrdnInptSeCd(infoCrdn.string("CRDN_INPT_SE_CD")); +// crdn.setLinkTblNm(infoCrdn.string("LINK_TBL_NM")); +// crdn.setLinkId(infoCrdn.string("LINK_ID")); +// crdn.setRtpyrId(infoCrdn.string("RTPYR_ID")); +// crdn.setCrdnSeCd(infoCrdn.string("CRDN_SE_CD")); +// crdn.setCrdnYmd(infoCrdn.string("CRDN_YMD")); +// crdn.setCrdnTm(infoCrdn.string("CRDN_TM")); +// crdn.setVhrno(infoCrdn.string("VHRNO")); +// crdn.setCrdnStdgNm(infoCrdn.string("CRDN_STDG_NM")); +// crdn.setCrdnRoadNm(infoCrdn.string("CRDN_ROAD_NM")); +// crdn.setCrdnPlc(infoCrdn.string("CRDN_PLC")); +// crdn.setDtlCrdnPlc(infoCrdn.string("DTL_CRDN_PLC")); +// crdn.setTeamId(infoCrdn.string("TEAM_ID")); +// crdn.setVltnId(infoCrdn.string("VLTN_ID")); +// crdn.setCrdnSpareaCd(infoCrdn.string("CRDN_SPAREA_CD")); +// crdn.setCrdnBgngTm(infoCrdn.string("CRDN_BGNG_TM")); +// crdn.setCrdnEndHr(infoCrdn.string("CRDN_END_HR")); +// crdn.setCrdnSn(infoCrdn.string("CRDN_SN")); +// crdn.setGpsX(infoCrdn.string("GPS_X")); +// crdn.setGpsY(infoCrdn.string("GPS_Y")); +// crdn.setMoscX(infoCrdn.string("MOSC_X")); +// crdn.setMoscY(infoCrdn.string("MOSC_Y")); +// crdn.setTowngYn(infoCrdn.string("TOWNG_YN")); +// crdn.setAtchFileCnt(infoCrdn.string("ATCH_FILE_CNT")); +// crdn.setVin(infoCrdn.string("VIN")); +// crdn.setVhclNm(infoCrdn.string("VHCL_NM")); +// crdn.setVhclColor(infoCrdn.string("VHCL_COLOR")); +// crdn.setUseFuelCd(infoCrdn.string("USE_FUEL_CD")); +// crdn.setUsgSeCd(infoCrdn.string("USG_SE_CD")); +// crdn.setMxmmLoadQy(infoCrdn.string("MXMM_LOAD_QY")); +// crdn.setTkcarPsncpaCnt(infoCrdn.string("TKCAR_PSNCPA_CNT")); +// crdn.setCarmdlAsortNm(infoCrdn.string("CARMDL_ASORT_NM")); +// crdn.setCarmdlTypeNm(infoCrdn.string("CARMDL_TYPE_NM")); +// crdn.setCarmdlClsfNm(infoCrdn.string("CARMDL_CLSF_NM")); +// crdn.setErsrYmd(infoCrdn.string("ERSR_YMD")); +// crdn.setFfnlgCarmdlCd(infoCrdn.string("FFNLG_CARMDL_CD")); +// crdn.setParkngPsbltyRsltCd(infoCrdn.string("PARKNG_PSBLTY_RSLT_CD")); +// crdn.setVltnNmtm(infoCrdn.string("VLTN_NMTM")); +// crdn.setOvtimeYn(infoCrdn.string("OVTIME_YN")); +// crdn.setRvwSeCd(infoCrdn.string("RVW_SE_CD")); +// crdn.setRvwPrcsScrnNm(infoCrdn.string("RVW_PRCS_SCRN_NM")); +// crdn.setRvwDt(infoCrdn.string("RVW_DT")); +// crdn.setRvwr(infoCrdn.string("RVWR")); +// crdn.setFfnlgAmt(infoCrdn.string("FFNLG_AMT")); +// crdn.setFfnlgRductRt(infoCrdn.string("FFNLG_RDUCT_RT")); +// crdn.setLevyAmt(infoCrdn.string("LEVY_AMT")); +// crdn.setAdvntceBgngYmd(infoCrdn.string("ADVNTCE_BGNG_YMD")); +// crdn.setAdvntceDudtYmd(infoCrdn.string("ADVNTCE_DUDT_YMD")); +// crdn.setAdvntceLevyAmt(infoCrdn.string("ADVNTCE_LEVY_AMT")); +// crdn.setOpnnSbmsnYn(infoCrdn.string("OPNN_SBMSN_YN")); +// crdn.setEtcCn(infoCrdn.string("ETC_CN")); +// crdn.setLevyId(""); +// crdn.setCrdnSttsCd("01"); +// crdn.setCrdnSttsChgDt(""); +// crdn.setAdtnAmt(infoCrdn.string("0")); +// crdn.setMinusAmt(infoCrdn.string("0")); +// crdn.setRcvmtAmt(infoCrdn.string("0")); + crdn.setBfrCrdnId(infoCrdn.string("CRDN_ID")); + crdn.setDelYn("N"); + + // 단속 대장 입력 + retSuccess = crdn05Service.create(crdn); + if (!retSuccess) { + retMessage = "단속 대장 등록에 실패하였습니다."; + + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException(retMessage); + } + +// // 단속 대장 자료 복사 +// retSuccess = excl03Bean.createCopyCrackdown(excl03); +// if (!retSuccess) { +// retMessage = "재부과 대장에 실패하였습니다."; +// +// // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. +// throw new RuntimeException(retMessage); +// } + + // 단속 대장 사진 복사 + + // 재부과 대장 등록 + retSuccess = excl03Bean.createCrackdownReRegistration(excl03); + if (!retSuccess) { + retMessage = "재부과 대장 등록에 실패하였습니다."; + + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException(retMessage); + } + + // 처리 성공 + retSuccess = true; + + return retSuccess; } @Override diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java index 3a94d7f5..c8759d08 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java @@ -111,7 +111,7 @@ public class Excl01Controller extends ApplicationController { Map retMap = excl01Service.createLevyExclusion(excl01); return new ModelAndView("jsonView") - .addObject("retCode", retMap.get("retCode")) + .addObject("retSaved", retMap.get("retSaved")) .addObject("retMessage", retMap.get("retMessage")); } @@ -127,7 +127,7 @@ public class Excl01Controller extends ApplicationController { Map retMap = excl01Service.updateLevyExclusion(excl01); return new ModelAndView("jsonView") - .addObject("retCode", retMap.get("retCode")) + .addObject("retSaved", retMap.get("retSaved")) .addObject("retMessage", retMap.get("retMessage")); } diff --git a/src/main/resources/sql/mapper/fims/excl/excl01-mapper.xml b/src/main/resources/sql/mapper/fims/excl/excl01-mapper.xml index 5766e223..72036d62 100644 --- a/src/main/resources/sql/mapper/fims/excl/excl01-mapper.xml +++ b/src/main/resources/sql/mapper/fims/excl/excl01-mapper.xml @@ -236,7 +236,7 @@ /* 부과제외 대장 등록(excl01Mapper.insertLevyExcl) */ - SELECT LPAD(IFNULL(MAX(LEVY_EXCL_ID) + 1, 1), 20, '0') NEW_ID FROM TB_LEVY_EXCL + SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(LEVY_EXCL_ID,5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID FROM TB_LEVY_EXCL INSERT INTO TB_LEVY_EXCL ( diff --git a/src/main/resources/sql/mapper/fims/excl/excl03-mapper.xml b/src/main/resources/sql/mapper/fims/excl/excl03-mapper.xml index aede011f..cc54cf76 100644 --- a/src/main/resources/sql/mapper/fims/excl/excl03-mapper.xml +++ b/src/main/resources/sql/mapper/fims/excl/excl03-mapper.xml @@ -8,7 +8,7 @@ ============================ --> - + @@ -61,7 +61,7 @@ INNER JOIN TB_CRDN C ON (A.CRDN_ID = C.CRDN_ID) - /* 단속 재등록 목록 조회(excl03Mapper.selectCrdnReRegList) */ WHERE A.DEL_YN = 'N' /* 삭제 여부 */ @@ -132,13 +132,7 @@ FROM TB_CRDN_RE_REG A - - - /* 단속 재등록 객체 가져오기(excl03Mapper.selectCrdnReRegs) */ WHERE A.DEL_YN = 'N' /* 삭제 여부 */ @@ -146,11 +140,14 @@ #{reRegId} ) + + AND A.RE_REG_ID = #{reRegId} + - /* 단속 재등록 등록(excl03Mapper.insertCrdnRe) */ - INSERT INTO TB_CRDN_RE ( + /* 단속 재등록 등록(excl03Mapper.insertCrdnReReg) */ + INSERT INTO TB_CRDN_RE_REG ( RE_REG_ID /* 재등록 ID */ , BEF_CRDN_ID /* 신규 단속 ID */ , CRDN_ID /* 단속 ID */ @@ -178,8 +175,8 @@ ) - /* 단속 재등록 삭제(excl03Mapper.deleteCrdnRe) */ - UPDATE TB_CRDN_RE + /* 단속 재등록 삭제(excl03Mapper.deleteCrdnReReg) */ + UPDATE TB_CRDN_RE_REG SET DEL_YN = 'Y' /* 삭제 여부 */ , DEL_DT = /* 삭제 일시 */ , DLTR = #{currentUser.id} /* 삭제자 */ @@ -188,4 +185,215 @@ AND DEL_YN = 'N' /* 삭제 여부 */ + + + /* 단속 재등록 등록(excl03Mapper.insertCopyCrdn) */ + + SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(CRDN_ID,5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID FROM TB_CRDN + + INSERT INTO TB_CRDN ( + CRDN_ID + , SGG_CD + , TASK_SE_CD + , CRDN_REG_SE_CD + , CRDN_INPT_SE_CD + , LINK_TBL_NM + , LINK_ID + , RTPYR_ID + , CRDN_SE_CD + , CRDN_YMD + , CRDN_TM + , VHRNO + , CRDN_STDG_NM + , CRDN_ROAD_NM + , CRDN_PLC + , DTL_CRDN_PLC + , TEAM_ID + , VLTN_ID + , CRDN_SPAREA_CD + , CRDN_BGNG_TM + , CRDN_END_HR + , CRDN_SN + , GPS_X + , GPS_Y + , MOSC_X + , MOSC_Y + , TOWNG_YN + , ATCH_FILE_CNT + , VIN + , VHCL_NM + , VHCL_COLOR + , USE_FUEL_CD + , USG_SE_CD + , MXMM_LOAD_QY + , TKCAR_PSNCPA_CNT + , CARMDL_ASORT_NM + , CARMDL_TYPE_NM + , CARMDL_CLSF_NM + , ERSR_YMD + , FFNLG_CARMDL_CD + , PARKNG_PSBLTY_RSLT_CD + , VLTN_NMTM + , OVTIME_YN + , RVW_SE_CD + , RVW_PRCS_SCRN_NM + , RVW_DT + , RVWR + , FFNLG_AMT + , FFNLG_RDUCT_RT + , LEVY_AMT + , ADVNTCE_BGNG_YMD + , ADVNTCE_DUDT_YMD + , ADVNTCE_LEVY_AMT + , OPNN_SBMSN_YN + , ETC_CN + , LEVY_ID + , CRDN_STTS_CD + , CRDN_STTS_CHG_DT + , ADTN_AMT + , MINUS_AMT + , RCVMT_AMT + , BFR_CRDN_ID + , DEL_YN /* 삭제 여부 */ + , REG_DT /* 등록 일시 */ + , RGTR /* 등록자 */ + ) + SELECT + , #{excl03.crdnId} + , SGG_CD + , TASK_SE_CD + , CRDN_REG_SE_CD + , CRDN_INPT_SE_CD + , LINK_TBL_NM + , LINK_ID + , RTPYR_ID + , CRDN_SE_CD + , CRDN_YMD + , CRDN_TM + , VHRNO + , CRDN_STDG_NM + , CRDN_ROAD_NM + , CRDN_PLC + , DTL_CRDN_PLC + , TEAM_ID + , VLTN_ID + , CRDN_SPAREA_CD + , CRDN_BGNG_TM + , CRDN_END_HR + , CRDN_SN + , GPS_X + , GPS_Y + , MOSC_X + , MOSC_Y + , TOWNG_YN + , ATCH_FILE_CNT + , VIN + , VHCL_NM + , VHCL_COLOR + , USE_FUEL_CD + , USG_SE_CD + , MXMM_LOAD_QY + , TKCAR_PSNCPA_CNT + , CARMDL_ASORT_NM + , CARMDL_TYPE_NM + , CARMDL_CLSF_NM + , ERSR_YMD + , FFNLG_CARMDL_CD + , PARKNG_PSBLTY_RSLT_CD + , VLTN_NMTM + , OVTIME_YN + , RVW_SE_CD + , RVW_PRCS_SCRN_NM + , RVW_DT + , RVWR + , FFNLG_AMT + , FFNLG_RDUCT_RT + , LEVY_AMT + , ADVNTCE_BGNG_YMD + , ADVNTCE_DUDT_YMD + , ADVNTCE_LEVY_AMT + , OPNN_SBMSN_YN + , ETC_CN + , NULL /* 부과 ID */ + , '01' /* 단속 상태 코드 */ + , /* 단속 상태 변경 일시 */ + , '0' /* 가산 금액 */ + , '0' /* 감경 금액 */ + , '0' /* 수납 금액 */ + , CRDN_ID + , 'N' /* 삭제 여부 */ + , #{excl03.createdAt} /* 등록 일시 */ + , #{excl03.createdBy} /* 등록자 */ + FROM TB_CRDN + WHERE CRDN_ID = #{excl03.bfrCrdnId} /* 이전 단속 ID */ + + diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp index ee8c0832..aa010c02 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp @@ -527,15 +527,15 @@ // 이벤트 설정 setEvent${pageName}(); + // 보안모드 + fn_securityModeToggle($("#securityMode--top").is(":checked")); + // 업무구분 및 화면 초기 설정 let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); fnResetAndChangeBiz${pageName}(defaultBizValue); - // 보안모드 - fn_securityModeToggle($("#securityMode--top").is(":checked")); - // Dataset 셋팅 - 화면이 열리면서 조회하는 경우 addData 하여 자료를 추가 // ${pageName}Control.addData(${levyExcl}); }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp index b9d50594..7e286d90 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp @@ -102,10 +102,9 @@ **************************************************************************/ // 저장 callback ${pageName}Control.onSave = (resp) => { - dialog.alert(resp.retMessage); - - if (resp.retCode == "001") { - dialog.close(${pageName}Control.prefix + "dialog"); + if (resp.retSaved == "true") { + dialog.alert(resp.retMessage); + dialog.close(${pageName}Control.prefix + "dialog"); } } @@ -186,12 +185,12 @@ * script 진입 **************************************************************************/ $(document).ready(function() { - // 화면 초기 설정 - initForm${pageName}(); - // 이벤트 설정 setEvent${pageName}(); + // 화면 초기 설정 + initForm${pageName}(); + // Dataset 셋팅 - 단건일 경우 setData ${pageName}Control.setData([${levyExclInfo}]); }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp index 5c4ba399..5c2a812d 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp @@ -163,7 +163,7 @@ -