EscortAttendanceLogMapper.xml 5.26 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.EscortAttendanceLogMapper">

    <sql id="whereForFindList">
        <if test="request.userId!=null"> AND `USER_ID` =#{ request.userId  }</if>
    </sql>

    <sql id="whereForSearchList">
        AND
        (
            1=0
        )
    </sql>
    <select id="findMax" resultMap="escortAttendanceLogPO">
        select * from RW_ESCORT_ATTENDANCE_LOG where id in (select max(id) from RW_ESCORT_ATTENDANCE_LOG  GROUP BY USER_ID  )
        <if test="request.userIdList!=null and request.userIdList.size() != 0">
            AND `USER_ID` IN
            <foreach collection="request.userIdList" item="userId" index="index" open="(" close=")" separator=",">
                #{userId}
            </foreach>
        </if>
</select>
    <select id="findMaxCount" resultType="java.lang.Long">
        select count(1) from RW_ESCORT_ATTENDANCE_LOG where id in (select max(id) from RW_ESCORT_ATTENDANCE_LOG  GROUP BY USER_ID  )
        <if test="request.userIdList!=null and request.userIdList.size() != 0">
            AND `USER_ID` IN
            <foreach collection="request.userIdList" item="userId" index="index" open="(" close=")" separator=",">
                #{userId}
            </foreach>
        </if>
    </select>
    <select id="find" resultMap="escortAttendanceLogPO">
        SELECT
            <include refid="entityColumnList"/>
        FROM
            `RW_ESCORT_ATTENDANCE_LOG`
        WHERE
            `IS_DELETED`=0
            AND `TENANT_ID`=#{ passport.tenantId }
            <include refid="whereForFindList" />
        <if test="request.pageSize !=0">
            LIMIT #{ request.beginItemIndex }, #{ request.pageSize }
        </if>
    </select>

    <select id="findCount" resultType="java.lang.Long">
        SELECT
            COUNT(1)
        FROM
            `RW_ESCORT_ATTENDANCE_LOG`
        WHERE
            `IS_DELETED`=0
            AND `TENANT_ID`=#{ passport.tenantId }
            <include refid="whereForFindList" />
    </select>

    <select id="findReal" resultMap="escortAttendanceLogPO">
        select * from RW_ESCORT_ATTENDANCE_LOG
        WHERE
        `IS_DELETED`=0
        AND id in (select max(id) from rw_escort_attendance_log  GROUP BY USER_ID)
        <if test="request.userId != '' and request.userId != null">
            AND `USER_ID` LIKE CONCAT(CONCAT('%', #{ request.userId }), '%')
        </if>
        ORDER BY ID DESC
          LIMIT #{ request.requestIndex}, #{ request.pageSize }
    </select>

    <select id="findRealCount" resultType="java.lang.Long">
        SELECT
        COUNT(1)
        FROM
        `RW_ESCORT_ATTENDANCE_LOG`
        WHERE
        `IS_DELETED`=0
        AND id in (select max(id) from rw_escort_attendance_log  GROUP BY USER_ID)
        <if test="request.userId != '' and request.userId != null">
            AND `USER_ID` LIKE CONCAT(CONCAT('%', #{ request.userId }), '%')
        </if>
    </select>

    <select id="search" resultMap="escortAttendanceLogPO">
        SELECT
            <include refid="entityColumnList"/>
        FROM
            `RW_ESCORT_ATTENDANCE_LOG`
        WHERE
            `IS_DELETED`=0
            AND `TENANT_ID`=#{ passport.tenantId }
            <if test="request.keyword !=null">
                <include refid="whereForSearchList" />
            </if>
        <if test="request.pageSize !=0">
            LIMIT #{ request.beginItemIndex }, #{ request.pageSize }
        </if>
    </select>

    <select id="searchCount" resultType="java.lang.Long">
        SELECT
            COUNT(1)
        FROM
            `RW_ESCORT_ATTENDANCE_LOG`
        WHERE
            `IS_DELETED`=0
            AND `TENANT_ID`=#{ passport.tenantId }
            <if test="request.keyword !=null">
                <include refid="whereForSearchList" />
            </if>
    </select>

    <select id="existByCode" resultType="java.lang.Long">
        SELECT
           COUNT(1)
        FROM
            `RW_ESCORT_ATTENDANCE_LOG`
        WHERE
            `IS_DELETED`=0
            AND `TENANT_ID`=#{ passport.tenantId }
            AND `ID` != #{id}
            AND `CODE` = #{code}
    </select>

    <update id="update">
        UPDATE
            `RW_ESCORT_ATTENDANCE_LOG`
        SET
            `USER_ID`=#{ request.userId },
            `LOG_TIME`=#{ request.logTime },
            `LAID_LOCATION`=#{ request.laidLocation },
            `CURRENT_STATION`=#{ request.currentStation },
            `NEXT_STATION`=#{ request.nextStation },
            `POSITION_FLAG`=#{ request.positionFlag },
            `TRAIN_ID`=#{ request.trainId },
            `TRAIN_NO`=#{ request.trainNo },
            `TRAIN_GROUP_ID`=#{ request.trainGroupId },
            `TRAIN_LINE_ID`=#{ request.trainLineId },
            `TRAIN_CARRIAGE_ID`=#{ request.trainCarriageId },
            `TRAIN_DOOR_ID`=#{ request.trainDoorId },
            `LAST_UPDATED_BY`=#{ passport.userId },
            `LAST_UPDATE_TIME`=SYSDATE(),
            `ROW_VERSION`=#{ request.rowVersion }+1
        WHERE
            `IS_DELETED`=0
            AND `TENANT_ID`=#{ passport.tenantId }
            AND `ID` = #{ request.id }
            AND `ROW_VERSION` = #{ request.rowVersion }
    </update>


</mapper>