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 54a8f9f2..48949181 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 @@ -112,14 +112,14 @@ public class CrdnSttsHstryBean extends AbstractComponent { */ public boolean createHstryUpdateCrdnSttsCd(CrdnSttsHstry crdnSttsHstry) { // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 + boolean rtnScs = false; // DB 처리 결과 // 사용 여부 if (crdnSttsHstry.getUseYn() == null) { crdnSttsHstry.setUseYn("Y"); } // 단속 상태 변경 일시 - if (crdnSttsHstry.getCrdnSttsChgDt() == null) { + if (crdnSttsHstry.getCrdnSttsChgDt() == null || crdnSttsHstry.getCrdnSttsChgDt().equals("")) { // 현재 날짜 구하기 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); crdnSttsHstry.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); diff --git a/src/main/java/cokr/xit/fims/levy/service/LevyService.java b/src/main/java/cokr/xit/fims/levy/service/LevyService.java index c1f131b0..4b232ced 100644 --- a/src/main/java/cokr/xit/fims/levy/service/LevyService.java +++ b/src/main/java/cokr/xit/fims/levy/service/LevyService.java @@ -59,31 +59,4 @@ public interface LevyService { String createRductLevyList(LevyQuery req); - /**부과 대장 정보를 등록한다. - * @param levy 부과 대장 - * @return 저장 여부 - * - */ - boolean create(Levy levy); - - /**부과 대장 정보를 수정한다. - * @param levy 부과 대장 - * @return 저장 여부 - * - */ - boolean update(Levy levy); - - /**부과 대장 정보를 삭제한다. - * @param levy 부과 대장 - * @return 저장 여부 - * - */ - boolean remove(Levy levy); - } diff --git a/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java b/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java index f2065d53..7d24767a 100644 --- a/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java +++ b/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java @@ -1,6 +1,5 @@ package cokr.xit.fims.levy.service.bean; -import java.text.SimpleDateFormat; import java.util.List; import javax.annotation.Resource; @@ -132,12 +131,12 @@ public class LevyBean extends AbstractComponent { return rtnMsg; } - for (int iLoop = 0; iLoop < trgtList.size() ; iLoop++) { + for (int iLoop = 0; iLoop < trgtList.size(); iLoop++) { Levy levy = new Levy(); - levy.setCrdnId(trgtList.get(iLoop).string("CRDN_ID")); // 단속 ID - levy.setLevyYmd(req.getLevyYmd()); // 부과 일자 - levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자 - levy.setDudtYmd(req.getDudtYmd()); // 납기 일자 + levy.setCrdnId(trgtList.get(iLoop).string("CRDN_ID")); // 단속 ID + levy.setLevyYmd(req.getLevyYmd()); // 부과 일자 + levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자 + levy.setDudtYmd(req.getDudtYmd()); // 납기 일자 rtnMsg = createRductLevy(levy); if (rtnMsg.contains("[F]")) { @@ -168,6 +167,11 @@ public class LevyBean extends AbstractComponent { // 단속 정보 DataObject crdnInfo = levyMapper.selectCrdn(levy.getCrdnId()); + // 전용차로위반, 주정차위반 과태료가 아니라면 오류. + if (!"BPV,PVS".contains(crdnInfo.string("TASK_SE_CD"))) { + rtnMsg = "[F] 작업 중 " + crdnInfo.string("TASK_SE_NM") + " 업무는 사전부과를 할 수 없습니다."; + return rtnMsg; + } if (!crdnInfo.string("LEVY_ID").equals("")) { rtnMsg = "[F] 작업 중 이미 감경 부과된 자료가 있습니다."; return rtnMsg; @@ -181,61 +185,48 @@ public class LevyBean extends AbstractComponent { return rtnMsg; } - // 전용차로위반, 주정차위반 과태료 - if ("BPV,PVS".contains(crdnInfo.string("TASK_SE_CD"))) { - LevyQuery selectLevyNo = new LevyQuery(); - - selectLevyNo.setSggCd(crdnInfo.string("SGG_CD")); - selectLevyNo.setTaskSeCd(crdnInfo.string("TASK_SE_CD")); - selectLevyNo.setFyr(crdnInfo.string("TODAY").substring(0, 4)); - selectLevyNo.setAcntgSeCd(crdnInfo.string("ACNTG_SE_CD")); - selectLevyNo.setTxitmCd(crdnInfo.string("TXITM_CD")); - - levy.setFyr(levy.getLevyYmd().substring(0, 4)); // 회계연도 - levy.setLevyNo(levyMapper.selectMaxLevyNo(selectLevyNo)); // 부과 번호 (최종 부과번호+1 을 조회 한다.) - levy.setFfnlgAmt(crdnInfo.number("FFNLG_AMT").intValue()); // 과태료 금액 - levy.setLevyPcptax(crdnInfo.number("ADVNTCE_AMT").intValue()); // 부과 본세 - levy.setSumAmt(crdnInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액 - } else { -// levy.setFyr(null); // 회계연도 - levy.setLevyNo(null); // 부과 번호 - levy.setLevyYmd(null); // 부과 일자 - levy.setFrstDudtYmd(null); // 최초 납기 일자 - levy.setDudtYmd(null); // 납기 일자 - levy.setFfnlgAmt(crdnInfo.number("FFNLG_AMT").intValue()); // 과태료 금액 - levy.setLevyPcptax(crdnInfo.number("FFNLG_AMT").intValue()); // 부과 본세 - levy.setSumAmt(crdnInfo.number("FFNLG_AMT").intValue()); // 합계 금액 - } - - levy.setSggCd(crdnInfo.string("SGG_CD")); // 시군구 코드 - levy.setTaskSeCd(crdnInfo.string("TASK_SE_CD")); // 업무 구분 코드 - levy.setInstCd(managedUser.getInstitute()); // 기관 코드 - levy.setDeptCd(managedUser.getDeptCode()); // 부서 코드 - levy.setAcntgSeCd(crdnInfo.string("ACNTG_SE_CD")); // 회계 구분 코드 - levy.setTxitmCd(crdnInfo.string("TXITM_CD")); // 세목 코드 - levy.setOperItemCd(crdnInfo.string("OPER_ITEM_CD")); // 운영 항목 코드 - levy.setSpclBizCd(crdnInfo.string("SPCL_BIZ_CD")); // 특별회계 사업 코드 - levy.setInspySn("00"); // 분납 일련번호 - levy.setLevySeCd("02"); // 부과 구분 코드 FIM040 - levy.setUntySeCd("02"); // 통합 구분 코드 FIM072 + // 고지번호 + LevyQuery selectLevyNo = new LevyQuery(); + selectLevyNo.setSggCd(crdnInfo.string("SGG_CD")); + selectLevyNo.setTaskSeCd(crdnInfo.string("TASK_SE_CD")); + selectLevyNo.setFyr(crdnInfo.string("TODAY").substring(0, 4)); + selectLevyNo.setAcntgSeCd(crdnInfo.string("ACNTG_SE_CD")); + selectLevyNo.setTxitmCd(crdnInfo.string("TXITM_CD")); + + levy.setFyr(levy.getLevyYmd().substring(0, 4)); // 회계연도 + levy.setLevyNo(levyMapper.selectMaxLevyNo(selectLevyNo)); // 부과 번호 (최종 부과번호+1 을 조회 한다.) + levy.setFfnlgAmt(crdnInfo.number("FFNLG_AMT").intValue()); // 과태료 금액 + levy.setLevyPcptax(crdnInfo.number("ADVNTCE_AMT").intValue()); // 부과 본세 + levy.setSumAmt(crdnInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액 + levy.setSggCd(crdnInfo.string("SGG_CD")); // 시군구 코드 + levy.setTaskSeCd(crdnInfo.string("TASK_SE_CD")); // 업무 구분 코드 + levy.setInstCd(managedUser.getInstitute()); // 기관 코드 + levy.setDeptCd(managedUser.getDeptCode()); // 부서 코드 + levy.setAcntgSeCd(crdnInfo.string("ACNTG_SE_CD")); // 회계 구분 코드 + levy.setTxitmCd(crdnInfo.string("TXITM_CD")); // 세목 코드 + levy.setOperItemCd(crdnInfo.string("OPER_ITEM_CD")); // 운영 항목 코드 + levy.setSpclBizCd(crdnInfo.string("SPCL_BIZ_CD")); // 특별회계 사업 코드 + levy.setInspySn("00"); // 분납 일련번호 + levy.setLevySeCd("02"); // 부과 구분 코드 FIM040 + levy.setUntySeCd("02"); // 통합 구분 코드 FIM072 if (crdnInfo.string("TASK_SE_CD").equals("BPV")) { - levy.setRductSeCd("02"); // 감경 구분 코드 FIM046 - 02 미감경 + levy.setRductSeCd("02"); // 감경 구분 코드 FIM046 - 02 미감경 } else { - levy.setRductSeCd("01"); // 감경 구분 코드 FIM046 - 01 감경 + levy.setRductSeCd("01"); // 감경 구분 코드 FIM046 - 01 감경 } - levy.setLevyAdamt(0); // 부과 가산금 - levy.setInspyInt(0); // 분납 이자 - levy.setRcvmtPcptax(0); // 수납 본세 - levy.setRcvmtAdamt(0); // 수납 가산금 - levy.setRdcamtPcptax(0); // 감액 본세 - levy.setRdcamtAdamt(0); // 감액 가산금 - levy.setTxtnThing(crdnInfo.string("VHRNO")); // 과세 물건 - levy.setMngItem1(crdnInfo.string("CRDN_YMD_TM_MASK")); // 관리 아이템1 - 위반일시 + levy.setLevyAdamt(0); // 부과 가산금 + levy.setInspyInt(0); // 분납 이자 + levy.setRcvmtPcptax(0); // 수납 본세 + levy.setRcvmtAdamt(0); // 수납 가산금 + levy.setRdcamtPcptax(0); // 감액 본세 + levy.setRdcamtAdamt(0); // 감액 가산금 + levy.setTxtnThing(crdnInfo.string("VHRNO")); // 과세 물건 + levy.setMngItem1(crdnInfo.string("CRDN_YMD_TM_MASK")); // 관리 아이템1 - 위반일시 levy.setMngItem2(crdnInfo.string("CRDN_STDG_NM") + " " + crdnInfo.string("CRDN_PLC")); // 관리 아이템2 - 장소 levy.setMngItem3(crdnInfo.string("VLTN_LAW_NM") + " " + crdnInfo.string("VLTN_LAW1") + " " + crdnInfo.string("VLTN_LAW2")); // 관리 아이템3 - 법령 - levy.setMngItem4(crdnInfo.string("VLTN_ARTCL")); // 관리 아이템4 - 위반항목 - levy.setMngItem5(""); // 관리 아이템5 - levy.setMngItem6(crdnInfo.string("CRDN_ID")); // 관리 아이템6 + levy.setMngItem4(crdnInfo.string("VLTN_ARTCL")); // 관리 아이템4 - 위반항목 + levy.setMngItem5(""); // 관리 아이템5 + levy.setMngItem6(crdnInfo.string("SGG_CD") + "_" + crdnInfo.string("CRDN_ID")); // 관리 아이템6 - 시군구코드 + 단속ID rtnScs = levyMapper.insert(levy); if (!rtnScs) { @@ -243,18 +234,13 @@ public class LevyBean extends AbstractComponent { throw new RuntimeException("감경부과 대장 등록에 실패하였습니다."); } - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - // 단속상태이력(TB_CRDN_STTS_HSTRY) CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - - crdnSttsHstry.setCrdnId(crdnInfo.string("CRDN_ID")); // 단속 ID - crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); // 이전 단속 상태 코드 - crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); // 이전 단속 상태 변경 일시 - crdnSttsHstry.setCrdnSttsCd("23"); // 단속 상태 코드(FIM010) - 감경부과 - crdnSttsHstry.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); // 단속 상태 변경 일시 - crdnSttsHstry.setTaskDtlId(levy.getLevyId()); // 부과 ID + crdnSttsHstry.setCrdnId(crdnInfo.string("CRDN_ID")); // 단속 ID + crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); // 이전 단속 상태 코드 + crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); // 이전 단속 상태 변경 일시 + crdnSttsHstry.setCrdnSttsCd("23"); // 단속 상태 코드(FIM010) - 23: 사전부과 + crdnSttsHstry.setTaskDtlId(levy.getLevyId()); // 부과 ID if (crdnInfo.number("CRDN_STTS_CD").intValue() >= 1 && crdnInfo.number("CRDN_STTS_CD").intValue() <= 22 ) { // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. @@ -307,8 +293,8 @@ public class LevyBean extends AbstractComponent { */ public String updateRcvmt(Levy levy) { // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = ""; // 처리 결과 메시지 rtnScs = levyMapper.updateRcvmt(levy); if (!rtnScs) { @@ -330,8 +316,8 @@ public class LevyBean extends AbstractComponent { */ public String updateRdcamt(Levy levy) { // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = ""; // 처리 결과 메시지 rtnScs = levyMapper.updateRdcamt(levy); if (!rtnScs) { @@ -344,37 +330,4 @@ public class LevyBean extends AbstractComponent { return rtnMsg; } - /**부과 대장 정보를 등록한다. - * @param levy 부과 대장 - * @return 저장 여부 - * - */ - public boolean create(Levy levy) { - return levyMapper.insert(levy); - } - - /**부과 대장 정보를 수정한다. - * @param levy 부과 대장 - * @return 저장 여부 - * - */ - public boolean update(Levy levy) { - return levyMapper.update(levy); - } - - /**부과 대장 정보를 삭제한다. - * @param levy 부과 대장 - * @return 저장 여부 - * - */ - public boolean remove(Levy levy) { - return levyMapper.delete(levy); - } - } diff --git a/src/main/java/cokr/xit/fims/levy/service/bean/LevyServiceBean.java b/src/main/java/cokr/xit/fims/levy/service/bean/LevyServiceBean.java index 56cc108a..d1ccf35c 100644 --- a/src/main/java/cokr/xit/fims/levy/service/bean/LevyServiceBean.java +++ b/src/main/java/cokr/xit/fims/levy/service/bean/LevyServiceBean.java @@ -64,19 +64,4 @@ public class LevyServiceBean extends AbstractServiceBean implements LevyService return levyBean.createRductLevyList(req); } - @Override - public boolean create(Levy levy) { - return levyBean.create(levy); - } - - @Override - public boolean update(Levy levy) { - return levyBean.update(levy); - } - - @Override - public boolean remove(Levy levy) { - return levyBean.remove(levy); - } - } diff --git a/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java b/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java index 868d44cc..8118a49f 100644 --- a/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java +++ b/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java @@ -23,7 +23,6 @@ import cokr.xit.fims.cmmn.CmmnQuery; import cokr.xit.fims.cmmn.service.bean.StngBean; import cokr.xit.fims.cmmn.xls.FormatMaker; import cokr.xit.fims.cmmn.xls.StyleMaker; -import cokr.xit.fims.levy.Levy; import cokr.xit.fims.levy.LevyQuery; import cokr.xit.fims.levy.service.LevyService; import cokr.xit.fims.mngt.service.bean.TaskBean; @@ -104,7 +103,7 @@ public class Levy01Controller extends ApplicationController { * "levyTotal": 조회 결과 찾은 전체 부과 대장 수 * } */ - @Task({"DPV", "PVS","BPV"}) + @Task({"PVS","BPV"}) @RequestMapping(name="사전 감경부과 대상 목록 조회", value=METHOD_URL.getReductionLevyTargetList) public ModelAndView getReductionLevyTargetList(LevyQuery req) { if (!"xls".equals(req.getDownload())) { @@ -170,7 +169,7 @@ public class Levy01Controller extends ApplicationController { * "rductLevyYmdInfo": 감경 부과 정보 * } */ - @Task({"DPV", "PVS","BPV"}) + @Task({"PVS","BPV"}) @RequestMapping(name="사전 감경부과 정보 조회", value=METHOD_URL.getReductionLevyTargetInfo) public ModelAndView getReductionLevyTargetInfo(LevyQuery req) { // 감경 부과일자 @@ -202,7 +201,7 @@ public class Levy01Controller extends ApplicationController { * "saved": 등록되었으면 true, 그렇지 않으면 false * } */ - @Task({"DPV", "PVS","BPV"}) + @Task({"PVS","BPV"}) @RequestMapping(name="사전 감경부과 대장 등록", value=METHOD_URL.createReductionLevyList) public ModelAndView createReductionLevyList(LevyQuery req) { boolean saved = false; @@ -341,52 +340,4 @@ public class Levy01Controller extends ApplicationController { } } - - - - - - /**부과 대장를 등록한다. - * @param levy 부과 대장 정보 - * @return jsonView - *
 {
-	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
-	 * }
- */ - public ModelAndView create(Levy levy) { - boolean saved = levyService.create(levy); - - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - - /**부과 대장 정보를 수정한다. - * @param levy 부과 대장 정보 - * @return jsonView - *
 {
-	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
-	 * }
- */ - public ModelAndView update(Levy levy) { - boolean saved = levyService.update(levy); - - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - - /**지정한 부과 대장를 제거한다. - * @param levyId 부과 대장 ID - * @return jsonView - *
 {
-	 *     "affected": 저장된 정보수
-	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
-	 * }
- */ - public ModelAndView remove(Levy levy) { - boolean saved = levyService.remove(levy); - - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - } diff --git a/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml b/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml index ce21dab3..8ab16d39 100644 --- a/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml +++ b/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml @@ -962,11 +962,13 @@ SELECT C.CRDN_ID , C.SGG_CD , C.TASK_SE_CD + , (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM , C.CVLCPT_LINK_YN , C.LINK_TBL_NM , C.LINK_ID , C.CRDN_YMD , C.CRDN_TM + , (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK , C.VHRNO , C.CRDN_STDG_NM , C.CRDN_ROAD_NM @@ -985,12 +987,11 @@ , C.ADVNTCE_DUDT_YMD , C.ADVNTCE_AMT , C.CRDN_STTS_CD + , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM , C.CRDN_STTS_CHG_DT , C.ADTN_AMT , C.MINUS_AMT , C.RCVMT_AMT - , (GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':')) AS CRDN_YMD_TM_MASK - , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM , V.VLTN_CD , V.VLTN_ARTCL , V.VLTN_LAW_NM diff --git a/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp index ff9e890a..153007ff 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp @@ -178,10 +178,10 @@ - - @@ -382,7 +382,7 @@ }); // 선택 대상 감경부과 등록 버튼 - $("#btnCreateSlctnTrgtRductLevy--${pageName}").prop("disabled", keys.length < 1); + $("#btnCreateSlctnTrgt--${pageName}").prop("disabled", keys.length < 1); // DataTables(그리드) 전체 선택(checkbox) if (keys.length < 1) {