diff --git a/src/main/java/cokr/xit/fims/payer/PayerQuery.java b/src/main/java/cokr/xit/fims/payer/PayerQuery.java index e6ec87d7..72f53ef7 100644 --- a/src/main/java/cokr/xit/fims/payer/PayerQuery.java +++ b/src/main/java/cokr/xit/fims/payer/PayerQuery.java @@ -31,6 +31,8 @@ public class PayerQuery extends QueryRequest { private String addrSn; /** 이력 일련번호 */ private String hstrySn; + /** 주소 입력 구분 코드 */ + private String addrInptSeCd; /** 도로명 코드 */ private String roadNmCd; /** 주소 */ @@ -152,6 +154,21 @@ public class PayerQuery extends QueryRequest { this.rtpyrNo = rtpyrNo; } + /**주소 입력 구분 코드를 반환한다. + * @return 주소 입력 구분 코드 + */ + public String getAddrInptSeCd() { + return addrInptSeCd; + } + + /**주소 입력 구분 코드를 설정한다. + * @param addrInptSeCd 주소 입력 구분 코드 + * @return 현재 PayerQuery + */ + public void setAddrInptSeCd(String addrInptSeCd) { + this.addrInptSeCd = addrInptSeCd; + } + /**도로명 코드를 반환한다. * @return 도로명 코드 */ 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 5f08d223..7ea5cb17 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 @@ -112,6 +112,7 @@ public class PayerBean extends AbstractBean { PayerQuery req = new PayerQuery(); req.setRtpyrSeCd(payer.getRtpyrSeCd()); // 납부자 구분 코드 req.setRtpyrNo(payer.getRtpyrNo()); // 납부자 번호 + req.setAddrInptSeCd(payer.getAddrInptSeCd()); // 주소 입력 구분 코드 req.setRoadNmCd(payer.getRoadNmCd()); // 도로명 코드 req.setAddr(payer.getAddr()); // 주소 req.setDtlAddr(payer.getDtlAddr()); // 상세 주소 @@ -327,28 +328,27 @@ public class PayerBean extends AbstractBean { } // 주소가 변경되었는지 확인 - if (crdnPayerAddrInfo.string("ZIP").equals(payer.getZip()) + if (crdnPayerAddrInfo.string("ADDR_INPT_SE_CD").equals(payer.getAddrInptSeCd()) + && crdnPayerAddrInfo.string("ZIP").equals(payer.getZip()) && crdnPayerAddrInfo.string("ADDR").equals(payer.getAddr()) && crdnPayerAddrInfo.string("DTL_ADDR").equals(payer.getDtlAddr()) && crdnPayerAddrInfo.string("ROAD_NM_CD").equals(payer.getRoadNmCd())) { // 주소 일련번호 설정 payer.setAddrSn(crdnPayerAddrInfo.string("ADDR_SN")); } else { - // 납부자 주소 등록 - rtnScs = createPayerAddr(payer); - if (!rtnScs) { - throw new RuntimeException("납부자 등록 실행중 주소 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } + Payer result = getPayerAddrInfo(payer); + CrdnPayerHstry crdnPayerAddrHstry = new CrdnPayerHstry(); crdnPayerAddrHstry.setCrdnId(payer.getCrdnId()); - crdnPayerAddrHstry.setRtpyrId(payer.getRtpyrId()); - crdnPayerAddrHstry.setAddrSn(payer.getAddrSn()); + crdnPayerAddrHstry.setRtpyrId(result.getRtpyrId()); + crdnPayerAddrHstry.setAddrSn(result.getAddrSn()); // 납부자 주소 변경 이력 생성 rtnScs = crdnPayerHstryBean.createHstryUpdateCrdnPayerAddr(crdnPayerAddrHstry); if (!rtnScs) { throw new RuntimeException("납부자 등록 실행중 단속 대장에 주소 일련번호 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } + } } else { Payer result = create(payer) ? payer : getPayerAddrInfo(payer); diff --git a/src/main/resources/sql/mapper/fims/payer-mapper.xml b/src/main/resources/sql/mapper/fims/payer-mapper.xml index 90005bcb..93efaf87 100644 --- a/src/main/resources/sql/mapper/fims/payer-mapper.xml +++ b/src/main/resources/sql/mapper/fims/payer-mapper.xml @@ -254,6 +254,7 @@ , C.CRDN_STTS_CD , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM , P.RTPYR_NO + , PA.ADDR_INPT_SE_CD , PA.ZIP , PA.ADDR , PA.DTL_ADDR diff --git a/src/main/resources/sql/mapper/fims/payerAddr-mapper.xml b/src/main/resources/sql/mapper/fims/payerAddr-mapper.xml index def5acc9..f5179260 100644 --- a/src/main/resources/sql/mapper/fims/payerAddr-mapper.xml +++ b/src/main/resources/sql/mapper/fims/payerAddr-mapper.xml @@ -124,6 +124,9 @@ AND PA.ADDR_SN = #{addrSn} + + AND PA.ADDR_INPT_SE_CD= #{addrInptSeCd} + AND PA.ROAD_NM_CD= #{roadNmCd} @@ -203,8 +206,7 @@ /* 납부자 주소 수정(payerAddrMapper.updatePayerAddr) */ UPDATE TB_PAYER_ADDR - SET ADDR_INPT_SE_CD = #{addrInptSeCd} - , MDFCN_DT = + SET MDFCN_DT = , MDFR = #{modifiedBy} WHERE RTPYR_ID = #{rtpyrId} AND ADDR_SN = #{addrSn} 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 a47e26b2..cb24066d 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 @@ -128,7 +128,7 @@ - + @@ -252,6 +252,9 @@ $("#mno--${pageName}").val(info.use_strnghld_lnbr); // 사용본거지 번지 $("#sno--${pageName}").val(info.use_strnghld_ho); // 사용본거지 호 $("#dongCd--${pageName}").val(info.use_strnghld_adstrd_code); // 사용본거지 행정동 코드 + + $("#rtpyrInptSeCd--${pageName}").val("02"); // 납부자 입력 구분 코드(FIM015) 02:자동차관리정보시스템 + $("#addrInptSeCd--${pageName}").val("02"); // 주소 입력 구분 코드(FIM087) 02:자동차관리정보시스템 } // 우편번호 검색 결과 @@ -334,9 +337,6 @@ dialog.alert("차량 정보가 없습니다."); } else { $("#rtpyrId--${pageName}").val(resp.rtpyrId); // 납부자 ID - $("#rtpyrInptSeCd--${pageName}").val("02"); // 납부자 입력 구분 코드 - $("#addrInptSeCd--${pageName}").val("02"); // 주소 입력 구분 코드 - $("#addr--${pageName}").attr("readonly", true); // 주소 $("#zip--${pageName}").attr("readonly", true); // 우편번호 $("#dtlAddr--${pageName}").attr("readonly", true); // 상세 주소 @@ -366,8 +366,6 @@ // 화면에서 보여주는 주소입력 부분 수정 $P.fnEditAddr = () => { - $("#rtpyrInptSeCd--${pageName}").val("01"); // 입력 구분 - $("#addrInptSeCd--${pageName}").val("01"); // 입력 구분 $("#addr--${pageName}").prop("readonly", false); // 주소 $("#zip--${pageName}").prop("readonly", false); // 우편번호 $("#dtlAddr--${pageName}").prop("readonly", false); // 상세 주소 @@ -385,6 +383,9 @@ $("#sno--${pageName}").val(""); // // 행정동 $("#dongCd--${pageName}").val(""); // + + $("#rtpyrInptSeCd--${pageName}").val("01"); // 납부자 입력 구분 코드(FIM015) 01:수기입력 + $("#addrInptSeCd--${pageName}").val("01"); // 주소 입력 구분 코드(FIM087) 01:수기입력 } // 저장 버튼 클릭 이벤트