diff --git a/src/main/java/cokr/xit/fims/cmmn/CrdnPayerHstry.java b/src/main/java/cokr/xit/fims/cmmn/CrdnPayerHstry.java index cfe6dc8a..6aae5849 100644 --- a/src/main/java/cokr/xit/fims/cmmn/CrdnPayerHstry.java +++ b/src/main/java/cokr/xit/fims/cmmn/CrdnPayerHstry.java @@ -1,7 +1,6 @@ package cokr.xit.fims.cmmn; import cokr.xit.foundation.AbstractEntity; -import java.lang.String; import lombok.Getter; import lombok.Setter; @@ -26,4 +25,5 @@ public class CrdnPayerHstry extends AbstractEntity { * 납부자 ID */ private String rtpyrId; + } diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/CrdnPayerHstryMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/CrdnPayerHstryMapper.java index 4fb00f0c..83e1e97b 100644 --- a/src/main/java/cokr/xit/fims/cmmn/dao/CrdnPayerHstryMapper.java +++ b/src/main/java/cokr/xit/fims/cmmn/dao/CrdnPayerHstryMapper.java @@ -62,7 +62,7 @@ public interface CrdnPayerHstryMapper extends AbstractMapper { * * @return 저장된 정보수 */ - int updateCrdnPyr(Map params); + int updateCrdnRtpyrId(Map params); /**단속(TB_CRDN) 대장의 납부자 ID를 수정한다. * @param crdnPayerHstry 단속 납부자 이력 @@ -71,8 +71,8 @@ public interface CrdnPayerHstryMapper extends AbstractMapper { *
  • 그렇지 않으면 false
  • * */ - default boolean updateCrdn(CrdnPayerHstry crdnPayerHstry) { - return crdnPayerHstry != null && updateCrdnPyr(params().set("crdnPayerHstry", crdnPayerHstry)) == 1; + default boolean updateCrdnPayer(CrdnPayerHstry crdnPayerHstry) { + return crdnPayerHstry != null && updateCrdnRtpyrId(params().set("crdnPayerHstry", crdnPayerHstry)) == 1; } } \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cmmn/service/CrdnPayerHstryService.java b/src/main/java/cokr/xit/fims/cmmn/service/CrdnPayerHstryService.java index fa253639..79b3b74c 100644 --- a/src/main/java/cokr/xit/fims/cmmn/service/CrdnPayerHstryService.java +++ b/src/main/java/cokr/xit/fims/cmmn/service/CrdnPayerHstryService.java @@ -45,5 +45,5 @@ public interface CrdnPayerHstryService { *
  • 그렇지 않으면 false
  • * */ - boolean createHstryUpdateCrdnPyr(CrdnPayerHstry crdnPayerHstry); + boolean createHstryUpdateCrdnPayer(CrdnPayerHstry crdnPayerHstry); } \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryBean.java index 7245943f..253c00ad 100644 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryBean.java +++ b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryBean.java @@ -62,7 +62,7 @@ public class CrdnPayerHstryBean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean createHstryUpdateCrdnPyr(CrdnPayerHstry crdnPayerHstry) { + public boolean createHstryUpdateCrdnPayer(CrdnPayerHstry crdnPayerHstry) { boolean retSuccess = false; // DB 처리 결과 // 단속 납부자 이력 정보를 등록한다. @@ -73,7 +73,7 @@ public class CrdnPayerHstryBean extends AbstractComponent { } // 단속 대장 납부자ID를 변경한다. - retSuccess = crdnPayerHstryMapper.updateCrdn(crdnPayerHstry); + retSuccess = crdnPayerHstryMapper.updateCrdnPayer(crdnPayerHstry); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. throw new RuntimeException("단속 납부자 이력 정보를 등록 중 오류가 발생하였습니다."); diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryServiceBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryServiceBean.java index f30d3328..ae211e6f 100644 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryServiceBean.java +++ b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnPayerHstryServiceBean.java @@ -44,7 +44,7 @@ public class CrdnPayerHstryServiceBean extends AbstractServiceBean implements Cr } @Override - public boolean createHstryUpdateCrdnPyr(CrdnPayerHstry crdnPayerHstry) { - return crdnPayerHstryBean.createHstryUpdateCrdnPyr(crdnPayerHstry); + public boolean createHstryUpdateCrdnPayer(CrdnPayerHstry crdnPayerHstry) { + return crdnPayerHstryBean.createHstryUpdateCrdnPayer(crdnPayerHstry); } } \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/payer/PayerQuery.java b/src/main/java/cokr/xit/fims/payer/PayerQuery.java index 6dbef65b..e2f60da8 100644 --- a/src/main/java/cokr/xit/fims/payer/PayerQuery.java +++ b/src/main/java/cokr/xit/fims/payer/PayerQuery.java @@ -25,6 +25,8 @@ public class PayerQuery extends QueryRequest { private String rtpyrNo; /** 납부자 ID */ private String rtpyrId; + /** 이력 일련번호 */ + private String hstrySn; /** 단속 ID */ private String crdnId; /** 삭제 여부 */ @@ -63,6 +65,22 @@ public class PayerQuery extends QueryRequest { return setRtpyrIds(rtpyrId); } + /**이력 일련번호를 반환한다. + * @return 이력 일련번호 + */ + public String getHstrySn() { + return hstrySn; + } + + /**이력 일련번호를 설정한다. + * @param hstrySn 이력 일련번호 + * @return 현재 PayerQuery + */ + public PayerQuery setHstrySn(String hstrySn) { + this.hstrySn = hstrySn; + return this; + } + /**차량번호를 반환한다. * @return 차량번호 */ 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 458b96a1..ebada0e8 100644 --- a/src/main/java/cokr/xit/fims/payer/dao/PayerMapper.java +++ b/src/main/java/cokr/xit/fims/payer/dao/PayerMapper.java @@ -132,6 +132,12 @@ public interface PayerMapper extends AbstractMapper { return !crdnPayers.isEmpty() ? crdnPayers.get(0) : null; } + /**지정한 조건에 따라 납부자 대장 객체들을 반환한다. + * @param req 납부자 대장 조회 조건 + * @return 납부자 대장 객체 목록 + */ + List selectPayerHstrys(PayerQuery req); + /**지정한 조건에 따라 단속 정보를 반환한다. * @param crdnId 단속 ID * @return 단속, 부과제외 정보 @@ -142,29 +148,4 @@ public interface PayerMapper extends AbstractMapper { return selectCrdn(new PayerQuery().setCrdnId(crdnId)); } - /**납부자 대장 정보를 수정한다. - * @param params 파라미터 - *
    • "payer" - 납부자 대장
    • - *
    • "currentUser" - 현재 접속한 사용자
    • - *
    - * @return 저장된 정보수 - */ - int updateCrdnRtpyrId(Payer payer); - - /**납부자 대장 정보를 수정한다. - * @param payer 납부자 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    - */ - default boolean updateCrdnPayer(Payer payer) { - boolean saved = updateCrdnRtpyrId(payer) == 1; - if (saved) { - DataObject params = params().set("payer", payer); - insertHistory(params); - } - return saved; - } - } \ 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 69dca944..30db0a7b 100644 --- a/src/main/java/cokr/xit/fims/payer/service/PayerService.java +++ b/src/main/java/cokr/xit/fims/payer/service/PayerService.java @@ -75,13 +75,10 @@ public interface PayerService { */ String createPayer(Payer payer); - /**납부자 대장 정보를 수정한다. - * @param payer 납부자 대장 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    + /**지정한 조건에 따라 납부자 변경 이력 목록을 조회하여 반환한다. + * @param req 납부자 대장 조회 조건 + * @return 납부자 변경 이력 목록 */ - String updatePayer(Payer payer); + List getPayerHstrys(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 f21ac52e..0d678cb5 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 @@ -131,7 +131,21 @@ public class PayerBean extends AbstractComponent { payer.setSggCd(basicInfo.getSggCd()); String vhrno = basicInfo.getVhrno(); payer.setVhrno(vhrno); - payer.setRtpyrSeCd(basicInfo.getMber_se_code()); + payer.setRtpyrInptSeCd("02"); + switch (basicInfo.getMber_se_code()) { + case "11" : payer.setRtpyrSeCd("01"); + break; + case "12" : payer.setRtpyrSeCd("02"); + break; + case "13" : payer.setRtpyrSeCd("03"); + break; + case "14" : payer.setRtpyrSeCd("04"); + break; + case "15" : payer.setRtpyrSeCd("05"); + break; + default : payer.setRtpyrSeCd("05"); + break; + } String rtpyrNo = basicInfo.getMber_se_no(); payer.setRtpyrNo(rtpyrNo); payer.setRtpyrNm(basicInfo.getMber_nm()); @@ -153,12 +167,14 @@ public class PayerBean extends AbstractComponent { str = basicInfo.getUse_strnghld_ho(); if (!isEmpty(str)) payer.setSno(toInt(str)); + payer.setAddr(basicInfo.getRoad_nm_adres()); payer.setDtlAddr(basicInfo.getUse_strnghld_adres_nm()); - payer.setWholAddr(basicInfo.getOwner_adres_full()); + payer.setWholAddr(basicInfo.getRoad_nm_adres() + ", " + basicInfo.getUse_strnghld_adres_nm()); Payer result = create(payer) ? payer : getPayer(vhrno, rtpyrNo); if (result != null) result.setVehicleInfo(basicInfo); + return result; } @@ -201,61 +217,66 @@ public class PayerBean extends AbstractComponent { req.setRtpyrNo(payer.getRtpyrNo()); req.setOrderBy("RTPYR_ID DESC"); - List infoPayer = payerMapper.selectPayers(req); - - if (infoPayer.size() == 0) { - DataObject params = new DataObject() - .set("roadNmCd", payer.getRoadNmCd()) - .set("udgdSeCd", payer.getUdgdSeCd()) - .set("bmno", payer.getBmno()) - .set("bsno", payer.getBsno()); + Payer infoPayer = getPayer(payer.getVhrno(), payer.getRtpyrNo()); - DataObject info = payerMapper.selectAddrInfo(params); - - if (info != null) { - payer.setAddrSeCd("02"); - payer.setZip(info.string("ZIP")); - payer.setBldgMngNo(info.string("BLDG_MNG_NO")); - payer.setStdgCd(info.string("STDG_CD")); - payer.setDongCd(info.string("DONG_CD")); - } - payer.setWholAddr(payer.getAddr() + " " + payer.getDtlAddr()); // 전체 주소 + // + payer.setWholAddr(payer.getAddr() + ", " + payer.getDtlAddr()); // 전체 주소 + if (infoPayer == null) { + // 납부자가 신규 등록 retSuccess = payerMapper.insert(payer); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback throw new RuntimeException("납부자 등록에 실패하였습니다."); } - } else { - payer.setRtpyrId(infoPayer.get(0).getRtpyrId()); - retSuccess = payerMapper.update(payer); + // 단속 대장의 납부자 ID 수정 및 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 대장에 등록한다. + CrdnPayerHstry crdnPayerHstry = new CrdnPayerHstry(); + crdnPayerHstry.setCrdnId(payer.getCrdnId()); + crdnPayerHstry.setRtpyrId(payer.getRtpyrId()); + + retSuccess = crdnPayerHstryBean.createHstryUpdateCrdnPayer(crdnPayerHstry); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("납부자 등록에 실패하였습니다."); + throw new RuntimeException("납부자 등록 실행중 단속 대장에 납부자ID 등록에 실패하였습니다."); + } + } else { + // 수정할 납부자ID 와 조회한 납부자 ID 확인 + if (!payer.getRtpyrId().equals(infoPayer.getRtpyrId())) { + payer.setRtpyrId(infoPayer.getRtpyrId()); + + // 단속 대장의 납부자 ID 수정 및 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 대장에 등록한다. + CrdnPayerHstry crdnPayerHstry = new CrdnPayerHstry(); + crdnPayerHstry.setCrdnId(payer.getCrdnId()); + crdnPayerHstry.setRtpyrId(payer.getRtpyrId()); + + retSuccess = crdnPayerHstryBean.createHstryUpdateCrdnPayer(crdnPayerHstry); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("납부자 등록 실행중 단속 대장에 납부자ID 등록에 실패하였습니다."); + } } - } - - // 단속 대장의 납부자 ID 수정 - retSuccess = payerMapper.updateCrdnPayer(payer); - if (!retSuccess) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("납부자 등록 실행중 단속 대장에 납부자ID 등록에 실패하였습니다."); - } - - // 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 대장에 등록한다. - CrdnPayerHstry crdnPayerHstry = new CrdnPayerHstry(); - crdnPayerHstry.setCrdnId(payer.getCrdnId()); - crdnPayerHstry.setRtpyrId(payer.getRtpyrId()); - retSuccess = crdnPayerHstryBean.create(crdnPayerHstry); - if (!retSuccess) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("납부자 등록 중 단속 대장의 단속상태코드 변경에 실패하였습니다."); + // 현재 조회된 납부자 정보에서 주소가 다르다면 update 필요 + if (!(infoPayer.getRtpyrSeCd().equals(payer.getRtpyrSeCd()) && + infoPayer.getRtpyrNm().equals(payer.getRtpyrNm()) && + infoPayer.getRtpyrTelno().equals(payer.getRtpyrTelno()) && + infoPayer.getRtpyrMblTelno().equals(payer.getRtpyrMblTelno()) && + infoPayer.getRtpyrEml().equals(payer.getRtpyrEml()) && + infoPayer.getRtpyrSttsCd().equals(payer.getRtpyrSttsCd()) && + infoPayer.getZip().equals(payer.getZip()) && + infoPayer.getAddr().equals(payer.getAddr()) && + infoPayer.getDtlAddr().equals(payer.getDtlAddr())) ) { + retSuccess = payerMapper.update(payer); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("납부자 수정에 실패하였습니다."); + } + } } // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - if (infoCrdn.number("CRDN_STTS_CD").intValue() < 21) { // 차적조회완료 + if (infoCrdn.number("CRDN_STTS_CD").intValue() < 21) { // 납부자 등록 완료 CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); crdnSttsHstry.setCrdnId(infoCrdn.string("CRDN_ID")); crdnSttsHstry.setBfrSttsCd(infoCrdn.string("CRDN_STTS_CD")); @@ -274,44 +295,16 @@ public class PayerBean extends AbstractComponent { return retMessage; } - /**납부자 정보를 수정한다. - * @param payer 납부자 - * @return 저장 여부 - *
    • 저장됐으면 true
    • - *
    • 그렇지 않으면 false
    • - *
    + /**지정한 조건에 따라 납부자 변경 이력 목록을 조회하여 반환한다. + * @param req 납부자 조회 조건 + * @return 납부자 변경 이력 목록 */ - public String updatePayer(Payer payer) { - // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 - String retMessage = "[F] "; // 처리 결과 메시지 - - DataObject params = new DataObject() - .set("roadNmCd", payer.getRoadNmCd()) - .set("udgdSeCd", payer.getUdgdSeCd()) - .set("bmno", payer.getBmno()) - .set("bsno", payer.getBsno()); - - DataObject info = payerMapper.selectAddrInfo(params); - - if (info != null) { - payer.setAddrSeCd("02"); - payer.setZip(info.string("ZIP")); - payer.setBldgMngNo(info.string("BLDG_MNG_NO")); - payer.setStdgCd(info.string("STDG_CD")); - payer.setDongCd(info.string("DONG_CD")); + public List getPayerHstrys(PayerQuery req) { + if (req.getOrderBy() == null) { + req.setOrderBy("PH.REG_DT DESC"); } - payer.setWholAddr(payer.getAddr() + " " + payer.getDtlAddr()); // 전체 주소 - retSuccess = payerMapper.update(payer); - if (!retSuccess) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("납부자 수정에 실패하였습니다."); - } - - retMessage = "[S] 작업이 정상 처리 되었습니다."; - - return retMessage; + return payerMapper.selectPayerHstrys(req); } } 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 dadf8207..69bbf443 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 @@ -79,8 +79,8 @@ public class PayerServiceBean extends AbstractServiceBean implements PayerServic } @Override - public String updatePayer(Payer payer) { - return payerBean.updatePayer(payer); + public List getPayerHstrys(PayerQuery req) { + return payerBean.getPayerHstrys(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 1c17ba52..c2c60b0f 100644 --- a/src/main/java/cokr/xit/fims/payer/web/PayerController.java +++ b/src/main/java/cokr/xit/fims/payer/web/PayerController.java @@ -36,9 +36,9 @@ public class PayerController extends ApplicationController { create = "/create.do" // 납부자 등록 , update = "/update.do" // 납부자 수정 , remove = "/remove.do" // 납부자 제거 + , getVehicleOwner = "/vehicle.do" // 차량/납부자 조회 , getPayerInfo = "/info.do" // 납부자 정보 조회 , createPayer = "/createPayer.do" // 납부자 대장 등록 - , updatePayer = "/updatePayer.do" // 납부자 대장 수정 ; } @@ -176,26 +176,4 @@ public class PayerController extends ApplicationController { .addObject("retMessage", retMessage); } - /**납부자 대장를 수정한다. - * @param Payer 납부자 대장 정보 - * @return jsonView - *
     {
    -	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - public ModelAndView updatePayer(Payer payer) { - boolean saved = false; - String retMessage = payerService.updatePayer(payer); - - if (retMessage.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("retMessage", retMessage); - } - } diff --git a/src/main/java/cokr/xit/fims/sprt/SprtQuery.java b/src/main/java/cokr/xit/fims/sprt/SprtQuery.java index 6364dd2e..59e71859 100644 --- a/src/main/java/cokr/xit/fims/sprt/SprtQuery.java +++ b/src/main/java/cokr/xit/fims/sprt/SprtQuery.java @@ -12,6 +12,7 @@ public class SprtQuery extends CmmnQuery { private String[] cvlcptDscsnIDs; // ID private String crdnId; // 단속 ID + private String rtpyrId; // 납부자 ID private String levyExclId; // 부과 제외 ID private String opnnId; // 의견 ID private String levyId; // 부과 ID @@ -57,6 +58,16 @@ public class SprtQuery extends CmmnQuery { return self(); } + public String getRtpyrId() { + return ifEmpty(rtpyrId, () -> null); + } + + public T setRtpyrId(String rtpyrId) { + this.rtpyrId = rtpyrId; + + return self(); + } + public String getLevyExclId() { return ifEmpty(levyExclId, () -> null); } diff --git a/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java b/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java index 8372bc4a..30e1e546 100644 --- a/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java +++ b/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java @@ -12,9 +12,7 @@ import cokr.xit.base.file.FileInfo; import cokr.xit.base.file.FileInfo.Relation; import cokr.xit.base.file.web.FileInfoFactory; import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.cmmn.CrdnPayerHstryQuery; import cokr.xit.fims.cmmn.CrdnSttsHstryQuery; -import cokr.xit.fims.cmmn.service.CrdnPayerHstryService; import cokr.xit.fims.cmmn.service.CrdnSttsHstryService; import cokr.xit.fims.crdn.Crdn; import cokr.xit.fims.excl.ExclQuery; @@ -23,6 +21,8 @@ import cokr.xit.fims.excl.service.Excl02Service; import cokr.xit.fims.levy.LevyQuery; import cokr.xit.fims.levy.service.Levy01Service; import cokr.xit.fims.levy.service.Levy02Service; +import cokr.xit.fims.payer.PayerQuery; +import cokr.xit.fims.payer.service.PayerService; import cokr.xit.fims.rcvm.RcvmQuery; import cokr.xit.fims.rcvm.service.Rcvm01Service; import cokr.xit.fims.sndb.SndbQuery; @@ -93,9 +93,9 @@ public class Sprt02Controller extends ApplicationController { @Resource(name = "crdnSttsHstryService") private CrdnSttsHstryService crdnSttsHstryService; - /** 단속 납부자 이력 서비스 */ - @Resource(name = "crdnPayerHstryService") - private CrdnPayerHstryService crdnPayerHstryService; + /**납부자 서비스*/ + @Resource(name = "payerService") + private PayerService payerService; /** 민원 상담 내용 대장 서비스 */ @Resource(name="sprt04Service") @@ -362,12 +362,12 @@ public class Sprt02Controller extends ApplicationController { List crdnSttsHstry = crdnSttsHstryService.getCrdnSttsHstrys(crdnSttsHstryQuery); - // 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 조회 - CrdnPayerHstryQuery crdnPayerHstryQuery = new CrdnPayerHstryQuery(); - crdnPayerHstryQuery.setCrdnId(req.getCrdnId()); - crdnPayerHstryQuery.setOrderBy("PH.REG_DT DESC, PH.RTPYR_ID DESC, PH.HSTRY_SN DESC"); + // 납부자 변경 이력(TB_PAYER_HSTRY) 조회 + PayerQuery payerQuery = new PayerQuery(); + payerQuery.setRtpyrId(req.getRtpyrId()); + payerQuery.setOrderBy("PH.REG_DT DESC"); - List crdnPayerHstry = crdnPayerHstryService.getCrdnPayerHstrys(crdnPayerHstryQuery); + List payerHstry = payerService.getPayerHstrys(payerQuery); boolean json = jsonResponse(); @@ -382,7 +382,7 @@ public class Sprt02Controller extends ApplicationController { .addObject("pageDataName3", "CrdnSttsHstry") // dataset3 .addObject("crdnSttsHstryList", json ? crdnSttsHstry : toJson(crdnSttsHstry)) // 단속 상태 이력 .addObject("pageDataName4", "CrdnPayerHstry") // dataset4 - .addObject("crdnPayerHstryList", json ? crdnPayerHstry : toJson(crdnPayerHstry)) // 단속 납부자 이력 + .addObject("payerHstryList", json ? payerHstry : toJson(payerHstry)) // 납부자 변경 이력 ; // 재조회로 호출되었다면.. 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 a9e955ff..d882d2f3 100644 --- a/src/main/java/cokr/xit/fims/task/web/BpvController.java +++ b/src/main/java/cokr/xit/fims/task/web/BpvController.java @@ -589,12 +589,6 @@ public class BpvController { return super.createPayer(payer); } - @Override - @RequestMapping(name="장애인과태료업무 납부자 수정", value=METHOD_URL.updatePayer) - public ModelAndView updatePayer(Payer payer) { - return super.updatePayer(payer); - } - } } 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 20651a16..747e6abc 100644 --- a/src/main/java/cokr/xit/fims/task/web/DpvController.java +++ b/src/main/java/cokr/xit/fims/task/web/DpvController.java @@ -623,12 +623,6 @@ public class DpvController { return super.createPayer(payer); } - @Override - @RequestMapping(name="장애인과태료업무 납부자 수정", value=METHOD_URL.updatePayer) - public ModelAndView updatePayer(Payer payer) { - return super.updatePayer(payer); - } - } } 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 a63dcad7..525c859c 100644 --- a/src/main/java/cokr/xit/fims/task/web/EcaController.java +++ b/src/main/java/cokr/xit/fims/task/web/EcaController.java @@ -595,12 +595,6 @@ public class EcaController { return super.createPayer(payer); } - @Override - @RequestMapping(name="전기차과태료업무 납부자 수정", value=METHOD_URL.updatePayer) - public ModelAndView updatePayer(Payer payer) { - return super.updatePayer(payer); - } - } } 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 28968266..63bc3a10 100644 --- a/src/main/java/cokr/xit/fims/task/web/PvsController.java +++ b/src/main/java/cokr/xit/fims/task/web/PvsController.java @@ -600,13 +600,6 @@ public class PvsController { return super.createPayer(payer); } - @Override - @RequestMapping(name="주정차과태료업무 납부자 수정", value=METHOD_URL.updatePayer) - public ModelAndView updatePayer(Payer payer) { - return super.updatePayer(payer); - } - - } } diff --git a/src/main/resources/sql/mapper/fims/cmmn/crdnPayerHstry-mapper.xml b/src/main/resources/sql/mapper/fims/cmmn/crdnPayerHstry-mapper.xml index c0a1a66d..188a79bf 100644 --- a/src/main/resources/sql/mapper/fims/cmmn/crdnPayerHstry-mapper.xml +++ b/src/main/resources/sql/mapper/fims/cmmn/crdnPayerHstry-mapper.xml @@ -81,12 +81,12 @@ ) - /* 단속 납부자 수정(crdnPayerHstryMapper.updateCrdnPayer) */ - UPDATE TB_CRDN_PAYER_HSTRY - SET RTPYR_ID = #{crdnSttsHstry.rtpyrId} /* 납부자 ID */ - , MDFCN_DT = #{crdnSttsHstry.lastModified} /* 수정 일시 */ - , MDFR = #{crdnSttsHstry.modifiedBy} /* 수정자 */ - WHERE CRDN_ID = #{crdnSttsHstry.crdnId} /* 단속 ID */ + /* 단속 납부자 수정(crdnPayerHstryMapper.updateCrdnPayer) */ + UPDATE TB_CRDN + SET RTPYR_ID = #{crdnPayerHstry.rtpyrId} /* 납부자 ID */ + , MDFCN_DT = #{crdnPayerHstry.lastModified} /* 수정 일시 */ + , MDFR = #{crdnPayerHstry.modifiedBy} /* 수정자 */ + WHERE CRDN_ID = #{crdnPayerHstry.crdnId} /* 단속 ID */ \ No newline at end of file diff --git a/src/main/resources/sql/mapper/fims/excl/crdnReReg-mapper.xml b/src/main/resources/sql/mapper/fims/excl/crdnReReg-mapper.xml index 8aba7b29..42b2dbca 100644 --- a/src/main/resources/sql/mapper/fims/excl/crdnReReg-mapper.xml +++ b/src/main/resources/sql/mapper/fims/excl/crdnReReg-mapper.xml @@ -153,7 +153,8 @@ FROM TB_CRDN_RE_REG WHERE RE_REG_ID LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%') - INSERT INTO TB_CRDN_RE_REG ( + INSERT + INTO TB_CRDN_RE_REG ( RE_REG_ID /* 재등록 ID */ , BFR_CRDN_ID /* 이전 단속 ID */ , CRDN_ID /* 단속 ID */ diff --git a/src/main/resources/sql/mapper/fims/payer-mapper.xml b/src/main/resources/sql/mapper/fims/payer-mapper.xml index f2e3b4de..fa56838e 100644 --- a/src/main/resources/sql/mapper/fims/payer-mapper.xml +++ b/src/main/resources/sql/mapper/fims/payer-mapper.xml @@ -402,10 +402,48 @@ UPDATE TB_PAYER - /* 단속 대장 수정(payerMapper.updateCrdnRtpyrId) */ - UPDATE TB_CRDN - SET RTPYR_ID = #{rtpyrId} /* 납부자 ID */ - WHERE CRDN_ID = #{crdnId} /* 단속 ID */ - + + SELECT PH.RTPYR_ID /* 납부자 ID */ + , PH.HSTRY_SN /* 이력 일련번호 */ + , PH.SGG_CD /* 시군구 코드 */ + , PH.VHRNO /* 차량번호 */ + , PH.RTPYR_INPT_SE_CD /* 납부자 입력 구분 코드 */ + , PH.RTPYR_SE_CD /* 납부자 구분 코드 */ + , PH.RTPYR_NO /* 납부자 번호 */ + , PH.RTPYR_NM /* 납부자 명 */ + , PH.RTPYR_TELNO /* 납부자 전화번호 */ + , PH.RTPYR_MBL_TELNO /* 납부자 휴대 전화번호 */ + , PH.RTPYR_EML /* 납부자 이메일 */ + , PH.RTPYR_BRDT /* 납부자 생년월일 */ + , PH.RTPYR_STTS_CD /* 납부자 상태 코드 */ + , PH.ADDR_SE_CD /* 주소 구분 코드 */ + , PH.ZIP /* 우편번호 */ + , PH.ROAD_NM_CD /* 도로 명 코드 */ + , PH.UDGD_SE_CD /* 지하 구분 코드 */ + , PH.BMNO /* 건물본번 */ + , PH.BSNO /* 건물부번 */ + , PH.BLDG_MNG_NO /* 건물 관리 번호 */ + , PH.STDG_CD /* 법정동 코드 */ + , PH.DONG_CD /* 행정동 코드 */ + , PH.MTN_SE_CD /* 산 구분 코드 */ + , PH.MNO /* 본번 */ + , PH.SNO /* 부번 */ + , PH.SPCL_DONG /* 특수 동 */ + , PH.SPCL_HO /* 특수 호 */ + , PH.SPCL_ADDR /* 특수 주소 */ + , PH.ADDR /* 주소 */ + , PH.DTL_ADDR /* 상세 주소 */ + , PH.WHOL_ADDR /* 전체 주소 */ + , PH.REG_DT /* 등록 일시 */ + , PH.RGTR /* 등록자 */ + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = PH.RGTR) AS RGTR_NM /* 등록자 명 */ + FROM TB_PAYER_HSTRY PH + + + 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 ff3631dd..73e3389b 100644 --- a/src/main/resources/sql/mapper/fims/sprt/totalInfo-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sprt/totalInfo-mapper.xml @@ -11,6 +11,7 @@ SELECT C.CRDN_ID /* 단속 ID */ , C.SGG_CD /* 시군구 코드 */ , C.TASK_SE_CD /* 업무 구분 코드 */ + , C.RTPYR_ID /* 납부자 ID */ , (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */ , C.VHRNO /* 차량번호 */ , C.CRDN_STTS_CD /* 단속 상태 코드 */ @@ -119,6 +120,7 @@ , P.WHOL_ADDR /* 전체 주소 */ , P.MDFCN_DT AS P_MDFCN_DT /* 수정 일시 */ , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = P.MDFR) AS P_MDFR_NM /* 수정자 명 */ + , CC.CVLCPT_LINK_ID /* 민원 연계 ID */ , CC.CVLCPT_APLY_SE_CD /* 민원 신청 구분 코드 */ , CC.DSTRBNC_YN /* 1면 방해 여부 */ , CC.CVLCPT_RCPT_YMD /* 민원 접수 일자 */ diff --git a/src/main/resources/sql/mapper/interfaces/vehicleInfo-mapper.xml b/src/main/resources/sql/mapper/interfaces/vehicleInfo-mapper.xml index b326763a..4543b5bb 100644 --- a/src/main/resources/sql/mapper/interfaces/vehicleInfo-mapper.xml +++ b/src/main/resources/sql/mapper/interfaces/vehicleInfo-mapper.xml @@ -189,11 +189,21 @@ SELECT PRYE + AND BSNO = #{bsno} + /* vehicleInfoMapper.insertBasicInfo(자동차 기본사항 조회 로그 등록) */ @@ -201,7 +211,7 @@ SELECT CONCAT( , LPAD(IFNULL(SUBSTRING(MAX(BSC_MTTR_ID), 9) + 1, 1), 22, '0') ) NEW_ID - FROM TB_CAR_BSC_MTTR TCBM + FROM TB_CAR_BSC_MTTR TCBM WHERE BSC_MTTR_ID LIKE CONCAT(, '%') INSERT INTO TB_CAR_BSC_MTTR ( BSC_MTTR_ID @@ -210,12 +220,12 @@ INSERT INTO TB_CAR_BSC_MTTR ( , MESSAGEREASON , MESSAGEREMARK , EXCEPTIONSTACKTRACE - + , DMND_LEVY_STDDE , DMND_INQIRE_SE_CODE , DMND_VHRNO , DMND_VIN - + , PRYE , REGIST_DE , ERSR_REGIST_SE_CODE @@ -303,7 +313,7 @@ INSERT INTO TB_CAR_BSC_MTTR ( , FRST_MXMM_LDG , PROCESS_IMPRTY_RESN_CODE , PROCESS_IMPRTY_RESN_DTLS - + , REG_DT , RGTR ) VALUES ( @@ -313,12 +323,12 @@ INSERT INTO TB_CAR_BSC_MTTR ( , #{msg.messageReason} , #{msg.messageRemark} , #{msg.exceptionStackTrace} - + , #{req.levy_stdde} , #{req.inqire_se_code} , #{req.vhrno} , #{req.vin} - + , #{info.prye} , #{info.regist_de} , #{info.ersr_regist_se_code} @@ -406,7 +416,7 @@ INSERT INTO TB_CAR_BSC_MTTR ( , #{info.frst_mxmm_ldg} , #{info.process_imprty_resn_code} , #{info.process_imprty_resn_dtls} - + , , #{currentUser.id} ) 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 43ea99d6..610dc763 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 @@ -48,7 +48,7 @@
    - + @@ -58,7 +58,7 @@
    - +
    @@ -288,33 +288,8 @@ } // 차적 조회 - getVehicle${pageName} = () => { - let crdnYmd = $("#crdnYmd--${pageName}").val().replaceAll("-", ""); - let vhrno = $("#vhrno--${pageName}").val(); - - if (crdnYmd == "") { - dialog.alert({ - content : "단속일자를 입력하세요.", - onClose : function() { $("#crdnYmd--${pageName}").focus(); } - }); - - return; - } - if (vhrno == "") { - dialog.alert({ - content : "차량번호를 입력하세요.", - onClose : function() { $("#vhrno--${pageName}").focus(); } - }); - - return; - } - - let params = { - sggCd : $("#sggCd--${pageName}").val() - , levy_stdde : crdnYmd - , inqire_se_code : "3" - , vhrno : vhrno - } + getVehicle${pageName} = (params) => { + if (!params) return; json.post({ url : wctx.url("/payer/vehicle.do") @@ -401,7 +376,34 @@ **************************************************************************/ // 차적 조회 fnVehicle${pageName} = () => { - getVehicle${pageName}(); + let crdnYmd = $("#crdnYmd--${pageName}").val().replaceAll("-", ""); + let vhrno = $("#vhrno--${pageName}").val(); + + if (crdnYmd == "") { + dialog.alert({ + content : "단속일자를 입력하세요.", + onClose : function() { $("#crdnYmd--${pageName}").focus(); } + }); + + return; + } + if (vhrno == "") { + dialog.alert({ + content : "차량번호를 입력하세요.", + onClose : function() { $("#vhrno--${pageName}").focus(); } + }); + + return; + } + + let params = { + inqire_se_code : "3" + , sggCd : $("#sggCd--${pageName}").val() + , levy_stdde : crdnYmd + , vhrno : vhrno + } + + getVehicle${pageName}(params); } // 저장 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 index e286874c..816ce37d 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/payer/payer01020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/payer/payer01020-info.jsp @@ -16,6 +16,7 @@ +
    @@ -74,7 +75,7 @@
    - +
    @@ -121,6 +122,7 @@ + @@ -162,7 +164,7 @@ // 업무구분에 따른 url 변경 ${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/createPayer.do"); - ${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/updatePayer.do"); + ${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/update.do"); } /************************************************************************** @@ -180,13 +182,23 @@ ${pageName}Control.save = (info) => { if (!info) return; - let create = isEmpty(info.rtpyrId); + let create = false; + let bfrVhrno = ${pageName}Control.getValue("VHRNO"); + let bfrRtpyrNo = ${pageName}Control.getValue("RTPYR_NO"); - info.rtpyrInptSeCd = "01"; // 납부자 입력 구분 코드 + if (bfrVhrno == info.vhrno && bfrRtpyrNo == info.rtpyrNo) { + create = false; + } else { + create = true; + } + if ($("#rtpyrInptSeCd--${pageName}").val() == "") { + info.rtpyrInptSeCd = "01"; // 납부자 입력 구분 코드 + } if (info.rtpyrSeCd == "01") { info.rtpyrBrdt = info.rtpyrNo.substr(0, 6); // 생년월일 } + info.wholAddr = info.addr + ", " + info.dtlAddr; // 전체 주소 ajax.post({ url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create @@ -226,6 +238,8 @@ $("#mtnSeCd--${pageName}").val(info.use_strnghld_mntn); // 사용본거지 산 $("#mno--${pageName}").val(info.use_strnghld_lnbr); // 사용본거지 번지 $("#sno--${pageName}").val(info.use_strnghld_ho); // 사용본거지 호 + + $("#btnEdit--${pageName}").show(); // 수정 버튼이 보이도록.. } // 차적 조회 @@ -257,6 +271,13 @@ $("#stdgCd--${pageName}").val(""); $("#dongCd--${pageName}").val(""); } else { + $("#rtpyrId--${pageName}").val(resp.rtpyrId); // 납부자 ID + $("#rtpyrInptSeCd--${pageName}").val("02"); // 납부자 입력 구분 코드 + $("#addr--${pageName}").attr("readonly", true); // 주소 + $("#zip--${pageName}").attr("readonly", true); // 우편번호 + $("#dtlAddr--${pageName}").attr("readonly", true); // 상세 주소 + $("#btnZip--${pageName}").hide(); // 우편번호 검색 + callbackVehicle${pageName}(resp.vehicle); } } @@ -268,9 +289,7 @@ **************************************************************************/ // 검색조건 초기값 셋팅 initForm${pageName} = () => { - // 달력 초기화 - initDatepicker("frmEdit--${pageName}"); - $("#rcptYmd--${pageName}").datepicker("setDate", new Date()); + $("#btnEdit--${pageName}").hide(); } // 이벤트 설정 @@ -305,10 +324,10 @@ } let params = { - sggCd : $("#sggCd--${pageName}").val() -// , vhrno : vhrno - , vhrno : "11일1111" + inqire_se_code : "3" + , sggCd : $("#sggCd--${pageName}").val() , levy_stdde : crdnYmd + , vhrno : vhrno } getVehicle${pageName}(params); @@ -319,6 +338,15 @@ } + // 화면에서 보여주는 주소입력 부분 수정 + fnEdit${pageName} = () => { + $("#rtpyrInptSeCd--${pageName}").val("01"); // 입력 구분 + $("#addr--${pageName}").prop("readonly", false); // 주소 + $("#zip--${pageName}").prop("readonly", false); // 우편번호 + $("#dtlAddr--${pageName}").prop("readonly", false); // 상세 주소 + $("#btnZip--${pageName}").show(); // 우편번호 검색 + } + // 저장 fnSave${pageName} = () => { // validate 확인 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 bd24e5ee..6bf87d5c 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 @@ -11,6 +11,7 @@ +
    @@ -481,6 +482,7 @@ , crdnId : crdnId , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") + , rtpyrId : ${pageName}Control.dataset.getValue("RTPYR_ID") }; getInfoPrcsDtl${pageName}(params); 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 d0ca3265..f404e9be 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,9 +220,9 @@ - +<%-- @@ -647,7 +647,6 @@ , success : resp => { if (resp.saved) { dialog.alert("단속재등록 작업이 정상 처리되었습니다."); - dialog.close(${pageName}Control.prefix + "Dialog"); } } }); @@ -673,8 +672,18 @@ } // 납부자 초기화 - deletePayer${pageName} = (params) => { + deleteCrdnPayer${pageName} = (params) => { + if (!params) return; +// ajax.post({ +// url : wctx.url(params.taskSeCd + "/excl/excl03/010/create.do") +// , data : params || {} +// , success : resp => { +// if (resp.saved) { +// dialog.alert("납부자 정보 초기화 작업이 정상 처리되었습니다."); +// } +// } +// }); } // 납부자 정보 수정 @@ -837,12 +846,18 @@ **************************************************************************/ // 민원 원본 보기 fnViewCvlcptOrgnl${pageName} = () => { - let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); + let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); // 단속 ID + let cvlcptLinkId = ${pageName}Control.dataset.getValue("CVLCPT_LINK_ID"); // 민원 연계 ID // 단속 ID 가 없다면.. return if (crdnId == null || crdnId == "") { return; } + // 민원 연계 ID가 없다면.. return + if (cvlcptLinkId == null || cvlcptLinkId == "") { + dialog.alert("조회된 단속 민원 대장 정보가 없습니다."); + return; + } let params = { callPurpose : "view" @@ -856,12 +871,18 @@ // 민원 답변 보기 fnViewAnswerPreview${pageName} = () => { - let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); + let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); // 단속 ID + let cvlcptLinkId = ${pageName}Control.dataset.getValue("CVLCPT_LINK_ID"); // 민원 연계 ID // 단속 ID 가 없다면.. return if (crdnId == null || crdnId == "") { return; } + // 민원 연계 ID가 없다면.. return + if (cvlcptLinkId == null || cvlcptLinkId == "") { + dialog.alert("조회된 단속 민원 대장 정보가 없습니다."); + return; + } let params = { callPurpose : "view" @@ -965,8 +986,29 @@ } // 납부자 초기화 - fnDeletePayer${pageName} = () => { + fnDeleteCrdnPayer${pageName} = () => { + let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); + + // 단속 ID 가 없다면.. return + if (crdnId == undefined || crdnId == "") { + return; + } + let params = { + callPurpose : "update" + , crdnId : crdnId // 단속 ID + , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , rtpyrId : ${pageName}Control.dataset.getValue("RTPYR_ID") // 납부자 ID + , delYn : "N" + }; + + dialog.alert({ + content : "선택한 자료의 납부자 정보를 초기화 하시겠습니까?" + , onOK : () => { + deleteCrdnPayer${pageName}(params); + } + }); } // 납부자 수정 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 70684ca7..411e5393 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 @@ -210,8 +210,8 @@