You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

167 lines
9.1 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.fims.rdca.dao.RdamtMapper">
<!-- 감액 대장 정보 매퍼
========== 변경 이력 ==========
2024-02-01 JoJH 최초 작성
============================ -->
<resultMap id="rdamtRow" type="cokr.xit.fims.rdca.Rdamt"> <!-- 감액 대장 -->
<result property="rdamtId" column="RDAMT_ID" /> <!-- 감액 ID -->
<result property="levyId" column="LEVY_ID" /> <!-- 부과 ID -->
<result property="rdamtYmd" column="RDAMT_YMD" /> <!-- 감액 일자 -->
<result property="rdamtSeCd" column="RDAMT_SE_CD" /> <!-- 감액 구분 코드 -->
<result property="rdamtRsnCd" column="RDAMT_RSN_CD" /> <!-- 감액 사유 코드 -->
<result property="lastPcptax" column="LAST_PCPTAX" /> <!-- 최종 본세 -->
<result property="lastAdamt" column="LAST_ADAMT" /> <!-- 최종 가산금 -->
<result property="rdamtPcptax" column="RDAMT_PCPTAX" /> <!-- 감액 본세 -->
<result property="rdamtAdamt" column="RDAMT_ADAMT" /> <!-- 감액 가산금 -->
<result property="rdamtRtrcnYn" column="RDAMT_RTRCN_YN" /> <!-- 감액 취소 여부 -->
<result property="rdamtRtrcnYmd" column="RDAMT_RTRCN_YMD" /> <!-- 감액 취소 일자 -->
<result property="rdamtRtrcnRsn" column="RDAMT_RTRCN_RSN" /> <!-- 감액 취소 사유 -->
<result property="delYn" column="DEL_YN" /> <!-- 삭제 여부 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 -->
<result property="lastModified" column="MDFCN_DT" /> <!-- 수정 일시 -->
<result property="modifiedBy" column="MDFR" /> <!-- 수정자 -->
<result property="removedAt" column="DEL_DT" /> <!-- 삭제 일시 -->
<result property="removedBy" column="DLTR" /> <!-- 삭제자 -->
<result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 -->
</resultMap>
<sql id="selectList">SELECT R.RDAMT_ID <!-- 감액 ID -->
, R.LEVY_ID <!-- 부과 ID -->
, R.LAST_PCPTAX <!-- 최종 본세 -->
, R.LAST_ADAMT <!-- 최종 가산금 -->
, R.RDAMT_YMD <!-- 감액 일자 -->
, R.RDAMT_SE_CD <!-- 감액 구분 코드 -->
, R.RDAMT_RSN_CD <!-- 감액 사유 코드 -->
, R.RDAMT_PCPTAX <!-- 감액 본세 -->
, R.RDAMT_ADAMT <!-- 감액 가산금 -->
, R.RDAMT_RTRCN_YN <!-- 감액 취소 여부 -->
, R.RDAMT_RTRCN_YMD <!-- 감액 취소 일자 -->
, R.RDAMT_RTRCN_RSN <!-- 감액 취소 사유 -->
, R.DEL_YN <!-- 삭제 여부 -->
, R.REG_DT <!-- 등록 일시 -->
, R.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = L.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, R.MDFCN_DT <!-- 수정 일시 -->
, R.MDFR <!-- 수정자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = L.MDFR) AS MDFR_NM <!-- 수정자 명 -->
FROM TB_RDAMT R
INNER JOIN TB_LEVY L ON (R.LEVY_ID = L.LEVY_ID)</sql>
<sql id="select">SELECT R.RDAMT_ID <!-- 감액 ID -->
, R.LEVY_ID <!-- 부과 ID -->
, R.LAST_PCPTAX <!-- 최종 본세 -->
, R.LAST_ADAMT <!-- 최종 가산금 -->
, R.RDAMT_YMD <!-- 감액 일자 -->
, R.RDAMT_SE_CD <!-- 감액 구분 코드 -->
, R.RDAMT_RSN_CD <!-- 감액 사유 코드 -->
, R.RDAMT_PCPTAX <!-- 감액 본세 -->
, R.RDAMT_ADAMT <!-- 감액 가산금 -->
, R.RDAMT_RTRCN_YN <!-- 감액 취소 여부 -->
, R.RDAMT_RTRCN_YMD <!-- 감액 취소 일자 -->
, R.RDAMT_RTRCN_RSN <!-- 감액 취소 사유 -->
, R.DEL_YN <!-- 삭제 여부 -->
, R.REG_DT <!-- 등록 일시 -->
, R.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = L.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, R.MDFCN_DT <!-- 수정 일시 -->
, R.MDFR <!-- 수정자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = L.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, R.DEL_DT <!-- 삭제 일시 -->
, R.DLTR <!-- 삭제자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = L.DLTR) AS DLTR_NM <!-- 삭제자 명 -->
, R.DEL_RSN <!-- 삭제 사유 -->
FROM TB_RDAMT</sql>
<select id="selectRdamtList" parameterType="map" resultType="dataobject">/* 감액 대장 목록 조회(rdcamtMapper.selectRdamtList) */
<include refid="utility.paging-prefix" />
<include refid="selectList" />
<where></where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectRdamts" parameterType="map" resultType="dataobject">/* 감액 대장 객체 가져오기(rdcamtMapper.selectRdamts) */
<include refid="select" />
<where></where>
<include refid="utility.orderBy" />
</select>
<insert id="insertRdamt" parameterType="map">/* 감액 대장 등록(rdcamtMapper.insertRdamt) */
<selectKey resultType="string" keyProperty="rdamt.rdamtId" keyColumn="NEW_ID" order="BEFORE">
SELECT CONCAT(#{rdamt.sggCd}, THIS_YEAR, LPAD(CAST(IFNULL(MAX(SUBSTRING(RDAMT_ID, 10)) + 1, 1) AS INT), 11, '0')) AS NEW_ID
FROM (SELECT DATE_FORMAT(CURRENT_DATE, '%Y') THIS_YEAR FROM DUAL) A
LEFT OUTER JOIN TB_RDAMT B ON RDAMT_ID LIKE CONCAT(#{rdamt.sggCd}, THIS_YEAR, '%')
</selectKey>
INSERT INTO TB_RDAMT (
RDAMT_ID <!-- 감액 ID -->
, LEVY_ID <!-- 부과 ID -->
, LAST_PCPTAX <!-- 최종 본세 -->
, LAST_ADAMT <!-- 최종 가산금 -->
, RDAMT_YMD <!-- 감액 일자 -->
, RDAMT_SE_CD <!-- 감액 구분 코드 -->
, RDAMT_RSN_CD <!-- 감액 사유 코드 -->
, RDAMT_PCPTAX <!-- 감액 본세 -->
, RDAMT_ADAMT <!-- 감액 가산금 -->
, RDAMT_RTRCN_YN <!-- 감액 취소 여부 -->
, RDAMT_RTRCN_YMD <!-- 감액 취소 일자 -->
, RDAMT_RTRCN_RSN <!-- 감액 취소 사유 -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
) VALUES (
#{rdamt.rdamtId} <!-- 감액 ID -->
, #{rdamt.levyId} <!-- 부과 ID -->
, #{rdamt.lastPcptax} <!-- 최종 본세 -->
, #{rdamt.lastAdamt} <!-- 최종 가산금 -->
, #{rdamt.rdamtYmd} <!-- 감액 일자 -->
, #{rdamt.rdamtSeCd} <!-- 감액 구분 코드 -->
, #{rdamt.rdamtRsnCd} <!-- 감액 사유 코드 -->
, #{rdamt.rdamtPcptax} <!-- 감액 본세 -->
, #{rdamt.rdamtAdamt} <!-- 감액 가산금 -->
, 'N' <!-- 감액 취소 여부 -->
, #{rdamt.rdamtRtrcnYmd} <!-- 감액 취소 일자 -->
, #{rdamt.rdamtRtrcnRsn} <!-- 감액 취소 사유 -->
, 'N' <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{rdamt.createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{rdamt.modifiedBy} <!-- 수정자 -->
)
</insert>
<update id="updateRdamt" parameterType="map">/* 감액 대장 수정(rdamtMapper.updateRdamt) */
UPDATE TB_RDAMT
SET LAST_PCPTAX = #{rdamt.lastPcptax} <!-- 최종 본세 -->
, LAST_ADAMT = #{rdamt.lastAdamt} <!-- 최종 가산금 -->
, RDAMT_YMD = #{rdamt.rdamtYmd} <!-- 감액 일자 -->
, RDAMT_SE_CD = #{rdamt.rdamtSeCd} <!-- 감액 구분 코드 -->
, RDAMT_RSN_CD = #{rdamt.rdamtRsnCd} <!-- 감액 사유 코드 -->
, RDAMT_PCPTAX = #{rdamt.rdamtPcptax} <!-- 감액 본세 -->
, RDAMT_ADAMT = #{rdamt.rdamtAdamt} <!-- 감액 가산금 -->
, RDAMT_RTRCN_YN = #{rdamt.rdamtRtrcnYn} <!-- 감액 취소 여부 -->
, RDAMT_RTRCN_YMD = #{rdamt.rdamtRtrcnYmd} <!-- 감액 취소 일자 -->
, RDAMT_RTRCN_RSN = #{rdamt.rdamtRtrcnRsn} <!-- 감액 취소 사유 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{rdamt.modifiedBy} <!-- 수정자 -->
WHERE RDAMT_ID = #{rdamt.rdamtId} <!-- 감액 ID -->
AND DEL_YN = 'N' <!-- 삭제 여부 -->
</update>
<update id="deleteRdamt" parameterType="map">/* 감액 대장 삭제(rdamtMapper.deleteRdamt) */
UPDATE TB_RDAMT
SET DEL_YN = 'Y'
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{rdamt.modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{rdamt.delRsn} <!-- 삭제 사유 -->
WHERE RDAMT_ID = #{rdamt.rdamtId} <!-- 감액 ID -->
AND DEL_YN = 'N'
</update>
</mapper>