From 7762ec95ca9b327fdad93cf309a53e38d0e83046 Mon Sep 17 00:00:00 2001 From: jjh Date: Mon, 11 Sep 2023 17:30:10 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B6=80=EA=B3=BC=EC=A0=9C=EC=99=B8(=EC=84=9C?= =?UTF-8?q?=EC=86=90)=20=EC=B7=A8=EC=86=8C=EC=8B=9C=20=EC=B2=98=EB=A6=AC?= =?UTF-8?q?=EC=83=81=ED=83=9C=20=EB=B3=80=EA=B2=BD=20=EB=B6=80=EB=B6=84=20?= =?UTF-8?q?=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fims/cmmn/dao/CrdnSttsHstryMapper.java | 3 +- .../cmmn/service/bean/CrdnSttsHstryBean.java | 20 +--- .../fims/excl/service/bean/Excl01Bean.java | 64 ++++++---- .../excl/service/bean/Excl01ServiceBean.java | 3 +- .../xit/fims/levy/service/Levy02Service.java | 8 +- .../fims/levy/service/bean/Levy02Bean.java | 112 ++++++++++++------ .../levy/service/bean/Levy02ServiceBean.java | 24 ++-- .../xit/fims/levy/web/Levy02Controller.java | 52 ++++++-- .../mapper/fims/cmmn/crdnSttsHstry-mapper.xml | 21 ++-- .../WEB-INF/jsp/fims/excl/excl01010-main.jsp | 8 +- .../WEB-INF/jsp/fims/levy/levy02020-info.jsp | 6 +- .../WEB-INF/jsp/fims/sprt/sprt02050-info.jsp | 36 +++--- 12 files changed, 229 insertions(+), 128 deletions(-) diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/CrdnSttsHstryMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/CrdnSttsHstryMapper.java index 09b72afc..a335e88e 100644 --- a/src/main/java/cokr/xit/fims/cmmn/dao/CrdnSttsHstryMapper.java +++ b/src/main/java/cokr/xit/fims/cmmn/dao/CrdnSttsHstryMapper.java @@ -39,7 +39,8 @@ public interface CrdnSttsHstryMapper extends AbstractMapper { * @return 지정한 단속 ID의 단속 상태 이력 객체 */ default DataObject selectCrdnSttsHstryInfo(String crdnId) { - List crdnSttsHstryList = selectCrdnSttsHstrys(new CrdnSttsHstryQuery().setCrdnId(crdnId).setOrderBy("REG_DT")); + List crdnSttsHstryList = selectCrdnSttsHstrys(new CrdnSttsHstryQuery().setCrdnId(crdnId) + .setOrderBy("REG_DT DESC, STTS_HSTRY_ID DESC")); return !crdnSttsHstryList.isEmpty() ? crdnSttsHstryList.get(0) : null; } diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java index 89e69a31..00e88376 100644 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java +++ b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java @@ -110,7 +110,8 @@ public class CrdnSttsHstryBean extends AbstractComponent { * */ public boolean createHstryUpdateCrdnSttsCd(CrdnSttsHstry crdnSttsHstry) { - boolean retSuccess = false; // DB 처리 결과 + // 변수 선언 + boolean retSuccess = false; // DB 처리 결과 if (crdnSttsHstry.getUseYn() == null) { crdnSttsHstry.setUseYn("Y"); @@ -120,7 +121,7 @@ public class CrdnSttsHstryBean extends AbstractComponent { retSuccess = crdnSttsHstryMapper.insert(crdnSttsHstry); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. - throw new RuntimeException("단속상태이력 정보 등록 중 오류가 발생하였습니다."); + throw new RuntimeException("단속상태이력 대장 등록에 실패하였습니다."); } // 단속(TB_CRDN) 대장을 수정 한다. @@ -141,14 +142,14 @@ public class CrdnSttsHstryBean extends AbstractComponent { * */ public boolean removeHstryUpdateCrdnSttsCd(String crdnId, String newCrdnSttsCd) { + // 변수 선언 boolean retSuccess = false; // DB 처리 결과 - DataObject infoCrdnSttsHstry = new DataObject(); // 단속상태이력(TB_CRDN_STTS_HSTRY) 조회 CrdnSttsHstry newCrdnSttsHstry = new CrdnSttsHstry(); // 단속상태이력(TB_CRDN_STTS_HSTRY) 신규 등록 CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); // 단속상태이력(TB_CRDN_STTS_HSTRY) // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 조회 한다. - infoCrdnSttsHstry = crdnSttsHstryMapper.selectCrdnSttsHstryInfo(crdnId); + DataObject infoCrdnSttsHstry = crdnSttsHstryMapper.selectCrdnSttsHstryInfo(crdnId); // 단속상태이력(TB_CRDN_STTS_HSTRY) 조회 // 신규 단속상태코드가 있다면.. 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록 한다. if (!newCrdnSttsCd.equals("") ) { @@ -156,7 +157,7 @@ public class CrdnSttsHstryBean extends AbstractComponent { newCrdnSttsHstry.setBfrSttsCd(infoCrdnSttsHstry.string("BFR_STTS_CD")); // 이전 상태 코드 newCrdnSttsHstry.setBfrSttsChgDt(infoCrdnSttsHstry.string("BFR_STTS_CHG_DT")); // 이전 상태 변경 일시 newCrdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd); - newCrdnSttsHstry.setUseYn("N"); + newCrdnSttsHstry.setUseYn("Y"); retSuccess = crdnSttsHstryMapper.insert(newCrdnSttsHstry); if (!retSuccess) { @@ -165,15 +166,6 @@ public class CrdnSttsHstryBean extends AbstractComponent { } } - // 조회된 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 삭제 한다. - crdnSttsHstry.setSttsHstryId(infoCrdnSttsHstry.string("STTS_HSTRY_ID")); // 상태 이력 ID - - retSuccess = crdnSttsHstryMapper.delete(crdnSttsHstry); - if (!retSuccess) { - // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. - throw new RuntimeException("단속상태이력 정보 삭제 중 오류가 발생하였습니다."); - } - // 단속(TB_CRDN) 대장의 단속 상태 코드를 수정 한다. crdnSttsHstry.setCrdnId(infoCrdnSttsHstry.string("CRDN_ID")); // 단속 ID crdnSttsHstry.setCrdnSttsCd(infoCrdnSttsHstry.string("BFR_STTS_CD")); // 상태 코드 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 41a7639a..4bb52ec1 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 @@ -93,7 +93,7 @@ public class Excl01Bean extends AbstractComponent { public String createLevyExcl(LevyExcl levyExcl) { // 변수 선언 boolean retSuccess = false; // DB 처리 결과 - String retMessagae = ""; // 처리 결과 메시지 + String retMessage = ""; // 처리 결과 메시지 String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD) // 단속 ID로 단속, 부과제외 정보 조회 @@ -101,30 +101,30 @@ public class Excl01Bean extends AbstractComponent { // 부과제외 ID가 있다면 이미 부과제외 자료가 존재하므로 종료.. if (!infoCrdnLevyExcl.string("LEVY_EXCL_ID").equals("")) { - retMessagae = "[F] 작업 중 이미 등록된 자료가 존재합니다."; - return retMessagae; + retMessage = "[F] 작업 중 이미 등록된 자료가 존재합니다."; + return retMessage; } // 단속 상태 코드(CRDN_STTS_CD) 확인.. if (levyExcl.getLevyExclSeCd().equals("1") || levyExcl.getLevyExclSeCd().equals("2")) { // 비부과(서손), 계고 // 단속 상태 코드가 부과(51) 보다 크다면, 비부과 또는 계고를 등록 할 수 없다. 종료.. if (infoCrdnLevyExcl.number("CRDN_STTS_CD").intValue() > 50) { - retMessagae = "[F] 작업 중 오류가 발생하였습니다.
현재 자료의 단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다."; - return retMessagae; + retMessage = "[F] 작업 중 오류가 발생하였습니다.
현재 자료의 단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다."; + return retMessage; } } else if (levyExcl.getLevyExclSeCd().equals("5")) { // 단속 상태 코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다. 종료.. 전액감액 등록은 부과이후... if (infoCrdnLevyExcl.number("CRDN_STTS_CD").intValue() < 51) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - retMessagae = "[F] 작업 중 오류가 발생하였습니다.
현재 자료의 단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다."; - return retMessagae; + retMessage = "[F] 작업 중 오류가 발생하였습니다.
현재 자료의 단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다."; + return retMessage; } } // 단속 민원(TB_CRDN_CVLCPT) 민원 처리 확인 if (!infoCrdnLevyExcl.string("CVLCPT_LINK_ID").equals("")) { if (infoCrdnLevyExcl.string("CVLCPT_PRCS_CD").equals("00")) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - retMessagae = "[F] 작업 중 단속 민원 자료가 처리 되지 않았습니다.
단속 민원 업무를 먼저 처리 하시기 바랍니다.
"; - return retMessagae; + retMessage = "[F] 작업 중 단속 민원 자료가 처리 되지 않았습니다.
단속 민원 업무를 먼저 처리 하시기 바랍니다.
"; + return retMessage; } } @@ -165,9 +165,9 @@ public class Excl01Bean extends AbstractComponent { } - retMessagae = "[S] 작업이 정상 처리 되었습니다."; + retMessage = "[S] 작업이 정상 처리 되었습니다."; - return retMessagae; + return retMessage; } /**부과제외 대장 정보를 수정한다. @@ -180,7 +180,7 @@ public class Excl01Bean extends AbstractComponent { public String updateLevyExcl(LevyExcl levyExcl) { // 변수 선언 boolean retSuccess = false; // DB 처리 결과 - String retMessagae = ""; // 처리 결과 메시지 + String retMessage = ""; // 처리 결과 메시지 // 부과제외(TB_LEVY_EXCL) 대장을 수정 한다. retSuccess = levyExclMapper.update(levyExcl); @@ -189,9 +189,9 @@ public class Excl01Bean extends AbstractComponent { throw new RuntimeException("부과제외 대장 수정에 실패하였습니다."); } - retMessagae = "[S] 작업이 정상 처리 되었습니다."; + retMessage = "[S] 작업이 정상 처리 되었습니다."; - return retMessagae; + return retMessage; } /**부과제외 대장 정보를 삭제한다. @@ -204,22 +204,32 @@ public class Excl01Bean extends AbstractComponent { public String removeLevyExcl(LevyExcl levyExcl) { // 변수 선언 boolean retSuccess = false; // DB 처리 결과 - String retMessagae = ""; // 처리 결과 메시지 + String retMessage = ""; // 처리 결과 메시지 String newHstrySttsCd = ""; // 신규 상태 코드 // 단속 ID로 단속, 부과제외 정보 조회 - DataObject infoCrdnLevyExcl = levyExclMapper.selectCrdnInfo(levyExcl.getCrdnId()); + ExclQuery req = new ExclQuery(); + + req.setLevyExclId(levyExcl.getLevyExclId()); + req.setDelYn("N"); + DataObject infoCrdnLevyExcl = levyExclMapper.selectCrdn(req); + + // 부과제외 ID가 조회되지 않았다면 종료.. + if (infoCrdnLevyExcl.string("LEVY_EXCL_ID").equals("")) { + retMessage = "[F] 작업 중 자료가 존재하지 않습니다."; + return retMessage; + } // 단속 상태 코드(CRDN_STTS_CD) 확인.. if (infoCrdnLevyExcl.string("LEVY_EXCL_SE_CD").equals("1") && !infoCrdnLevyExcl.string("CRDN_STTS_CD").equals("81")) { // 비부과(서손) - retMessagae = "[F] 작업 중 오류가 발생하였습니다.
현재 자료의 단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 이(가) 아닙니다."; - return retMessagae; + retMessage = "[F] 작업 중 오류가 발생하였습니다.
현재 자료의 단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 이(가) 아닙니다."; + return retMessage; } else if (infoCrdnLevyExcl.string("LEVY_EXCL_SE_CD").equals("2") && !infoCrdnLevyExcl.string("CRDN_STTS_CD").equals("83")) { // 계고 - retMessagae = "[F] 작업 중 오류가 발생하였습니다.
현재 자료의 단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 이(가) 아닙니다."; - return retMessagae; + retMessage = "[F] 작업 중 오류가 발생하였습니다.
현재 자료의 단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 이(가) 아닙니다."; + return retMessage; } else if (infoCrdnLevyExcl.string("LEVY_EXCL_SE_CD").equals("5") && !infoCrdnLevyExcl.string("CRDN_STTS_CD").equals("80")) { // 부과취소 - retMessagae = "[F] 작업 중 오류가 발생하였습니다.
현재 자료의 단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 이(가) 아닙니다."; - return retMessagae; + retMessage = "[F] 작업 중 오류가 발생하였습니다.
현재 자료의 단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 이(가) 아닙니다."; + return retMessage; } // 부과제외(TB_LEVY_EXCL) 대장을 삭제 한다. @@ -239,7 +249,7 @@ public class Excl01Bean extends AbstractComponent { retSuccess = crdnSttsHstryBean.removeHstryUpdateCrdnSttsCd(infoCrdnLevyExcl.string("CRDN_ID"), newHstrySttsCd); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과제외 삭제 중 단속 대장의 단속상태코드 변경에 실패하였습니다."); + throw new RuntimeException("부과제외 삭제 중 단속 대장의 단속상태코드 수정에 실패하였습니다."); } // 부과제외 구분이 비부과(서손)일 경우 @@ -253,12 +263,16 @@ public class Excl01Bean extends AbstractComponent { crdn.setParkngPsbltyRsltCd("0"); // 주차 가능 결과 코드 - 0 미확인 retSuccess = levyExclMapper.updateParkngPsbltyRsltCd(crdn); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("부과제외 삭제 중 단속 대장의 표지정보 수정에 실패하였습니다."); + } } } - retMessagae = "[S] 작업이 정상 처리 되었습니다."; + retMessage = "[S] 작업이 정상 처리 되었습니다."; - return retMessagae; + return retMessage; } } 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 b88ba516..18c52149 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 @@ -74,7 +74,7 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv // 부과제외IDs 건수를 확인하여 1건이하면.. 종료 if (req.getLevyExclIDs().length < 1 ) { - retMessage = ""; + retMessage = "작업 중 선택 자료가 존재하지 않습니다."; return retMessage; } @@ -87,7 +87,6 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv // 부과제외 삭제 호출 retMessage = excl01Bean.removeLevyExcl(levyExcl); - // 오류가 발생하였으면 종료.. if (retMessage.contains("[F]")) { return retMessage; diff --git a/src/main/java/cokr/xit/fims/levy/service/Levy02Service.java b/src/main/java/cokr/xit/fims/levy/service/Levy02Service.java index af804f8d..e39378fc 100644 --- a/src/main/java/cokr/xit/fims/levy/service/Levy02Service.java +++ b/src/main/java/cokr/xit/fims/levy/service/Levy02Service.java @@ -43,7 +43,7 @@ public interface Levy02Service { *
  • 그렇지 않으면 false
  • * */ - boolean createRduct(Rduct rduct); + String createRduct(Rduct rduct); /**과태료 감경 대장 정보를 수정한다. * @param rduct 과태료 감경 대장 @@ -52,7 +52,7 @@ public interface Levy02Service { *
  • 그렇지 않으면 false
  • * */ - boolean updateRduct(Rduct rduct); + String updateRduct(Rduct rduct); /**과태료 감경 대장 정보를 삭제한다. * @param rduct 과태료 감경 대장 @@ -61,7 +61,7 @@ public interface Levy02Service { *
  • 그렇지 않으면 false
  • * */ - boolean removeRduct(Rduct rduct); + String removeRduct(Rduct rduct); /**과태료 감경 대장 정보를 삭제한다. * @param rduct 과태료 감경 대장 @@ -70,6 +70,6 @@ public interface Levy02Service { *
  • 그렇지 않으면 false
  • * */ - boolean removeRducts(LevyQuery req); + String removeRducts(LevyQuery req); } 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 ba877071..a19f3e14 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 @@ -1,6 +1,5 @@ package cokr.xit.fims.levy.service.bean; -import java.util.Iterator; import java.util.List; import javax.annotation.Resource; @@ -41,22 +40,28 @@ public class Levy02Bean extends AbstractComponent { * @return 과태료 감경 대장 목록 */ public List getRductList(LevyQuery req) { - List dataObjectList = rductMapper.selectRductList(req); - - Iterator iterator = dataObjectList.iterator(); - while(iterator.hasNext()) { - DataObject dataObject = iterator.next(); - String state = dataObject.string("CRDN_STTS_CD"); - int advntceAmt = dataObject.number("ADVNTCE_AMT").intValue(); - int ffnlgAmt = dataObject.number("FFNLG_AMT").intValue(); - int minusAmt = dataObject.number("MINUS_AMT").intValue(); - int adtnAmt = dataObject.number("ADTN_AMT").intValue(); - int rcvmtAmt = dataObject.number("RCVMT_AMT").intValue(); - - dataObject.set("BLNC", crdnStngBean.getBalance(state,advntceAmt,ffnlgAmt,minusAmt,adtnAmt,rcvmtAmt)); - } + if (req.getOrderBy() == null) { + req.setOrderBy("REG_DT"); + } - return dataObjectList; + return rductMapper.selectRductList(req); + +// List dataObjectList = rductMapper.selectRductList(req); +// +// Iterator iterator = dataObjectList.iterator(); +// while(iterator.hasNext()) { +// DataObject dataObject = iterator.next(); +// String state = dataObject.string("CRDN_STTS_CD"); +// int advntceAmt = dataObject.number("ADVNTCE_AMT").intValue(); +// int ffnlgAmt = dataObject.number("FFNLG_AMT").intValue(); +// int minusAmt = dataObject.number("MINUS_AMT").intValue(); +// int adtnAmt = dataObject.number("ADTN_AMT").intValue(); +// int rcvmtAmt = dataObject.number("RCVMT_AMT").intValue(); +// +// dataObject.set("BLNC", crdnStngBean.getBalance(state,advntceAmt,ffnlgAmt,minusAmt,adtnAmt,rcvmtAmt)); +// } +// +// return dataObjectList; } @@ -103,34 +108,35 @@ public class Levy02Bean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean createRduct(Rduct rduct) { + public String createRduct(Rduct rduct) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 + boolean retSuccess = false; // DB 처리 결과 + String retMessage = ""; // 처리 결과 메시지 // 단속 ID로 단속, 감경 정보 조회 DataObject infoCrdnRduct = rductMapper.selectCrdnInfo(rduct.getCrdnId()); // 감경 ID가 있다면 이미 부과제외 자료가 존재하므로 종료.. if (!infoCrdnRduct.string("RDUCT_ID").equals("")) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("과태료 감경 정보가 이미 존재합니다."); + retMessage = "[F] 작업 중 이미 등록된 자료가 존재합니다."; + return retMessage; } // 단속 상태 코드(CRDN_STTS_CD) 확인하여 부과(51) 이후라면.. if (infoCrdnRduct.number("CRDN_STTS_CD").intValue() > 51) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("단속 상태가 " + infoCrdnRduct.string("CRDN_STTS_NM") + " 상태 입니다"); + retMessage = "[F] 작업 중 오류가 발생하였습니다.
    현재 자료의 단속 상태가 " + infoCrdnRduct.string("CRDN_STTS_NM") + " 상태 입니다."; + return retMessage; } // 부과 가산금(LEVY_ADAMT)이 있다면.. if (infoCrdnRduct.number("LEVY_ADAMT").intValue() > 0) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과 가산금이 존재하여 감경 등록에 실패하였습니다."); + retMessage = "[F] 작업 중 오류가 발생하였습니다.
    부과 가산금이 존재합니다."; + return retMessage; } // 과태료 감경(TB_RDUCT) 대장을 등록 한다. retSuccess = rductMapper.insert(rduct); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("감경 대장 등록에 실패하였습니다."); + throw new RuntimeException("과태료 감경 대장 등록에 실패하였습니다."); } int ffnlgAmt = 0; // 과태료 금액 @@ -193,7 +199,9 @@ public class Levy02Bean extends AbstractComponent { } } - return true; + retMessage = "[S] 작업이 정상 처리 되었습니다."; + + return retMessage; } /**과태료 감경 대장 정보를 수정한다. @@ -203,8 +211,21 @@ public class Levy02Bean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean updateRduct(Rduct rduct) { - return rductMapper.update(rduct); + public String updateRduct(Rduct rduct) { + // 변수 선언 + boolean retSuccess = false; // DB 처리 결과 + String retMessagae = ""; // 처리 결과 메시지 + + // 과태료 감경(TB_RDUCT) 대장을 수정 한다. + retSuccess = rductMapper.update(rduct); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("과태료 감경 대장 수정에 실패하였습니다."); + } + + retMessagae = "[S] 작업이 정상 처리 되었습니다."; + + return retMessagae; } /**과태료 감경 대장 정보를 삭제한다. @@ -214,12 +235,34 @@ public class Levy02Bean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean removeRduct(Rduct rduct) { + public String removeRduct(Rduct rduct) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 + boolean retSuccess = false; // DB 처리 결과 + String retMessage = ""; // 처리 결과 메시지 + + // 단속 ID로 단속, 감경 정보 조회 + LevyQuery req = new LevyQuery(); + + req.setRductId(rduct.getRductId()); + req.setDelYn("N"); - // 감경(TB_RDUCT) 자료 조회 + DataObject infoCrdnRduct = rductMapper.selectCrdn(req); + // 감경 ID가 조회되지 않았다면 종료.. + if (infoCrdnRduct.string("RDUCT_ID").equals("")) { + retMessage = "[F] 작업 중 자료가 존재하지 않습니다."; + return retMessage; + } + // 단속 상태 코드(CRDN_STTS_CD) 확인하여 부과(51) 이후라면.. + if (infoCrdnRduct.number("CRDN_STTS_CD").intValue() > 51) { + retMessage = "[F] 작업 중 오류가 발생하였습니다.
    현재 자료의 단속 상태가 " + infoCrdnRduct.string("CRDN_STTS_NM") + " 상태 입니다."; + return retMessage; + } + // 부과 가산금(LEVY_ADAMT)이 있다면.. + if (infoCrdnRduct.number("LEVY_ADAMT").intValue() > 0) { + retMessage = "[F] 작업 중 오류가 발생하였습니다.
    부과 가산금이 존재합니다."; + return retMessage; + } // 감경(TB_RDUCT) 대장을 삭제 한다. retSuccess = rductMapper.delete(rduct); @@ -228,9 +271,6 @@ public class Levy02Bean extends AbstractComponent { throw new RuntimeException("감경 대장 삭제에 실패하였습니다."); } - // 단속 자료 조회 - DataObject infoCrdnRduct = rductMapper.selectCrdnInfo(rduct.getCrdnId()); - // 과태료 금액 변경 int ffnlgAmt = 0; // 과태료 금액 int advntceAmt = 0; // 사전통지 금액 @@ -294,7 +334,9 @@ public class Levy02Bean extends AbstractComponent { } } - return true; + retMessage = "[S] 작업이 정상 처리 되었습니다."; + + return retMessage; } } 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 aa4781f6..beb4d3c9 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 @@ -54,28 +54,29 @@ public class Levy02ServiceBean extends AbstractServiceBean implements Levy02Serv } @Override - public boolean createRduct(Rduct rduct) { + public String createRduct(Rduct rduct) { return levy02Bean.createRduct(rduct); } @Override - public boolean updateRduct(Rduct rduct) { + public String updateRduct(Rduct rduct) { return levy02Bean.updateRduct(rduct); } @Override - public boolean removeRduct(Rduct rduct) { + public String removeRduct(Rduct rduct) { return levy02Bean.removeRduct(rduct); } @Override - public boolean removeRducts(LevyQuery req) { + public String removeRducts(LevyQuery req) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 + String retMessage = ""; // 처리 결과 메시지 // 감경 IDs 건수를 확인하여 1건이하면.. 종료 if (req.getRductIDs().length < 1 ) { - return retSuccess; + retMessage = "작업 중 선택 자료가 존재하지 않습니다."; + return retMessage; } // 감경 IDs 만큼 반복.. @@ -85,14 +86,15 @@ public class Levy02ServiceBean extends AbstractServiceBean implements Levy02Serv rduct.setRductId(req.getRductIDs()[iLoop]); // 감경 ID rduct.setDelRsn(req.getDelRsn()); // 삭제 사유 - // 의견제출 삭제 호출 - retSuccess = levy02Bean.removeRduct(rduct); - if (!retSuccess) { - return retSuccess; + // 과태료 감경 삭제 호출 + retMessage = levy02Bean.removeRduct(rduct); + // 오류가 발생하였으면 종료.. + if (retMessage.contains("[F]")) { + return retMessage; } } - return true; + return retMessage; } } 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 44bd3bdd..71bebdf5 100644 --- a/src/main/java/cokr/xit/fims/levy/web/Levy02Controller.java +++ b/src/main/java/cokr/xit/fims/levy/web/Levy02Controller.java @@ -83,11 +83,11 @@ public class Levy02Controller extends ApplicationController { if (req.getCallPurpose().equals("create") && !rductInfo.string("RDUCT_ID").equals("")) { ModelAndView mav = new ModelAndView("jsonView"); - return mav.addObject("errorMessage", "이미 등록된 과태료 감경 정보가 있습니다."); + return mav.addObject("retMessage", "이미 등록된 과태료 감경 정보가 있습니다."); } else if (req.getCallPurpose().equals("create") && rductInfo.string("RTPYR_ID").equals("")) { ModelAndView mav = new ModelAndView("jsonView"); - return mav.addObject("errorMessage", "납부자 정보가 없습니다."); + return mav.addObject("retMessage", "납부자 정보가 없습니다."); } else { boolean json = jsonResponse(); @@ -113,10 +113,18 @@ public class Levy02Controller extends ApplicationController { */ @PostMapping(name = "과태료 감경 대장 등록", value = "/020/create.do") public ModelAndView createRduct(Rduct rduct) { - boolean saved = levy02Service.createRduct(rduct); + boolean saved = false; + String retMessage = levy02Service.createRduct(rduct); + + if (retMessage.contains("[S]")) { + saved = true; + } else { + saved = false; + } return new ModelAndView("jsonView") - .addObject("saved", saved); + .addObject("saved", saved) + .addObject("retMessage", retMessage); } /**과태료 감경 대장 정보를 수정한다. @@ -128,10 +136,18 @@ public class Levy02Controller extends ApplicationController { */ @PostMapping(name = "과태료 감경 대장 수정", value = "/020/update.do") public ModelAndView updateRduct(Rduct rduct) { - boolean saved = levy02Service.updateRduct(rduct); + boolean saved = false; + String retMessage = levy02Service.updateRduct(rduct); + + if (retMessage.contains("[S]")) { + saved = true; + } else { + saved = false; + } return new ModelAndView("jsonView") - .addObject("saved", saved); + .addObject("saved", saved) + .addObject("retMessage", retMessage); } /**지정한 과태료 감경 대장를 제거한다. @@ -144,10 +160,18 @@ public class Levy02Controller extends ApplicationController { */ @PostMapping(name = "과태료 감경 대장 제거", value = "/010/remove.do") public ModelAndView removeRduct(Rduct req) { - boolean saved = levy02Service.removeRduct(req); + boolean saved = false; + String retMessage = levy02Service.removeRduct(req); + + if (retMessage.contains("[S]")) { + saved = true; + } else { + saved = false; + } return new ModelAndView("jsonView") - .addObject("saved", saved); + .addObject("saved", saved) + .addObject("retMessage", retMessage); } /**여러 건의 과태료 감경 대장를 제거한다. @@ -160,10 +184,18 @@ public class Levy02Controller extends ApplicationController { */ @PostMapping(name="의견제출 대장 제거", value="/010/removes.do") public ModelAndView removeRducts(LevyQuery req) { - boolean saved = levy02Service.removeRducts(req); + boolean saved = false; + String retMessage = levy02Service.removeRducts(req); + + if (retMessage.contains("[S]")) { + saved = true; + } else { + saved = false; + } return new ModelAndView("jsonView") - .addObject("saved", saved); + .addObject("saved", saved) + .addObject("retMessage", retMessage); } } diff --git a/src/main/resources/sql/mapper/fims/cmmn/crdnSttsHstry-mapper.xml b/src/main/resources/sql/mapper/fims/cmmn/crdnSttsHstry-mapper.xml index f22dc86b..5ef29caa 100644 --- a/src/main/resources/sql/mapper/fims/cmmn/crdnSttsHstry-mapper.xml +++ b/src/main/resources/sql/mapper/fims/cmmn/crdnSttsHstry-mapper.xml @@ -40,7 +40,7 @@ , CSH.MDFCN_DT /* 수정 일시 */ , CSH.MDFR /* 수정자 */ , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CSH.MDFR) AS MDFR_NM /* 수정자 명 */ - FROM TB_CRDN_STTS_HSTRY CSH + FROM TB_CRDN_STTS_HSTRY CSH