1. 납부자 주소 조회 및 수정 쿼리 수정.

2. 단속자료 입력시 단속상태변경일시 추가.
main
jjh 6 months ago
parent af88334393
commit c5d3d0c9b6

@ -105,14 +105,18 @@ public class CrdnBean extends AbstractBean {
}
//상태코드 설정
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
if(ifEmpty(crdn.getCrdnSttsCd(), () -> "").equals("")){ //상태코드가 없을경우
if(ifEmpty(crdn.getCvlcptLinkYn(), () -> "").equals("Y")) { //민원연계자료일 경우
crdn.setCrdnSttsCd("01"); //초기상태
crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis()));
} else { //민원연계자료가 아닐 경우
if(ifEmpty(crdn.getRtpyrId(), () -> "").equals("")) { //납부자가 정보가 없을 경우
crdn.setCrdnSttsCd("01");
crdn.setCrdnSttsCd("01"); //초기상태
crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis()));
} else {
crdn.setCrdnSttsCd("21"); //납부자등록완료
crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis()));
}
}
}

@ -35,6 +35,12 @@ public interface PayerAddrMapper extends AbstractMapper {
*/
List<Payer> selectPayerAddrs(PayerQuery req);
/** .
* @param req
* @return
*/
List<Payer> selectPayerAddrInfo(PayerQuery req);
/** .
* @param params
* <ul><li>"payerAddr" - </li>
@ -42,18 +48,7 @@ public interface PayerAddrMapper extends AbstractMapper {
* </ul>
* @return
*/
int insertPayerAddr(Map<String, Object> params);
/** .
* @param payerAddr
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean insert(Payer payer) {
return payer != null && insertPayerAddr(params().set("payerAddr", payer)) == 1;
}
int insertPayerAddr(Payer payer);
/** .
* @param params
@ -62,18 +57,7 @@ public interface PayerAddrMapper extends AbstractMapper {
* </ul>
* @return
*/
int updatePayerAddr(Map<String, Object> params);
/** .
* @param payerAddr
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean update(Payer payer) {
return payer != null && updatePayerAddr(params().set("payerAddr", payer)) == 1;
}
int updatePayerAddr(Payer payer);
/** .
* @param req

@ -71,6 +71,10 @@ public class PayerBean extends AbstractBean {
return payerMapper.selectPayers(req);
}
/** .
* @param req
* @return
*/
public Payer getPayer(PayerQuery req) {
if (req.getOrderBy() == null) {
req.setOrderBy("P.RTPYR_ID DESC");
@ -83,12 +87,16 @@ public class PayerBean extends AbstractBean {
/** .
* @param req
* @return
* @return
*/
public List<Payer> getPayerAddrs(PayerQuery req) {
return payerAddrMapper.selectPayerAddrs(req);
}
/** .
* @param req
* @return
*/
public Payer getPayerAddr(PayerQuery req) {
if (req.getOrderBy() == null) {
req.setOrderBy("PA.ADDR_SN DESC");
@ -118,12 +126,14 @@ public class PayerBean extends AbstractBean {
// 납부자 정보 및 주소 정보를 조회
req.setRtpyrId(payer.getRtpyrId());
req.setOrderBy("PA.ADDR_SN DESC");
payers = getPayerAddrs(req);
payers = payerAddrMapper.selectPayerAddrInfo(req);
if (payers.get(0).getAddrSn().equals("")) {
if (payers.isEmpty()) {
createPayerAddr(payer); // 주소 신규 등록
} else {
payer.setAddrSn(payers.get(0).getAddrSn()); // 주소 일련번호 설정
updatePayerAddr(payer); // 주소 수정
}
return payer;
@ -181,7 +191,7 @@ public class PayerBean extends AbstractBean {
payer.setDongCd(info.string("DONG_CD"));
}
return payerAddrMapper.insert(payer);
return payerAddrMapper.insertPayerAddr(payer) == 1 ? true : false;
}
/** .
@ -192,7 +202,7 @@ public class PayerBean extends AbstractBean {
* </ul>
*/
public boolean updatePayerAddr(Payer payer) {
return payerAddrMapper.update(payer);
return payerAddrMapper.updatePayerAddr(payer) == 1 ? true : false;
}
public List<Payer> getVehicleOwners(List<BasicInfoRequest> reqs) {
@ -251,7 +261,12 @@ public class PayerBean extends AbstractBean {
payer.setSno(toInt(str));
payer.setAddr(basicInfo.getRoad_nm_adres());
payer.setDtlAddr(basicInfo.getUse_strnghld_adres_nm());
payer.setWholAddr(basicInfo.getRoad_nm_adres() + ", " + basicInfo.getUse_strnghld_adres_nm());
// 전체 주소
str = basicInfo.getUse_strnghld_adres_nm();
if (!isEmpty(str))
payer.setWholAddr(basicInfo.getRoad_nm_adres() + ", " + basicInfo.getUse_strnghld_adres_nm());
else
payer.setWholAddr(basicInfo.getRoad_nm_adres());
Payer result = create(payer) ? payer : getPayerAddrInfo(payer);
@ -274,7 +289,7 @@ public class PayerBean extends AbstractBean {
* @return
*/
public DataObject getCrdnInfo(PayerQuery req) {
return payerMapper.selectCrdn(req); // 단속 조회
return payerMapper.selectCrdn(req); // 단속 조회
}
/** , ID .
@ -286,7 +301,7 @@ public class PayerBean extends AbstractBean {
*/
public String createCrdnPayer(Payer payer) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
boolean rtnScs = false; // DB 처리 결과
String strTemp = "";
// 지하 구분 코드
@ -351,7 +366,7 @@ public class PayerBean extends AbstractBean {
}
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
if (crdnPayerAddrInfo.number("CRDN_STTS_CD").intValue() < 21) { // 납부자 등록 완료
if (crdnPayerAddrInfo.number("CRDN_STTS_CD").intValue() < 21) { // 납부자 등록 완료
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
crdnSttsHstry.setCrdnId(crdnPayerAddrInfo.string("CRDN_ID"));
crdnSttsHstry.setBfrSttsCd(crdnPayerAddrInfo.string("CRDN_STTS_CD"));

@ -248,6 +248,7 @@
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, C.RTPYR_ID <!-- 납부자 ID -->
, C.ADDR_SN <!-- 주소 일련번호 -->
, C.CRDN_YMD <!-- 단속 일자 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->

@ -135,77 +135,79 @@
</if>
</otherwise>
</choose>
<include refid="utility.orderBy" />
</select>
<insert id="insertPayerAddr" parameterType="map">/* 납부자 주소 등록(payerAddrMapper.insertPayerAddr) */
<selectKey resultType="string" keyProperty="payerAddr.addrSn" keyColumn="NEW_ID" order="BEFORE">
<insert id="insertPayerAddr" parameterType="cokr.xit.fims.payer.Payer">/* 납부자 주소 등록(payerAddrMapper.insertPayerAddr) */
<selectKey resultType="string" keyProperty="addrSn" keyColumn="NEW_ID" order="BEFORE">
SELECT LPAD(CAST(IFNULL(MAX(ADDR_SN) + 1, 1) AS INT), 5, '0') AS NEW_ID
FROM TB_PAYER_ADDR
WHERE RTPYR_ID = #{payerAddr.rtpyrId}
WHERE RTPYR_ID = #{rtpyrId}
</selectKey>
INSERT
INTO TB_PAYER_ADDR (
RTPYR_ID <!-- 납부자 ID -->
, ADDR_SN <!-- 주소 일련번호 -->
, ADDR_INPT_SE_CD <!-- 주소 입력 구분 코드 -->
, ADDR_SE_CD <!-- 주소 구분 코드 -->
, ZIP <!-- 우편번호 -->
, ADDR <!-- 주소 -->
, DTL_ADDR <!-- 상세 주소 -->
, ROAD_NM_CD <!-- 도로 명 코드 -->
, UDGD_SE_CD <!-- 지하 구분 코드 -->
, BMNO <!-- 건물본번 -->
, BSNO <!-- 건물부번 -->
, BLDG_MNG_NO <!-- 건물 관리 번호 -->
, STDG_CD <!-- 법정동 코드 -->
, DONG_CD <!-- 행정동 코드 -->
, MTN_SE_CD <!-- 산 구분 코드 -->
, MNO <!-- 본번 -->
, SNO <!-- 부번 -->
, SPCL_DONG <!-- 특수 동 -->
, SPCL_HO <!-- 특수 호 -->
, SPCL_ADDR <!-- 특수 주소 -->
, WHOL_ADDR <!-- 전체 주소 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
RTPYR_ID <!-- 납부자 ID -->
, ADDR_SN <!-- 주소 일련번호 -->
, ADDR_INPT_SE_CD <!-- 주소 입력 구분 코드 -->
, ADDR_SE_CD <!-- 주소 구분 코드 -->
, ZIP <!-- 우편번호 -->
, ADDR <!-- 주소 -->
, DTL_ADDR <!-- 상세 주소 -->
, ROAD_NM_CD <!-- 도로 명 코드 -->
, UDGD_SE_CD <!-- 지하 구분 코드 -->
, BMNO <!-- 건물본번 -->
, BSNO <!-- 건물부번 -->
, BLDG_MNG_NO <!-- 건물 관리 번호 -->
, STDG_CD <!-- 법정동 코드 -->
, DONG_CD <!-- 행정동 코드 -->
, MTN_SE_CD <!-- 산 구분 코드 -->
, MNO <!-- 본번 -->
, SNO <!-- 부번 -->
, SPCL_DONG <!-- 특수 동 -->
, SPCL_HO <!-- 특수 호 -->
, SPCL_ADDR <!-- 특수 주소 -->
, WHOL_ADDR <!-- 전체 주소 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
)
VALUES (
#{payerAddr.rtpyrId} <!-- 납부자 ID -->
, #{payerAddr.addrSn} <!-- 주소 일련번호 -->
, #{payerAddr.addrInptSeCd} <!-- 주소 입력 구분 코드 -->
, #{payerAddr.addrSeCd} <!-- 주소 구분 코드 -->
, #{payerAddr.zip} <!-- 우편번호 -->
, #{payerAddr.addr} <!-- 주소 -->
, #{payerAddr.dtlAddr} <!-- 상세 주소 -->
, #{payerAddr.roadNmCd} <!-- 도로 명 코드 -->
, #{payerAddr.udgdSeCd} <!-- 지하 구분 코드 -->
, #{payerAddr.bmno} <!-- 건물본번 -->
, #{payerAddr.bsno} <!-- 건물부번 -->
, #{payerAddr.bldgMngNo} <!-- 건물 관리 번호 -->
, #{payerAddr.stdgCd} <!-- 법정동 코드 -->
, #{payerAddr.dongCd} <!-- 행정동 코드 -->
, #{payerAddr.mtnSeCd} <!-- 산 구분 코드 -->
, #{payerAddr.mno} <!-- 본번 -->
, #{payerAddr.sno} <!-- 부번 -->
, #{payerAddr.spclDong} <!-- 특수 동 -->
, #{payerAddr.spclHo} <!-- 특수 호 -->
, #{payerAddr.spclAddr} <!-- 특수 주소 -->
, #{payerAddr.wholAddr} <!-- 전체 주소 -->
#{rtpyrId} <!-- 납부자 ID -->
, #{addrSn} <!-- 주소 일련번호 -->
, #{addrInptSeCd} <!-- 주소 입력 구분 코드 -->
, #{addrSeCd} <!-- 주소 구분 코드 -->
, #{zip} <!-- 우편번호 -->
, #{addr} <!-- 주소 -->
, #{dtlAddr} <!-- 상세 주소 -->
, #{roadNmCd} <!-- 도로 명 코드 -->
, #{udgdSeCd} <!-- 지하 구분 코드 -->
, #{bmno} <!-- 건물본번 -->
, #{bsno} <!-- 건물부번 -->
, #{bldgMngNo} <!-- 건물 관리 번호 -->
, #{stdgCd} <!-- 법정동 코드 -->
, #{dongCd} <!-- 행정동 코드 -->
, #{mtnSeCd} <!-- 산 구분 코드 -->
, #{mno} <!-- 본번 -->
, #{sno} <!-- 부번 -->
, #{spclDong} <!-- 특수 동 -->
, #{spclHo} <!-- 특수 호 -->
, #{spclAddr} <!-- 특수 주소 -->
, #{wholAddr} <!-- 전체 주소 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{payerAddr.createdBy} <!-- 등록자 -->
, #{createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{payerAddr.modifiedBy} <!-- 수정자 -->
, #{modifiedBy} <!-- 수정자 -->
)
</insert>
<update id="updatePayerAddr" parameterType="map">/* 납부자 주소 수정(payerAddrMapper.updatePayerAddr) */
<update id="updatePayerAddr" parameterType="cokr.xit.fims.payer.Payer">/* 납부자 주소 수정(payerAddrMapper.updatePayerAddr) */
UPDATE TB_PAYER_ADDR
SET MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{payerAddr.modifiedBy} <!-- 수정자 -->
WHERE RTPYR_ID = #{payerAddr.rtpyrId}
AND ADDR_SN = #{payerAddr.addrSn}
SET ADDR_INPT_SE_CD = #{addrInptSeCd} <!-- 주소 입력 구분 코드 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{modifiedBy} <!-- 수정자 -->
WHERE RTPYR_ID = #{rtpyrId}
AND ADDR_SN = #{addrSn}
</update>
<sql id="selectPayerAddrHstry">
@ -213,7 +215,7 @@
, 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 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 <!-- 주소 구분 명 -->
, PA.ZIP <!-- 우편번호 -->

Loading…
Cancel
Save