From cb357efd0ea6d275fe93e4ee94804cb1a426e840 Mon Sep 17 00:00:00 2001 From: jjh Date: Wed, 20 Sep 2023 17:08:09 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B0=9C=EB=B3=84=EC=B4=9D=EC=A0=95=EB=B3=B4?= =?UTF-8?q?=20-=20=EB=82=A9=EB=B6=80=EC=9E=90=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xit/fims/excl/dao/LevyExclMapper.java | 5 + .../xit/fims/excl/dao/OpnnSbmsnMapper.java | 5 + .../fims/excl/service/bean/Excl01Bean.java | 2 +- .../fims/excl/service/bean/Excl02Bean.java | 2 +- .../fims/excl/service/bean/Excl03Bean.java | 2 +- .../cokr/xit/fims/levy/dao/RductMapper.java | 4 + .../fims/levy/service/bean/Levy02Bean.java | 20 +- .../java/cokr/xit/fims/payer/PayerQuery.java | 45 +++- .../cokr/xit/fims/payer/dao/PayerMapper.java | 27 ++ .../xit/fims/payer/service/PayerService.java | 7 + .../fims/payer/service/bean/PayerBean.java | 23 ++ .../payer/service/bean/PayerServiceBean.java | 15 ++ .../xit/fims/payer/web/PayerController.java | 46 +++- .../fims/sprt/dao/CvlcptDscsnCnMapper.java | 4 + .../xit/fims/sprt/service/Sprt02Service.java | 1 - .../fims/sprt/service/bean/Sprt04Bean.java | 6 +- .../cokr/xit/fims/task/web/BpvController.java | 14 +- .../cokr/xit/fims/task/web/CmnController.java | 14 +- .../cokr/xit/fims/task/web/DpvController.java | 13 + .../cokr/xit/fims/task/web/EcaController.java | 13 + .../cokr/xit/fims/task/web/PvsController.java | 13 + .../sql/mapper/fims/payer-mapper.xml | 102 +++++++- .../sql/mapper/fims/sprt/totalInfo-mapper.xml | 1 + .../WEB-INF/jsp/fims/crdn/crdn06020-info.jsp | 2 +- .../WEB-INF/jsp/fims/crdn/crdn06030-info.jsp | 2 +- .../WEB-INF/jsp/fims/excl/excl01010-main.jsp | 7 +- .../WEB-INF/jsp/fims/excl/excl01020-info.jsp | 2 +- .../WEB-INF/jsp/fims/excl/excl02010-main.jsp | 18 +- .../WEB-INF/jsp/fims/excl/excl02020-info.jsp | 2 +- .../WEB-INF/jsp/fims/excl/excl02030-info.jsp | 2 +- .../WEB-INF/jsp/fims/excl/excl03010-main.jsp | 10 +- .../WEB-INF/jsp/fims/levy/levy02020-info.jsp | 2 +- .../jsp/fims/payer/payer01020-info.jsp | 232 ++++++++++++++++++ .../WEB-INF/jsp/fims/sprt/sprt02020-info.jsp | 58 ++++- .../WEB-INF/jsp/fims/sprt/sprt04020-info.jsp | 2 +- 35 files changed, 654 insertions(+), 69 deletions(-) create mode 100644 src/main/webapp/WEB-INF/jsp/fims/payer/payer01020-info.jsp diff --git a/src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java b/src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java index f701fd16..37bfe3aa 100644 --- a/src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java +++ b/src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java @@ -43,6 +43,11 @@ public interface LevyExclMapper extends AbstractMapper { * @return 부과제외 대장 객체 */ default DataObject selectLevyExclInfo(ExclQuery req) { + // 기본 정렬 + if (req.getOrderBy() == null) { + req.setOrderBy("LE.LEVY_EXCL_ID DESC"); + } + List levyExcls = selectLevyExcls(req); return !levyExcls.isEmpty() ? levyExcls.get(0) : null; diff --git a/src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java b/src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java index bb093160..5b8b259e 100644 --- a/src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java +++ b/src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java @@ -41,6 +41,11 @@ public interface OpnnSbmsnMapper extends AbstractMapper { * @return 의견제출 대장 객체 */ default DataObject selectOpnnSbmsnInfo(ExclQuery req) { + // 기본 정렬 + if (req.getOrderBy() == null) { + req.setOrderBy("OS.OPNN_ID DESC"); + } + List opnnSbmsns = selectOpnnSbmsns(req); return !opnnSbmsns.isEmpty() ? opnnSbmsns.get(0) : null; 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 5b3a1fd9..dc725df6 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 @@ -54,7 +54,7 @@ public class Excl01Bean extends AbstractComponent { */ public List getLevyExcls(ExclQuery req) { if (req.getOrderBy() == null) { - req.setOrderBy("REG_DT DESC, LEVY_EXCL_ID DESC"); + req.setOrderBy("LE.REG_DT DESC, LE.LEVY_EXCL_ID DESC"); } return levyExclMapper.selectLevyExcls(req); 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 82767ae9..9bc0013e 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 @@ -67,7 +67,7 @@ public class Excl02Bean extends AbstractComponent { */ public List getOpnnSbmsns(ExclQuery req) { if (req.getOrderBy() == null) { - req.setOrderBy("REG_DT DESC, OPNN_ID DESC"); + req.setOrderBy("OS.REG_DT DESC, OS.OPNN_ID DESC"); } return opnnSbmsnMapper.selectOpnnSbmsns(req); 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 c8616979..f7edea43 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 @@ -63,7 +63,7 @@ public class Excl03Bean extends AbstractComponent { */ public List getCrdnReRegs(ExclQuery req) { if (req.getOrderBy() == null) { - req.setOrderBy("REG_DT DESC, RE_REG_ID DESC"); + req.setOrderBy("CRR.REG_DT DESC, CRR.RE_REG_ID DESC"); } return crdnReRegMapper.selectCrdnReRegs(req); 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 4d25b2ba..b5852b53 100644 --- a/src/main/java/cokr/xit/fims/levy/dao/RductMapper.java +++ b/src/main/java/cokr/xit/fims/levy/dao/RductMapper.java @@ -43,6 +43,10 @@ public interface RductMapper extends AbstractMapper { * @return 과태료 감경 대장 객체 */ default DataObject selectRductInfo(LevyQuery req) { + if (req.getOrderBy() == null) { + req.setOrderBy("R.RDUCT_ID DESC"); + } + List rducts = selectRducts(req); return !rducts.isEmpty() ? rducts.get(0) : null; 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 4c86e3b6..779d0620 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 @@ -45,24 +45,6 @@ public class Levy02Bean extends AbstractComponent { } 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; - } /**지정한 조건에 따라 과태료 감경 대장 객체들을 반환한다. @@ -71,7 +53,7 @@ public class Levy02Bean extends AbstractComponent { */ public List getRducts(LevyQuery req) { if (req.getOrderBy() == null) { - req.setOrderBy("REG_DT DESC, RDUCT_ID DESC"); + req.setOrderBy("R.REG_DT DESC, R.RDUCT_ID DESC"); } return rductMapper.selectRducts(req); diff --git a/src/main/java/cokr/xit/fims/payer/PayerQuery.java b/src/main/java/cokr/xit/fims/payer/PayerQuery.java index 8f9d9663..6dbef65b 100644 --- a/src/main/java/cokr/xit/fims/payer/PayerQuery.java +++ b/src/main/java/cokr/xit/fims/payer/PayerQuery.java @@ -16,13 +16,21 @@ public class PayerQuery extends QueryRequest { private static final long serialVersionUID = 1L; /** - * 납부자 ID + * 납부자 IDs */ private String[] rtpyrIds; /** 차량번호 */ private String vhrno; /** 납부자번호 */ private String rtpyrNo; + /** 납부자 ID */ + private String rtpyrId; + /** 단속 ID */ + private String crdnId; + /** 삭제 여부 */ + private String delYn; + /** 호출 용도 */ + private String callPurpose; /**납부자 ID를 반환한다. * @return 납부자 ID @@ -44,7 +52,7 @@ public class PayerQuery extends QueryRequest { * @return 납부자 ID */ public String getRtpyrId() { - return !isEmpty(rtpyrIds) ? rtpyrIds[0] : null; + return !isEmpty(rtpyrIds) ? rtpyrIds[0] : rtpyrId; } /**납부자 ID를 설정한다. @@ -86,4 +94,35 @@ public class PayerQuery extends QueryRequest { this.rtpyrNo = rtpyrNo; return this; } -} \ No newline at end of file + + public String getCrdnId() { + return ifEmpty(crdnId, () -> null); + } + + public T setCrdnId(String crdnId) { + this.crdnId = crdnId; + + return self(); + } + + public String getDelYn() { + return ifEmpty(delYn, () -> null); + } + + public T setDelYn(String delYn) { + this.delYn = delYn; + + return self(); + } + + public String getCallPurpose() { + return ifEmpty(callPurpose, () -> null); + } + + public T setCallPurpose(String callPurpose) { + this.callPurpose = callPurpose; + + return self(); + } + +} diff --git a/src/main/java/cokr/xit/fims/payer/dao/PayerMapper.java b/src/main/java/cokr/xit/fims/payer/dao/PayerMapper.java index 75c08c5b..f1c63079 100644 --- a/src/main/java/cokr/xit/fims/payer/dao/PayerMapper.java +++ b/src/main/java/cokr/xit/fims/payer/dao/PayerMapper.java @@ -115,4 +115,31 @@ public interface PayerMapper extends AbstractMapper { * @return 납부자 도로명 주소의 우편번호, 건물관리번호 */ DataObject selectAddrInfo(Map params); + + /**지정한 조건에 따라 납부자 대장 객체의 마지막 1개를 반환한다. + * @param levyExclId 부과제외 ID + * @return 부과제외 대장 객체 + */ + List selectCrdnPayers(PayerQuery req); + + default DataObject selectCrdnPayerInfo(PayerQuery req) { + if (req.getOrderBy() == null) { + req.setOrderBy("P.RTPYR_ID DESC"); + } + + List crdnPayers = selectCrdnPayers(req); + + return !crdnPayers.isEmpty() ? crdnPayers.get(0) : null; + } + + /**지정한 조건에 따라 단속 정보를 반환한다. + * @param crdnId 단속 ID + * @return 단속, 부과제외 정보 + */ + DataObject selectCrdn(PayerQuery req); + + default DataObject selectCrdnInfo(String rtpyrId) { + return selectCrdn(new PayerQuery().setRtpyrId(rtpyrId)); + } + } \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/payer/service/PayerService.java b/src/main/java/cokr/xit/fims/payer/service/PayerService.java index 5bf47d18..365e2efd 100644 --- a/src/main/java/cokr/xit/fims/payer/service/PayerService.java +++ b/src/main/java/cokr/xit/fims/payer/service/PayerService.java @@ -59,4 +59,11 @@ public interface PayerService { * @return 차량 및 소유자(납부자) 정보 */ Payer getVehicleOwner(BasicInfoRequest req); + + /**지정한 조건에 따라 납부자 대장 정보를 반환한다.
+ * @param req 납부자 대장 조회 조건 + * @return 납부자 대장 정보 + */ + DataObject getCrdnPayerInfo(PayerQuery req); + } \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/payer/service/bean/PayerBean.java b/src/main/java/cokr/xit/fims/payer/service/bean/PayerBean.java index f2f50061..324e33ef 100644 --- a/src/main/java/cokr/xit/fims/payer/service/bean/PayerBean.java +++ b/src/main/java/cokr/xit/fims/payer/service/bean/PayerBean.java @@ -147,4 +147,27 @@ public class PayerBean extends AbstractComponent { result.setVehicleInfo(basicInfo); return result; } + + /**지정한 부과제외 ID의 부과제외 정보를 반환한다.
+ * @param req 부과제외 조회 조건 + * @return 부과제외 정보 + */ + public DataObject getCrdnPayerInfo(PayerQuery req) { + return payerMapper.selectCrdnPayerInfo(req); + } + + /**지정한 단속 ID의 단속 정보를 반환한다.
+ * @param crndId 단속 ID + * @return 단속 정보 + */ + public DataObject getCrdnInfo(PayerQuery req) { + DataObject dataCrdn = payerMapper.selectCrdn(req); // 단속 조회 + + if (req.getCallPurpose().equals("create")) { + dataCrdn.set("LEVY_EXCL_YMD", dataCrdn.get("TODAY")); // 부과 제외 일자 + } + + return dataCrdn; + } + } \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/payer/service/bean/PayerServiceBean.java b/src/main/java/cokr/xit/fims/payer/service/bean/PayerServiceBean.java index 268864af..0fd6402a 100644 --- a/src/main/java/cokr/xit/fims/payer/service/bean/PayerServiceBean.java +++ b/src/main/java/cokr/xit/fims/payer/service/bean/PayerServiceBean.java @@ -59,4 +59,19 @@ public class PayerServiceBean extends AbstractServiceBean implements PayerServic List payers = payerBean.getVehicleOwners(List.of(req)); return !payers.isEmpty() ? payers.get(0) : null; } + + @Override + public DataObject getCrdnPayerInfo(PayerQuery req) { + if (req.getCallPurpose() == null) { + req.setCallPurpose("view"); + } + + if (req.getCallPurpose().equals("create")) { + return payerBean.getCrdnInfo(req); + } else { + return payerBean.getCrdnPayerInfo(req); + } + + } + } \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/payer/web/PayerController.java b/src/main/java/cokr/xit/fims/payer/web/PayerController.java index 918c9c40..21cc5124 100644 --- a/src/main/java/cokr/xit/fims/payer/web/PayerController.java +++ b/src/main/java/cokr/xit/fims/payer/web/PayerController.java @@ -1,6 +1,7 @@ package cokr.xit.fims.payer.web; import java.util.List; +import java.util.Map; import javax.annotation.Resource; @@ -9,10 +10,12 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; +import cokr.xit.base.code.CommonCode; +import cokr.xit.base.web.ApplicationController; import cokr.xit.fims.payer.Payer; import cokr.xit.fims.payer.PayerQuery; import cokr.xit.fims.payer.service.PayerService; -import cokr.xit.foundation.web.AbstractController; +import cokr.xit.foundation.data.DataObject; import cokr.xit.interfaces.lvis.service.reg.BasicInfoRequest; /**납부자 서비스의 웹 컨트롤러 @@ -26,8 +29,16 @@ import cokr.xit.interfaces.lvis.service.reg.BasicInfoRequest; * */ @Controller -@RequestMapping(name = "납부자", value = "/payer") -public class PayerController extends AbstractController { +public class PayerController extends ApplicationController { + + public class METHOD_URL { + public static final String + update = "/update.do" // 납부자 수정 + , remove = "/remove.do" // 납부자 제거 + , getCrdnPayerInfo = "/info.do" // 납부자 정보 조회 + ; + } + /**납부자 서비스*/ @Resource(name = "payerService") private PayerService payerService; @@ -113,4 +124,31 @@ public class PayerController extends AbstractController { .addObject("rtpyrId", found ? payer.getRtpyrId() : null) .addObject("vehicle", found ? payer.getVehicleInfo() : null); } -} \ No newline at end of file + + /**납부자 정보를 반환한다. + * @param + * @return fims/payer/payer01020-info 또는 jsonView + *
{
+	 *     "payerInfo": 납부자 정보
+	 * }
+ */ + public ModelAndView getCrdnPayerInfo(PayerQuery req) { + DataObject payerInfo = payerService.getCrdnPayerInfo(req); + + boolean json = jsonResponse(); + + ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/payer/payer01020-info"); + + // View(jsp)에서 사용할 공통코드를 조회 + Map> commonCodes = getCodesOf("FIM011", "FIM014", "FIM054"); + + return mav + .addObject("pageName", "payer01020") + .addObject("FIM011List", commonCodes.get("FIM011")) // 납부자 구분 코드(RTPYR_SE_CD) + .addObject("FIM014List", commonCodes.get("FIM014")) // 납부자 상태 코드(RTPYR_STTS_CD) + .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) + .addObject("payerInfo", json ? payerInfo : toJson(payerInfo)) // 납부자 정보 + ; + } + +} diff --git a/src/main/java/cokr/xit/fims/sprt/dao/CvlcptDscsnCnMapper.java b/src/main/java/cokr/xit/fims/sprt/dao/CvlcptDscsnCnMapper.java index 51702c55..26b7e1dd 100644 --- a/src/main/java/cokr/xit/fims/sprt/dao/CvlcptDscsnCnMapper.java +++ b/src/main/java/cokr/xit/fims/sprt/dao/CvlcptDscsnCnMapper.java @@ -40,6 +40,10 @@ public interface CvlcptDscsnCnMapper extends AbstractMapper { * @return 민원 상담 내용 대장 객체 */ default DataObject selectCvlcptDscsnCnInfo(SprtQuery req) { + if (req.getOrderBy() == null) { + req.setOrderBy("CDC.CVLCPT_DSCSN_ID DESC"); + } + List cvlcptDscsnCns = selectCvlcptDscsnCns(req); return !cvlcptDscsnCns.isEmpty() ? cvlcptDscsnCns.get(0) : null; diff --git a/src/main/java/cokr/xit/fims/sprt/service/Sprt02Service.java b/src/main/java/cokr/xit/fims/sprt/service/Sprt02Service.java index e02a078e..65c0b026 100644 --- a/src/main/java/cokr/xit/fims/sprt/service/Sprt02Service.java +++ b/src/main/java/cokr/xit/fims/sprt/service/Sprt02Service.java @@ -1,7 +1,6 @@ package cokr.xit.fims.sprt.service; import java.util.List; -import java.util.Map; import cokr.xit.base.file.FileInfo; import cokr.xit.fims.crdn.Crdn; diff --git a/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt04Bean.java b/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt04Bean.java index 97721012..2851f43a 100644 --- a/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt04Bean.java +++ b/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt04Bean.java @@ -34,6 +34,10 @@ public class Sprt04Bean extends AbstractComponent { * @return 민원 상담 내용 목록 */ public List getCvlcptDscsnCnList(SprtQuery req) { + if (req.getOrderBy() == null) { + req.setOrderBy("CDC.REG_DT"); + } + return cvlcptDscsnCnMapper.selectCvlcptDscsnCnList(req); } @@ -43,7 +47,7 @@ public class Sprt04Bean extends AbstractComponent { */ public List getCvlcptDscsnCns(SprtQuery req) { if (req.getOrderBy() == null) { - req.setOrderBy("CDC.REG_DT DESC"); + req.setOrderBy("CDC.REG_DT DESC, CDC.CVLCPT_DSCSN_ID DESC"); } return cvlcptDscsnCnMapper.selectCvlcptDscsnCns(req); diff --git a/src/main/java/cokr/xit/fims/task/web/BpvController.java b/src/main/java/cokr/xit/fims/task/web/BpvController.java index 6991ad54..f51e6b3c 100644 --- a/src/main/java/cokr/xit/fims/task/web/BpvController.java +++ b/src/main/java/cokr/xit/fims/task/web/BpvController.java @@ -9,7 +9,6 @@ import org.springframework.web.servlet.ModelAndView; import cokr.xit.fims.crdn.Crdn; import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.web.Crdn06Controller.METHOD_URL; import cokr.xit.fims.cvlc.CrdnCvlcpt; import cokr.xit.fims.excl.CrdnReReg; import cokr.xit.fims.excl.ExclQuery; @@ -17,6 +16,7 @@ import cokr.xit.fims.excl.LevyExcl; import cokr.xit.fims.excl.OpnnSbmsn; import cokr.xit.fims.levy.LevyQuery; import cokr.xit.fims.levy.Rduct; +import cokr.xit.fims.payer.PayerQuery; import cokr.xit.fims.sprt.CvlcptDscsnCn; import cokr.xit.fims.sprt.SprtQuery; @@ -559,4 +559,16 @@ public class BpvController { } + @Controller + @RequestMapping(name="전용차로과태료업무 납부자", value=CLASS_URL+"/payer") + class PayerController extends cokr.xit.fims.payer.web.PayerController { + + @Override + @RequestMapping(name="전용차로과태료업무 납부자 정보 조회", value=METHOD_URL.getCrdnPayerInfo) + public ModelAndView getCrdnPayerInfo(PayerQuery req) { + return super.getCrdnPayerInfo(req); + } + + } + } diff --git a/src/main/java/cokr/xit/fims/task/web/CmnController.java b/src/main/java/cokr/xit/fims/task/web/CmnController.java index 34bc0d67..57af9a18 100644 --- a/src/main/java/cokr/xit/fims/task/web/CmnController.java +++ b/src/main/java/cokr/xit/fims/task/web/CmnController.java @@ -258,7 +258,7 @@ public class CmnController { * @return fims/sprt/sprt01010-main */ @Override - @RequestMapping(name = "통합조회 메인", value = "/010/main.do") + @RequestMapping(name="통합조회 메인", value="/010/main.do") public ModelAndView unityInquireMain() { return super.unityInquireMain(); } @@ -266,7 +266,7 @@ public class CmnController { } @Controller - @RequestMapping(name = "개별 총정보", value = "/sprt/sprt02") + @RequestMapping(name="개별 총정보", value="/sprt/sprt02") class Sprt02Controller extends cokr.xit.fims.sprt.web.Sprt02Controller { } @@ -294,18 +294,24 @@ public class CmnController { } @Controller - @RequestMapping(name = "민원 상담 내용", value = "/sprt/sprt04") + @RequestMapping(name="민원 상담 내용", value="/sprt/sprt04") class Sprt04Controller extends cokr.xit.fims.sprt.web.Sprt04Controller { /** 민원 상담 내용 메인 화면을 연다. * @return fims/sprt/sprt04010-main */ @Override - @RequestMapping(name = "민원 상담 내용 메인", value = "/010/main.do") + @RequestMapping(name="민원 상담 내용 메인", value="/010/main.do") public ModelAndView civilComplaintDiscussionContentMain() { return super.civilComplaintDiscussionContentMain(); } } + @Controller + @RequestMapping(name="납부자", value="/payer") + class PayerController extends cokr.xit.fims.payer.web.PayerController { + + } + } diff --git a/src/main/java/cokr/xit/fims/task/web/DpvController.java b/src/main/java/cokr/xit/fims/task/web/DpvController.java index 400b6c5c..84831e6b 100644 --- a/src/main/java/cokr/xit/fims/task/web/DpvController.java +++ b/src/main/java/cokr/xit/fims/task/web/DpvController.java @@ -16,6 +16,7 @@ import cokr.xit.fims.excl.LevyExcl; import cokr.xit.fims.excl.OpnnSbmsn; import cokr.xit.fims.levy.LevyQuery; import cokr.xit.fims.levy.Rduct; +import cokr.xit.fims.payer.PayerQuery; import cokr.xit.fims.sprt.CvlcptDscsnCn; import cokr.xit.fims.sprt.SprtQuery; @@ -580,4 +581,16 @@ public class DpvController { } + @Controller + @RequestMapping(name="장애인과태료업무 납부자", value=CLASS_URL+"/payer") + class PayerController extends cokr.xit.fims.payer.web.PayerController { + + @Override + @RequestMapping(name="장애인과태료업무 납부자 정보 조회", value=METHOD_URL.getCrdnPayerInfo) + public ModelAndView getCrdnPayerInfo(PayerQuery req) { + return super.getCrdnPayerInfo(req); + } + + } + } diff --git a/src/main/java/cokr/xit/fims/task/web/EcaController.java b/src/main/java/cokr/xit/fims/task/web/EcaController.java index dd92aeda..627e474a 100644 --- a/src/main/java/cokr/xit/fims/task/web/EcaController.java +++ b/src/main/java/cokr/xit/fims/task/web/EcaController.java @@ -16,6 +16,7 @@ import cokr.xit.fims.excl.LevyExcl; import cokr.xit.fims.excl.OpnnSbmsn; import cokr.xit.fims.levy.LevyQuery; import cokr.xit.fims.levy.Rduct; +import cokr.xit.fims.payer.PayerQuery; import cokr.xit.fims.sprt.CvlcptDscsnCn; import cokr.xit.fims.sprt.SprtQuery; @@ -552,4 +553,16 @@ public class EcaController { } + @Controller + @RequestMapping(name="전기차과태료업무 납부자", value=CLASS_URL+"/payer") + class PayerController extends cokr.xit.fims.payer.web.PayerController { + + @Override + @RequestMapping(name="전기차과태료업무 납부자 정보 조회", value=METHOD_URL.getCrdnPayerInfo) + public ModelAndView getCrdnPayerInfo(PayerQuery req) { + return super.getCrdnPayerInfo(req); + } + + } + } diff --git a/src/main/java/cokr/xit/fims/task/web/PvsController.java b/src/main/java/cokr/xit/fims/task/web/PvsController.java index 0936f65f..5d02370f 100644 --- a/src/main/java/cokr/xit/fims/task/web/PvsController.java +++ b/src/main/java/cokr/xit/fims/task/web/PvsController.java @@ -16,6 +16,7 @@ import cokr.xit.fims.excl.LevyExcl; import cokr.xit.fims.excl.OpnnSbmsn; import cokr.xit.fims.levy.LevyQuery; import cokr.xit.fims.levy.Rduct; +import cokr.xit.fims.payer.PayerQuery; import cokr.xit.fims.sprt.CvlcptDscsnCn; import cokr.xit.fims.sprt.SprtQuery; @@ -570,4 +571,16 @@ public class PvsController { } + @Controller + @RequestMapping(name="주정차과태료업무 납부자", value=CLASS_URL+"/payer") + class PayerController extends cokr.xit.fims.payer.web.PayerController { + + @Override + @RequestMapping(name="주정차과태료업무 납부자 정보 조회", value=METHOD_URL.getCrdnPayerInfo) + public ModelAndView getCrdnPayerInfo(PayerQuery req) { + return super.getCrdnPayerInfo(req); + } + + } + } diff --git a/src/main/resources/sql/mapper/fims/payer-mapper.xml b/src/main/resources/sql/mapper/fims/payer-mapper.xml index ffe0f5ad..de887622 100644 --- a/src/main/resources/sql/mapper/fims/payer-mapper.xml +++ b/src/main/resources/sql/mapper/fims/payer-mapper.xml @@ -263,6 +263,8 @@ UPDATE TB_PAYER SET , RTPYR_SE_CD = #{rtpyrSeCd} , RTPYR_NO = #{rtpyrNo} , RTPYR_NM = #{rtpyrNm} + , RTPYR_TELNO = #{rtpyrTelno} + , RTPYR_MBL_TELNO = #{rtpyrMblTelno} , RTPYR_EML = #{rtpyrEml} , RTPYR_BRDT = #{rtpyrBrdt} , RTPYR_STTS_CD = #{rtpyrSttsCd} @@ -285,8 +287,6 @@ UPDATE TB_PAYER SET , DTL_ADDR = #{dtlAddr} , WHOL_ADDR = #{wholAddr} , VHRNO = #{vhrno} - , RTPYR_TELNO = #{rtpyrTelno} - , RTPYR_MBL_TELNO = #{rtpyrMblTelno} , MDFCN_DT = #{lastModified} , MDFR = #{modifiedBy} WHERE RTPYR_ID = #{rtpyrId} @@ -307,4 +307,100 @@ UPDATE TB_PAYER , MDFR = #{currentUser.id} WHERE RTPYR_ID IN (#{rtpyrId}) - \ No newline at end of file + + SELECT P.RTPYR_ID /* 납부자 ID */ + , P.SGG_CD /* 시군구 코드 */ + , (CASE WHEN (P.VHRNO IS NULL OR P.VHRNO = '') THEN C.VHRNO + ELSE P.VHRNO + END) AS VHRNO /* 차량번호 */ + , P.RTPYR_INPT_SE_CD /* 납부자 입력 구분 코드 */ + , (SELECT FN_GET_CODE_NM('FIM015', P.RTPYR_INPT_SE_CD) FROM DUAL) AS RTPYR_INPT_SE_NM /* 납부자 입력 구분 명 */ + , P.RTPYR_SE_CD /* 납부자 구분 코드 */ + , (SELECT FN_GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */ + , P.RTPYR_NO /* 납부자 번호 */ + , P.RTPYR_NM /* 납부자 명 */ + , P.RTPYR_TELNO /* 납부자 전화번호 */ + , P.RTPYR_MBL_TELNO /* 납부자 휴대 전화번호 */ + , P.RTPYR_EML /* 납부자 이메일 */ + , P.RTPYR_BRDT /* 납부자 생년월일 */ + , P.RTPYR_STTS_CD /* 납부자 상태 코드 */ + , (SELECT FN_GET_CODE_NM('FIM014', P.RTPYR_STTS_CD) FROM DUAL) AS RTPYR_STTS_NM /* 납부자 구분 명 */ + , P.ADDR_SE_CD /* 주소 구분 코드 */ + , P.ZIP /* 우편번호 */ + , P.ROAD_NM_CD /* 도로 명 코드 */ + , P.UDGD_SE_CD /* 지하 구분 코드 */ + , P.BMNO /* 건물본번 */ + , P.BSNO /* 건물부번 */ + , P.BLDG_MNG_NO /* 건물 관리 번호 */ + , P.STDG_CD /* 법정동 코드 */ + , P.DONG_CD /* 행정동 코드 */ + , P.MTN_SE_CD /* 산 구분 코드 */ + , P.MNO /* 본번 */ + , P.SNO /* 부번 */ + , P.SPCL_DONG /* 특수 동 */ + , P.SPCL_HO /* 특수 호 */ + , P.SPCL_ADDR /* 특수 주소 */ + , P.ADDR /* 주소 */ + , P.DTL_ADDR /* 상세 주소 */ + , P.WHOL_ADDR /* 전체 주소 */ + , P.REG_DT /* 등록 일시 */ + , P.RGTR /* 등록자 */ + , P.MDFCN_DT /* 수정 일시 */ + , P.MDFR /* 수정자 */ + , C.CRDN_ID /* 단속 ID */ + , C.SGG_CD /* 시군구 코드 */ + , C.TASK_SE_CD /* 업무 구분 코드 */ + , (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */ + , C.CRDN_STTS_CD /* 단속 상태 코드 */ + , (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */ + FROM TB_PAYER P + LEFT OUTER JOIN TB_CRDN C ON (P.RTPYR_ID = C.RTPYR_ID) + + + + + + + diff --git a/src/main/resources/sql/mapper/fims/sprt/totalInfo-mapper.xml b/src/main/resources/sql/mapper/fims/sprt/totalInfo-mapper.xml index 82e5f869..181ea6fb 100644 --- a/src/main/resources/sql/mapper/fims/sprt/totalInfo-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sprt/totalInfo-mapper.xml @@ -101,6 +101,7 @@ , (SELECT FN_GET_CODE_NM('FIM006', CA.OVTIME_PRTTN_YN) FROM DUAL) AS OVTIME_PRTTN_YN_NM /* 시간외 분할 여부 명 */ , P.RTPYR_ID /* 납부자 ID */ , P.RTPYR_INPT_SE_CD /* 납부자 입력 구분 코드 */ + , (SELECT FN_GET_CODE_NM('FIM015', P.RTPYR_INPT_SE_CD) FROM DUAL) AS RTPYR_INPT_SE_NM /* 납부자 입력 구분 명 */ , P.RTPYR_SE_CD /* 납부자 구분 코드 */ , (SELECT FN_GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */ , P.RTPYR_NO /* 납부자 번호 */ diff --git a/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn06020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn06020-info.jsp index 5d3e362a..f088f414 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn06020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn06020-info.jsp @@ -207,7 +207,7 @@ - + diff --git a/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn06030-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn06030-info.jsp index 2ac4e291..093e60f7 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn06030-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn06030-info.jsp @@ -41,7 +41,7 @@ - + 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 f4583605..2a168b4b 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 @@ -205,8 +205,8 @@ 법정동 단속장소 단속금액 - 처리상태명 - 납부자명 + 처리상태 + 납부자명 납부자생일 등록일시 등록사용자 @@ -252,7 +252,8 @@ - + + 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 1d1fbccf..edaad0e7 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 @@ -61,7 +61,7 @@ - + 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 839bc437..e3f5f024 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 @@ -200,21 +200,21 @@ 접수일자 접수번호 - 접수구분명 - 통보구분명 + 접수구분 + 통보구분 진술자명 의견제출상태 의견제출분류 - 의견제출요지 + 의견제출요지 단속일시 차량번호 단속장소 단속금액 - 처리상태명 + 처리상태 문서번호 답변일자 - 답변내용 - 납부자명 + 답변내용 + 납부자명 납부자생일 등록일시 등록사용자 @@ -267,10 +267,8 @@ - - - - + + 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 652c6994..0b6a5da1 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 @@ -165,7 +165,7 @@ - + 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 aa5ab8a1..d0dbc5c6 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 @@ -117,7 +117,7 @@ - + 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 965dc62d..70749542 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 @@ -160,14 +160,14 @@ 재등록일자 - 단속등록구분명 + 단속등록구분 기타내용 단속일시 차량번호 법정동 단속장소 단속금액 - 처리상태명 + 처리상태 등록일시 등록사용자 @@ -206,10 +206,8 @@ - - - - + + 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 index 39999ae1..75c03079 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/levy/levy02020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/levy/levy02020-info.jsp @@ -70,7 +70,7 @@ - + diff --git a/src/main/webapp/WEB-INF/jsp/fims/payer/payer01020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/payer/payer01020-info.jsp new file mode 100644 index 00000000..1327e791 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/fims/payer/payer01020-info.jsp @@ -0,0 +1,232 @@ +<%@ 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/sprt02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp index f204459b..920e5308 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 @@ -220,10 +220,10 @@ - - @@ -232,8 +232,8 @@
- - + +
@@ -668,7 +668,29 @@ // 납부자 정보 수정 updatePayer${pageName} = (params) => { + if (!params) return; + + let dialogTitle = "납부자 정보"; + + if (params.rtpyrId == null || params.rtpyrId == "") { + dialogTitle = dialogTitle + " 등록"; + } else { + dialogTitle = dialogTitle + " 수정"; + } + ajax.get({ + url : wctx.url(params.taskSeCd + "/payer/info.do") + , data : params || {} + , success : resp => { + dialog.open({ + id : "payerDialog" + , title : dialogTitle + , content : resp + , size : "lg" + , onClose : () => { refreshDataInfo${pageName}(); } // callback 자료 조회 + }); + } + }); } // 자료 재조회 @@ -942,6 +964,34 @@ getInfoCrdnSttsCd${pageName}(params); } + // 납부자 초기화 + fnDeletePayer${pageName} = () => { + + } + + // 납부자 수정 + fnUpdatePayer${pageName} = () => { + let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); + let sggCd = ${pageName}Control.dataset.getValue("SGG_CD"); + let taskSeCd = ${pageName}Control.dataset.getValue("TASK_SE_CD"); + let rtpyrId = ${pageName}Control.dataset.getValue("RTPYR_ID"); + + // 단속 ID 가 없다면.. return + if (crdnId == undefined || crdnId == "") { + return; + } + + let params = { + callPurpose : "update" + , crdnId : crdnId + , sggCd : sggCd + , taskSeCd : taskSeCd + , rtpyrId : rtpyrId + }; + + updatePayer${pageName}(params); + } + /************************************************************************** * script 진입 **************************************************************************/ 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 18b4911f..82e702a3 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 @@ -45,7 +45,7 @@ - +