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

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

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

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

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

@ -81,6 +81,15 @@
)
</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) */
<selectKey resultType="string" keyProperty="addrHstryId" keyColumn="NEW_ID" order="BEFORE">
<include refid="numbering.keyByYear">
@ -108,7 +117,7 @@
)
</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
SET RTPYR_ID = #{rtpyrId} <!-- 납부자 ID -->
, ADDR_SN = #{addrSn} <!-- 주소 일련번호 -->

@ -259,6 +259,7 @@
, PA.ADDR <!-- 주소 -->
, PA.DTL_ADDR <!-- 상세 주소 -->
, PA.ROAD_NM_CD <!-- 도로 명 코드 -->
, PA.STDG_CD <!-- 법정동 코드 -->
FROM TB_CRDN C
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)

@ -218,27 +218,22 @@
, CPAH.RTPYR_ID <!-- 납부자 ID -->
, CPAH.ADDR_SN <!-- 주소 일련번호 -->
, CPAH.REG_DT <!-- 등록 일시 -->
, (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 <!-- 주소 입력 구분 명 -->
, (SELECT GET_CODE_NM('FIM013', PA.ADDR_SE_CD) FROM DUAL) AS ADDR_SE_NM <!-- 주소 구분 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CPAH.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, P.RTPYR_SE_CD <!-- 납부자 구분 코드 -->
, (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.ADDR <!-- 주소 -->
, PA.DTL_ADDR <!-- 상세 주소 -->
, PA.ROAD_NM_CD <!-- 도로 명 코드 -->
, PA.UDGD_SE_CD <!-- 지하 구분 코드 -->
, PA.BMNO <!-- 건물본번 -->
, PA.BSNO <!-- 건물부번 -->
, PA.BLDG_MNG_NO <!-- 건물 관리 번호 -->
, PA.STDG_CD <!-- 법정동 코드 -->
, PA.DONG_CD <!-- 행정동 코드 -->
, PA.MTN_SE_CD <!-- 산 구분 코드 -->
, PA.MNO <!-- 본번 -->
, PA.SNO <!-- 부번 -->
, PA.SPCL_DONG <!-- 특수 동 -->
, PA.SPCL_HO <!-- 특수 호 -->
, PA.SPCL_ADDR <!-- 특수 주소 -->
, PA.WHOL_ADDR <!-- 전체 주소 -->
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)
</sql>

Loading…
Cancel
Save