diff --git a/src/main/java/cokr/xit/fims/cmmn/service/CrdnSttsHstryService.java b/src/main/java/cokr/xit/fims/cmmn/service/CrdnSttsHstryService.java index 868d6baa..c6e2fd61 100644 --- a/src/main/java/cokr/xit/fims/cmmn/service/CrdnSttsHstryService.java +++ b/src/main/java/cokr/xit/fims/cmmn/service/CrdnSttsHstryService.java @@ -56,4 +56,23 @@ public interface CrdnSttsHstryService { * */ boolean remove(CrdnSttsHstry crdnSttsHstry); + + /**단속 상태 이력 정보를 등록하고, 단속 대장의 단속상태 정보를 수정한다. + * @param crdnSttsHstry 단속 상태 이력 + * @return 저장 여부 + * + */ + boolean createHstryUpdateCrdnSttsCd(CrdnSttsHstry crdnSttsHstry); + + /**단속 상태 이력 정보를 삭제하고, 하고 단속 대장의 단속상태 정보를 수정한다. + * @param crdnSttsHstry 단속 상태 이력 + * @return 저장 여부 + * + */ + boolean removeHstryUpdateCrdnSttsCd(String crdnId); + } diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryServiceBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryServiceBean.java index 3c1087cb..267f49e2 100644 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryServiceBean.java +++ b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryServiceBean.java @@ -12,6 +12,7 @@ import cokr.xit.foundation.data.DataObject; import cokr.xit.fims.cmmn.CrdnSttsHstry; import cokr.xit.fims.cmmn.CrdnSttsHstryQuery; import cokr.xit.fims.cmmn.service.CrdnSttsHstryService; +import cokr.xit.fims.excl.Excl01Query; /**단속 상태 이력 서비스 구현체. * @@ -25,6 +26,7 @@ import cokr.xit.fims.cmmn.service.CrdnSttsHstryService; */ @Service("crdnSttsHstryService") public class CrdnSttsHstryServiceBean extends AbstractServiceBean implements CrdnSttsHstryService { + /** 단속 상태 이력 정보 Bean */ @Resource(name = "crdnSttsHstryBean") private CrdnSttsHstryBean crdnSttsHstryBean; @@ -53,4 +55,60 @@ public class CrdnSttsHstryServiceBean extends AbstractServiceBean implements Crd public boolean remove(CrdnSttsHstry crdnSttsHstry) { return crdnSttsHstryBean.remove(crdnSttsHstry); } + + @Override + public boolean createHstryUpdateCrdnSttsCd(CrdnSttsHstry crdnSttsHstry) { + boolean retSuccess = false; // DB 처리 결과 + + // 단속상태이력 정보를 등록한다. + retSuccess = crdnSttsHstryBean.create(crdnSttsHstry); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException("단속상태이력 정보를 등록 중 오류가 발생하였습니다."); + } + + // 단속상태이력 정보를 등록한다. + retSuccess = crdnSttsHstryBean.updateCrdn(crdnSttsHstry); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException("단속상태이력 정보를 등록 중 오류가 발생하였습니다."); + } + + return retSuccess; + } + + @Override + public boolean removeHstryUpdateCrdnSttsCd(String crdnId) { + boolean retSuccess = false; // DB 처리 결과 + DataObject infoCrdnSttsHstry = new DataObject(); // 단속상태이력(TB_CRDN_STTS_HSTRY) 조회 정보 + CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry (); // 단속상태이력(TB_CRDN_STTS_HSTRY) + + // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 조회 한다. + infoCrdnSttsHstry = crdnSttsHstryBean.getCrdnSttsHstryInfo(crdnId); + + // 단속상태이력(TB_CRDN_STTS_HSTRY) + crdnSttsHstry.setSttsHstryId(infoCrdnSttsHstry.string("STTS_HSTRY_ID")); // 상태 이력 ID + + // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 삭제 한다. + retSuccess = crdnSttsHstryBean.remove(crdnSttsHstry); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException("단속상태이력 정보를 삭제 중 오류가 발생하였습니다."); + } + + // 단속(TB_CRDN) + crdnSttsHstry.setCrdnId(infoCrdnSttsHstry.string("CRDN_ID")); // 단속 ID + crdnSttsHstry.setCrdnSttsCd(infoCrdnSttsHstry.string("BFR_STTS_CD")); // 상태 코드 + crdnSttsHstry.setCrdnSttsChgDt(infoCrdnSttsHstry.string("BFR_STTS_CHG_DT")); // 상태 변경 일시 + + // 단속(TB_CRDN) 상태 코드를 수정 한다. + retSuccess = crdnSttsHstryBean.updateCrdn(crdnSttsHstry); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException("단속상태이력 정보를 등록 중 오류가 발생하였습니다."); + } + + return retSuccess; + } + } diff --git a/src/main/java/cokr/xit/fims/cmmn/web/CrdnSttsHstryController.java b/src/main/java/cokr/xit/fims/cmmn/web/CrdnSttsHstryController.java index 6c939cf0..e04af5ef 100644 --- a/src/main/java/cokr/xit/fims/cmmn/web/CrdnSttsHstryController.java +++ b/src/main/java/cokr/xit/fims/cmmn/web/CrdnSttsHstryController.java @@ -26,6 +26,7 @@ import cokr.xit.fims.cmmn.service.CrdnSttsHstryService; */ @RequestMapping(name = "단속 상태 이력", value = "/crdnSttsHstry") public class CrdnSttsHstryController extends AbstractController { + /**단속 상태 이력 서비스*/ @Resource(name = "crdnSttsHstryService") private CrdnSttsHstryService crdnSttsHstryService; diff --git a/src/main/java/cokr/xit/fims/excl/Excl01Query.java b/src/main/java/cokr/xit/fims/excl/Excl01Query.java index cfbca280..a7837687 100644 --- a/src/main/java/cokr/xit/fims/excl/Excl01Query.java +++ b/src/main/java/cokr/xit/fims/excl/Excl01Query.java @@ -20,10 +20,12 @@ public class Excl01Query extends QueryRequest { private String sggCd; // 시군구 코드 private String taskSeCd; // 업무 구분 코드 private String delYn; // 삭제 여부 + // ID private String[] levyExclIDs; // 부과 제외 ID private String levyExclId; // 부과 제외 ID private String crdnId; // 단속 ID + // 공통 조건 private String schDateOpt; // 검색 일자 구분 private String schDateFrom; // 검색 일자 시작 @@ -37,6 +39,7 @@ public class Excl01Query extends QueryRequest { private String schDetailUserOpt; // 상세 검색 사용자 구분 private String schDetailUserNm; // 상세 검색 사용자 명 private String schDetailUserCd; // 상세 검색 사용자 코드 + // 검색 조건 private String schLevyExclYmdFrom; // 부과 제외 일자 시작 private String schLevyExclYmdTo; // 부과 제외 일자 종료 @@ -45,6 +48,7 @@ public class Excl01Query extends QueryRequest { private String schRtpyrNm; // 납부자 명 - 납부자(TB_PAYER) private String schCrdnYmdFrom; // 단속 일자 시작 private String schCrdnYmdTo; // 단속 일자 종료 + // 동적 검색 조건 private String mainOption; private String subOption; @@ -54,6 +58,9 @@ public class Excl01Query extends QueryRequest { private String vhrno; // 차량번호 - 단속(TB_CRDN) private String rtpyrNm; // 납부자 명 - 납부자(TB_PAYER) + // ETC + private String delRsn; // 삭제 사유 + public String getSggCd() { return ifEmpty(sggCd, () -> null); } @@ -376,4 +383,15 @@ public class Excl01Query extends QueryRequest { } // 동적 검색 조건 /////////////////////////////////////////////////////////////// + // ETC ///////////////////////////////////////////////////////////////////// + public String getDelRsn() { + return ifEmpty(delRsn, () -> null); + } + + public T setDelRsn(String delRsn) { + this.delRsn = delRsn; + + return self(); + } + // ETC ///////////////////////////////////////////////////////////////////// } diff --git a/src/main/java/cokr/xit/fims/excl/Excl02.java b/src/main/java/cokr/xit/fims/excl/Excl02.java index 2a3906da..0134da35 100644 --- a/src/main/java/cokr/xit/fims/excl/Excl02.java +++ b/src/main/java/cokr/xit/fims/excl/Excl02.java @@ -1,7 +1,5 @@ package cokr.xit.fims.excl; -import java.lang.String; - import cokr.xit.foundation.AbstractEntity; import lombok.Getter; import lombok.Setter; @@ -20,7 +18,7 @@ import lombok.Setter; @Setter public class Excl02 extends AbstractEntity { - public static String INF_TYPE = "110"; // 의견 진술 첨부파일 + public static String INF_TYPE = "110"; // 의견 진술 첨부파일 /** * 의견 IDs @@ -212,4 +210,9 @@ public class Excl02 extends AbstractEntity { */ private String delRsn; + /** + * 의견 제출 여부 + */ + private String opnnSbmsnYn; + } diff --git a/src/main/java/cokr/xit/fims/excl/Excl02Query.java b/src/main/java/cokr/xit/fims/excl/Excl02Query.java index fcad2dda..94378274 100644 --- a/src/main/java/cokr/xit/fims/excl/Excl02Query.java +++ b/src/main/java/cokr/xit/fims/excl/Excl02Query.java @@ -20,10 +20,12 @@ public class Excl02Query extends QueryRequest { private String sggCd; // 시군구 코드 private String taskSeCd; // 업무 구분 코드 private String delYn; // 삭제 여부 + // ID private String[] opnnIDs; // 의견 제출 ID private String opnnId; // 의견 제출 ID private String crdnId; // 단속 ID + // 공통 조건 private String schDateOpt; // 검색 일자 구분 private String schDateFrom; // 검색 일자 시작 @@ -37,6 +39,7 @@ public class Excl02Query extends QueryRequest { private String schDetailUserOpt; // 상세 검색 사용자 구분 private String schDetailUserNm; // 상세 검색 사용자 명 private String schDetailUserCd; // 상세 검색 사용자 코드 + // 검색 조건 private String schRcptYmdFrom; // 의견제출 접수 일자 시작 private String schRcptYmdTo; // 의견제출 접수 일자 종료 @@ -48,10 +51,14 @@ public class Excl02Query extends QueryRequest { private String schRtpyrNm; // 납부자 명 - 납부자(TB_PAYER) private String schCrdnYmdFrom; // 단속 일자 시작 - 단속(TB_CRDN) private String schCrdnYmdTo; // 단속 일자 종료 - 단속(TB_CRDN) + // 동적 검색 조건 private String mainOption; private String subOption; + // ETC + private String delRsn; // 삭제 사유 + public String getSggCd() { return ifEmpty(sggCd, () -> null); } @@ -354,4 +361,16 @@ public class Excl02Query extends QueryRequest { } // 동적 검색 조건 /////////////////////////////////////////////////////////////// + // ETC ///////////////////////////////////////////////////////////////////// + public String getDelRsn() { + return ifEmpty(delRsn, () -> null); + } + + public T setDelRsn(String delRsn) { + this.delRsn = delRsn; + + return self(); + } + // ETC ///////////////////////////////////////////////////////////////////// + } diff --git a/src/main/java/cokr/xit/fims/excl/Excl03.java b/src/main/java/cokr/xit/fims/excl/Excl03.java index bcdec79d..347df3ee 100644 --- a/src/main/java/cokr/xit/fims/excl/Excl03.java +++ b/src/main/java/cokr/xit/fims/excl/Excl03.java @@ -1,7 +1,5 @@ package cokr.xit.fims.excl; -import java.lang.String; - import cokr.xit.foundation.AbstractEntity; import lombok.Getter; import lombok.Setter; diff --git a/src/main/java/cokr/xit/fims/excl/Excl03Query.java b/src/main/java/cokr/xit/fims/excl/Excl03Query.java index 93b2acbb..20cf84a7 100644 --- a/src/main/java/cokr/xit/fims/excl/Excl03Query.java +++ b/src/main/java/cokr/xit/fims/excl/Excl03Query.java @@ -20,6 +20,7 @@ public class Excl03Query extends QueryRequest { private String sggCd; // 시군구 코드 private String taskSeCd; // 업무 구분 코드 private String delYn; // 삭제 여부 + // ID private String[] reRegIDs; // 재등록 ID private String reRegId; // 재등록 ID @@ -32,16 +33,21 @@ public class Excl03Query extends QueryRequest { private String schDetailUserOpt; // 상세 검색 사용자 구분 private String schDetailUserNm; // 상세 검색 사용자 명 private String schDetailUserCd; // 상세 검색 사용자 코드 + // 검색 조건 private String schReRegYmdFrom; // 재등록 일자 시작 private String schReRegYmdTo; // 재등록 일자 종료 private String schVhrno; // 차량번호 - 단속(TB_CRDN) private String schCrdnYmdFrom; // 단속 일자 시작 - 단속(TB_CRDN) private String schCrdnYmdTo; // 단속 일자 종료 - 단속(TB_CRDN) + // 동적 검색 조건 private String mainOption; private String subOption; + // ETC + private String delRsn; // 삭제 사유 + public String getSggCd() { return ifEmpty(sggCd, () -> null); } @@ -234,4 +240,16 @@ public class Excl03Query extends QueryRequest { } // 동적 검색 조건 /////////////////////////////////////////////////////////////// + // ETC ///////////////////////////////////////////////////////////////////// + public String getDelRsn() { + return ifEmpty(delRsn, () -> null); + } + + public T setDelRsn(String delRsn) { + this.delRsn = delRsn; + + return self(); + } + // ETC ///////////////////////////////////////////////////////////////////// + } diff --git a/src/main/java/cokr/xit/fims/excl/dao/Excl02Mapper.java b/src/main/java/cokr/xit/fims/excl/dao/Excl02Mapper.java index 37e57617..af9fbb4b 100644 --- a/src/main/java/cokr/xit/fims/excl/dao/Excl02Mapper.java +++ b/src/main/java/cokr/xit/fims/excl/dao/Excl02Mapper.java @@ -117,4 +117,24 @@ public interface Excl02Mapper extends AbstractMapper { return excl02 != null && deleteOpnnSbmsn(params().set("excl02", excl02)) == 1; } + /**의견제출 대장 정보를 수정한다. + * @param params 파라미터 + *
  • "opnnSbmsn" - 의견제출 대장
  • + *
  • "currentUser" - 현재 접속한 사용자
  • + *
+ * @return 저장된 정보수 + */ + int updateOpnnSbmsnYn(Map params); + + /**의견제출 대장 정보를 수정한다. + * @param opnnSbmsn 의견제출 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + default boolean updateCrdn(Excl02 excl02) { + return excl02 != null && updateOpnnSbmsnYn(params().set("excl02", excl02)) == 1; + } + } diff --git a/src/main/java/cokr/xit/fims/excl/service/Excl02Service.java b/src/main/java/cokr/xit/fims/excl/service/Excl02Service.java index 39f3bb2b..32c4aa37 100644 --- a/src/main/java/cokr/xit/fims/excl/service/Excl02Service.java +++ b/src/main/java/cokr/xit/fims/excl/service/Excl02Service.java @@ -66,4 +66,13 @@ public interface Excl02Service { */ boolean remove(Excl02 excl02); + /**부과제외 대장 정보를 삭제한다. + * @param excl 부과제외 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + boolean removeList(Excl02Query req); + } 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 03139794..21806d91 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 @@ -326,7 +326,7 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv // 변수 선언 boolean retSuccess = false; // DB 처리 결과 int dataCount = 0; // 선택한 자료 건수 - Excl01 infoLevyExcl = new Excl01(); // 부과제외(TB_LEVY_EXCL) 조회 + Excl01 infoLevyExcl = new Excl01(); // 부과제외(TB_LEVY_EXCL) // 변수 셋팅 dataCount = excl01.getLevyExclIDs().length; // ID 건수 diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/Excl02Bean.java b/src/main/java/cokr/xit/fims/excl/service/bean/Excl02Bean.java index a7bba6b4..3ae5914e 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/Excl02Bean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/Excl02Bean.java @@ -66,7 +66,7 @@ public class Excl02Bean extends AbstractComponent { } /**의견제출 대장 정보를 등록한다. - * @param excl 의견제출 대장 + * @param excl02 의견제출 대장 * @return 저장 여부 *
  • 저장됐으면 true
  • *
  • 그렇지 않으면 false
  • @@ -77,7 +77,7 @@ public class Excl02Bean extends AbstractComponent { } /**의견제출 대장 정보를 수정한다. - * @param excl 의견제출 대장 + * @param excl02 의견제출 대장 * @return 저장 여부 *
    • 저장됐으면 true
    • *
    • 그렇지 않으면 false
    • @@ -88,7 +88,7 @@ public class Excl02Bean extends AbstractComponent { } /**의견제출 대장 정보를 삭제한다. - * @param excl 의견제출 대장 + * @param excl02 의견제출 대장 * @return 저장 여부 *
      • 저장됐으면 true
      • *
      • 그렇지 않으면 false
      • @@ -106,4 +106,15 @@ public class Excl02Bean extends AbstractComponent { return excl02Mapper.selectCrdnInfo(crdnId); } + /**단속 대장 정보의 의견제출여부(OPNN_SBMSN_YN)를 수정한다. + * @param excl02 의견제출 대장 + * @return 저장 여부 + *
        • 저장됐으면 true
        • + *
        • 그렇지 않으면 false
        • + *
        + */ + public boolean updateCrdn(Excl02 excl02) { + return excl02Mapper.updateCrdn(excl02); + } + } diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/Excl02ServiceBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/Excl02ServiceBean.java index 88b5476d..2343f164 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/Excl02ServiceBean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/Excl02ServiceBean.java @@ -13,7 +13,7 @@ import cokr.xit.base.file.FileInfo; import cokr.xit.base.file.service.bean.FileBean; import cokr.xit.base.file.web.FileInfoFactory; import cokr.xit.fims.cmmn.CrdnSttsHstry; -import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; +import cokr.xit.fims.cmmn.service.CrdnSttsHstryService; import cokr.xit.fims.excl.Excl02; import cokr.xit.fims.excl.Excl02Query; import cokr.xit.fims.excl.service.Excl02Service; @@ -41,9 +41,9 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv @Resource(name="fileBean") private FileBean fileBean; - /** 단속 상태 이력 정보 관리 Bean */ - @Resource(name = "crdnSttsHstryBean") - protected CrdnSttsHstryBean crdnSttsHstryBean; + /**단속 상태 이력 서비스*/ + @Resource(name = "crdnSttsHstryService") + private CrdnSttsHstryService crdnSttsHstryService; @Override public List getOpinionSubmissionList(Excl02Query req) { @@ -75,15 +75,14 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv // 변수 선언 Map retMap = new HashMap(); // 결과 return boolean retSuccess = false; // DB 처리 결과 - String newCrdnSttsCd = ""; // 신규 단속 상태 코드 // 단속 ID로 단속, 의견제출 정보 조회 DataObject infoCrdnOpnnSbmsn = excl02Bean.getCrdnOpinionSubmission(excl02.getCrdnId()); - // 부과제외 ID가 있다면 이미 의견제출 자료가 존재하므로 종료.. + // 의견제출ID가 있다면 이미 자료가 존재하므로 종료.. if (!infoCrdnOpnnSbmsn.string("OPNN_ID").equals("")) { retMap.put("retSaved", "false"); - retMap.put("retMessage", "의견제출 정보가 이미 존재합니다."); + retMap.put("retMessage", "의견제출대장에 정보가 이미 존재합니다."); return retMap; } @@ -95,12 +94,11 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv excl02.setAtchFileCnt(0); } - // 의견제출 등록 + // 의견제출 대장을 등록 한다. retSuccess = excl02Bean.create(excl02); - if (!retSuccess) { // 등록 되지 않았다면.. - + if (!retSuccess) { retMap.put("retSaved", "false"); - retMap.put("retMessage", "의견제출 대장 등록에 실패하였습니다."); + retMap.put("retMessage", "의견제출대장 등록에 실패하였습니다."); // 예외를 발생시켜서 오류메세지를 보내고 롤백.. throw new RuntimeException(retMap.get("retMessage")); @@ -115,38 +113,36 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv fileBean.create(fileInfoList); } - // 단속 상태 코드가 사전통보중 이전일때만 단속의 상태를 의견진술중으로 수정 - if (Integer.parseInt(infoCrdnOpnnSbmsn.string("CRDN_STTS_CD")) <= 42) { - newCrdnSttsCd = "31"; // 신규 단속상태 코드 = 의견진술접수 - - // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장 등록 + // 단속 상태 코드가 사전통보중 이전일때만 단속의 상태를 의견진술중으로 수정 한다. + if (Integer.parseInt(infoCrdnOpnnSbmsn.string("CRDN_STTS_CD")) <= 42) { // 사전통보 완료 + // 단속상태이력(TB_CRDN_STTS_HSTRY) CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); crdnSttsHstry.setCrdnId(infoCrdnOpnnSbmsn.string("CRDN_ID")); crdnSttsHstry.setBfrSttsCd(infoCrdnOpnnSbmsn.string("CRDN_STTS_CD")); crdnSttsHstry.setBfrSttsChgDt(infoCrdnOpnnSbmsn.string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd); + crdnSttsHstry.setCrdnSttsCd("31"); // 의견진술 접수 crdnSttsHstry.setTaskDtlId(excl02.getOpnnId()); - crdnSttsHstry.setEtcCn("의견제출 등록"); + crdnSttsHstry.setEtcCn("의견제출대장 등록"); - retSuccess = crdnSttsHstryBean.create(crdnSttsHstry); + // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다. + retSuccess = crdnSttsHstryService.createHstryUpdateCrdnSttsCd(crdnSttsHstry); if (!retSuccess) { - retMap.put("retSaved", "false"); - retMap.put("retMessage", "단속상태이력 대장 등록에 실패하였습니다."); - // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. - throw new RuntimeException(retMap.get("retMessage")); + throw new RuntimeException("의견제출대장 등록 중 단속상태이력 등록에 실패하였습니다."); } + } - // 단속(TB_CRDN) 대장 상태 코드 수정 - retSuccess = crdnSttsHstryBean.updateCrdn(crdnSttsHstry); - if (!retSuccess) { - retMap.put("retSaved", "false"); - retMap.put("retMessage", "단속 대장에 단속상태 수정에 실패하였습니다."); + // 단속 대장(TB_CRDN) 의견제출여부(OPNN_SBMSN_YN) 정보를 수정 한다. + Excl02 updtCrdn = new Excl02(); - // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. - throw new RuntimeException(retMap.get("retMessage")); - } + updtCrdn.setCrdnId(infoCrdnOpnnSbmsn.string("CRDN_ID")); + updtCrdn.setOpnnSbmsnYn("Y"); + + retSuccess = excl02Bean.updateCrdn(updtCrdn); // 단속 대장 수정 + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException("의견제출대장 등록 중 의견제출여부 변경에 실패하였습니다."); } // 처리 성공 @@ -162,16 +158,19 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv Map retMap = new HashMap(); // 결과 return boolean retSuccess = false; // DB 처리 결과 - // 의견제출 수정 + // 의견제출 대장을 수정 한다. retSuccess = excl02Bean.update(excl02); if (!retSuccess) { retMap.put("retSaved", "false"); - retMap.put("retMessage", "의견제출 대장 수정에 실패하였습니다."); + retMap.put("retMessage", "의견제출대장 수정에 실패하였습니다."); // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. throw new RuntimeException(retMap.get("retMessage")); } + // 첨부 파일 수정.. + + // 처리 성공 retMap.put("retSaved", "true"); retMap.put("retMessage", "저장 되었습니다."); @@ -181,7 +180,86 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv @Override public boolean remove(Excl02 excl02) { - return excl02Bean.remove(excl02); + // 변수 선언 + boolean retSuccess = false; // DB 처리 결과 + DataObject infoCrdnOpnnSbmsn = new DataObject(); // 단속(TB_CRDN) 조회 + + // 의견제출(TB_OPNN_SBMSN) + 단속(TB_CRDN) 자료 조회 + infoCrdnOpnnSbmsn = excl02Bean.getInfo(new Excl02Query().setOpnnId(excl02.getOpnnId())); + +/* + * 이전 델파이 소스를 변경했을 경우...... + // 의견제출 상태가 수용이고, 단속 상태도 의견진술 수용이면 이전 상태로 복원 한다. + if (infoCrdnOpnnSbmsn.string("OPNN_SBMSN_STTS_CD").equals("02") && infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("82")) { + // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장을 삭제 한다. + retSuccess = crdnSttsHstryService.removeHstryUpdateCrdnSttsCd(infoCrdnOpnnSbmsn.string("CRDN_ID")); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + 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 = crdnSttsHstryService.removeHstryUpdateCrdnSttsCd(infoCrdnOpnnSbmsn.string("CRDN_ID")); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException("의견제출 대장 삭제 중 단속상태 변경에 실패하였습니다."); + } + } + + // 의견제출(TB_OPNN_SBMSN) 대장을 삭제 한다. + retSuccess = excl02Bean.remove(excl02); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException("의견제출 대장 삭제 중 의견제출대장 삭제에 실패하였습니다."); + } + + // 단속 대장(TB_CRDN) 의견제출여부(OPNN_SBMSN_YN) 정보를 수정 한다. + Excl02 updtCrdn = new Excl02(); + + updtCrdn.setCrdnId(infoCrdnOpnnSbmsn.string("CRDN_ID")); + updtCrdn.setOpnnSbmsnYn("N"); + + retSuccess = excl02Bean.updateCrdn(updtCrdn); // 단속 대장 수정 + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. + throw new RuntimeException("의견제출 대장 삭제 중 의견제출여부 변경에 실패하였습니다."); + } + + retSuccess = true; + + return retSuccess; + } + + @Override + public boolean removeList(Excl02Query req) { + // 변수 선언 + boolean retSuccess = false; // DB 처리 결과 + + // 부과제외ID 건수를 확인하여 1건이하면.. 종료 + if (req.getOpnnIDs().length < 1 ) { + return retSuccess; + } + + // 부과제외ID 만큼 반복.. + for (int iLoop = 0; iLoop < req.getOpnnIDs().length; iLoop++) { + Excl02 infoOpnnSbmsn = new Excl02(); + + infoOpnnSbmsn.setOpnnId(req.getOpnnIDs()[iLoop]); // 의견제출 ID + infoOpnnSbmsn.setDelRsn(req.getDelRsn()); // 삭제 사유 + + retSuccess = remove(infoOpnnSbmsn); + if (!retSuccess) { + return retSuccess; + } + } + + // 처리 성공 + retSuccess = true; + + return retSuccess; } } 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 6c091b16..1f03a3ce 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java @@ -132,7 +132,7 @@ public class Excl01Controller extends ApplicationController { } /**지정한 부과제외 ID에 해당하는 부과제외 대장를 제거한다. - * @param levyExclIDs 부과제외 대장 아이디 + * @param levyExclID 부과제외 대장 아이디 * @return jsonView *
         {
         	 *     "affected": 저장된 정보수
        diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java
        index bb416c90..69c46b98 100644
        --- a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java
        +++ b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java
        @@ -133,7 +133,7 @@ public class Excl02Controller extends ApplicationController {
         	}
         
         	/**지정한 의견제출 대장를 제거한다.
        -	 * @param opnnSbmsnIDs 의견제출 대장 아이디
        +	 * @param opnnSbmsnID 의견제출 대장 아이디
         	 * @return jsonView
         	 * 
         {
         	 *     "affected": 저장된 정보수
        @@ -148,4 +148,20 @@ public class Excl02Controller extends ApplicationController {
         			.addObject("saved", saved);
         	}
         
        +	/**여러 건의 의견제출 대장를 제거한다.
        +	 * @param opnnSbmsnIDs 의견제출 대장 아이디
        +	 * @return jsonView
        +	 * 
         {
        +	 *     "affected": 저장된 정보수
        +	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
        +	 * }
        + */ + @PostMapping(name="의견제출 대장 제거", value="/010/removes.do") + public ModelAndView removeList(Excl02Query req) { + boolean saved = excl02Service.removeList(req); + + return new ModelAndView("jsonView") + .addObject("saved", saved); + } + } diff --git a/src/main/resources/sql/mapper/fims/excl/excl02-mapper.xml b/src/main/resources/sql/mapper/fims/excl/excl02-mapper.xml index 267d74dc..ad8ba8ac 100644 --- a/src/main/resources/sql/mapper/fims/excl/excl02-mapper.xml +++ b/src/main/resources/sql/mapper/fims/excl/excl02-mapper.xml @@ -435,9 +435,17 @@ UPDATE TB_OPNN_SBMSN SET DEL_YN = 'Y' , DEL_DT = #{excl02.lastModified} /* 삭제 일시 */ - , DLTR = #{excl01.modifiedBy} /* 삭제자 */ + , DLTR = #{excl02.modifiedBy} /* 삭제자 */ , DEL_RSN = #{excl02.delRsn} /* 삭제 사유 */ WHERE OPNN_ID = #{excl02.opnnId} /* 의견 ID */ + /* 의견제출 대장 삭제(excl02Mapper.updateOpnnSbmsnYn) */ + UPDATE TB_CRDN + SET OPNN_SBMSN_YN = #{excl02.opnnSbmsnYn} /* 의견 제출 여부 */ + , MDFCN_DT = #{excl02.lastModified} /* 수정 일시 */ + , MDFR = #{excl02.modifiedBy} /* 수정자 */ + WHERE CRDN_ID = #{excl02.crdnId} /* 단속 ID */ + + \ No newline at end of file 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 353d7236..b1212a51 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 @@ -289,7 +289,7 @@ * DatasetControl **************************************************************************/ var ${pageName}Control = new DatasetControl({ - prefix : "opnnSbmsn" + prefix : "opnn" , prefixName : "의견제출" , infoSize : "xl" , keymapper : info => info ? info.OPNN_ID : "" @@ -300,7 +300,7 @@ , getInfo : wctx.url(prefixUrl + "/020/info.do") // 등록 및 수정 팝업 , create : wctx.url(prefixUrl + "/020/create.do") // 신규 등록 , update : wctx.url(prefixUrl + "/020/update.do") // 자료 수정 - , remove : wctx.url(prefixUrl + "/010/remove.do") // 자료 삭제 + , remove : wctx.url(prefixUrl + "/010/removes.do") // 선택(체크) 자료 삭제 } , formats : { RCPT_YMD : dateFormat diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp index 1d123834..0aa1e5d5 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp @@ -135,7 +135,7 @@
        - +
        @@ -172,7 +172,7 @@ * DatasetControl **************************************************************************/ var ${pageName}Control = new DatasetControl({ - prefix : "opnnSbmsn" + prefix : "opnn" , prefixName : "의견제출" , keymapper : info => info ? info.OPNN_ID : "" , dataGetter : obj => obj.opnnSbmsnInfo