diff --git a/src/main/java/cokr/xit/fims/excl/Excl01.java b/src/main/java/cokr/xit/fims/excl/Excl01.java index 2ff41d51..afb84b9b 100644 --- a/src/main/java/cokr/xit/fims/excl/Excl01.java +++ b/src/main/java/cokr/xit/fims/excl/Excl01.java @@ -1,5 +1,6 @@ package cokr.xit.fims.excl; +import cokr.xit.foundation.AbstractEntity; import lombok.Getter; import lombok.Setter; @@ -15,98 +16,106 @@ import lombok.Setter; */ @Getter @Setter -public class Excl01 extends cokr.xit.foundation.AbstractEntity { +public class Excl01 extends AbstractEntity { /** * 부과 제외 ID */ - private java.lang.String levyExclId; + private String levyExclId; /** * 시군구 코드 */ - private java.lang.String sggCd; + private String sggCd; /** * 업무 구분 코드 */ - private java.lang.String taskSeCd; + private String taskSeCd; /** * 단속 ID */ - private java.lang.String crdnId; + private String crdnId; /** * 부과 제외 일자 */ - private java.lang.String levyExclYmd; + private String levyExclYmd; /** * 부과 제외 구분 코드 */ - private java.lang.String levyExclSeCd; + private String levyExclSeCd; /** * 부과 제외 사유 코드 */ - private java.lang.String levyExclRsnCd; + private String levyExclRsnCd; /** * 기타 내용 */ - private java.lang.String etcCn; + private String etcCn; /** * 삭제 여부 */ - private java.lang.String delYn; + private String delYn; /** * 등록 일시 */ - private java.lang.String regDt; + private String regDt; /** * 등록자 */ - private java.lang.String rgtr; + private String rgtr; /** * 수정 일시 */ - private java.lang.String mdfcnDt; + private String mdfcnDt; /** * 수정자 */ - private java.lang.String mdfr; + private String mdfr; /** * 삭제 일시 */ - private java.lang.String delDt; + private String delDt; /** * 삭제자 */ - private java.lang.String dltr; + private String dltr; /** * 삭제 사유 */ - private java.lang.String delRsn; + private String delRsn; +// 필요해서 추가 ///////////////////////////////////////////////////////////////////// /** * 부과 제외 IDs */ - private java.lang.String[] levyExclIDs; + private String[] levyExclIDs; + + /** + * 단속 상태 코드 + */ + private String crdnSttsCd; + +// 필요해서 추가 ///////////////////////////////////////////////////////////////////// /** * 부과 제외 ID을(를) 반환한다. * @return 부과 제외 ID */ - public java.lang.String getLevyExclId() { + public String getLevyExclId() { return levyExclId; } @@ -114,7 +123,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 부과 제외 ID을(를) 설정한다. * @param levyExclId 부과 제외 ID */ - public void setLevyExclId(java.lang.String levyExclId) { + public void setLevyExclId(String levyExclId) { this.levyExclId = levyExclId; } @@ -122,7 +131,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 시군구 코드을(를) 반환한다. * @return 시군구 코드 */ - public java.lang.String getSggCd() { + public String getSggCd() { return sggCd; } @@ -130,7 +139,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 시군구 코드을(를) 설정한다. * @param sggCd 시군구 코드 */ - public void setSggCd(java.lang.String sggCd) { + public void setSggCd(String sggCd) { this.sggCd = sggCd; } @@ -138,7 +147,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 업무 구분 코드을(를) 반환한다. * @return 업무 구분 코드 */ - public java.lang.String getTaskSeCd() { + public String getTaskSeCd() { return taskSeCd; } @@ -146,7 +155,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 업무 구분 코드을(를) 설정한다. * @param taskSeCd 업무 구분 코드 */ - public void setTaskSeCd(java.lang.String taskSeCd) { + public void setTaskSeCd(String taskSeCd) { this.taskSeCd = taskSeCd; } @@ -154,7 +163,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 단속 ID을(를) 반환한다. * @return 단속 ID */ - public java.lang.String getCrdnId() { + public String getCrdnId() { return crdnId; } @@ -162,7 +171,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 단속 ID을(를) 설정한다. * @param crdnId 단속 ID */ - public void setCrdnId(java.lang.String crdnId) { + public void setCrdnId(String crdnId) { this.crdnId = crdnId; } @@ -170,7 +179,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 부과 제외 구분 코드을(를) 반환한다. * @return 부과 제외 구분 코드 */ - public java.lang.String getLevyExclSeCd() { + public String getLevyExclSeCd() { return levyExclSeCd; } @@ -178,7 +187,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 부과 제외 구분 코드을(를) 설정한다. * @param levyExclSeCd 부과 제외 구분 코드 */ - public void setLevyExclSeCd(java.lang.String levyExclSeCd) { + public void setLevyExclSeCd(String levyExclSeCd) { this.levyExclSeCd = levyExclSeCd; } @@ -186,7 +195,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 부과 제외 일자을(를) 반환한다. * @return */ - public java.lang.String getLevyExclYmd() { + public String getLevyExclYmd() { return levyExclYmd; } @@ -194,7 +203,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 부과 제외 일자을(를) 설정한다. * @param levyExclYmd */ - public void setLevyExclYmd(java.lang.String levyExclYmd) { + public void setLevyExclYmd(String levyExclYmd) { this.levyExclYmd = levyExclYmd; } @@ -202,7 +211,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 부과 제외 사유 코드을(를) 반환한다. * @return 부과 제외 사유 코드 */ - public java.lang.String getLevyExclRsnCd() { + public String getLevyExclRsnCd() { return levyExclRsnCd; } @@ -210,7 +219,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 부과 제외 사유 코드을(를) 설정한다. * @param levyExclRsnCd 부과 제외 사유 코드 */ - public void setLevyExclRsnCd(java.lang.String levyExclRsnCd) { + public void setLevyExclRsnCd(String levyExclRsnCd) { this.levyExclRsnCd = levyExclRsnCd; } @@ -218,7 +227,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 기타 내용을(를) 반환한다. * @return 기타 내용 */ - public java.lang.String getEtcCn() { + public String getEtcCn() { return etcCn; } @@ -226,7 +235,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 기타 내용을(를) 설정한다. * @param etcCn 기타 내용 */ - public void setEtcCn(java.lang.String etcCn) { + public void setEtcCn(String etcCn) { this.etcCn = etcCn; } @@ -234,7 +243,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 삭제 여부을(를) 반환한다. * @return 삭제 여부 */ - public java.lang.String getDelYn() { + public String getDelYn() { return delYn; } @@ -242,111 +251,15 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 삭제 여부을(를) 설정한다. * @param delYn 삭제 여부 */ - public void setDelYn(java.lang.String delYn) { + public void setDelYn(String delYn) { this.delYn = delYn; } - /** - * 등록 일시을(를) 반환한다. - * @return 등록 일시 - */ - public java.lang.String getRegDt() { - return regDt; - } - - /** - * 등록 일시을(를) 설정한다. - * @param regDt 등록 일시 - */ - public void setRegDt(java.lang.String regDt) { - this.regDt = regDt; - } - - /** - * 등록자을(를) 반환한다. - * @return 등록자 - */ - public java.lang.String getRgtr() { - return rgtr; - } - - /** - * 등록자을(를) 설정한다. - * @param rgtr 등록자 - */ - public void setRgtr(java.lang.String rgtr) { - this.rgtr = rgtr; - } - - /** - * 수정 일시을(를) 반환한다. - * @return 수정 일시 - */ - public java.lang.String getMdfcnDt() { - return mdfcnDt; - } - - /** - * 수정 일시을(를) 설정한다. - * @param mdfcnDt 수정 일시 - */ - public void setMdfcnDt(java.lang.String mdfcnDt) { - this.mdfcnDt = mdfcnDt; - } - - /** - * 수정자을(를) 반환한다. - * @return 수정자 - */ - public java.lang.String getMdfr() { - return mdfr; - } - - /** - * 수정자을(를) 설정한다. - * @param mdfr 수정자 - */ - public void setMdfr(java.lang.String mdfr) { - this.mdfr = mdfr; - } - - /** - * 삭제 일시을(를) 반환한다. - * @return 삭제 일시 - */ - public java.lang.String getDelDt() { - return delDt; - } - - /** - * 삭제 일시을(를) 설정한다. - * @param delDt 삭제 일시 - */ - public void setDelDt(java.lang.String delDt) { - this.delDt = delDt; - } - - /** - * 삭제자을(를) 반환한다. - * @return 삭제자 - */ - public java.lang.String getDltr() { - return dltr; - } - - /** - * 삭제자을(를) 설정한다. - * @param dltr 삭제자 - */ - public void setDltr(java.lang.String dltr) { - this.dltr = dltr; - } - /** * 삭제 사유을(를) 반환한다. * @return 삭제 사유 */ - public java.lang.String getDelRsn() { + public String getDelRsn() { return delRsn; } @@ -354,7 +267,7 @@ public class Excl01 extends cokr.xit.foundation.AbstractEntity { * 삭제 사유을(를) 설정한다. * @param delRsn 삭제 사유 */ - public void setDelRsn(java.lang.String delRsn) { + public void setDelRsn(String delRsn) { this.delRsn = delRsn; } diff --git a/src/main/java/cokr/xit/fims/excl/dao/Excl01Mapper.java b/src/main/java/cokr/xit/fims/excl/dao/Excl01Mapper.java index 686406a6..18a82971 100644 --- a/src/main/java/cokr/xit/fims/excl/dao/Excl01Mapper.java +++ b/src/main/java/cokr/xit/fims/excl/dao/Excl01Mapper.java @@ -29,7 +29,7 @@ public interface Excl01Mapper extends AbstractMapper { */ List selectLevyExclList(Excl01Query req); - /**지정한 ID의 부과제외 정보를 반환한다. + /**지정한 부과제외 ID의 부과제외 정보를 반환한다. * @param levyExclId 부과제외 ID * @return 부과제외 정보 */ @@ -41,7 +41,17 @@ public interface Excl01Mapper extends AbstractMapper { return levyExclInfo; } - /**지정한 ID의 단속 정보를 반환한다. + /**지정한 부과제외 ID의 부과제외 정보를 반환한다. + * @param levyExclId 부과제외 ID + * @return 부과제외 정보 + */ + default DataObject selectCrdnLevyExcl(String crdnId) { + DataObject levyExclInfo = selectLevyExcl(new Excl01Query().setCrdnId(crdnId)); + + return levyExclInfo; + } + + /**지정한 단속 ID의 단속 정보를 반환한다. * @param crdnId 단속 ID * @return 부과제외 정보 */ @@ -53,27 +63,35 @@ public interface Excl01Mapper extends AbstractMapper { return levyExclInfo; } - /**사용자 정보를 등록한다. + /**부과제외 대장 정보를 등록한다. * @param excl 부과제외 대장 * @return 저장된 정보수 */ - int insertLevyExcl(Excl01 excl01); + int insertLevyExcl(Map params); - /**부과제외 대장 정보를 수정한다. + default int insertLevyExcl(Excl01 excl01) { + return insertLevyExcl(params().set("excl01", excl01)); + } + + /**단속 상태 코드 정보를 수정한다. * @param excl 부과제외 대장 * @return 저장된 정보수 */ - int updateLevyExcl(Excl01 excl01); + int updateCrdnSttsCd(Map params); - /**지정한 부과제외 대장을 삭제한다. - * @param params 파라미터 - *
  • "excl" - 부과제외 대장
  • - *
  • "currentUser" - 현재 접속한 사용자
  • - *
+ default int updateCrdnSttsCd(Excl01 excl01) { + return updateCrdnSttsCd(params().set("excl01", excl01)); + } + + /**부과제외 대장 정보를 수정한다. + * @param excl 부과제외 대장 * @return 저장된 정보수 */ -// int deleteLevyExcl(Map params); - int deleteLevyExcl(Excl01 excl01); + int updateLevyExcl(Map params); + + default int updateLevyExcl(Excl01 excl01) { + return updateLevyExcl(params().set("excl01", excl01)); + } /**부과제외 대장 정보를 삭제한다. * @param levyExcl 부과제외 대장 @@ -82,14 +100,10 @@ public interface Excl01Mapper extends AbstractMapper { *
  • 그렇지 않으면 false
  • * */ -// default boolean deleteLevyExcl(Excl01 excl01) { -// return excl01 != null && deleteLevyExcl(params().set("excl01", excl01)) == 1; -// } -// -// default int deleteLevyExcl(String... levyExclIDs) { -// return deleteLevyExcl( -// params().set("levyExclIDs", levyExclIDs) -// ); -// } + int deleteLevyExcl(Map params); + + default int deleteLevyExcl(Excl01 excl01) { + return deleteLevyExcl(params().set("excl01", excl01)); + } } diff --git a/src/main/java/cokr/xit/fims/excl/service/Excl01Service.java b/src/main/java/cokr/xit/fims/excl/service/Excl01Service.java index a3377230..6f1ecc02 100644 --- a/src/main/java/cokr/xit/fims/excl/service/Excl01Service.java +++ b/src/main/java/cokr/xit/fims/excl/service/Excl01Service.java @@ -1,6 +1,7 @@ package cokr.xit.fims.excl.service; import java.util.List; +import java.util.Map; import cokr.xit.fims.excl.Excl01; import cokr.xit.fims.excl.Excl01Query; @@ -37,7 +38,7 @@ public interface Excl01Service { *
  • 그렇지 않으면 false
  • * */ - boolean createLevyExclusion(Excl01 excl01); + Map createLevyExclusion(Excl01 excl01); /**부과제외 대장 정보를 수정한다. * @param excl 부과제외 대장 diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/Excl01Bean.java b/src/main/java/cokr/xit/fims/excl/service/bean/Excl01Bean.java index bdea09a1..3883ccd8 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/Excl01Bean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/Excl01Bean.java @@ -1,6 +1,8 @@ package cokr.xit.fims.excl.service.bean; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.annotation.Resource; @@ -56,8 +58,79 @@ public class Excl01Bean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean createLevyExclusion(Excl01 excl01) { - return excl01 != null && excl01Mapper.insertLevyExcl(excl01) == 1; + public Map createLevyExclusion(Excl01 excl01) { + // 변수 선언 + int retProcNo = 0; // DB 처리 건수 + Map retMap = new HashMap(); // 결과 return + + // 단속 ID로 부과제외 정보 조회 + DataObject dataCrdnLevyExcl = excl01Mapper.selectCrdnLevyExcl(excl01.getCrdnId()); + // 부과제외 정보가 있다면 종료.. + if (dataCrdnLevyExcl != null) { + retMap.put("saved", "false"); + retMap.put("retCode", "0"); + retMap.put("retMessage", "부과제외 정보가 이미 존재합니다."); + + return retMap; + } + + // 단속 ID로 단속정보 조회 + DataObject dataCrdn = excl01Mapper.selectCrdn(excl01.getCrdnId()); + + // 단속 상태 코드 변경 + if (excl01.getLevyExclSeCd().equals("1") || excl01.getLevyExclSeCd().equals("2")) { // 비부과, 계고 등록시.. + // 단속 상태 코드가 50 보다 크다면.. + if (Integer.parseInt(dataCrdn.string("CRDN_STTS_CD")) > 50) { + retMap.put("saved", "false"); + retMap.put("retCode", "0"); + retMap.put("retMessage", "단속 상태가 " + dataCrdn.string("CRDN_STTS_NM") + " 상태 입니다"); + + return retMap; + } + +// 추가필요 20230718 조재현 + // 자동등록 자료만 민원답변 부분을 처리 + if (dataCrdn.string("CRDN_REG_SE_CD").equals("02")) { + + } + + if (excl01.getLevyExclSeCd().equals("1")) { + excl01.setCrdnSttsCd("81"); // 비부과(서손) + } else if (excl01.getLevyExclSeCd().equals("2")) { + excl01.setCrdnSttsCd("83"); // 계고 + } + } else if (excl01.getLevyExclSeCd().equals("5")) { // 전액감액 + excl01.setCrdnSttsCd("80"); // 부과취소 + } + + // 부과 제외 등록(Insert) + retProcNo = excl01Mapper.insertLevyExcl(excl01); + // 1건이 등록 되지 않았다면.. + if (retProcNo != 1) { + retMap.put("saved", "false"); + retMap.put("retCode", "0"); + retMap.put("retMessage", "부과제외 정보 등록에 실패하였습니다."); + + return retMap; + } + + // 단속 상태 코드 변경(Update) + retProcNo = excl01Mapper.updateCrdnSttsCd(excl01); + // 1건이 등록 되지 않았다면.. + if (retProcNo != 1) { + retMap.put("saved", "false"); + retMap.put("retCode", "0"); + retMap.put("retMessage", "단속 상태 변경에 실패하였습니다."); + + return retMap; + } + + // 성공 + retMap.put("saved", "true"); + retMap.put("retCode", "1"); + retMap.put("retMessage", "자료가 저장 되었습니다."); + + return retMap; } /**부과제외 대장 정보를 수정한다. @@ -79,7 +152,7 @@ public class Excl01Bean extends AbstractComponent { * */ public boolean removeLevyExclusion(Excl01 excl01) { - return excl01 != null && excl01Mapper.deleteLevyExcl(excl01) == 1; + return excl01 != null && excl01Mapper.deleteLevyExcl(excl01) >= 1; } } 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 d66cf674..6f72a318 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,6 +1,7 @@ package cokr.xit.fims.excl.service.bean; import java.util.List; +import java.util.Map; import javax.annotation.Resource; @@ -40,7 +41,7 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv } @Override - public boolean createLevyExclusion(Excl01 excl01) { + public Map createLevyExclusion(Excl01 excl01) { return excl01Bean.createLevyExclusion(excl01); } 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 f4094e85..678ce723 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java @@ -5,7 +5,6 @@ import java.util.Map; import javax.annotation.Resource; -import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; @@ -27,8 +26,6 @@ import cokr.xit.foundation.data.DataObject; * ================================ * */ -@Controller -@RequestMapping(name = "부과제외 대장", value = "/excl/excl01") public class Excl01Controller extends ApplicationController { /**부과제외 대장 서비스*/ @@ -39,7 +36,6 @@ public class Excl01Controller extends ApplicationController { * 조건없는 {@link #getLevyExclList(Excl01Query) 부과제외 대장 조회 결과}를 포함시킨다. * @return /excl/excl01/010-main */ - @RequestMapping(name = "부과제외 관리 메인", value = "/010/main.do") public ModelAndView levyExclusionMain() { ModelAndView mav = new ModelAndView("fims/excl/excl01010-main"); @@ -112,10 +108,12 @@ public class Excl01Controller extends ApplicationController { */ @PostMapping(name = "부과제외 대장 등록", value = "/020/create.do") public ModelAndView createLevyExclusion(Excl01 excl01) { - boolean saved = excl01Service.createLevyExclusion(excl01); + Map retMap = excl01Service.createLevyExclusion(excl01); return new ModelAndView("jsonView") - .addObject("saved", saved); + .addObject("saved", retMap.get("saved")) + .addObject("retCode", retMap.get("retCode")) + .addObject("retMessage", retMap.get("retMessage")); } /**부과제외 대장 정보를 수정한다. 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 147f16d0..be3260f5 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java @@ -27,7 +27,6 @@ import cokr.xit.foundation.data.DataObject; * ================================ * */ -@Controller @RequestMapping(name = "의견제출 대장", value = "/excl/excl02") public class Excl02Controller extends ApplicationController { @@ -39,7 +38,6 @@ public class Excl02Controller extends ApplicationController { * 조건없는 {@link #getOpnnSbmsnList(ExclQuery01) 의견제출 대장 조회 결과}를 포함시킨다. * @return /excl/excl02/010-main */ - @RequestMapping(name = "의견제출 관리 메인", value = "/010/main.do") public ModelAndView opinionSubmissionMain() { ModelAndView mav = new ModelAndView("fims/excl/excl02010-main"); diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java index 8c6b7a10..9c31d2d8 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java @@ -27,7 +27,6 @@ import cokr.xit.foundation.data.DataObject; * ================================ * */ -@Controller @RequestMapping(name = "단속 재등록", value = "/excl/excl03") public class Excl03Controller extends ApplicationController { @@ -39,7 +38,6 @@ public class Excl03Controller extends ApplicationController { * 조건없는 {@link #getExcl03List(Excl03Query) 단속 재등록 조회 결과}를 포함시킨다. * @return /excl03/excl03-main */ - @RequestMapping(name = "단속 재등록 메인", value = "/010/main.do") public ModelAndView crackdownReRegistrationMain() { ModelAndView mav = new ModelAndView("fims/excl/excl03010-main"); diff --git a/src/main/java/cokr/xit/fims/task/BpvController.java b/src/main/java/cokr/xit/fims/task/BpvController.java index 4097ccd5..f9690bc9 100644 --- a/src/main/java/cokr/xit/fims/task/BpvController.java +++ b/src/main/java/cokr/xit/fims/task/BpvController.java @@ -26,4 +26,17 @@ public class BpvController { @Controller @RequestMapping(name="전용차로과태료업무 업무지원", value="/BPV/sprt/sprt01/") class Sprt01Controller extends cokr.xit.fims.sprt.web.Sprt01Controller {} + + @Controller + @RequestMapping(name="전용차로과태료업무 부과제외 - 부과제외관리", value="/BPV/excl/excl01") + class Excl01Controller extends cokr.xit.fims.excl.web.Excl01Controller {} + + @Controller + @RequestMapping(name="전용차로과태료업무 부과제외 - 의견제출 관리", value="/BPV/excl/excl02") + class Excl02Controller extends cokr.xit.fims.excl.web.Excl02Controller {} + + @Controller + @RequestMapping(name="전용차로과태료업무 부과제외 - 재등록 관리", value="/BPV/excl/excl03") + class Excl03Controller extends cokr.xit.fims.excl.web.Excl03Controller {} + } diff --git a/src/main/java/cokr/xit/fims/task/CmnController.java b/src/main/java/cokr/xit/fims/task/CmnController.java index 64751ac3..f1c9edef 100644 --- a/src/main/java/cokr/xit/fims/task/CmnController.java +++ b/src/main/java/cokr/xit/fims/task/CmnController.java @@ -105,6 +105,20 @@ public class CmnController { } } + @Controller + @RequestMapping(name="업무지원", value="/sprt/sprt01") + class Sprt01Controller extends cokr.xit.fims.sprt.web.Sprt01Controller { + + /** 통합조회 메인화면을 연다. + * @return fims/sprt/sprt01010-main + */ + @Override + @RequestMapping(name="통합조회 메인", value="/010/main.do") + public ModelAndView integratedInquireMain() { + return super.integratedInquireMain(); + } + } + @Controller @RequestMapping(name="동영상 재생", value="/sprt/sprt03") class Sprt03Controller extends cokr.xit.fims.sprt.web.Sprt03Controller { @@ -119,17 +133,42 @@ public class CmnController { } @Controller - @RequestMapping(name="업무지원", value="/sprt/sprt01") - class Sprt01Controller extends cokr.xit.fims.sprt.web.Sprt01Controller { + @RequestMapping(name="부과제외 관리", value="/excl/excl01") + class Excl01Controller extends cokr.xit.fims.excl.web.Excl01Controller { + /** 부과제외 관리 메인화면을 연다. + * @return fims/excl/excl01010-main + */ + @Override + @RequestMapping(name="부과제외 관리 메인", value="/010/main.do") + public ModelAndView levyExclusionMain() { + return super.levyExclusionMain(); + } + } - /** 통합조회 메인화면을 연다. - * @return fims/sprt/sprt01010-main + @Controller + @RequestMapping(name="의견제출 관리", value="/excl/excl02") + class Excl02Controller extends cokr.xit.fims.excl.web.Excl02Controller { + /** 의견제출 관리 메인화면을 연다. + * @return fims/excl/excl02010-main */ @Override - @RequestMapping(name="통합조회 메인", value="/010/main.do") - public ModelAndView integratedInquireMain() { - return super.integratedInquireMain(); + @RequestMapping(name="부과제외 관리 메인", value="/010/main.do") + public ModelAndView opinionSubmissionMain() { + return super.opinionSubmissionMain(); } + } + @Controller + @RequestMapping(name="단속 재등록 관리", value="/excl/excl03") + class Excl03Controller extends cokr.xit.fims.excl.web.Excl03Controller { + /** 재등록 관리 메인화면을 연다. + * @return fims/excl/excl03010-main + */ + @Override + @RequestMapping(name="단속 재등록 관리 메인", value="/010/main.do") + public ModelAndView crackdownReRegistrationMain() { + return super.crackdownReRegistrationMain(); + } } + } diff --git a/src/main/java/cokr/xit/fims/task/DpvController.java b/src/main/java/cokr/xit/fims/task/DpvController.java index ad5d0395..3bdbf279 100644 --- a/src/main/java/cokr/xit/fims/task/DpvController.java +++ b/src/main/java/cokr/xit/fims/task/DpvController.java @@ -69,7 +69,20 @@ public class DpvController { } + @Controller + @RequestMapping(name="장애인과태료업무 부과제외 - 부과제외관리", value="/DPV/excl/excl01") + class Excl01Controller extends cokr.xit.fims.excl.web.Excl01Controller {} + + @Controller + @RequestMapping(name="장애인과태료업무 부과제외 - 의견제출 관리", value="/DPV/excl/excl02") + class Excl02Controller extends cokr.xit.fims.excl.web.Excl02Controller {} + + @Controller + @RequestMapping(name="장애인과태료업무 부과제외 - 재등록 관리", value="/DPV/excl/excl03") + class Excl03Controller extends cokr.xit.fims.excl.web.Excl03Controller {} + @Controller @RequestMapping(name="장애인과태료업무 업무지원", value="/DPV/sprt/sprt01/") class Sprt01Controller extends cokr.xit.fims.sprt.web.Sprt01Controller {} + } diff --git a/src/main/java/cokr/xit/fims/task/EcaController.java b/src/main/java/cokr/xit/fims/task/EcaController.java index 33cc506b..7d8b8048 100644 --- a/src/main/java/cokr/xit/fims/task/EcaController.java +++ b/src/main/java/cokr/xit/fims/task/EcaController.java @@ -26,4 +26,17 @@ public class EcaController { @Controller @RequestMapping(name="전기차과태료업무 업무지원", value="/ECA/sprt/sprt01/") class Sprt01Controller extends cokr.xit.fims.sprt.web.Sprt01Controller {} + + @Controller + @RequestMapping(name="전기차과태료업무 부과제외 - 부과제외관리", value="/ECA/excl/excl01") + class Excl01Controller extends cokr.xit.fims.excl.web.Excl01Controller {} + + @Controller + @RequestMapping(name="전기차과태료업무 부과제외 - 의견제출 관리", value="/ECA/excl/excl02") + class Excl02Controller extends cokr.xit.fims.excl.web.Excl02Controller {} + + @Controller + @RequestMapping(name="전기차과태료업무 부과제외 - 재등록 관리", value="/ECA/excl/excl03") + class Excl03Controller extends cokr.xit.fims.excl.web.Excl03Controller {} + } diff --git a/src/main/java/cokr/xit/fims/task/PvsController.java b/src/main/java/cokr/xit/fims/task/PvsController.java index d1a2a421..f784b506 100644 --- a/src/main/java/cokr/xit/fims/task/PvsController.java +++ b/src/main/java/cokr/xit/fims/task/PvsController.java @@ -26,4 +26,17 @@ public class PvsController { @Controller @RequestMapping(name="주정차과태료업무 업무지원", value="/PVS/sprt/sprt01/") class Sprt01Controller extends cokr.xit.fims.sprt.web.Sprt01Controller {} + + @Controller + @RequestMapping(name="주정차과태료업무 부과제외 - 부과제외관리", value="/PVS/excl/excl01") + class Excl01Controller extends cokr.xit.fims.excl.web.Excl01Controller {} + + @Controller + @RequestMapping(name="주정차과태료업무 부과제외 - 의견제출 관리", value="/PVS/excl/excl02") + class Excl02Controller extends cokr.xit.fims.excl.web.Excl02Controller {} + + @Controller + @RequestMapping(name="주정차과태료업무 부과제외 - 재등록 관리", value="/PVS/excl/excl03") + class Excl03Controller extends cokr.xit.fims.excl.web.Excl03Controller {} + } 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 9b4b661f..676884c7 100644 --- a/src/main/resources/sql/mapper/fims/excl/excl01-mapper.xml +++ b/src/main/resources/sql/mapper/fims/excl/excl01-mapper.xml @@ -192,86 +192,94 @@ /* 부과제외 대장 등록(excl01Mapper.insertLevyExcl) */ + + SELECT LPAD(IFNULL(MAX(LEVY_EXCL_ID) + 1, 1), 10, '0') NEW_ID FROM TB_LEVY_EXCL + INSERT INTO TB_LEVY_EXCL ( - LEVY_EXCL_ID /* 부과 제외 ID */ - , SGG_CD /* 시군구 코드 */ - , TASK_SE_CD /* 업무 구분 코드 */ - , CRDN_ID /* 단속 ID */ - , LEVY_EXCL_YMD /* 부과 제외 일자 */ - , LEVY_EXCL_SE_CD /* 부과 제외 구분 코드 */ - , LEVY_EXCL_RSN_CD /* 부과 제외 사유 코드 */ - , ETC_CN /* 기타 내용 */ - , DEL_YN /* 삭제 여부 */ - , REG_DT /* 등록 일시*/ - , RGTR /* 등록자 */ - , MDFCN_DT /* 수정 일시 */ - , MDFR /* 수정자 */ - , DEL_DT /* 삭제 일시 */ - , DLTR /* 삭제자 */ - , DEL_RSN /* 삭제 사유 */ + LEVY_EXCL_ID /* 부과 제외 ID */ + , SGG_CD /* 시군구 코드 */ + , TASK_SE_CD /* 업무 구분 코드 */ + , CRDN_ID /* 단속 ID */ + , LEVY_EXCL_YMD /* 부과 제외 일자 */ + , LEVY_EXCL_SE_CD /* 부과 제외 구분 코드 */ + , LEVY_EXCL_RSN_CD /* 부과 제외 사유 코드 */ + , ETC_CN /* 기타 내용 */ + , DEL_YN /* 삭제 여부 */ + , REG_DT /* 등록 일시*/ + , RGTR /* 등록자 */ + , MDFCN_DT /* 수정 일시 */ + , MDFR /* 수정자 */ ) VALUES ( - #{levyExclId} /* 부과 제외 ID */ - , #{sggCd} /* 시군구 코드 */ - , #{taskSeCd} /* 업무 구분 코드 */ - , #{crdnId} /* 단속 ID */ - , #{levyExclYmd} /* 부과 제외 일자 */ - , #{levyExclSeCd} /* 부과 제외 구분 코드 */ - , #{levyExclRsnCd} /* 부과 제외 사유 코드 */ - , #{etcCn} /* 기타 내용 */ - , #{delYn} /* 삭제 여부 */ - , /* 등록 일시 */ - , #{currentUser.id} /* 등록자 */ - , /* 수정 일시 */ - , #{currentUser.id} /* 수정자 */ - , #{delDt} /* 삭제 일시 */ - , #{dltr} /* 삭제자 */ - , #{delRsn} /* 삭제 사유 */ + #{excl01.levyExclId} /* 부과 제외 ID */ + , #{excl01.sggCd} /* 시군구 코드 */ + , #{excl01.taskSeCd} /* 업무 구분 코드 */ + , #{excl01.crdnId} /* 단속 ID */ + , #{excl01.levyExclYmd} /* 부과 제외 일자 */ + , #{excl01.levyExclSeCd} /* 부과 제외 구분 코드 */ + , #{excl01.levyExclRsnCd} /* 부과 제외 사유 코드 */ + , #{excl01.etcCn} /* 기타 내용 */ + , 'N' /* 삭제 여부 */ + , #{excl01.createdAt} /* 등록 일시 */ + , #{excl01.createdBy} /* 등록자 */ + , #{excl01.lastModified} /* 수정 일시 */ + , #{excl01.modifiedBy} /* 수정자 */ ) - /* 부과제외 대장 수정(excl01Mapper.updateLevyExcl) */ + /* 부과제외 대장 수정(excl01Mapper.updateLevyExcl) */ + UPDATE TB_CRDN + SET CRDN_STTS_CD = #{excl01.crdnSttsCd} /* 단속 상태 코드 */ + , CRDN_STTS_CHG_DT = /* 단속 상태 변경 일시 */ + , MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */ + , MDFR = #{excl01.modifiedBy} /* 수정자 */ + WHERE CRDN_ID = #{excl01.crdnId} /* 부과 제외 ID */ + + + /* 부과제외 대장 수정(excl01Mapper.updateLevyExcl) */ UPDATE TB_LEVY_EXCL - SET LEVY_EXCL_YMD = #{levyExclYmd} /* 부과 제외 일자 */ - , LEVY_EXCL_SE_CD = #{levyExclSeCd} /* 부과 제외 구분 코드 */ - , LEVY_EXCL_RSN_CD = #{levyExclRsnCd} /* 부과 제외 사유 코드 */ - , ETC_CN = #{etcCn} /* 기타 내용 */ - , MDFCN_DT = /* 수정 일시 */ - , MDFR = #{mdfr} /* 수정자 */ - WHERE LEVY_EXCL_ID = #{levyExclId} /* 부과 제외 ID */ + SET LEVY_EXCL_YMD = #{excl01.levyExclYmd} /* 부과 제외 일자 */ + , LEVY_EXCL_SE_CD = #{excl01.levyExclSeCd} /* 부과 제외 구분 코드 */ + , LEVY_EXCL_RSN_CD = #{excl01.levyExclRsnCd} /* 부과 제외 사유 코드 */ + , ETC_CN = #{excl01.etcCn} /* 기타 내용 */ + , MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */ + , MDFR = #{excl01.modifiedBy} /* 수정자 */ + WHERE LEVY_EXCL_ID = #{excl01.levyExclId} /* 부과 제외 ID */ AND DEL_YN = 'N' /* 삭제 여부 */ /* 부과제외 대장 삭제(excl01Mapper.deleteLevyExcl) */ UPDATE TB_LEVY_EXCL SET DEL_YN = 'Y' /* 삭제 여부 */ - , DEL_DT = /* 삭제 일시 */ - , DLTR = #{dltr} /* 삭제자 */ - , DEL_RSN = #{delRsn} /* 삭제 사유 */ + , DEL_DT = #{excl01.lastModified} /* 삭제 일시 */ + , DLTR = #{excl01.modifiedBy} /* 삭제자 */ + , DEL_RSN = #{excl01.delRsn} /* 삭제 사유 */ WHERE DEL_YN = 'N' /* 삭제 여부 */ - + AND LEVY_EXCL_ID IN ( - #{levyExclId} + #{levyExclId} ) - AND LEVY_EXCL_ID = #{levyExclId} /* 부과 제외 ID */ + AND LEVY_EXCL_ID = #{excl01.levyExclId} /* 부과 제외 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 ec5e6151..0acc2ce6 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 @@ -41,10 +41,8 @@ @@ -265,8 +263,8 @@ // URL var prefixUrl = "/excl/excl01"; // 공통 코드 - var FIM021 = new CommonCodes(${FIM021}, true); - var FIM022 = new CommonCodes(${FIM022}, true); +// var FIM021 = new CommonCodes(${FIM021}, true); +// var FIM022 = new CommonCodes(${FIM022}, true); /************************************************************************** * DatasetControl @@ -279,11 +277,12 @@ , dataGetter : obj => obj.levyExclList , appendData : true , urls : { - load : wctx.url(prefixUrl + "/010/list.do") - , 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") + load : wctx.url(prefixUrl + "/010/list.do") // 검색 + , 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") // 삭제 + , getTotalInfo : wctx.url("/sprt/sprt01/020/info.do") // 개별총정보 } , formats : { LEVY_EXCL_YMD : dateFormat @@ -346,14 +345,36 @@ document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> (str, dataItem) => str .replace(/{onclick}/gi, 'onclick="${pageName}Control.setCurrent(\'' + dataItem.getValue("LEVY_EXCL_ID") + '\');"') - .replace(/{ondblclick}/gi, 'ondblclick="${pageName}Control.getInfo(\'' + 'levyExclId=' + dataItem.getValue("LEVY_EXCL_ID") + '\')"') + .replace(/{ondblclick}/gi, 'ondblclick="${pageName}Control.getTotalInfo(\'' + 'crdnId=' + dataItem.getValue("CRDN_ID") + '\')"') ); $("#tbody--${pageName}").html(trs.join()); $("th input[type='checkbox']").prop("checked", false); } - // + // 개별총정보 dialog + ${pageName}Control.getTotalInfo = (params) => { + let info = ${pageName}Control.dataset.getCurrent("item"); + + ajax.get({ + url : ${pageName}Control.urls.getTotalInfo + , data : params || {} + , success : resp => { + resp = resp.replace(/infoPrefix/g, this.prefix) + .replace(/prefixName/g, this.prefixName) + dialog.open({ + id : ${pageName}Control.prefixed("dialog") + , title : "개별총정보" + , content : resp + , size : ${pageName}Control.infoSize + , init : () => ${pageName}Control.setInfo(info) + }); + } + }); + } + +/* + // 수정 dialog -> callback 추가 sample ${pageName}Control.getInfo = (params) => { let info = ${pageName}Control.dataset.getCurrent("item"); @@ -379,51 +400,41 @@ } } - // Create 신규 등록 - ${pageName}Control.newInfo = (obj) => { -// ${pageName}Control.dataset.append(obj || {}); -// ${pageName}Control.getInfo(); + // 삭제 -> callback 추가 sample + ${pageName}Control.remove = (params) => { + let selected = ${pageName}Control.dataset.getKeys("selected"); - ${pageName}Control.getInfo(obj); - } + if (selected.length < 1) return; -// // 삭제 -// ${pageName}Control.onRemove = (selected, resp) => { -// if (resp.saved) -// ${pageName}Control._load(); -// } - -// // 삭제 -// ${pageName}Control.remove = (params) => { -// let selected = ${pageName}Control.dataset.getKeys("selected"); -// debugger; -// 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) -// }); -// } + 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) + }); + } + // 삭제 + ${pageName}Control.onRemove = (selected, resp) => { + if (resp.saved) + ${pageName}Control._load(); + } +*/ /************************************************************************** * **************************************************************************/ // 초기 설정 function initForm${pageName}() { - // 업무구분 - let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); - $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked",true); - // 달력 초기화 initDatepicker("frmSearch--${pageName}"); $("#schDateFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date); $("#schDateTo--${pageName}").datepicker("setDate", new Date()); + + ${pageName}Control.dataset.clear(); } // 이벤트 @@ -445,7 +456,12 @@ **************************************************************************/ // 업무구분 변경 function fnResetAndChangeBiz${pageName}(taskSeCd) { - $("tbody--${pageName}").html(""); + fnReset${pageName}(); + + ${pageName}Control.urls.load = wctx.url("/" + taskSeCd + prefixUrl + "/010/list.do"); // 검색 + ${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + prefixUrl + "/020/info.do"); // 수정 + ${pageName}Control.urls.remove = wctx.url("/" + taskSeCd + prefixUrl + "/010/remove.do"); // 삭제 + ${pageName}Control.urls.getTotalInfo = wctx.url("/" + taskSeCd + "/sprt/sprt01/020/info.do"); // 개별총정보 } // 검색 조건 파라미터 가져오기 @@ -462,8 +478,6 @@ // 초기화 function fnReset${pageName}() { initForm${pageName}(); - - ${pageName}Control.dataset.clear(); } // 검색 @@ -482,17 +496,6 @@ } - // 등록 - function fnCreate${pageName}(levyExclSeCd) { - // test - let dialogInfo = { - crdnId : "4148020180000150" - , levyExclSeCd : levyExclSeCd - }; - - ${pageName}Control.newInfo(dialogInfo); - } - // 수정 function fnModify${pageName}() { let params = { @@ -516,8 +519,11 @@ * script 진입 **************************************************************************/ $(document).ready(function() { - // 화면 초기 설정 - initForm${pageName}(); + // 업무구분 및 화면 초기 설정 + let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); + $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); + + fnResetAndChangeBiz${pageName}(defaultBizValue); // 이벤트 설정 setEvent${pageName}(); 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 e4b26946..d0b9f205 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 @@ -5,10 +5,11 @@
    - + +
    @@ -85,7 +86,8 @@ } , onCurrentChange : item => { ${pageName}Fields.set(item); - setFim021(item.data.LEVY_EXCL_SE_CD); + + setFim021(item.data.LEVY_EXCL_SE_CD, item.data.LEVY_EXCL_RSN_CD); } }); @@ -94,18 +96,22 @@ **************************************************************************/ // 저장 callback ${pageName}Info.onSave = (resp) => { - if (resp.saved) { - dialog.alert("저장됐습니다."); + dialog.alert(resp.retMessage); + + if (resp.saved == "true") { dialog.close(${pageName}Info.conf.prefix + "dialog"); } } + this.prefixed("dialog") + + // 저장 ${pageName}Info.save = (info) => { if (!info) return; - let item = ${pageName}Info.getCurrent("item"); - let create = item == null ? "added" : item.state; + let item = ${pageName}Info.getCurrent("item"); + let create = isEmpty(info.levyExclId); ajax.post({ url : !create ? ${pageName}Info.conf.urls.update : ${pageName}Info.conf.urls.create @@ -114,15 +120,19 @@ }); } - // - function setFim021(code) { - let cmnCode = FIM021[code]; + // 부과제외 구분에 따른 부과제외 사유 코드 설정 + function setFim021(seCode, rsnCode) { + let cmnCode = FIM021[seCode]; $("#levyExclSeCd--${pageName}").val(cmnCode.code); $("#levyExclSeNm--${pageName}").val(cmnCode.value); - let reasons = FIM022.list().filter(reason => "1" == code ? reason.code < "200" : reason.code > "200"); + let reasons = FIM022.list().filter(reason => "1" == seCode ? reason.code < "200" : reason.code > "200"); $("#levyExclRsnCd--${pageName}").html(reasons.map(reason => "").join()); + + if (rsnCode != undefined && rsnCode != "") { + $("#levyExclRsnCd--${pageName}").val(rsnCode); + } } /**************************************************************************