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.

164 lines
10 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.mngt.dao.TaskMapper">
<!-- 업무 정보 정보 매퍼
========== 변경 이력 ==========
2023-10-24 JoJH 최초 작성
============================ -->
<resultMap id="taskRow" type="cokr.xit.fims.mngt.Task">
<result property="sggCd" column="SGG_CD" /> <!-- 시군구 코드 -->
<result property="taskSeCd" column="TASK_SE_CD" /> <!-- 업무 구분 코드 -->
<result property="taskSeNm" column="TASK_SE_NM" /> <!-- 업무 구분 명 -->
<result property="advntceDayCnt" column="ADVNTCE_DAY_CNT" /> <!-- 사전통지 일 수 -->
<result property="advntceRdcrt" column="ADVNTCE_RDCRT" /> <!-- 사전통지 감경 율 -->
<result property="wksnRdcrt" column="WKSN_RDCRT" /> <!-- 사회적약자 감경 율 -->
<result property="ffnlgAdtnYmd" column="FFNLG_ADTN_YMD" /> <!-- 과태료 가산 일자 -->
<result property="ffnlgAdtnRt" column="FFNLG_ADTN_RT" /> <!-- 과태료 가산 율 -->
<result property="ffnlgInadtnRt" column="FFNLG_INADTN_RT" /> <!-- 과태료 중가산 율 -->
<result property="ffnlgInadtnMaxCnt" column="FFNLG_INADTN_MAX_CNT" /> <!-- 과태료 중가산 최대 수 -->
<result property="nxrpLinkSeCd" column="NXRP_LINK_SE_CD" /> <!-- 세외수입 연계 구분 코드 -->
<result property="nxrpLinkSeDtlSn" column="NXRP_LINK_SE_DTL_SN" /> <!-- 세외수입 연계 구분 상세 순번 -->
<result property="useYn" column="USE_YN" /> <!-- 사용 여부 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 -->
<result property="lastModified" column="MDFCN_DT" /> <!-- 수정 일시 -->
<result property="modifiedBy" column="MDFR" /> <!-- 수정자 -->
</resultMap>
<sql id="select">
SELECT T.SGG_CD <!-- 시군구 코드 -->
, T.TASK_SE_CD <!-- 업무 구분 코드 -->
, T.TASK_SE_NM <!-- 업무 구분 명 -->
, T.ADVNTCE_DAY_CNT <!-- 사전통지 일수 -->
, T.ADVNTCE_RDCRT <!-- 사전통지 감경 율 -->
, T.WKSN_RDCRT <!-- 사회적약자 감경율 -->
, T.FFNLG_ADTN_YMD <!-- 과태료 가산 일자 -->
, T.FFNLG_ADTN_RT <!-- 과태료 가산 율 -->
, T.FFNLG_INADTN_RT <!-- 과태료 중가산 율 -->
, T.FFNLG_INADTN_MAX_CNT <!-- 과태료 중가산 최대 수 -->
, T.NXRP_LINK_SE_CD <!-- 세외수입 연계 구분 코드 -->
, T.NXRP_LINK_SE_DTL_SN <!-- 세외수입 연계 구분 상세 순번 -->
, T.USE_YN <!-- 사용 여부 -->
, T.REG_DT <!-- 등록 일시 -->
, T.RGTR <!-- 등록자 -->
, T.MDFCN_DT <!-- 수정 일시 -->
, T.MDFR <!-- 수정자 -->
FROM TB_TASK T
</sql>
<select id="selectTaskList" parameterType="map" resultType="dataobject">/* 업무 정보 목록 조회(taskMapper.selectTaskList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
WHERE T.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
AND T.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
<if test="useYn != null">
AND T.USE_YN = #{useYn} <!-- 사용 여부 -->
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectTasks" parameterType="map" resultType="dataobject">/* 업무 정보 객체 가져오기(taskMapper.selectTasks) */
<include refid="select" />
WHERE T.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
<if test="taskSeCd != null and taskSeCd != ''">
AND T.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
</if>
<if test="useYn != null">
AND T.USE_YN = #{useYn} <!-- 사용 여부 -->
</if>
<include refid="utility.orderBy" />
</select>
<select id="selectAdvntceYmdInfo" parameterType="map" resultType="dataobject">/* 사전통지 정보 객체 가져오기(taskMapper.selectAdvntceYmdInfo) */
SELECT SGG_CD <!-- 시군구 코드 -->
, TASK_SE_CD <!-- 업무 구분 코드 -->
, ADVNTCE_DAY_CNT <!-- 사전통지 일수 -->
, ADVNTCE_RDCRT <!-- 사전통지 감경 율 -->
, DATE_FORMAT(CURRENT_DATE, '%Y') AS FYR <!-- 회계 연도 -->
, DATE_FORMAT(CURRENT_DATE, '%Y%m%d') AS LEVY_YMD <!-- 부과 일자 -->
, GET_MASK_DATE(DATE_FORMAT(CURRENT_DATE, '%Y%m%d'), '-') AS LEVY_YMD_MASK <!-- 부과 일자 -->
, DATE_FORMAT(DATE_ADD(CURRENT_DATE, INTERVAL ADVNTCE_DAY_CNT DAY), '%Y%m%d') AS DUDT_YMD <!-- 납기 일자 -->
, GET_MASK_DATE(DATE_FORMAT(DATE_ADD(CURRENT_DATE, INTERVAL ADVNTCE_DAY_CNT DAY), '%Y%m%d'), '-') AS DUDT_YMD_MASK <!-- 납기 일자 -->
FROM TB_TASK
WHERE SGG_CD = #{sggCd}
AND TASK_SE_CD = #{taskSeCd}
AND USE_YN = 'Y'
<include refid="utility.orderBy" />
</select>
<insert id="insertTask" parameterType="map">/* 업무 정보 등록(taskMapper.insertTask) */
INSERT
INTO TB_TASK (
SGG_CD <!-- 시군구 코드 -->
, TASK_SE_CD <!-- 업무 구분 코드 -->
, TASK_SE_NM <!-- 업무 구분 명 -->
, ADVNTCE_DAY_CNT <!-- 사전통지 일수 -->
, ADVNTCE_RDCRT <!-- 사전통지 감경 율 -->
, WKSN_RDCRT <!-- 사회적약자 감경 율 -->
, FFNLG_ADTN_YMD <!-- 과태료 가산 일자 -->
, FFNLG_ADTN_RT <!-- 과태료 가산 율 -->
, FFNLG_INADTN_RT <!-- 과태료 중가산 율 -->
, FFNLG_INADTN_MAX_CNT <!-- 과태료 중가산 최대 수 -->
, NXRP_LINK_SE_CD <!-- 세외수입 연계 구분 코드 -->
, NXRP_LINK_SE_DTL_SN <!-- 세외수입 연계 구분 상세 순번 -->
, USE_YN <!-- 사용 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
)
VALUES (
#{task.sggCd} <!-- 시군구 코드 -->
, #{task.taskSeCd} <!-- 업무 구분 코드 -->
, #{task.taskSeNm} <!-- 업무 구분 명 -->
, #{task.advntceDayCnt} <!-- 사전통지 일수 -->
, #{task.advntceRdcrt} <!-- 사전통지 감경 율 -->
, #{task.wksnRdcrt} <!-- 사회적약자 감경 율 -->
, #{task.ffnlgAdtnYmd} <!-- 과태료 가산 일자 -->
, #{task.ffnlgAdtnRt} <!-- 과태료 가산 율 -->
, #{task.ffnlgInadtnRt} <!-- 과태료 중가산 율 -->
, #{task.ffnlgInadtnMaxCnt} <!-- 과태료 중가산 최대 수 -->
, #{task.nxrpLinkSeCd} <!-- 세외수입 연계 구분 코드 -->
, #{task.nxrpLinkSeDtlSn} <!-- 세외수입 연계 구분 상세 순번 -->
, 'Y' <!-- 사용 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{currentUser.id} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{currentUser.id} <!-- 수정자 -->
)
</insert>
<update id="updateTask" parameterType="map">/* 업무 정보 수정(taskMapper.updateTask) */
UPDATE TB_TASK
SET TASK_SE_NM = #{task.taskSeNm} <!-- 업무 구분 명 -->
, ADVNTCE_DAY_CNT = #{task.advntceDayCnt} <!-- 사전통지 일수 -->
, ADVNTCE_RDCRT = #{task.advntceRdcrt} <!-- 사전통지 감경 율 -->
, WKSN_RDCRT = #{task.wksnRdcrt} <!-- 사회적약자 감경 율 -->
, FFNLG_ADTN_YMD = #{task.ffnlgAdtnYmd} <!-- 과태료 가산 일자 -->
, FFNLG_ADTN_RT = #{task.ffnlgAdtnRt} <!-- 과태료 가산 율 -->
, FFNLG_INADTN_RT = #{task.ffnlgInadtnRt} <!-- 과태료 중가산 율 -->
, FFNLG_INADTN_MAX_CNT = #{task.ffnlgInadtnMaxCnt} <!-- 과태료 중가산 최대 수 -->
, NXRP_LINK_SE_CD = #{task.nxrpLinkSeCd} <!-- 세외수입 연계 구분 코드 -->
, NXRP_LINK_SE_DTL_SN = #{task.nxrpLinkSeDtlSn} <!-- 세외수입 연계 구분 상세 순번 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{currentUser.id} <!-- 수정자 -->
WHERE SGG_CD = #{task.sggCd} <!-- 시군구 코드 -->
AND TASK_SE_CD = #{task.taskSeCd} <!-- 업무 구분 코드 -->
AND USE_YN = 'Y'
</update>
<update id="deleteTask" parameterType="map">/* 업무 정보 삭제(taskMapper.deleteTask) */
UPDATE TB_TASK
SET USE_YN = 'N' <!-- 사용 여부 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{currentUser.id} <!-- 수정자 -->
WHERE SGG_CD = #{task.sggCd} <!-- 시군구 코드 -->
AND TASK_SE_CD = #{task.taskSeCd} <!-- 업무 구분 코드 -->
AND USE_YN = 'Y'
</update>
</mapper>