납부자 주소 이력 소스 수정.

main
JoJH 1 week ago
parent f5ec6cd155
commit 3cf3339b21

@ -5,6 +5,7 @@ import java.util.Map;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper; import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.fims.cmmn.CrdnPayerAddrHstry;
import cokr.xit.fims.cmmn.CrdnPayerHstry; import cokr.xit.fims.cmmn.CrdnPayerHstry;
import cokr.xit.fims.cmmn.CrdnPayerHstryQuery; import cokr.xit.fims.cmmn.CrdnPayerHstryQuery;
import cokr.xit.foundation.component.AbstractMapper; import cokr.xit.foundation.component.AbstractMapper;
@ -62,18 +63,16 @@ public interface CrdnPayerHstryMapper extends AbstractMapper {
* </ul> * </ul>
* @return * @return
*/ */
int insertCrdnPayerAddrHstry(Map<String, Object> params); int insertCrdnPayerAddrHstry(CrdnPayerAddrHstry crdnPayerAddrHstry);
/** . /**(TB_CRDN) ID .
* @param crdnPayerHstry * @param params
* @return * <ul><li>"crdnPayerHstry" - </li>
* <ul><li> true</li> * <li>"currentUser" - </li>
* <li> false</li>
* </ul> * </ul>
* @return
*/ */
default boolean insertCrdnPayerAddrHstry(CrdnPayerHstry crdnPayerHstry) { int updateCrdnPayerAddr(CrdnPayerAddrHstry crdnPayerAddrHstry);
return crdnPayerHstry != null && insertCrdnPayerAddrHstry(params().set("crdnPayerAddrHstry", crdnPayerHstry)) == 1;
}
/**(TB_CRDN) ID . /**(TB_CRDN) ID .
* @param params * @param params

@ -6,6 +6,7 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import cokr.xit.fims.cmmn.CrdnPayerAddrHstry;
import cokr.xit.fims.cmmn.CrdnPayerHstry; import cokr.xit.fims.cmmn.CrdnPayerHstry;
import cokr.xit.fims.cmmn.CrdnPayerHstryQuery; import cokr.xit.fims.cmmn.CrdnPayerHstryQuery;
import cokr.xit.fims.cmmn.dao.CrdnPayerHstryMapper; import cokr.xit.fims.cmmn.dao.CrdnPayerHstryMapper;
@ -56,57 +57,37 @@ public class CrdnPayerHstryBean extends AbstractBean {
return crdnPayerHstryMapper.insertCrdnPayerHstry(crdnPayerHstry); return crdnPayerHstryMapper.insertCrdnPayerHstry(crdnPayerHstry);
} }
/** . /** , .
* @param crdnPayerHstry * @param crdnPayerHstry
* @return * @return
* <ul><li> true</li> * <ul><li> true</li>
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
public boolean createCrdnPayerAddrHstry(CrdnPayerHstry crdnPayerHstry) { public boolean updateCrdnPayer(CrdnPayerHstry crdnPayerHstry) {
return crdnPayerHstryMapper.insertCrdnPayerAddrHstry(crdnPayerHstry); return crdnPayerHstryMapper.updateCrdnPayer(crdnPayerHstry);
} }
/** , . /** .
* @param crdnPayerHstry * @param crdnPayerAddrHstry
* @return * @return
* <ul><li> true</li> * <ul><li> true</li>
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
public boolean updateCrdnPayer(CrdnPayerHstry crdnPayerHstry) { public int createCrdnPayerAddrHstry(CrdnPayerAddrHstry crdnPayerAddrHstry) {
return crdnPayerHstryMapper.updateCrdnPayer(crdnPayerHstry); return crdnPayerHstryMapper.insertCrdnPayerAddrHstry(crdnPayerAddrHstry);
} }
/** , . /** .
* @param crdnPayerHstry * @param crdnPayerAddrHstry
* @return * @return
* <ul><li> true</li> * <ul><li> true</li>
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
public boolean createHstryUpdateCrdnPayer(CrdnPayerHstry crdnPayerHstry) { public int updateCrdnPayerAddr(CrdnPayerAddrHstry crdnPayerAddrHstry) {
boolean rtnScs = false; // DB 처리 결과 return crdnPayerHstryMapper.updateCrdnPayerAddr(crdnPayerAddrHstry);
// 단속 납부자 이력 정보를 등록한다.
rtnScs = createCrdnPayerHstry(crdnPayerHstry);
if (!rtnScs) {
throw new RuntimeException("단속 납부자 이력 정보를 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback
}
// 단속 납부자 주소 이력 정보를 등록한다.
rtnScs = createCrdnPayerAddrHstry(crdnPayerHstry);
if (!rtnScs) {
throw new RuntimeException("단속 납부자 이력 정보를 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback
}
// 단속 대장의 납부자 ID, 주소 일련번호를 변경한다.
rtnScs = updateCrdnPayer(crdnPayerHstry);
if (!rtnScs) {
throw new RuntimeException("단속 납부자 이력 정보를 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback
}
return rtnScs;
} }
/** , . /** , .
@ -116,22 +97,22 @@ public class CrdnPayerHstryBean extends AbstractBean {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
public boolean createHstryUpdateCrdnPayerAddr(CrdnPayerHstry crdnPayerHstry) { public boolean createHstryUpdateCrdnPayerAddr(CrdnPayerAddrHstry crdnPayerAddrHstry) {
boolean rtnScs = false; // DB 처리 결과 int rtnNocs = -1; // 처리 결과 건수
// 단속 납부자 주소 이력 정보를 등록한다. // 단속 납부자 주소 이력(TB_CRDN_PAYER_ADDR_HSTRY) 대장을 등록한다.
rtnScs = createCrdnPayerAddrHstry(crdnPayerHstry); rtnNocs = crdnPayerHstryMapper.insertCrdnPayerAddrHstry(crdnPayerAddrHstry);
if (!rtnScs) { if (rtnNocs != 1) {
throw new RuntimeException("단속 납부자 이력 정보를 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("납부자주소 이력 대장 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
// 단속 대장의 납부자 ID, 주소 일련번호를 변경한다. // 단속 대장(TB_CRDN)을 수정한다.
rtnScs = updateCrdnPayer(crdnPayerHstry); rtnNocs = updateCrdnPayerAddr(crdnPayerAddrHstry);
if (!rtnScs) { if (rtnNocs != 1) {
throw new RuntimeException("단속 납부자 이력 정보를 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("단속 대장에 납부자, 주소 정보 수정 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
return rtnScs; return true;
} }
} }

@ -21,7 +21,7 @@ import org.springframework.stereotype.Component;
import cokr.xit.base.file.FileInfo; import cokr.xit.base.file.FileInfo;
import cokr.xit.base.file.service.bean.FileBean; import cokr.xit.base.file.service.bean.FileBean;
import cokr.xit.fims.cmmn.CmmnUtil; import cokr.xit.fims.cmmn.CmmnUtil;
import cokr.xit.fims.cmmn.CrdnPayerHstry; import cokr.xit.fims.cmmn.CrdnPayerAddrHstry;
import cokr.xit.fims.cmmn.CrdnSttsHstry; import cokr.xit.fims.cmmn.CrdnSttsHstry;
import cokr.xit.fims.cmmn.service.bean.CrdnPayerHstryBean; import cokr.xit.fims.cmmn.service.bean.CrdnPayerHstryBean;
import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean;
@ -162,18 +162,14 @@ public class CrdnBean extends AbstractBean {
//단속납부자이력(TB_CRDN_PAYER_HSTRY) 대장 등록 //단속납부자이력(TB_CRDN_PAYER_HSTRY) 대장 등록
if(!ifEmpty(crdn.getRtpyrId(), () -> "").equals("")) { if(!ifEmpty(crdn.getRtpyrId(), () -> "").equals("")) {
CrdnPayerHstry crdnPayerHstry = new CrdnPayerHstry(); CrdnPayerAddrHstry crdnPayerAddrHstry = new CrdnPayerAddrHstry();
crdnPayerHstry.setCrdnId(crdn.getCrdnId()); crdnPayerAddrHstry.setCrdnId(crdn.getCrdnId());
crdnPayerHstry.setRtpyrId(crdn.getRtpyrId()); crdnPayerAddrHstry.setRtpyrId(crdn.getRtpyrId());
crdnPayerHstry.setAddrSn(crdn.getAddrSn()); crdnPayerAddrHstry.setAddrSn(crdn.getAddrSn());
result = crdnPayerHstryBean.createCrdnPayerHstry(crdnPayerHstry);
if (!result) {
throw new RuntimeException("단속자료 등록 중 단속 납부자 이력 등록에 실패하였습니다.");
}
// 단속 대장의 납부자ID 수정 및 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 대장에 등록한다. // 단속 대장의 납부자ID 수정 및 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 대장에 등록한다.
result = crdnPayerHstryBean.createCrdnPayerAddrHstry(crdnPayerHstry); int effected = crdnPayerHstryBean.createCrdnPayerAddrHstry(crdnPayerAddrHstry);
if (!result) { if(effected != 1) {
throw new RuntimeException("단속자료 등록 중 단속 납부자주소 이력 등록에 실패하였습니다."); throw new RuntimeException("단속자료 등록 중 단속 납부자주소 이력 등록에 실패하였습니다.");
} }
} }

@ -8,7 +8,7 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import cokr.xit.fims.cmmn.CrdnPayerHstry; import cokr.xit.fims.cmmn.CrdnPayerAddrHstry;
import cokr.xit.fims.cmmn.CrdnSttsHstry; import cokr.xit.fims.cmmn.CrdnSttsHstry;
import cokr.xit.fims.cmmn.service.bean.CrdnPayerHstryBean; import cokr.xit.fims.cmmn.service.bean.CrdnPayerHstryBean;
import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean;
@ -406,6 +406,7 @@ public class PayerBean extends AbstractBean {
public String createCrdnPayer(Payer payer) { public String createCrdnPayer(Payer payer) {
// 변수 선언 // 변수 선언
boolean rtnScs = false; // DB 처리 결과 boolean rtnScs = false; // DB 처리 결과
boolean bInstHstry = false; // DB 처리 결과
String strTemp = ""; String strTemp = "";
// 생년월일 // 생년월일
@ -423,6 +424,9 @@ public class PayerBean extends AbstractBean {
payer.setWholAddr(payer.getAddr() + ", " + payer.getDtlAddr()); payer.setWholAddr(payer.getAddr() + ", " + payer.getDtlAddr());
} }
// 납부자 주소 이력
CrdnPayerAddrHstry crdnPayerAddrHstry = new CrdnPayerAddrHstry();
// 단속 ID로 단속, 납부자, 주소 정보 조회 // 단속 ID로 단속, 납부자, 주소 정보 조회
DataObject crdnPayerAddrInfo = payerMapper.selectCrdnInfo(payer.getCrdnId()); DataObject crdnPayerAddrInfo = payerMapper.selectCrdnInfo(payer.getCrdnId());
@ -439,36 +443,40 @@ public class PayerBean extends AbstractBean {
&& crdnPayerAddrInfo.string("ZIP").equals(payer.getZip()) && crdnPayerAddrInfo.string("ZIP").equals(payer.getZip())
&& crdnPayerAddrInfo.string("ADDR").equals(payer.getAddr()) && crdnPayerAddrInfo.string("ADDR").equals(payer.getAddr())
&& crdnPayerAddrInfo.string("DTL_ADDR").equals(payer.getDtlAddr()) && crdnPayerAddrInfo.string("DTL_ADDR").equals(payer.getDtlAddr())
&& crdnPayerAddrInfo.string("ROAD_NM_CD").equals(payer.getRoadNmCd())) { && crdnPayerAddrInfo.string("ROAD_NM_CD").equals(payer.getRoadNmCd())
&& crdnPayerAddrInfo.string("STDG_CD").equals(payer.getStdgCd())) {
// 주소 일련번호 설정 // 주소 일련번호 설정
payer.setAddrSn(crdnPayerAddrInfo.string("ADDR_SN")); payer.setAddrSn(crdnPayerAddrInfo.string("ADDR_SN"));
// 납부자 번호와 주소가 같다면 단속 납부자주소 이력을 등록하지 않는다.
bInstHstry = false;
} else { } else {
Payer result = getPayerAddrInfo(payer); Payer result = getPayerAddrInfo(payer);
CrdnPayerHstry crdnPayerAddrHstry = new CrdnPayerHstry();
crdnPayerAddrHstry.setCrdnId(payer.getCrdnId()); crdnPayerAddrHstry.setCrdnId(payer.getCrdnId());
crdnPayerAddrHstry.setRtpyrId(result.getRtpyrId()); crdnPayerAddrHstry.setRtpyrId(result.getRtpyrId());
crdnPayerAddrHstry.setAddrSn(result.getAddrSn()); crdnPayerAddrHstry.setAddrSn(result.getAddrSn());
// 납부자 주소 변경 이력 생성 // 납부자 번호가 같고, 주소가 다르다면 단속 납부자주소 이력을 등록한다.
rtnScs = crdnPayerHstryBean.createHstryUpdateCrdnPayerAddr(crdnPayerAddrHstry); bInstHstry = true; // 이력 등록 여부
if (!rtnScs) {
throw new RuntimeException("납부자 등록 실행중 단속 대장에 주소 일련번호 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
} }
} else { } else {
Payer result = create(payer) ? payer : getPayerAddrInfo(payer); Payer result = create(payer) ? payer : getPayerAddrInfo(payer);
// 단속 대장의 납부자ID 수정 및 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 대장에 등록한다. // 단속 대장의 납부자ID 수정 및 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 대장에 등록한다.
CrdnPayerHstry crdnPayerHstry = new CrdnPayerHstry(); crdnPayerAddrHstry.setCrdnId(payer.getCrdnId());
crdnPayerHstry.setCrdnId(payer.getCrdnId()); crdnPayerAddrHstry.setRtpyrId(result.getRtpyrId());
crdnPayerHstry.setRtpyrId(result.getRtpyrId()); crdnPayerAddrHstry.setAddrSn(result.getAddrSn());
crdnPayerHstry.setAddrSn(result.getAddrSn());
// 납부자 번호가 다르다면 단속 납부자주소 이력을 등록한다.
bInstHstry = true; // 이력 등록 여부
}
rtnScs = crdnPayerHstryBean.createHstryUpdateCrdnPayer(crdnPayerHstry); // 단속 납부자 주소 이력(TB_CRDN_PAYER_ADDR_HSTRY) 대장에 등록한다.
if (bInstHstry) {
rtnScs = crdnPayerHstryBean.createHstryUpdateCrdnPayerAddr(crdnPayerAddrHstry);
if (!rtnScs) { if (!rtnScs) {
throw new RuntimeException("납부자 등록 실행중 단속 대장에 납부자 ID 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("납부자 등록 실행중 단속 대장에 주소 일련번호 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
} }
@ -513,5 +521,4 @@ public class PayerBean extends AbstractBean {
return payerAddrMapper.selectPayerAddrHstrys(req); return payerAddrMapper.selectPayerAddrHstrys(req);
} }
} }

@ -81,6 +81,15 @@
) )
</insert> </insert>
<update id="updateCrdnPayer" parameterType="map">/* 단속 납부자 수정(crdnPayerHstryMapper.updateCrdnPayer) */
UPDATE TB_CRDN
SET RTPYR_ID = #{rtpyrId} <!-- 납부자 ID -->
, ADDR_SN = #{addrSn} <!-- 주소 일련번호 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{modifiedBy} <!-- 수정자 -->
WHERE CRDN_ID = #{crdnId} <!-- 단속 ID -->
</update>
<insert id="insertCrdnPayerAddrHstry" parameterType="cokr.xit.fims.cmmn.CrdnPayerAddrHstry">/* 단속 납부자 주소 이력 등록(crdnPayerHstryMapper.insertCrdnPayerAddrHstry) */ <insert id="insertCrdnPayerAddrHstry" parameterType="cokr.xit.fims.cmmn.CrdnPayerAddrHstry">/* 단속 납부자 주소 이력 등록(crdnPayerHstryMapper.insertCrdnPayerAddrHstry) */
<selectKey resultType="string" keyProperty="addrHstryId" keyColumn="NEW_ID" order="BEFORE"> <selectKey resultType="string" keyProperty="addrHstryId" keyColumn="NEW_ID" order="BEFORE">
<include refid="numbering.keyByYear"> <include refid="numbering.keyByYear">
@ -108,7 +117,7 @@
) )
</insert> </insert>
<update id="updateCrdnPayer" parameterType="cokr.xit.fims.cmmn.CrdnPayerAddrHstry">/* 단속 납부자 수정(crdnPayerHstryMapper.updateCrdnPayer) */ <update id="updateCrdnPayerAddr" parameterType="cokr.xit.fims.cmmn.CrdnPayerAddrHstry">/* 단속 납부자 수정(crdnPayerHstryMapper.updateCrdnPayer) */
UPDATE TB_CRDN UPDATE TB_CRDN
SET RTPYR_ID = #{rtpyrId} <!-- 납부자 ID --> SET RTPYR_ID = #{rtpyrId} <!-- 납부자 ID -->
, ADDR_SN = #{addrSn} <!-- 주소 일련번호 --> , ADDR_SN = #{addrSn} <!-- 주소 일련번호 -->

@ -259,6 +259,7 @@
, PA.ADDR <!-- 주소 --> , PA.ADDR <!-- 주소 -->
, PA.DTL_ADDR <!-- 상세 주소 --> , PA.DTL_ADDR <!-- 상세 주소 -->
, PA.ROAD_NM_CD <!-- 도로 명 코드 --> , PA.ROAD_NM_CD <!-- 도로 명 코드 -->
, PA.STDG_CD <!-- 법정동 코드 -->
FROM TB_CRDN C FROM TB_CRDN C
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID) LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
LEFT OUTER JOIN TB_PAYER_ADDR PA ON (C.RTPYR_ID = PA.RTPYR_ID AND C.ADDR_SN = PA.ADDR_SN) LEFT OUTER JOIN TB_PAYER_ADDR PA ON (C.RTPYR_ID = PA.RTPYR_ID AND C.ADDR_SN = PA.ADDR_SN)

@ -219,26 +219,21 @@
, CPAH.ADDR_SN <!-- 주소 일련번호 --> , CPAH.ADDR_SN <!-- 주소 일련번호 -->
, CPAH.REG_DT <!-- 등록 일시 --> , CPAH.REG_DT <!-- 등록 일시 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CPAH.RGTR) AS RGTR_NM <!-- 등록자 명 --> , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CPAH.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, (SELECT GET_CODE_NM('FIM087', PA.ADDR_INPT_SE_CD) FROM DUAL) AS ADDR_INPT_SE_NM <!-- 주소 입력 구분 명 --> , P.RTPYR_SE_CD <!-- 납부자 구분 코드 -->
, (SELECT GET_CODE_NM('FIM013', PA.ADDR_SE_CD) FROM DUAL) AS ADDR_SE_NM <!-- 주소 구분 명 --> , (GET_CODE_NM('FIM011', P.RTPYR_SE_CD)) AS RTPYR_SE_NM <!-- 납부자 구분 명 -->
, P.RTPYR_NM <!-- 납부자 명 -->
, (GET_CODE_NM('FIM087', PA.ADDR_INPT_SE_CD)) AS ADDR_INPT_SE_NM <!-- 주소 입력 구분 명 -->
, (GET_CODE_NM('FIM013', PA.ADDR_SE_CD)) AS ADDR_SE_NM <!-- 주소 구분 명 -->
, PA.ZIP <!-- 우편번호 --> , PA.ZIP <!-- 우편번호 -->
, PA.ADDR <!-- 주소 --> , PA.ADDR <!-- 주소 -->
, PA.DTL_ADDR <!-- 상세 주소 --> , PA.DTL_ADDR <!-- 상세 주소 -->
, PA.ROAD_NM_CD <!-- 도로 명 코드 --> , PA.ROAD_NM_CD <!-- 도로 명 코드 -->
, PA.UDGD_SE_CD <!-- 지하 구분 코드 -->
, PA.BMNO <!-- 건물본번 -->
, PA.BSNO <!-- 건물부번 -->
, PA.BLDG_MNG_NO <!-- 건물 관리 번호 --> , PA.BLDG_MNG_NO <!-- 건물 관리 번호 -->
, PA.STDG_CD <!-- 법정동 코드 --> , PA.STDG_CD <!-- 법정동 코드 -->
, PA.DONG_CD <!-- 행정동 코드 --> , PA.DONG_CD <!-- 행정동 코드 -->
, PA.MTN_SE_CD <!-- 산 구분 코드 -->
, PA.MNO <!-- 본번 -->
, PA.SNO <!-- 부번 -->
, PA.SPCL_DONG <!-- 특수 동 -->
, PA.SPCL_HO <!-- 특수 호 -->
, PA.SPCL_ADDR <!-- 특수 주소 -->
, PA.WHOL_ADDR <!-- 전체 주소 --> , PA.WHOL_ADDR <!-- 전체 주소 -->
FROM TB_CRDN_PAYER_ADDR_HSTRY CPAH FROM TB_CRDN_PAYER_ADDR_HSTRY CPAH
INNER JOIN TB_PAYER P ON (CPAH.RTPYR_ID = P.RTPYR_ID)
INNER JOIN TB_PAYER_ADDR PA ON (CPAH.RTPYR_ID = PA.RTPYR_ID AND CPAH.ADDR_SN = PA.ADDR_SN) INNER JOIN TB_PAYER_ADDR PA ON (CPAH.RTPYR_ID = PA.RTPYR_ID AND CPAH.ADDR_SN = PA.ADDR_SN)
</sql> </sql>

Loading…
Cancel
Save