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 256fe62d..0f9f56ff 100644 --- a/src/main/java/cokr/xit/fims/excl/service/Excl03Service.java +++ b/src/main/java/cokr/xit/fims/excl/service/Excl03Service.java @@ -22,13 +22,13 @@ public interface Excl03Service { * @param req 단속 재등록 조회 조건 * @return 단속 재등록 목록 */ - List getCrackdownReRegistrationList(ExclQuery req); + List getCrdnReRegList(ExclQuery req); /**지정한 조건에 따라 단속 재등록 객체들을 반환한다. * @param req 단속 재등록 조회 조건 * @return 단속 재등록 객체 목록 */ - List getCrackdownReRegistrations(ExclQuery req); + List getCrdnReRegs(ExclQuery req); /**단속 재등록 정보를 등록한다. * @param excl03 단속 재등록 @@ -37,7 +37,7 @@ public interface Excl03Service { *
  • 그렇지 않으면 false
  • * */ - boolean create(CrdnReReg crdnReReg); + boolean createCrdnReReg(CrdnReReg crdnReReg); /**단속 재등록 정보를 삭제한다. * @param excl03 단속 재등록 @@ -46,5 +46,5 @@ public interface Excl03Service { *
  • 그렇지 않으면 false
  • * */ - boolean remove(CrdnReReg crdnReReg); + boolean removeCrdnReReg(CrdnReReg crdnReReg); } 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 69203f48..218facd0 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 @@ -59,7 +59,7 @@ public class Excl01Bean extends AbstractComponent { */ public List getLevyExcls(ExclQuery req) { if (req.getOrderBy() == null) { - req.setOrderBy("REG_DT DESC"); + req.setOrderBy("REG_DT DESC, LEVY_EXCL_ID DESC"); } return levyExclMapper.selectLevyExcls(req); @@ -70,10 +70,6 @@ public class Excl01Bean extends AbstractComponent { * @return 부과제외 정보 */ public DataObject getLevyExclInfo(ExclQuery req) { - if (req.getOrderBy() == null) { - req.setOrderBy("LEVY_EXCL_ID DESC"); - } - return levyExclMapper.selectLevyExclInfo(req); } @@ -84,8 +80,10 @@ public class Excl01Bean extends AbstractComponent { public DataObject getCrdnInfo(ExclQuery req) { DataObject dataCrdn = levyExclMapper.selectCrdn(req); // 단속 조회 - dataCrdn.set("LEVY_EXCL_YMD", dataCrdn.get("TODAY")); // 부과 제외 일자 - dataCrdn.set("LEVY_EXCL_SE_CD", req.getLevyExclSeCd()); // 부과 제외 구분 코드 + if (req.getCallPurpose().equals("create")) { + dataCrdn.set("LEVY_EXCL_YMD", dataCrdn.get("TODAY")); // 부과 제외 일자 + dataCrdn.set("LEVY_EXCL_SE_CD", req.getLevyExclSeCd()); // 부과 제외 구분 코드 + } return dataCrdn; } @@ -115,13 +113,13 @@ public class Excl01Bean extends AbstractComponent { // 단속 상태 코드(CRDN_STTS_CD) 확인.. if (levyExcl.getLevyExclSeCd().equals("1") || levyExcl.getLevyExclSeCd().equals("2")) { // 비부과(서손), 계고 // 단속 상태 코드가 부과(51) 보다 크다면, 비부과 또는 계고를 등록 할 수 없다. 종료.. - if (Integer.parseInt(infoCrdnLevyExcl.string("CRDN_STTS_CD")) > 50) { + if (infoCrdnLevyExcl.number("CRDN_STTS_CD").intValue() > 50) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback throw new RuntimeException("단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다"); } } else if (levyExcl.getLevyExclSeCd().equals("5")) { // 단속 상태 코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다. 종료.. 전액감액 등록은 부과이후... - if (Integer.parseInt(infoCrdnLevyExcl.string("CRDN_STTS_CD")) < 51) { + if (infoCrdnLevyExcl.number("CRDN_STTS_CD").intValue() < 51) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback throw new RuntimeException("단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다"); } @@ -151,13 +149,12 @@ public class Excl01Bean extends AbstractComponent { crdnSttsHstry.setBfrSttsChgDt(infoCrdnLevyExcl.string("CRDN_STTS_CHG_DT")); crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd); crdnSttsHstry.setTaskDtlId(levyExcl.getLevyExclId()); - crdnSttsHstry.setEtcCn("부과제외 대장 등록"); // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다. retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과제외 등록 중 단속상태코드 변경에 실패하였습니다."); + throw new RuntimeException("부과제외 등록 중 단속대장의 단속상태코드 변경에 실패하였습니다."); } // 비부과(서손)일 경우 단속민원(TB_CRDN_CVLCPT) 자료 처리 @@ -178,7 +175,7 @@ public class Excl01Bean extends AbstractComponent { retSuccess = levyExclMapper.updateCvlcptPrcsRsltCn(crdnCvlcpt); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과제외 등록 중 단속민원 대장의 민원처리결과내용 초기화에 실패하였습니다."); + throw new RuntimeException("부과제외 등록 중 단속민원대장의 민원처리결과내용 초기화에 실패하였습니다."); } // 답변완료 후 서손처리에 대해서는 답변 상태를 업데이트 하지 않는다 @@ -217,7 +214,7 @@ public class Excl01Bean extends AbstractComponent { retSuccess = levyExclMapper.updateCrdnCvlcpt(crdnCvlcpt); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과제외 등록 중 단속민원답변 수정에 실패하였습니다."); + throw new RuntimeException("부과제외 등록 중 단속민원대장의 민원답변 수정에 실패하였습니다."); } } } // if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02")) @@ -234,7 +231,7 @@ public class Excl01Bean extends AbstractComponent { retSuccess = levyExclMapper.updateParkngPsbltyRsltCd(crdn); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과제외 등록 중 단속 대장의 표지정보확인여부 수정에 실패하였습니다."); + throw new RuntimeException("부과제외 등록 중 단속대장의 표지정보확인여부 수정에 실패하였습니다."); } } @@ -251,7 +248,7 @@ public class Excl01Bean extends AbstractComponent { retSuccess = levyExclMapper.updateRcvmtCd(sndngDtl); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과제외 등록 중 발송상세 대장의 수납코드 수정에 실패하였습니다."); + throw new RuntimeException("부과제외 등록 중 발송상세대장의 수납코드 수정에 실패하였습니다."); } } // 계고 @@ -308,7 +305,7 @@ public class Excl01Bean extends AbstractComponent { retSuccess = levyExclMapper.updateCvlcptPrcsRsltCn(crdnCvlcpt); // 단속민원 민원처리결과내용 초기화 if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과제외 수정 중 단속민원 대장의 민원처리결과내용 초기화에 실패하였습니다."); + throw new RuntimeException("부과제외 수정 중 단속민원대장의 민원처리결과내용 초기화에 실패하였습니다."); } // 자동등록 자료만.. @@ -347,7 +344,7 @@ public class Excl01Bean extends AbstractComponent { retSuccess = levyExclMapper.updateCrdnCvlcpt(crdnCvlcpt); // 단속민원 민원처리코드 수정 if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과제외 등록 중 민원처리코드 수정에 실패하였습니다."); + throw new RuntimeException("부과제외 등록 중 단속민원대장의 민원처리코드 수정에 실패하였습니다."); } } } // 자동등록 자료만.. @@ -404,7 +401,7 @@ public class Excl01Bean extends AbstractComponent { retSuccess = crdnSttsHstryBean.removeHstryUpdateCrdnSttsCd(infoLevyExcl.string("CRDN_ID"), newHstrySttsCd); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과제외 삭제 중 단속상태 변경에 실패하였습니다."); + throw new RuntimeException("부과제외 삭제 중 단속대장의 단속상태코드 수정에 실패하였습니다."); } // 부과제외 구분이 비부과(서손)일 경우 단속민원(TB_CRDN_CVLCPT) 자료 처리 @@ -431,7 +428,7 @@ public class Excl01Bean extends AbstractComponent { retSuccess = levyExclMapper.updateCrdnCvlcpt(crdnCvlcpt); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과제외 삭제 중 민원답변 정보 초기화에 실패하였습니다."); + throw new RuntimeException("부과제외 삭제 중 단속민원대장의 민원답변 초기화에 실패하였습니다."); } } } // 자동등록 자료만 민원답변 부분을 처리 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 3749cbc0..7f902c3c 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 @@ -42,8 +42,7 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv @Override public DataObject getLevyExclInfo(ExclQuery req) { if (req.getCallPurpose() == null) { -// req.setCallPurpose("view"); - req.setCallPurpose("create"); // 추후 삭제 + req.setCallPurpose("view"); } if (req.getCallPurpose().equals("create")) { 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 edeaffd6..37d2131a 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 @@ -61,7 +61,7 @@ public class Excl02Bean extends AbstractComponent { */ public List getOpnnSbmsns(ExclQuery req) { if (req.getOrderBy() == null) { - req.setOrderBy("REG_DT DESC"); + req.setOrderBy("REG_DT DESC, OPNN_ID DESC"); } return opnnSbmsnMapper.selectOpnnSbmsns(req); @@ -72,10 +72,6 @@ public class Excl02Bean extends AbstractComponent { * @return 의견제출 정보 */ public DataObject getOpnnSbmsnInfo(ExclQuery req) { - if (req.getOrderBy() == null) { - req.setOrderBy("REG_DT DESC, OPNN_ID DESC"); - } - return opnnSbmsnMapper.selectOpnnSbmsnInfo(req); } @@ -86,8 +82,10 @@ public class Excl02Bean extends AbstractComponent { public DataObject getCrdnInfo(ExclQuery req) { DataObject dataCrdn = opnnSbmsnMapper.selectCrdn(req); // 단속ID로 단속, 의견제출 조회 - dataCrdn.set("RCPT_YMD", dataCrdn.string("TODAY")); // 접수 일자 - dataCrdn.set("RCPT_NO", dataCrdn.string("NEW_RCPT_NO")); // 접수 번호 + if (req.getCallPurpose().equals("create")) { + dataCrdn.set("RCPT_YMD", dataCrdn.string("TODAY")); // 접수 일자 + dataCrdn.set("RCPT_NO", dataCrdn.string("NEW_RCPT_NO")); // 접수 번호 + } return dataCrdn; } @@ -104,7 +102,7 @@ public class Excl02Bean extends AbstractComponent { boolean retSuccess = false; // DB 처리 결과 // 단속 ID로 단속, 의견제출 정보 조회 - DataObject infoCrdnOpnnSbmsn = getCrdnOpnnSbmsn(opnnSbmsn.getCrdnId()); + DataObject infoCrdnOpnnSbmsn = opnnSbmsnMapper.selectCrdnInfo(opnnSbmsn.getCrdnId()); // 의견제출ID가 있다면 이미 자료가 존재하므로 종료.. if (!infoCrdnOpnnSbmsn.string("OPNN_ID").equals("")) { @@ -130,7 +128,7 @@ public class Excl02Bean extends AbstractComponent { } // 단속 상태 코드가 사전통보중 이전일때만 단속의 상태를 의견제출 중으로 수정 한다. - if (Integer.parseInt(infoCrdnOpnnSbmsn.string("CRDN_STTS_CD")) <= 42) { // 사전통보 완료 + if (infoCrdnOpnnSbmsn.number("CRDN_STTS_CD").intValue() <= 42) { // 사전통보 완료 // 단속상태이력(TB_CRDN_STTS_HSTRY) CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); @@ -139,13 +137,12 @@ public class Excl02Bean extends AbstractComponent { crdnSttsHstry.setBfrSttsChgDt(infoCrdnOpnnSbmsn.string("CRDN_STTS_CHG_DT")); crdnSttsHstry.setCrdnSttsCd("31"); // 의견제출 접수 crdnSttsHstry.setTaskDtlId(opnnSbmsn.getOpnnId()); - crdnSttsHstry.setEtcCn("의견제출 대장 등록"); // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다. retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("의견제출 등록 중 단속상태코드 변경에 실패하였습니다."); + throw new RuntimeException("의견제출 등록 중 단속대장의 단속상태코드 수정에 실패하였습니다."); } } @@ -158,7 +155,7 @@ public class Excl02Bean extends AbstractComponent { retSuccess = opnnSbmsnMapper.updateCrdn(crdn); // 단속 대장 수정 if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("의견제출 등록 중 의견제출여부 변경에 실패하였습니다."); + throw new RuntimeException("의견제출 등록 중 단속대장의 의견제출여부 수정에 실패하였습니다."); } return true; @@ -270,7 +267,7 @@ public class Excl02Bean extends AbstractComponent { retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("의견제출 심의(답변) 처리 중 단속상태코드 변경에 실패하였습니다."); + throw new RuntimeException("의견제출 심의(답변) 처리 중 단속대장의 단속상태코드 수정에 실패하였습니다."); } } } @@ -328,18 +325,10 @@ public class Excl02Bean extends AbstractComponent { retSuccess = opnnSbmsnMapper.updateCrdn(crdn); // 단속 대장 수정 if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("의견제출 삭제 중 의견제출여부 변경에 실패하였습니다."); + throw new RuntimeException("의견제출 삭제 중 단속대장의 의견제출여부 수정에 실패하였습니다."); } return true; } - /**지정한 조건에 따라 단속자료 기준의 의견제출 대장 목록을 조회하여 반환한다. - * @param crdnId 단속 ID - * @return 단속, 의견제출 대장 목록 - */ - public DataObject getCrdnOpnnSbmsn(String crdnId) { - return opnnSbmsnMapper.selectCrdnInfo(crdnId); - } - } 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 f6d455d5..6467c306 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 @@ -33,7 +33,7 @@ public class Excl03Bean extends AbstractComponent { * @param req 단속 재등록 조회 조건 * @return 단속 재등록 목록 */ - public List getCrackdownReRegistrationList(ExclQuery req) { + public List getCrdnReRegList(ExclQuery req) { if (req.getOrderBy() == null) { req.setOrderBy("REG_DT"); } @@ -45,7 +45,11 @@ public class Excl03Bean extends AbstractComponent { * @param req 단속 재등록 조회 조건 * @return 단속 재등록 객체 목록 */ - public List getCrackdownReRegistrations(ExclQuery req) { + public List getCrdnReRegs(ExclQuery req) { + if (req.getOrderBy() == null) { + req.setOrderBy("REG_DT DESC, RE_REG_ID DESC"); + } + return crdnReRegMapper.selectCrdnReRegs(req); } @@ -56,7 +60,7 @@ public class Excl03Bean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean create(CrdnReReg crdnReReg) { + public boolean createCrdnReReg(CrdnReReg crdnReReg) { return crdnReRegMapper.insert(crdnReReg); } @@ -67,7 +71,7 @@ public class Excl03Bean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean remove(CrdnReReg crdnReReg) { + public boolean removeCrdnReReg(CrdnReReg crdnReReg) { return crdnReRegMapper.delete(crdnReReg); } @@ -75,8 +79,8 @@ public class Excl03Bean extends AbstractComponent { * @param req 부과제외 대장 조회 조건 * @return 부과제외 대장 목록 */ - public DataObject getCrackdown(String crdnId) { - return crdnReRegMapper.selectCrdnInfo(crdnId); + public DataObject getCrdnInfo(ExclQuery req) { + return crdnReRegMapper.selectCrdn(req); } } 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 410d4152..88cd372e 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 @@ -46,22 +46,26 @@ public class Excl03ServiceBean extends AbstractServiceBean implements Excl03Serv private CrdnService crdnService; @Override - public List getCrackdownReRegistrationList(ExclQuery req) { - return excl03Bean.getCrackdownReRegistrationList(req); + public List getCrdnReRegList(ExclQuery req) { + return excl03Bean.getCrdnReRegList(req); } @Override - public List getCrackdownReRegistrations(ExclQuery req) { - return excl03Bean.getCrackdownReRegistrations(req); + public List getCrdnReRegs(ExclQuery req) { + return excl03Bean.getCrdnReRegs(req); } @Override - public boolean create(CrdnReReg crdnReReg) { + public boolean createCrdnReReg(CrdnReReg crdnReReg) { // 변수 선언 boolean retSuccess = false; // DB 처리 결과 // 단속 ID로 단속(TB_CRDN) 정보 조회 - DataObject infoCrdn = excl03Bean.getCrackdown(crdnReReg.getBfrCrdnId()); + ExclQuery req = new ExclQuery(); + + req.setCrdnId(crdnReReg.getBfrCrdnId()); + + DataObject infoCrdn = excl03Bean.getCrdnInfo(req); // 단속 ID로 파일(TB_FILE) 정보 조회 List infoCrdnFileList = fileBean.getFileList(new FileQuery().setInfoType(CrdnReReg.INF_TYPE) .setInfoKeys(crdnReReg.getBfrCrdnId())); @@ -153,7 +157,7 @@ public class Excl03ServiceBean extends AbstractServiceBean implements Excl03Serv crdnReReg.setCrdnId(newCrdn.getCrdnId()); crdnReReg.setCrdnRegSeCd("03"); - retSuccess = excl03Bean.create(crdnReReg); + retSuccess = excl03Bean.createCrdnReReg(crdnReReg); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback throw new RuntimeException("재부과 대장 등록에 실패하였습니다."); @@ -163,8 +167,8 @@ public class Excl03ServiceBean extends AbstractServiceBean implements Excl03Serv } @Override - public boolean remove(CrdnReReg crdnReReg) { - return excl03Bean.remove(crdnReReg); + public boolean removeCrdnReReg(CrdnReReg crdnReReg) { + return excl03Bean.removeCrdnReReg(crdnReReg); } } 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 514918b7..5b4178aa 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java @@ -81,7 +81,7 @@ public class Excl01Controller extends ApplicationController { DataObject levyExclInfo = excl01Service.getLevyExclInfo(req); // 등록을 호출하였지만 등록된 부과제외 ID가 있는지 확인. - if (req.getCallPurpose() == "create" && !levyExclInfo.string("LEVY_EXCL_ID").equals("")) { + if (req.getCallPurpose().equals("create") && !levyExclInfo.string("LEVY_EXCL_ID").equals("")) { ModelAndView mav = new ModelAndView("jsonView"); return mav 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 9b36f848..b3eba70e 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java @@ -91,7 +91,7 @@ public class Excl02Controller extends ApplicationController { DataObject opnnSbmsnInfo = excl02Service.getOpnnSbmsnInfo(req); // 등록을 호출하였지만 등록된 의견제출 ID가 있는지 확인. - if (req.getCallPurpose() == "create" && !opnnSbmsnInfo.string("OPNN_ID").equals("")) { + if (req.getCallPurpose().equals("create") && !opnnSbmsnInfo.string("OPNN_ID").equals("")) { ModelAndView mav = new ModelAndView("jsonView"); return mav 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 72885b0e..7379bde0 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java @@ -60,8 +60,8 @@ public class Excl03Controller extends ApplicationController { * } */ @RequestMapping(name = "단속 재등록 리스트 조회", value = "/010/list.do") - public ModelAndView getCrackdownReRegistrationList(ExclQuery req) { - List result = excl03Service.getCrackdownReRegistrationList(setFetchSize(req)); + public ModelAndView getCrdnReRegList(ExclQuery req) { + List result = excl03Service.getCrdnReRegList(setFetchSize(req)); return setCollectionInfo(new ModelAndView("jsonView"), result, "crdnReReg"); } @@ -74,8 +74,8 @@ public class Excl03Controller extends ApplicationController { * } */ @PostMapping(name = "단속 재등록 등록", value = "/010/create.do") - public ModelAndView create(CrdnReReg crdnReReg) { - boolean saved = excl03Service.create(crdnReReg); + public ModelAndView createCrdnReReg(CrdnReReg crdnReReg) { + boolean saved = excl03Service.createCrdnReReg(crdnReReg); return new ModelAndView("jsonView") .addObject("saved", saved); @@ -90,8 +90,8 @@ public class Excl03Controller extends ApplicationController { * } */ @PostMapping(name = "단속 재등록 제거", value = "/010/remove.do") - public ModelAndView remove(CrdnReReg crdnReReg) { - boolean saved = excl03Service.remove(crdnReReg); + public ModelAndView removeCrdnReReg(CrdnReReg crdnReReg) { + boolean saved = excl03Service.removeCrdnReReg(crdnReReg); return new ModelAndView("jsonView") .addObject("saved", saved); diff --git a/src/main/java/cokr/xit/fims/levy/Rduct.java b/src/main/java/cokr/xit/fims/levy/Rduct.java index 8df2aadc..324747a7 100644 --- a/src/main/java/cokr/xit/fims/levy/Rduct.java +++ b/src/main/java/cokr/xit/fims/levy/Rduct.java @@ -6,7 +6,7 @@ import lombok.Setter; /** * 과태료 감경 대장 - * @author Jojh + * @author JoJH */ @Getter @Setter diff --git a/src/main/java/cokr/xit/fims/levy/dao/RductMapper.java b/src/main/java/cokr/xit/fims/levy/dao/RductMapper.java index 71031ff0..60ed9cb3 100644 --- a/src/main/java/cokr/xit/fims/levy/dao/RductMapper.java +++ b/src/main/java/cokr/xit/fims/levy/dao/RductMapper.java @@ -9,6 +9,8 @@ import cokr.xit.foundation.component.AbstractMapper; import cokr.xit.foundation.data.DataObject; import cokr.xit.fims.levy.Rduct; +import cokr.xit.fims.crdn.Crdn; +import cokr.xit.fims.levy.Levy; import cokr.xit.fims.levy.LevyQuery; /** 과태료 감경 대장 정보 DAO @@ -106,4 +108,36 @@ public interface RductMapper extends AbstractMapper { return rduct != null && deleteRduct(params().set("rduct", rduct)) == 1; } + /**지정한 단속 ID의 단속, 부과제외 정보를 반환한다. + * @param crdnId 단속 ID + * @return 단속, 부과제외 정보 + */ + DataObject selectCrdn(LevyQuery req); + + default DataObject selectCrdnInfo(String crdnId) { + DataObject rductInfo = selectCrdn(new LevyQuery().setCrdnId(crdnId)); + + return rductInfo; + } + + /**단속(TB_CRDN) 대장의 금액을 수정한다. + * @param crdn 단속 대장 + * @return 저장된 정보수 + */ + int updateCrdnRduct(Map params); + + default boolean updateCrdn(Crdn crdn) { + return crdn != null && updateCrdnRduct(params().set("crdn", crdn)) == 1; + } + + /**부과(TB_LEVY) 대장의 금액을 수정한다. + * @param levy 부과 대장 + * @return 저장된 정보수 + */ + int updateLevyRduct(Map params); + + default boolean updateLevy(Levy levy) { + return levy != null && updateLevyRduct(params().set("levy", levy)) == 1; + } + } diff --git a/src/main/java/cokr/xit/fims/levy/service/bean/Levy02Bean.java b/src/main/java/cokr/xit/fims/levy/service/bean/Levy02Bean.java index 4936fe8e..555a0c1c 100644 --- a/src/main/java/cokr/xit/fims/levy/service/bean/Levy02Bean.java +++ b/src/main/java/cokr/xit/fims/levy/service/bean/Levy02Bean.java @@ -7,7 +7,9 @@ import javax.annotation.Resource; import org.springframework.stereotype.Component; +import cokr.xit.fims.crdn.Crdn; import cokr.xit.fims.crdn.service.bean.CrdnStngBean; +import cokr.xit.fims.levy.Levy; import cokr.xit.fims.levy.LevyQuery; import cokr.xit.fims.levy.Rduct; import cokr.xit.fims.levy.dao.RductMapper; @@ -63,6 +65,10 @@ public class Levy02Bean extends AbstractComponent { * @return 과태료 감경 대장 객체 목록 */ public List getRducts(LevyQuery req) { + if (req.getOrderBy() == null) { + req.setOrderBy("REG_DT DESC, RDUCT_ID DESC"); + } + return rductMapper.selectRducts(req); } @@ -74,6 +80,22 @@ public class Levy02Bean extends AbstractComponent { return rductMapper.selectRductInfo(req); } + /**지정한 단속 ID의 단속 정보를 반환한다.
    + * @param req 과태료 감경 대장 조회 조건 + * @return 단속 정보 + */ + + public DataObject getCrdnInfo(LevyQuery req) { + DataObject dataCrdn = rductMapper.selectCrdn(req); + + if (req.getCallPurpose().equals("create")) { + dataCrdn.set("RDUCT_YMD", dataCrdn.get("TODAY")); // 감경 일자 + dataCrdn.set("RDUCT_AMT", dataCrdn.get("CALC_RDUCT_AMT")); // 감경 금액 + } + + return dataCrdn; + } + /**과태료 감경 대장 정보를 등록한다. * @param rduct 과태료 감경 대장 * @return 저장 여부 @@ -82,7 +104,88 @@ public class Levy02Bean extends AbstractComponent { * */ public boolean createRduct(Rduct rduct) { - return rductMapper.insert(rduct); + // 변수 선언 + boolean retSuccess = false; // DB 처리 결과 + + // 단속 ID로 단속, 감경 정보 조회 + DataObject infoCrdnRduct = rductMapper.selectCrdnInfo(rduct.getCrdnId()); + + // 부과제외 ID가 있다면 이미 부과제외 자료가 존재하므로 종료.. + if (!infoCrdnRduct.string("RDUCT_ID").equals("")) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("과태료 감경 정보가 이미 존재합니다."); + } + // 단속 상태 코드(CRDN_STTS_CD) 확인하여 부과(51) 이후라면.. + if (infoCrdnRduct.number("CRDN_STTS_CD").intValue() > 51) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("단속 상태가 " + infoCrdnRduct.string("CRDN_STTS_NM") + " 상태 입니다"); + } + // 부과 가산금(LEVY_ADAMT)이 있다면.. + if (infoCrdnRduct.number("LEVY_ADAMT").intValue() > 0) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("부과 가산금이 존재하여 감경 등록에 실패하였습니다."); + } + + // 과태료 감경(TB_RDUCT) 대장을 등록 한다. + retSuccess = rductMapper.insert(rduct); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("감경 대장 등록에 실패하였습니다."); + } + + int ffnlgAmt = 0; // 과태료 금액 + int advntceAmt = 0; // 사전통지 금액 + + ffnlgAmt = infoCrdnRduct.number("FFNLG_CRDN_AMT").intValue() - rduct.getRductAmt(); // 과태료 단속 금액 - 감경 금액 + advntceAmt = ffnlgAmt - (ffnlgAmt * infoCrdnRduct.number("ADVNTCE_RDUCT_RT").intValue() / 100); // 과태료 금액 - (과태료 금액 * 사전통지 감경 율 / 100) + + // 단속(TB_CRDN) 대장을 수정 한다. + Crdn crdn = new Crdn(); + + crdn.setCrdnId(rduct.getCrdnId()); // 단속 ID + crdn.setFfnlgRductRt(infoCrdnRduct.string("WKSN_RDUCT_RT")); // 과태료 감경 율 + crdn.setFfnlgAmt(ffnlgAmt); // 과태료 금액 + crdn.setAdvntceAmt(advntceAmt); // 사전통지 금액 + + retSuccess = rductMapper.updateCrdn(crdn); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("감경 등록 중 단속대장 금액 수정에 실패하였습니다."); + } + + // 부과(TB_LEVY) 대장을 수정 한다. + Levy levy = new Levy(); + + levy.setLevyId(infoCrdnRduct.string("LEVY_ID")); // 부과 ID + levy.setFfnlgAmt(ffnlgAmt); // 과태료 금액 + + // 단속상태코드가 부과(51)면 과태료 금액, 부과 이전이라면 사전통지 금액으로.. + if (infoCrdnRduct.number("CRDN_STTS_CD").intValue() == 51) { + levy.setLevyPcptax(ffnlgAmt); // 부과 본세 = 과태료 금액 + } else { + // 주정차위반, 전용차로위반 과태료 + if (infoCrdnRduct.string("TASK_SE_CD").equals("BPV") || infoCrdnRduct.string("TASK_SE_CD").equals("PVS")) { + if (infoCrdnRduct.number("DUDT_YMD").intValue() >= infoCrdnRduct.number("TODAY").intValue()) { + levy.setLevyPcptax(advntceAmt); // 부과 본세 = 사전통지 금액 + } else { + levy.setLevyPcptax(ffnlgAmt); // 부과 본세 = 과태료 금액 + } + } else { + levy.setLevyPcptax(advntceAmt); // 부과 본세 = 사전통지 금액 + } + } + + + int sumAmt = levy.getLevyPcptax() - infoCrdnRduct.number("RCVMT_PCPTAX").intValue() - infoCrdnRduct.number("RDCAMT_PCPTAX").intValue(); + levy.setSumAmt(sumAmt); // 합계 금액 = 부과 본세 - 수납 본세 - 감액 본세 + + retSuccess = rductMapper.updateLevy(levy); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("감경 등록 중 부과대장 금액 수정에 실패하였습니다."); + } + + return true; } /**과태료 감경 대장 정보를 수정한다. diff --git a/src/main/java/cokr/xit/fims/levy/service/bean/Levy02ServiceBean.java b/src/main/java/cokr/xit/fims/levy/service/bean/Levy02ServiceBean.java index e4e88977..aa4781f6 100644 --- a/src/main/java/cokr/xit/fims/levy/service/bean/Levy02ServiceBean.java +++ b/src/main/java/cokr/xit/fims/levy/service/bean/Levy02ServiceBean.java @@ -42,7 +42,15 @@ public class Levy02ServiceBean extends AbstractServiceBean implements Levy02Serv @Override public DataObject getRductInfo(LevyQuery req) { - return levy02Bean.getRductInfo(req); + if (req.getCallPurpose() == null) { + req.setCallPurpose("view"); + } + + if (req.getCallPurpose().equals("create")) { + return levy02Bean.getCrdnInfo(req); + } else { + return levy02Bean.getRductInfo(req); + } } @Override diff --git a/src/main/java/cokr/xit/fims/levy/web/Levy02Controller.java b/src/main/java/cokr/xit/fims/levy/web/Levy02Controller.java index d0137c07..44bd3bdd 100644 --- a/src/main/java/cokr/xit/fims/levy/web/Levy02Controller.java +++ b/src/main/java/cokr/xit/fims/levy/web/Levy02Controller.java @@ -79,13 +79,15 @@ public class Levy02Controller extends ApplicationController { public ModelAndView getRductInfo(LevyQuery req) { DataObject rductInfo = levy02Service.getRductInfo(req); - // 등록을 호출하였지만 등록된 부과제외 ID가 있는지 확인. - if (req.getCallPurpose() == "create" && !rductInfo.string("RDUCT_ID").equals("")) { + // 등록을 호출하였지만 등록된 감경 ID가 있는지 확인. + if (req.getCallPurpose().equals("create") && !rductInfo.string("RDUCT_ID").equals("")) { ModelAndView mav = new ModelAndView("jsonView"); - return mav - .addObject("errorMessage", "이미 등록된 과태료 감경 정보가 있습니다.") - ; + return mav.addObject("errorMessage", "이미 등록된 과태료 감경 정보가 있습니다."); + } else if (req.getCallPurpose().equals("create") && rductInfo.string("RTPYR_ID").equals("")) { + ModelAndView mav = new ModelAndView("jsonView"); + + return mav.addObject("errorMessage", "납부자 정보가 없습니다."); } else { boolean json = jsonResponse(); @@ -96,7 +98,7 @@ public class Levy02Controller extends ApplicationController { return mav .addObject("pageName", "levy02020") - .addObject("FIM019List", commonCodes.get("FIM019")) // 감경 사유 구분 코드(RDUCT_RSN_CD) + .addObject("FIM019List", commonCodes.get("FIM019")) // 감경 사유 구분 코드(RDUCT_RSN_CD) .addObject("rductInfo", json ? rductInfo : toJson(rductInfo)) ; } diff --git a/src/main/resources/sql/mapper/fims/excl/levyExcl-mapper.xml b/src/main/resources/sql/mapper/fims/excl/levyExcl-mapper.xml index 95fce17c..92aa450f 100644 --- a/src/main/resources/sql/mapper/fims/excl/levyExcl-mapper.xml +++ b/src/main/resources/sql/mapper/fims/excl/levyExcl-mapper.xml @@ -102,9 +102,9 @@ - - /* 의견제출 대장 등록(opnnSbmsnMapper.insertOpnnSbmsn) */ SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(OPNN_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID @@ -434,6 +373,67 @@ AND DEL_YN = 'N' /* 삭제 여부 */ + + /* 단속 대장 의견제출여부 수정(opnnSbmsnMapper.updateCrdnOpnnSbmsnYn) */ UPDATE TB_CRDN SET OPNN_SBMSN_YN = #{crdn.opnnSbmsnYn} /* 의견 제출 여부 */ diff --git a/src/main/resources/sql/mapper/fims/levy/rduct-mapper.xml b/src/main/resources/sql/mapper/fims/levy/rduct-mapper.xml index 032e2e80..8653f10f 100644 --- a/src/main/resources/sql/mapper/fims/levy/rduct-mapper.xml +++ b/src/main/resources/sql/mapper/fims/levy/rduct-mapper.xml @@ -33,7 +33,7 @@ , R.RDUCT_RSN_CD /* 감경 사유 코드 */ , (SELECT FN_GET_CODE_NM('FIM019', R.RDUCT_RSN_CD) FROM DUAL) AS RDUCT_RSN_NM /* 감경 사유 명 */ , R.RDUCT_AMT /* 감경 금액 */ - , R.ETC_CN AS RDUCT_ETC_CN /* 감액 기타 내용 */ + , R.ETC_CN /* 감액 기타 내용 */ , R.DEL_YN /* 삭제 여부 */ , R.REG_DT /* 등록 일시 */ , R.RGTR /* 등록자 */ @@ -45,17 +45,22 @@ , R.DLTR /* 삭제자 */ , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.DLTR) AS DLTR_NM /* 삭제자 명 */ , R.DEL_RSN /* 삭제 사유 */ - , CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM /* 단속 일시 */ + , CONCAT(C.CRDN_YMD,C.CRDN_TM) AS CRDN_YMD_TM /* 단속 일시 */ , C.VHRNO /* 차량 번호 */ - , C.FFNLG_AMT /* 과태료금액 */ + , C.FFNLG_CRDN_AMT /* 과태료 단속 금액 */ + , C.FFNLG_RDUCT_RT /* 과태료 감경 율 */ + , C.FFNLG_AMT /* 과태료 금액 */ , C.ADVNTCE_AMT /* 사전통지금액 */ - , C.MINUS_AMT /* 감경금액 */ - , C.ADTN_AMT /* 가산금액 */ - , C.RCVMT_AMT /* 수납금액 */ - , 0 AS BLNC /* 잔액 */ + , C.MINUS_AMT + , C.ADTN_AMT + , C.RCVMT_AMT , C.CRDN_STTS_CD /* 처리상태 */ - FROM TB_CRDN C - INNER JOIN TB_RDUCT R ON (C.CRDN_ID = R.CRDN_ID AND R.DEL_YN = 'N') + , P.RTPYR_NO /* 납부자 번호 */ + , P.RTPYR_NM /* 납부자 명 */ + FROM TB_RDUCT R + INNER JOIN TB_CRDN C ON (R.CRDN_ID = C.CRDN_ID) + INNER JOIN TB_TASK_INFO TI ON (C.SGG_CD = TI.SGG_CD AND C.TASK_SE_CD = TI.TASK_SE_CD) + LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID) /* 단속 대장 객체 가져오기(rductMapper.selectCrdn) */ + SELECT C.CRDN_ID /* 단속 ID */ + , C.SGG_CD /* 시군구 코드 */ + , C.TASK_SE_CD /* 업무 구분 코드 */ + , C.VHRNO /* 차량번호 */ + , C.FFNLG_CRDN_AMT /* 과태료 단속 금액 */ + , C.FFNLG_RDUCT_RT /* 과태료 감경 율 */ + , C.FFNLG_AMT /* 과태료 금액 */ + , C.CRDN_STTS_CD /* 단속 상태 코드 */ + , (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */ + , TI.WKSN_RDUCT_RT /* 사회적약자 감경 율 */ + , TI.ADVNTCE_RDUCT_RT /* 사전통지 감경 율 */ + , P.RTPYR_ID /* 납부자 ID */ + , P.RTPYR_NO /* 납부자 번호 */ + , P.RTPYR_NM /* 납부자 명 */ + , L.LEVY_ID /* 부과 ID */ + , L.DUDT_YMD /* 납기 일자 */ + , L.LEVY_PCPTAX /* 부과 본세 */ + , L.LEVY_ADAMT /* 부과 가산금 */ + , L.RCVMT_PCPTAX /* 수납 본세 */ + , L.RCVMT_ADAMT /* 수납 가산금 */ + , L.RDCAMT_PCPTAX /* 감액 본세 */ + , L.RDCAMT_ADAMT /* 감액 가산금 */ + , R.RDUCT_ID /* 감경 ID */ + , AS TODAY /* 오늘 일자 */ + , C.FFNLG_CRDN_AMT * TI.WKSN_RDUCT_RT / 100 AS CALC_RDUCT_AMT /* 감경 금액 */ + FROM TB_CRDN C + INNER JOIN TB_TASK_INFO TI ON (C.SGG_CD = TI.SGG_CD AND C.TASK_SE_CD = TI.TASK_SE_CD) + LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID) + LEFT OUTER JOIN TB_LEVY L ON (C.CRDN_ID = L.CRDN_ID AND L.DEL_YN = 'N') + LEFT OUTER JOIN TB_RDUCT R ON (C.CRDN_ID = R.CRDN_ID AND R.DEL_YN = 'N') + WHERE C.CRDN_ID = #{crdnId} /* 단속 ID */ + + + /* 단속 대장 과태료 감경 금액 수정(rductMapper.updateCrdnRduct) */ + UPDATE TB_CRDN + SET FFNLG_RDUCT_RT = #{crdn.ffnlgRductRt} /* 과태료 감경 율 */ + , FFNLG_AMT = #{crdn.ffnlgAmt} /* 과태료 금액 */ + , ADVNTCE_AMT = #{crdn.advntceAmt} /* 사전통지 금액 */ + , MDFCN_DT = #{crdn.lastModified} /* 수정 일시 */ + , MDFR = #{crdn.modifiedBy} /* 수정자 */ + WHERE CRDN_ID = #{crdn.crdnId} /* 단속 ID */ + AND DEL_YN = 'N' /* 삭제 여부 */ + + + + /* 부과 대장 과태료 감경 금액 수정(rductMapper.updateLevyRduct) */ + UPDATE TB_LEVY + SET FFNLG_AMT = #{levy.ffnlgAmt} /* 과태료 금액 */ + , LEVY_PCPTAX = #{levy.levyPcptax} /* 부과 본세 */ + , SUM_AMT = #{levy.sumAmt} /* 합계 금액 */ + , MDFCN_DT = #{levy.lastModified} /* 수정 일시 */ + , MDFR = #{levy.modifiedBy} /* 수정자 */ + WHERE LEVY_ID = #{levy.levyId} /* 단속 ID */ + AND DEL_YN = 'N' /* 삭제 여부 */ + + + 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 09181ff5..0a8b8aec 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 @@ -408,6 +408,9 @@ $("#tbody--${pageName}").html(trs.join()); $("th input[type='checkbox']").prop("checked", false); + + //보안모드 + fn_securityModeToggle($("#securityMode--top").is(":checked")); } // 업무구분 변경 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 ab0b249b..289c3d4d 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 @@ -43,7 +43,8 @@
    - +
    @@ -56,7 +57,7 @@ - + @@ -68,7 +69,7 @@ **************************************************************************/ // URL var ${pageName}PrefixUrl = "/excl/excl01"; - // + // FormFields var ${pageName}Fields = new FormFields("#frmEdit--${pageName}"); // 공통 코드 var FIM021 = new CommonCodes(${FIM021}, true); @@ -95,11 +96,12 @@ ${pageName}Control.onCurrentChange = item => { ${pageName}Fields.set(item); + setFim021(item.data.LEVY_EXCL_SE_CD, item.data.LEVY_EXCL_RSN_CD); } /************************************************************************** - * + * DatasetControl 이벤트 **************************************************************************/ // 저장 callback ${pageName}Control.onSave = (resp) => { @@ -117,7 +119,6 @@ ${pageName}Control.save = (info) => { if (!info) return; - let item = ${pageName}Control.getCurrent("item"); let create = isEmpty(info.levyExclId); // 민원 접수 관리에서 호출했다면.. @@ -132,6 +133,9 @@ } } + /************************************************************************** + * + **************************************************************************/ // 부과제외 구분에 따른 부과제외 사유 코드 설정 function setFim021(seCode, rsnCode) { let cmnCode = FIM021[seCode]; @@ -177,17 +181,14 @@ * function **************************************************************************/ // 저장 - function fnSaveLevyExcl${pageName}() { + function fnSave${pageName}() { // validate 확인 if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; - let formFields = new FimsFormFields("#frmEdit--${pageName}"); - let data = formFields.get(); - dialog.alert({ content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?" , onOK : () => { - ${pageName}Control.save(formFields.get()); + ${pageName}Control.save(${pageName}Fields.get()); } }); } 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 257f8c7d..74b1a4ea 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 @@ -385,6 +385,9 @@ $("#tbody--${pageName}").html(trs.join()); $("th input[type='checkbox']").prop("checked", false); + + //보안모드 + fn_securityModeToggle($("#securityMode--top").is(":checked")); } // 업무구분 변경 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 718e2916..4b831b4a 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 @@ -160,7 +160,7 @@ - + @@ -204,7 +204,7 @@ } /************************************************************************** - * + * DatasetControl 이벤트 **************************************************************************/ // 저장 callback ${pageName}Control.onSave = (resp) => { @@ -221,7 +221,6 @@ ${pageName}Control.save = (info) => { if (!info) return; - let item = ${pageName}Control.getCurrent("item"); let create = isEmpty(info.opnnId); let formData = new FormData(); @@ -305,17 +304,14 @@ } // 저장 - function fnBtnSave${pageName}() { + function fnSave${pageName}() { // validate 확인 if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; - let formFields = new FimsFormFields("#frmEdit--${pageName}"); - let data = formFields.get(); - dialog.alert({ - content : "현재 의견제출 정보를 저장하시겠습니까?" + content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?" , onOK : () => { - ${pageName}Control.save(formFields.get()); + ${pageName}Control.save(${pageName}Fields.get()); } }); } diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp index 83701b94..556e7a35 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp @@ -99,7 +99,7 @@ - + @@ -137,7 +137,7 @@ } /************************************************************************** - * + * DatasetControl 이벤트 **************************************************************************/ // 저장 callback ${pageName}Control.onSave = (resp) => { @@ -151,8 +151,6 @@ ${pageName}Control.save = (info) => { if (!info) return; - let item = ${pageName}Control.getCurrent("item"); - ajax.post({ url : ${pageName}Control.urls.update , data : info @@ -207,17 +205,14 @@ * function **************************************************************************/ // 저장 - function fnBtnSave${pageName}() { + function fnSave${pageName}() { // validate 확인 if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; - let formFields = new FimsFormFields("#frmEdit--${pageName}"); - let data = formFields.get(); - dialog.alert({ - content : "현재 의견제출 답변 정보를 저장하시겠습니까?" + content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?" , onOK : () => { - ${pageName}Control.save(data); + ${pageName}Control.save(${pageName}Fields.get()); } }); } diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp index d2b03516..7ccb54a3 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp @@ -327,6 +327,9 @@ $("#tbody--${pageName}").html(trs.join()); $("th input[type='checkbox']").prop("checked", false); + + //보안모드 + fn_securityModeToggle($("#securityMode--top").is(":checked")); } // 업무구분 변경 diff --git a/src/main/webapp/WEB-INF/jsp/fims/levy/levy02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/levy/levy02010-main.jsp index 176a8efc..57f77315 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/levy/levy02010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/levy/levy02010-main.jsp @@ -96,21 +96,15 @@ data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}"> No. - 감액일자 - 감액사유 - 접수(위반)일시 - 차량번호 - 감액금액 + 감액일자 + 감액사유 + 접수(위반)일시 + 차량번호 + 과태료단속원금 + 감경금액 잔액 - 감액특기사항 - 처리상태 + 감경특기사항 + 처리상태 @@ -118,12 +112,13 @@ {ROW_NUM} {RDUCT_YMD} - {RDUCT_RSN_CD} + {RDUCT_RSN_NM} {CRDN_YMD_TM} {VHRNO} + {FFNLG_CRDN_AMT} {RDUCT_AMT} {BLNC} - {RDUCT_ETC_CN} + {ETC_CN} {CRDN_STTS_CD} @@ -173,8 +168,8 @@ $(document).ready(function(){ RDUCT_RSN_CD : FIM019, RDUCT_YMD : dateFormat, CRDN_YMD_TM : datetimeFormat, + FFNLG_CRDN_AMT : numberFormat, RDUCT_AMT : numberFormat, - SUM_AMT : numberFormat, CRDN_STTS_CD : FIM010, BLNC : numberFormat } @@ -276,25 +271,22 @@ $(document).ready(function(){ } $P.dblclickRductList = (dataKey) => { - ajax.get({ url : $P.rductControl.urls.getInfo, data : { "crdnId" : dataKey }, success : resp => { - dialog.open({ - id : "totalDialog--${pageName}", - title : "개별총정보", size : "xxl", content : resp, + id : "totalInfoMainDialog", + title : "개별총정보", + size : "xxl", + content : resp, init : () => {} }); - } }); - } $P.renderRductList = (total) => { - var rductList = $P.rductControl.dataset; var empty = rductList.empty; var notFound = [document.getElementById("rductNotFound--${pageName}").innerHTML]; @@ -331,7 +323,6 @@ $(document).ready(function(){ return data; } - /************************************************************************** * element.on **************************************************************************/ diff --git a/src/main/webapp/WEB-INF/jsp/fims/levy/levy02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/levy/levy02020-info.jsp new file mode 100644 index 00000000..a30b8c28 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/fims/levy/levy02020-info.jsp @@ -0,0 +1,189 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> +<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> + + +
    + +
    + + + + + + +
    + +
    + + +
    + +
    + + +
    + +
    + + * + % +
    + +
    + + +
    + +
    + + + +
    + +
    + + +
    + +
    + + +
    +
    +
    + +
    + + + +
    + + + + + + +
    + + + diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02010-main.jsp index 75f2f368..54fc7435 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02010-main.jsp @@ -27,7 +27,7 @@
    - +
    diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp index 4cd7dca8..5bf6e248 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp @@ -145,7 +145,7 @@
    - % + %
    @@ -175,7 +175,7 @@
    - +
    @@ -200,7 +200,7 @@
    - +
    @@ -237,12 +237,12 @@
    - +
    - +
    @@ -330,6 +330,7 @@ , LEVY_AMT : numberFormat // 부과 금액 , REDUC_AMT : numberFormat // 감액 금액 , RCVMT_AMT : numberFormat // 수납 금액 + , SUM_AMT : numberFormat // 합계 금액 , CRDN_BGNG_TM : timeFormat , CRDN_END_TM : timeFormat } diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp index 01aa0bad..64b08cb7 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp @@ -229,6 +229,14 @@ url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do") , data : params || {} , success : resp => { + if ((typeof resp) != "string") { + if (resp.errorMessage != "") { + dialog.alert(resp.errorMessage); + + return; + } + } + dialog.open({ id : ${pageName}Control.prefixed("Dialog") , title : dialogTitle @@ -425,10 +433,14 @@ return; } + let iLoop = 0; // 기존 table에 자료가 존재하면 table 삭제 let fileListTable = document.getElementById("fileList--${pageName}"); // table element 찾기 - for (iLoop = 2; iLoop <= fileListTable.rows.length; iLoop++) { + if (fileListTable.rows.length == 1) { iLoop = 2; } + else { iLoop = 1; } + + for (iLoop; iLoop <= fileListTable.rows.length; iLoop++) { let newRow = fileListTable.deleteRow(fileListTable.rows.length-1); // table 행(Row) 삭제 } diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02050-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02050-info.jsp index 4787a919..cfe0a673 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02050-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02050-info.jsp @@ -41,7 +41,7 @@
    - +
    @@ -359,6 +359,22 @@ }); } + // 삭제 callback + ${pageName}${pageDataName1}Control.onRemove = (resp) => { + if (resp.saved) { + fnDataRefreshInfo(); // 자료 재조회 + } + } + + // 삭제 + ${pageName}${pageDataName1}Control.remove = (params) => { + ajax.post({ + url : wctx.url("/" + params.taskSeCd + ${pageName}${pageDataName1}PrefixUrl + "/010/remove.do") + , data : params || {} + , success : resp => ${pageName}${pageDataName1}Control.onRemove(resp) // 삭제 callback + }); + } + // 부과제외 선택 자료 변경 이벤트 ${pageName}${pageDataName2}Control.onCurrentChange = item => { ${pageName}${pageDataName2}Fields.set(item); @@ -546,12 +562,53 @@ // 감경 수정 fnUpdateRduct${pageName} = () => { + let crdnId = $("#crdnId--${pageNameMain}").val(); + let sggCd = $("#sggCd--${pageNameMain}").val(); + let taskSeCd = $("#taskSeCd--${pageNameMain}").val(); + let rductId = ${pageName}${pageDataName1}Control.dataset.getValue("RDUCT_ID"); + // 감경 ID 가 없다면.. return + if (rductId == undefined || rductId == "") { + return; + } + + let params = { + callPurpose : "update" + , crdnId : crdnId + , sggCd : sggCd + , taskSeCd : taskSeCd + , rductId : rductId + }; + + ${pageName}${pageDataName1}Control.getInfo(params); } // 감경 삭제 fnRemoveRduct${pageName} = () => { + let crdnId = $("#crdnId--${pageNameMain}").val(); + let sggCd = $("#sggCd--${pageNameMain}").val(); + let taskSeCd = $("#taskSeCd--${pageNameMain}").val(); + let rductId = ${pageName}${pageDataName1}Control.dataset.getValue("RDUCT_ID"); + // 감경 ID 가 없다면.. return + if (rductId == undefined || rductId == "") { + return; + } + + let params = { + callPurpose : "remove" + , crdnId : crdnId + , sggCd : sggCd + , taskSeCd : taskSeCd + , rductId : rductId + }; + + dialog.alert({ + content : "선택한 " + ${pageName}${pageDataName1}Control.prefixName + " 내용을 삭제하시겠습니까?" + , onOK : () => { + ${pageName}${pageDataName1}Control.remove(params); + } + }); } // 부과제외 등록 @@ -606,7 +663,7 @@ let taskSeCd = $("#taskSeCd--${pageNameMain}").val(); let levyExclId = ${pageName}${pageDataName2}Control.dataset.getValue("LEVY_EXCL_ID"); - // 민원 상담 ID 가 없다면.. return + // 부과제외 ID 가 없다면.. return if (levyExclId == undefined || levyExclId == "") { return; } diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02070-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02070-info.jsp index 44c1e295..7dc843bd 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02070-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02070-info.jsp @@ -99,15 +99,16 @@
    - -
    -
    - + +
    + + +
    diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04020-info.jsp index 34094368..89e35453 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04020-info.jsp @@ -52,7 +52,7 @@ **************************************************************************/ // URL var ${pageName}PrefixUrl = "/sprt/sprt04"; - // + // FormFields var ${pageName}Fields = new FormFields("#frmEdit--${pageName}"); /************************************************************************** @@ -125,17 +125,13 @@ // validate 확인 if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; - let formFields = new FimsFormFields("#frmEdit--${pageName}"); - let data = formFields.get(); - dialog.alert({ - content : "민원 상담 내용을 저장하시겠습니까?" + content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?" , onOK : () => { - ${pageName}Control.save(formFields.get()); + ${pageName}Control.save(${pageName}Fields.get()); } }); } - /************************************************************************** * script 진입 **************************************************************************/ diff --git a/src/main/webapp/resources/js/base/base.js b/src/main/webapp/resources/js/base/base.js index 8f4f8587..75c308ac 100644 --- a/src/main/webapp/resources/js/base/base.js +++ b/src/main/webapp/resources/js/base/base.js @@ -714,8 +714,12 @@ class FormFields { obj[property] = value; } else { let dataFmtType = input.getAttribute("data-fmt-type"); + let dataMap = input.getAttribute("data-map"); + if (["day", "time"].includes(dataFmtType)) obj[property] = value.replace(/-|:/gi, ""); + else if (dataMap.endsWith("AMT")) + obj[property] = value.replace(/,/gi, ""); else obj[property] = value; }