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.getCrdnSttsCd(), () -> "").equals("")){ //상태코드가 없을경우
if(ifEmpty(crdn.getCvlcptLinkYn(), () -> "").equals("Y")) { //민원연계자료일 경우 if(ifEmpty(crdn.getCvlcptLinkYn(), () -> "").equals("Y")) { //민원연계자료일 경우
crdn.setCrdnSttsCd("01"); //초기상태 crdn.setCrdnSttsCd("01"); //초기상태
crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis()));
} else { //민원연계자료가 아닐 경우 } else { //민원연계자료가 아닐 경우
if(ifEmpty(crdn.getRtpyrId(), () -> "").equals("")) { //납부자가 정보가 없을 경우 if(ifEmpty(crdn.getRtpyrId(), () -> "").equals("")) { //납부자가 정보가 없을 경우
crdn.setCrdnSttsCd("01"); crdn.setCrdnSttsCd("01"); //초기상태
crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis()));
} else { } else {
crdn.setCrdnSttsCd("21"); //납부자등록완료 crdn.setCrdnSttsCd("21"); //납부자등록완료
crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis()));
} }
} }
} }

@ -35,6 +35,12 @@ public interface PayerAddrMapper extends AbstractMapper {
*/ */
List<Payer> selectPayerAddrs(PayerQuery req); List<Payer> selectPayerAddrs(PayerQuery req);
/** .
* @param req
* @return
*/
List<Payer> selectPayerAddrInfo(PayerQuery req);
/** . /** .
* @param params * @param params
* <ul><li>"payerAddr" - </li> * <ul><li>"payerAddr" - </li>
@ -42,18 +48,7 @@ public interface PayerAddrMapper extends AbstractMapper {
* </ul> * </ul>
* @return * @return
*/ */
int insertPayerAddr(Map<String, Object> params); int insertPayerAddr(Payer payer);
/** .
* @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;
}
/** . /** .
* @param params * @param params
@ -62,18 +57,7 @@ public interface PayerAddrMapper extends AbstractMapper {
* </ul> * </ul>
* @return * @return
*/ */
int updatePayerAddr(Map<String, Object> params); int updatePayerAddr(Payer payer);
/** .
* @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;
}
/** . /** .
* @param req * @param req

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

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

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

Loading…
Cancel
Save