DriverCreditMapper.xml 6.51 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.trash.business.mapper.DriverCreditMapper">

    <resultMap type="com.trash.business.domain.DriverCredit" id="DriverCreditResult">
        <result property="id"    column="id"    />
        <result property="name"    column="name"    />
        <result property="idNumber"    column="id_number"    />
        <result property="licenseplateNo"    column="licenseplate_no"    />
        
        <result property="time"    column="time"    />
        <result property="reason"    column="reason"    />
        <result property="status"    column="status"    />
        <result property="lostCredit"    column="lost_credit"    />
        <result property="objectId"    column="object_id"    />
        <result property="createBy"    column="create_by"    />
    </resultMap>

    <sql id="selectDriverCreditVo">
        select id, name, id_number, licenseplate_no,time, reason, status, lost_credit, object_id, create_by from driver_credit
    </sql>

    <select id="selectDriverCreditList" parameterType="DriverCredit" resultMap="DriverCreditResult">
        <include refid="selectDriverCreditVo"/>
        <where>
            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
            <if test="idNumber != null  and idNumber != ''"> and id_number = #{idNumber}</if>
            <if test="licenseplateNo != null  and licenseplateNo != ''"> and licenseplate_no = #{licenseplateNo}</if>
            <if test="time != null "> and DATE_FORMAT(time,("%y%m%d")) = DATE_FORMAT(#{time},("%y%m%d")) </if>
            <if test="reason != null  and reason != ''"> and reason = #{reason}</if>
            <if test="status != null "> and status = #{status}</if>
            <if test="lostCredit != null "> and lost_credit = #{lostCredit}</if>
            <if test="objectId != null  and objectId != ''"> and object_id = #{objectId}</if>
            <if test="ids != null "> 
            	and object_id in 
			        <foreach item="id" collection="ids" open="(" separator="," close=")">
			            #{id}
			        </foreach>
			</if>
        </where>
        order by time DESC
    </select>

    <select id="selectDriverCreditById" parameterType="Long" resultMap="DriverCreditResult">
        <include refid="selectDriverCreditVo"/>
        where id = #{id}
    </select>

    <insert id="insertDriverCredit" parameterType="DriverCredit" useGeneratedKeys="true" keyProperty="id">
        insert into driver_credit
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="name != null">name,</if>
            <if test="idNumber != null">id_number,</if>
            <if test="licenseplateNo != null">licenseplate_no,</if>
            <if test="time != null">time,</if>
            <if test="reason != null">reason,</if>
            <if test="status != null">status,</if>
            <if test="lostCredit != null">lost_credit,</if>
            <if test="objectId != null">object_id,</if>
            <if test="createBy != null">create_by,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="name != null">#{name},</if>
            <if test="idNumber != null">#{idNumber},</if>
            <if test="licenseplateNo != null">#{licenseplateNo},</if>
            <if test="time != null">#{time},</if>
            <if test="reason != null">#{reason},</if>
            <if test="status != null">#{status},</if>
            <if test="lostCredit != null">#{lostCredit},</if>
            <if test="objectId != null">#{objectId},</if>
            <if test="createBy != null">#{createBy},</if>
        </trim>
    </insert>

    <update id="updateDriverCredit" parameterType="DriverCredit">
        update driver_credit
        <trim prefix="SET" suffixOverrides=",">
            <if test="name != null">name = #{name},</if>
            <if test="idNumber != null">id_number = #{idNumber},</if>
            <if test="licenseplateNo != null"> licenseplate_no = #{licenseplateNo},</if>
            <if test="time != null">time = #{time},</if>
            <if test="reason != null">reason = #{reason},</if>
            <if test="status != null">status = #{status},</if>
            <if test="lostCredit != null">lost_credit = #{lostCredit},</if>
            <if test="objectId != null">object_id = #{objectId},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
        </trim>
        where id = #{id}
    </update>

    <delete id="deleteDriverCreditById" parameterType="Long">
        delete from driver_credit where id = #{id}
    </delete>

    <delete id="deleteDriverCreditByIds" parameterType="String">
        delete from driver_credit where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>

    <select id="getNames" parameterType="DriverCredit" resultType="String">

        select DISTINCT name from driver_credit
        <where>
            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
            <if test="licenseplateNo != null"> licenseplate_no = #{licenseplateNo},</if>
            <if test="status != null "> and status = #{status}</if>
            <if test="lostCredit != null "> and lost_credit = #{lostCredit}</if>
        </where>
    </select>
    
        <select id="getLicenseplate" parameterType="DriverCredit" resultType="String">

        select DISTINCT licenseplate_no from driver_credit
        <where>
            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
            <if test="licenseplateNo != null"> licenseplate_no = #{licenseplateNo},</if>
            <if test="status != null "> and status = #{status}</if>
            <if test="lostCredit != null "> and lost_credit = #{lostCredit}</if>
        </where>
    </select>
    


    <select id="selectDriverCreditHistory" parameterType="DriverCredit" resultMap="DriverCreditResult">

        select c.* from (select a.* from driver_credit a where not exists (select b.* from driver_credit b where a.name = b.name and a.id &lt; id )) c

        <where>
            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
            <if test="ids != null "> 
            	and object_id in 
			        <foreach item="id" collection="ids" open="(" separator="," close=")">
			            #{id}
			        </foreach>
			</if>
        </where>
        
    </select>
</mapper>