EscortAttendanceMapperAuto.xml 9.18 KB
<?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="com.xiniunet.service.railway.dal.EscortAttendanceMapper">

    <resultMap id="escortAttendancePO" type="com.xiniunet.service.railway.po.EscortAttendancePO">
        
        <id column="ID" jdbcType="NUMERIC" property="id"/>
        <result column="TENANT_ID" jdbcType="NUMERIC" property="tenantId"/>
        <result column="ACCOUNT" jdbcType="VARCHAR" property="account"/>
        <result column="USER_ID" jdbcType="NUMERIC" property="userId"/>
        <result column="USER_NAME" jdbcType="VARCHAR" property="userName"/>
        <result column="TYPE" jdbcType="VARCHAR" property="type"/>
        <result column="DATE_ID" jdbcType="NUMERIC" property="dateId"/>
        <result column="LAID_TIME" jdbcType="TIMESTAMP" property="laidTime"/>
        <result column="ESCORT_TIME" jdbcType="NUMERIC" property="escortTime"/>
        <result column="LAID_LOCATION" jdbcType="VARCHAR" property="laidLocation"/>
        <result column="CURRENT_STATION" jdbcType="VARCHAR" property="currentStation"/>
        <result column="NEXT_STATION" jdbcType="VARCHAR" property="nextStation"/>
        <result column="POSITION_FLAG" jdbcType="NUMERIC" property="positionFlag"/>
        <result column="TRAIN_ID" jdbcType="VARCHAR" property="trainId"/>
        <result column="TRAIN_NO" jdbcType="VARCHAR" property="trainNo"/>
        <result column="TRAIN_GROUP_ID" jdbcType="VARCHAR" property="trainGroupId"/>
        <result column="TRAIN_LINE_ID" jdbcType="VARCHAR" property="trainLineId"/>
        <result column="TRAIN_CARRIAGE_ID" jdbcType="VARCHAR" property="trainCarriageId"/>
        <result column="TRAIN_DOOR_ID" jdbcType="VARCHAR" property="trainDoorId"/>
        <result column="ROW_VERSION" jdbcType="NUMERIC" property="rowVersion"/>
        <result column="IS_DELETED" jdbcType="TINYINT" property="isDeleted"/>
        <result column="CREATED_BY" jdbcType="NUMERIC" property="createdBy"/>
        <result column="CREATION_TIME" jdbcType="TIMESTAMP" property="creationTime"/>
        <result column="LAST_UPDATED_BY" jdbcType="NUMERIC" property="lastUpdatedBy"/>
        <result column="LAST_UPDATE_TIME" jdbcType="TIMESTAMP" property="lastUpdateTime"/>
    </resultMap>

    <resultMap id="railwayPartyBranchRankNumberPO" type="com.xiniunet.service.railway.po.RailwayPartyBranchRankNumberPO">
        <result column="NUMBER" jdbcType="VARCHAR" property="number"/>
        <result column="NAME" jdbcType="VARCHAR" property="name"/>
        <result column="ATTRIBUTE" jdbcType="VARCHAR" property="attribute"/>
    </resultMap>

    <resultMap id="diffLinesTrainsEscortCountPO" type="com.xiniunet.service.railway.po.DiffLinesTrainsEscortCountPO">
        <result column="TRAIN_LINE_ID" jdbcType="VARCHAR" property="trainLineId"/>
        <result column="COUNT" jdbcType="NUMERIC" property="count"/>
    </resultMap>
    <resultMap id="escortTrainNoCountPO" type="com.xiniunet.service.railway.po.EscortTrainNoCountPO">
        <result column="TRAIN_LINE_ID" jdbcType="VARCHAR" property="trainLineId"/>
        <result column="TRAIN_NO" jdbcType="VARCHAR" property="trainId"/>
        <result column="COUNT" jdbcType="NUMERIC" property="count"/>
    </resultMap>
    <resultMap id="trainLineCountPO" type="com.xiniunet.service.railway.po.LineInfoPO">
        <result column="TRAIN_LINE_ID" jdbcType="VARCHAR" property="lineId"/>
        <result column="TOTAL_COUNT" jdbcType="NUMERIC" property="value"/>
    </resultMap>
    <resultMap id="companyCountPO" type="com.xiniunet.service.railway.po.CompanyInfoPO">
        <result column="COMPANY_NAME" jdbcType="VARCHAR" property="companyName"/>
        <result column="TOTAL_COUNT" jdbcType="NUMERIC" property="value"/>
    </resultMap>
    <resultMap id="diffTrainsEscortCountPO" type="com.xiniunet.service.railway.po.DiffTrainsEscortCountPO">
        <result column="TRAIN_LINE_ID" jdbcType="VARCHAR" property="trainLineId"/>
        <result column="TRAIN_NO" jdbcType="VARCHAR" property="trainId"/>
        <result column="TRAIN_CARRIAGE_ID" jdbcType="VARCHAR" property="carriageId"/>
        <result column="COUNT" jdbcType="NUMERIC" property="count"/>
    </resultMap>
    <resultMap id="safetyEscortCountPO" type="com.xiniunet.service.railway.po.SafetyEscortCountPO">
        <result column="HOUR" jdbcType="NUMERIC" property="hour"/>
        <result column="DAY" jdbcType="NUMERIC" property="day"/>
        <result column="ESCORT_COUNT" jdbcType="NUMERIC" property="escortCount"/>
    </resultMap>

    <sql id="entityColumnList">
         `ID`, `TENANT_ID`, `USER_ID`,`USER_NAME`, `TYPE`, `DATE_ID`, `LAID_TIME`,`ESCORT_TIME`, `LAID_LOCATION`, `TRAIN_ID`,TRAIN_NO, `TRAIN_GROUP_ID`, `TRAIN_LINE_ID`, `TRAIN_CARRIAGE_ID`, `TRAIN_DOOR_ID`, `ROW_VERSION`,`IS_DELETED`,`CREATED_BY`,`CREATION_TIME`,`LAST_UPDATED_BY`,`LAST_UPDATE_TIME`
    </sql>

    <insert id="insert">
        INSERT INTO
            `RW_ESCORT_ATTENDANCE`
            (
            <include refid="entityColumnList" />
            )
        VALUES
        (
        #{ escortAttendance.id },
        #{ passport.tenantId },
        #{ escortAttendance.userId },
        #{ escortAttendance.userName },
        #{ escortAttendance.type },
        #{ escortAttendance.dateId },
        #{ escortAttendance.laidTime },
        #{ escortAttendance.escortTime },
        #{ escortAttendance.laidLocation },
        #{ escortAttendance.trainId },
        #{ escortAttendance.trainNo },
        #{ escortAttendance.trainGroupId },
        #{ escortAttendance.trainLineId },
        #{ escortAttendance.trainCarriageId },
        #{ escortAttendance.trainDoorId },

        0,0,#{ passport.userId },sysdate(),null,null
        )
    </insert>

    <insert id="insertBatch">
        INSERT INTO
            `RW_ESCORT_ATTENDANCE`
            (
            <include refid="entityColumnList" />
            )
        VALUES
        <foreach collection="list" item= "escortAttendance" index ="index" separator=",">
            (
            #{ escortAttendance.id },
            #{ passport.tenantId },
            #{ escortAttendance.userId },
            #{ escortAttendance.userName },
            #{ escortAttendance.type },
            #{ escortAttendance.dateId },
            #{ escortAttendance.laidTime },
            #{ escortAttendance.escortTime },
            #{ escortAttendance.laidLocation },
            #{ escortAttendance.trainId },
            #{ escortAttendance.trainNo },
            #{ escortAttendance.trainGroupId },
            #{ escortAttendance.trainLineId },
            #{ escortAttendance.trainCarriageId },
            #{ escortAttendance.trainDoorId },
            
            0,0,#{ passport.userId },sysdate(),null,null
            )
        </foreach >
    </insert>


    <update id="delete">
        UPDATE
            `RW_ESCORT_ATTENDANCE`
        SET
            `IS_DELETED` = 1
            ,`LAST_UPDATED_BY`=#{ passport.userId }
            ,`LAST_UPDATE_TIME`=SYSDATE()
        WHERE
            `IS_DELETED`=0
            AND `TENANT_ID`=#{ passport.tenantId }
            AND `ID` = #{id}
    </update>

    <update id= "deleteBatch">
        UPDATE
            `RW_ESCORT_ATTENDANCE`
        SET
            `IS_DELETED` = 1
            ,`LAST_UPDATED_BY`=#{ passport.userId }
            ,`LAST_UPDATE_TIME`=SYSDATE()
        WHERE
            `IS_DELETED`=0
            AND `TENANT_ID`=#{ passport.tenantId }
            AND `ID` in
        <foreach collection="list" item= "id" index ="index" open= "(" close =")" separator=",">
            #{id}
        </foreach >
    </update >


    <select id="getById" resultMap="escortAttendancePO">
        SELECT
            <include refid="entityColumnList" />
        FROM
            `RW_ESCORT_ATTENDANCE`
        WHERE
            `IS_DELETED` = 0
            AND `ID` = #{id}
            AND `TENANT_ID`=#{ passport.tenantId }
    </select>

    <select id="getListByIds" resultMap="escortAttendancePO">
        SELECT
            <include refid="entityColumnList" />
        FROM
            `RW_ESCORT_ATTENDANCE`
        WHERE
        `IS_DELETED` = 0
        AND `ID` in
        <foreach collection="list" item= "id" index ="index" open= "(" close =")" separator=",">
            #{id}
        </foreach >
        
            AND `TENANT_ID`=#{ passport.tenantId }
    </select>

    <select id="getAllList" resultMap="escortAttendancePO">
        SELECT
            <include refid="entityColumnList" />
        FROM
            `RW_ESCORT_ATTENDANCE`
        WHERE
            `IS_DELETED`=0
            AND `TENANT_ID`=#{ passport.tenantId }
    </select>

    <select id="existById"  resultType="java.lang.Long">
        SELECT
           COUNT(1)
        FROM
            `RW_ESCORT_ATTENDANCE`
        WHERE
            `IS_DELETED`=0
            AND `ID`=#{id}
            AND `TENANT_ID`=#{ passport.tenantId }
    </select>
    <select id="getTimeByUserId" resultMap="safetyEscortCountPO">
        SELECT
          SUM(ESCORT_TIME) AS HOUR,
          COUNT(1) AS ESCORT_COUNT
        FROM
            `RW_ESCORT_ATTENDANCE`
        WHERE
            `IS_DELETED`=0
            AND `TYPE`='LAID_OFF'
            AND `USER_ID` = #{request.userId}
            AND `TENANT_ID` = #{ passport.tenantId }
    </select>
</mapper>