UserAttendanceMapper.xml 4.37 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.UserAttendanceMapper">

    <sql id="whereForFindList">
    </sql>

    <sql id="whereForSearchList">
        AND
        (
            1=0
        )
    </sql>
    <select id="findLaidDetail" resultMap="userLaidDetailPO">
        SELECT
        ru.LAID_TIME LAID_TIME,
        ru.TYPE TYPE,
        IFNULL(su.`NAME`, "") USER_NAME
        FROM
        `RW_USER_ATTENDANCE` ru
        LEFT JOIN backend.sys_user su ON su.ID = ru.ID
        WHERE
        ru.`IS_DELETED`=0
        AND ru.`TENANT_ID` = #{ passport.tenantId }
        ORDER BY
        ru.LAID_TIME DESC
        LIMIT 0, 50
    </select>

    <select id="findReal" resultMap="userAttendancePO">
        select rua.ID,su.ACCOUNT,rua.LAST_UPDATE_TIME,rua.TRAIN_ID,rua.TRAIN_LINE_ID,rua.TRAIN_GROUP_ID,rua.TRAIN_CARRIAGE_ID from RW_USER_ATTENDANCE rua
        INNER JOIN backend.sys_user su ON su.ID = rua.ID
        WHERE
        rua.`IS_DELETED`=0
        AND `TYPE` = 'LAID_ON'
        <if test="request.userId != '' and request.userId != null">
            AND su.`ACCOUNT` 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_USER_ATTENDANCE` rua
        INNER JOIN backend.sys_user su ON su.ID = rua.ID
        WHERE
        rua.`IS_DELETED`=0
        AND `TYPE` = 'LAID_ON'
        <if test="request.userId != '' and request.userId != null">
            AND su.`ACCOUNT` LIKE CONCAT(CONCAT('%', #{ request.userId }), '%')
        </if>
    </select>
    <select id="search" resultMap="userAttendancePO">
        SELECT
        <include refid="entityColumnList"/>
        FROM
        `RW_USER_ATTENDANCE`
        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(*)
        FROM
        `RW_USER_ATTENDANCE`
        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(*)
        FROM
        `RW_USER_ATTENDANCE`
        WHERE
        `IS_DELETED`=0
        AND `TENANT_ID`=#{ passport.tenantId }
        AND `ID` != #{id}
        AND `CODE` = #{code}
    </select>

    <update id="update">
        UPDATE
        `RW_USER_ATTENDANCE`
        SET
        <if test="request.type!=null and request.type!=''">
            `TYPE`=#{ request.type },
        </if>
        <if test="request.trainId!=null  and request.trainId!=''">
            `TRAIN_ID`=#{ request.trainId },
        </if>
        <if test="request.trainNo!=null  and request.trainNo!=''">
            `TRAIN_NO`=#{ request.trainNo },
        </if>
        <if test="request.trainGroupId!=null  and request.trainGroupId!=''">
            `TRAIN_GROUP_ID`=#{ request.trainGroupId },
        </if>
        <if test="request.trainLineId!=null  and request.trainLineId!=''">
            `TRAIN_LINE_ID`=#{ request.trainLineId },
        </if>
        <if test="request.trainCarriageId!=null  and request.trainCarriageId!=''">
            `TRAIN_CARRIAGE_ID`=#{ request.trainCarriageId },
        </if>
        <if test="request.trainDoorId!=null  and request.trainDoorId!=''">
            `TRAIN_DOOR_ID`=#{ request.trainDoorId },
        </if>
        <if test="request.positionType!=null  and request.positionType!=''">
            `POSITION_TYPE`=#{ request.positionType },
        </if>
        <if test="request.laidTime!=null">
            `LAID_TIME`=#{ request.laidTime },
        </if>
        `LAST_UPDATED_BY`=#{ passport.userId },
        `LAST_UPDATE_TIME`=SYSDATE()
        WHERE
        `IS_DELETED`=0
        AND `TENANT_ID`=#{ passport.tenantId }
        AND `ID` = #{ request.id }
    </update>
</mapper>