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.

272 lines
13 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.rent.dao.UserRentEntMpngMapper">
<!-- 사용자 임대 기업 매핑 정보 매퍼
========== 변경 이력 ==========
2024-07-24 JoJH 최초 작성
============================ -->
<resultMap id="userRentEntMpngRow" type="cokr.xit.fims.rent.UserRentEntMpng"> <!-- 사용자 임대 기업 매핑 -->
<result property="mpngId" column="MPNG_ID" /> <!-- 매핑 ID -->
<result property="userId" column="USER_ID" /> <!-- 사용자 ID -->
<result property="entId" column="ENT_ID" /> <!-- 기업 ID -->
<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" /> <!-- 삭제자 -->
</resultMap>
<sql id="select">
SELECT UREM.MPNG_ID <!-- 매핑 ID -->
, UREM.USER_ID <!-- 사용자 ID -->
, UREM.ENT_ID <!-- 기업 ID -->
, UREM.DEL_YN <!-- 삭제 여부 -->
, (GET_CODE_NM('CMN007', UREM.DEL_YN)) AS DEL_YN_NM <!-- 삭제 여부 -->
, UREM.REG_DT <!-- 등록 일시 -->
, UREM.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = UREM.RGTR) AS RGTR_NM <!-- 등록자 -->
, U.USER_ACNT <!-- 사용자 계정 -->
, U.USER_NM <!-- 사용자 이름 -->
, RE.ENT_SE_CD <!-- 기업 구분 코드 -->
, (GET_CODE_NM('FIM088', RE.ENT_SE_CD)) AS ENT_SE_NM <!-- 기업 구분 -->
, RE.ENT_NM <!-- 기업 명 -->
, RE.ENT_REG_NO <!-- 기업 등록 번호 -->
, RE.RPRSV_NM <!-- 대표자 명 -->
, RE.ENT_TELNO <!-- 기업 전화번호 -->
, RE.ENT_MBL_TELNO <!-- 기업 휴대 전화번호 -->
, RE.ENT_FXNO <!-- 기업 팩스번호 -->
, RE.ENT_EML_ADDR <!-- 기업 이메일 주소 -->
, RE.ENT_ZIP <!-- 기업 우편번호 -->
, RE.ENT_ADDR <!-- 기업 주소 -->
, RE.ENT_DTL_ADDR <!-- 기업 상세 주소 -->
FROM TB_USER_RENT_ENT_MPNG UREM
INNER JOIN TB_USER U ON (UREM.USER_ID = U.USER_ID)
INNER JOIN TB_RENT_ENT RE ON (UREM.ENT_ID = RE.ENT_ID)
</sql>
<select id="selectUserRentEntMpngList" parameterType="map" resultType="dataobject">/* 사용자 임대 기업 매핑 목록 조회(userRentEntMpngMapper.selectUserRentEntMpngList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
<where>
<if test="userId != null">
AND UREM.USER_ID = #{userId} <!-- 사용자 ID -->
</if>
<if test="entId != null">
AND UREM.ENT_ID = #{entId} <!-- 기업 ID -->
</if>
AND UREM.DEL_YN = 'N' <!-- 삭제 여부 -->
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectUserRentEntMpngs" parameterType="map" resultType="dataobject">/* 사용자 임대 기업 매핑 객체 가져오기(userRentEntMpngMapper.selectUserRentEntMpngs) */
<include refid="select" />
<where>
<if test="mpngId != null">
AND UREM.MPNG_ID = #{mpngId} <!-- 매핑 ID -->
</if>
<if test="userId != null">
AND UREM.USER_ID = #{userId} <!-- 사용자 ID -->
</if>
<if test="entIds != null">
AND UREM.ENT_ID IN ( <!-- 기업 IDs -->
<foreach collection="entIds" item="entId" separator=","> #{entId} </foreach>
)
</if>
<if test="entId != null">
AND UREM.ENT_ID = #{entId} <!-- 기업 ID -->
</if>
<choose>
<when test="delYn != null">
AND UREM.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when>
<otherwise>
AND UREM.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
</where>
<include refid="utility.orderBy" />
</select>
<insert id="insertUserRentEntMpng" parameterType="cokr.xit.fims.rent.UserRentEntMpng">/* 사용자 임대 기업 매핑 등록(userRentEntMpngMapper.insertUserRentEntMpng) */
<selectKey resultType="string" keyProperty="mpngId" keyColumn="NEW_ID" order="BEFORE">
<include refid="numbering.key">
<property name="TABLE_NAME" value="TB_USER_RENT_ENT_MPNG" />
<property name="TABLE_KEY" value="MPNG_ID" />
<property name="pad" value="10" />
</include>
</selectKey>
INSERT
INTO TB_USER_RENT_ENT_MPNG (
MPNG_ID <!-- 매핑 ID -->
, USER_ID <!-- 사용자 ID -->
, ENT_ID <!-- 기업 ID -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
)
VALUES (
#{mpngId} <!-- 매핑 ID -->
, #{userId} <!-- 사용자 ID -->
, #{entId} <!-- 기업 ID -->
, 'N' <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{modifiedBy} <!-- 수정자 -->
)
</insert>
<update id="deleteUserRentEntMpng" parameterType="cokr.xit.fims.rent.UserRentEntMpng">/* 사용자 임대 기업 매핑 삭제(userRentEntMpngMapper.deleteUserRentEntMpng) */
UPDATE TB_USER_RENT_ENT_MPNG
SET DEL_YN = 'Y'
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{modifiedBy} <!-- 삭제자 -->
<choose>
<when test="mpngIds != null">
WHERE MPNG_ID IN ( <!-- 매핑 IDs -->
<foreach collection="mpngIds" item="mpngId" separator=","> #{mpngId} </foreach>
)
</when>
<otherwise>
WHERE MPNG_ID = #{mpngId} <!-- 매핑 ID -->
</otherwise>
</choose>
</update>
<select id="selectEnterpriseCarMappingList" parameterType="map" resultType="dataobject">
/* 사용자 임대 기업 차량 매핑 목록 조회(userRentEntMpngMapper.selectEnterpriseCarMappingList) */
<include refid="utility.paging-prefix" />
SELECT REVM.MPNG_ID <!-- 매핑 ID -->
, UREM.USER_ID <!-- 사용자 ID -->
, UREM.ENT_ID <!-- 기업 ID -->
, REVM.DEL_YN <!-- 삭제 여부 -->
, (GET_CODE_NM('CMN007', REVM.DEL_YN)) AS DEL_YN_NM <!-- 삭제 여부 -->
, U.USER_ACNT <!-- 사용자 계정 -->
, U.USER_NM <!-- 사용자 이름 -->
, RE.ENT_SE_CD <!-- 기업 구분 코드 -->
, (GET_CODE_NM('FIM088', RE.ENT_SE_CD)) AS ENT_SE_NM <!-- 기업 구분 -->
, RE.ENT_NM <!-- 기업 명 -->
, RE.ENT_REG_NO <!-- 기업 등록 번호 -->
, RE.RPRSV_NM <!-- 대표자 명 -->
, RE.ENT_TELNO <!-- 기업 전화번호 -->
, RE.ENT_MBL_TELNO <!-- 기업 휴대 전화번호 -->
, RE.ENT_FXNO <!-- 기업 팩스번호 -->
, RE.ENT_EML_ADDR <!-- 기업 이메일 주소 -->
, RE.ENT_ZIP <!-- 기업 우편번호 -->
, RE.ENT_ADDR <!-- 기업 주소 -->
, RE.ENT_DTL_ADDR <!-- 기업 상세 주소 -->
, REVM.VHRNO <!-- 차량번호 -->
, REVM.REG_DT <!-- 등록 일시 -->
, REVM.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = REVM.RGTR) AS RGTR_NM <!-- 등록자 명 -->
FROM TB_USER_RENT_ENT_MPNG UREM
INNER JOIN TB_USER U ON (UREM.USER_ID = U.USER_ID)
INNER JOIN TB_RENT_ENT RE ON (UREM.ENT_ID = RE.ENT_ID)
INNER JOIN TB_RENT_ENT_VHCL_MPNG REVM ON (RE.ENT_ID = REVM.ENT_ID)
<where>
AND UREM.DEL_YN = 'N' <!-- 삭제 여부 -->
AND REVM.DEL_YN = 'N'
<if test="userId != null">
AND UREM.USER_ID = #{userId} <!-- 사용자 ID -->
</if>
<if test="entId != null">
AND UREM.ENT_ID = #{entId} <!-- 기업 ID -->
</if>
<if test="schEntRegNo != null">
AND RE.ENT_REG_NO = #{schEntRegNo} <!-- 기업 ID -->
</if>
<if test="schVhrno != null">
AND REVM.VHRNO = #{schVhrno} <!-- 기업 ID -->
</if>
<if test="@org.egovframe.rte.fdl.string.EgovStringUtil@isNotEmpty(by) and @org.egovframe.rte.fdl.string.EgovStringUtil@isNotEmpty(term)">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'userAcnt'">U.USER_ACNT</when>
<when test="by == 'userNm'">U.USER_NM</when>
<when test="by == 'entSeCd'">RE.ENT_SE_CD</when>
<when test="by == 'entNm'">RE.ENT_NM</when>
<when test="by == 'vhrno'">REVM.VHRNO</when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
<otherwise>
</otherwise>
</choose>
</if>
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<update id="deleteRentEntVhclMpng" parameterType="cokr.xit.fims.rent.RentEntVhclMpng">
/* 임대 기업 차량 매핑 삭제(userRentEntMpngMapper.deleteRentEntVhclMpng) */
UPDATE TB_RENT_ENT_VHCL_MPNG
SET DEL_YN = 'Y'
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{modifiedBy} <!-- 삭제자 -->
<choose>
<when test="mpngIds != null">
WHERE MPNG_ID IN ( <!-- 매핑 IDs -->
<foreach collection="mpngIds" item="mpngId" separator=","> #{mpngId} </foreach>
)
</when>
<otherwise>
WHERE MPNG_ID = #{mpngId} <!-- 매핑 ID -->
</otherwise>
</choose>
</update>
<select id="countRentEntVhclMpngInfo" parameterType="cokr.xit.fims.rent.RentEntVhclMpng" resultType="int">
/* 임대 기업 차량 매핑 중복 확인(userRentEntMpngMapper.countRentEntVhclMpngInfo) */
SELECT COUNT(*)
FROM TB_RENT_ENT_VHCL_MPNG
WHERE ENT_ID = #{entId}
AND VHRNO = #{vhrno}
AND DEL_YN = 'N'
</select>
<insert id="createRentEntVhclMpng" parameterType="cokr.xit.fims.rent.RentEntVhclMpng">
/* 임대 기업 차량 매핑 등록(userRentEntMpngMapper.createRentEntVhclMpng) */
<selectKey resultType="string" keyProperty="mpngId" keyColumn="NEW_ID" order="BEFORE">
<include refid="numbering.key">
<property name="TABLE_NAME" value="TB_RENT_ENT_VHCL_MPNG" />
<property name="TABLE_KEY" value="MPNG_ID" />
<property name="pad" value="10" />
</include>
</selectKey>
INSERT
INTO TB_RENT_ENT_VHCL_MPNG (
MPNG_ID <!-- 매핑 ID -->
, ENT_ID <!-- 기업 ID -->
, VHRNO <!-- 차량번호 -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
)
VALUES (
#{mpngId} <!-- 매핑 ID -->
, #{entId} <!-- 기업 ID -->
, #{vhrno} <!-- 차량번호 -->
, 'N' <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{createdBy} <!-- 수정자 -->
)
</insert>
</mapper>