TruckActivateMapper.xml 13.6 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.TruckActivateMapper">
    
    <resultMap type="TruckActivate" id="TruckActivateResult">
        <result property="id"    column="id"    />
        <result property="company"    column="company"    />
        <result property="licensePlate"    column="license_plate"    />
        <result property="time"    column="time"    />
        <result property="construction"    column="construction"    />
        <result property="constructionId"    column="construction_id"    />
        <result property="status"    column="status"    />
        <result property="earthsite"    column="earthsite"    />
        <result property="objectId"    column="object_id"    />
        <result property="createBy"    column="create_by"    />
        <result property="createType"    column="create_type"    />
        <result property="activateTime"    column="activate_time"    />
        <result property="createTime"    column="create_time"    />
        <result property="createCount"    column="create_count"    />
        <result property="address"    column="address"    />
        <result property="effectiveFrom"    column="effective_from"    />
        <result property="effectiveEnd"    column="effective_end"    />
        <result property="transportStartTime"    column="transport_start_time"    />
        <result property="transportEndTime"    column="transport_end_time"    />
        <result property="routeName"    column="route_name"    />
        <result property="earthName"    column="earth_name"    />
<!--         <result property="routeInfo"    column="route_info"    />
        <result property="earthList"    column="earth_list"    />
        <result property="coord"    column="coord"    /> -->
    </resultMap>

    <sql id="selectTruckActivateVo">
        select id, company, license_plate, time, construction,construction_id,  status, earthsite, 
        object_id, create_by, create_type, activate_time, create_time,create_count
        ,address,effective_from,effective_end,transport_start_time,transport_end_time,route_name,earth_name
         from truck_activate
    </sql>
    
    <select id="getTables" parameterType="String" resultType="String">
    	select table_name from information_schema.TABLES where table_name like #{name}
    </select>
    
 
    <select id="selectTruckActivateList" parameterType="TruckActivate" resultMap="TruckActivateResult">
        select a.* from
			<if test="myTables != null"> 
				<foreach item="table" collection="myTables" open="(" separator=" UNION ALL " close=") a">
					select id, company, license_plate, time, construction,construction_id, status, earthsite, object_id, create_by, create_type, activate_time, create_time,create_count
			        ,address,effective_from,effective_end,transport_start_time,transport_end_time,route_name,earth_name
			         from ${table}
				</foreach>
			</if>
			<if test="myTables == null"> 
				truck_activate a
			</if>
        <where>

            <if test="company != null  and company != ''"> and company like concat('%', #{company},'%')</if>
            <if test="licensePlate != null  and licensePlate != ''"> and license_plate like concat('%', #{licensePlate}, '%')</if>
            <if test="time != null "> and time = #{time}</if>
            <if test="construction != null  and construction != ''"> and construction like concat('%', #{construction},'%')</if>
            <if test="constructionId != null  and constructionId != ''"> and construction_id = #{constructionId}</if>
            <if test="status != null "> and status = #{status}</if>
            <if test="earthsite != null  and earthsite != ''"> and earthsite = #{earthsite}</if>
            <if test="objectId != null  and objectId != ''"> and object_id = #{objectId}</if>
            <if test="createType != null "> and create_type = #{createType}</if>       
            <if test="startTime != null "> and activate_time BETWEEN #{startTime} and #{endTime}</if>
            <if test="activateDate != null "> and activate_time like concat('%',#{activateDate},'%')</if>
            <if test="activateStatus == 0 "> and activate_time is null</if>
            <if test="activateStatus == 1 "> and activate_time is not null</if>
            <if test="createTime != null "> and DATE_FORMAT(create_time,("%y%m%d")) = DATE_FORMAT(#{createTime},("%y%m%d"))</if>
 
	        <if test="ids != null and ids.size() > 0">
	              		and object_id in 
				        <foreach item="id" collection="ids" open="(" separator="," close=")">
				            #{id}
				        </foreach>
	        </if>
        </where>
        ORDER BY id desc
    </select>
    
        <select id="selectTruckActivateListByConstructions" parameterType="TruckActivate" resultMap="TruckActivateResult">
        <include refid="selectTruckActivateVo"/>
        <where> construction in 
	        <foreach item="id" collection="cIds" open="(" separator="," close=")">
	            #{id}
	        </foreach>
	        <if test="activateStatus == 0 "> and activate_time is null</if>
            <if test="activateStatus == 1 "> and activate_time is not null</if>
            <if test="status != null "> and status = #{status}</if>
	    </where>
    </select>
    
     <select id="getActivedTruckList" parameterType="TruckActivate" resultMap="TruckActivateResult">
     	select object_id,create_time,activate_time from truck_activate
        <where>    
            <if test="startTime != null "> and create_time BETWEEN #{startTime} and #{endTime}</if>
        </where>
    </select>
    
	<select id="getConractByObjectId" parameterType="TruckActivate" resultMap="TruckActivateResult">
       select id, company,construction_id, license_plate, time, construction, status, 
			earthsite, object_id, create_by, create_type, activate_time, create_time 
			from truck_activate
			where 
			object_id = #{objectId} and
			activate_time between #{startTime} and #{endTime}
    </select>
                        

            
            
     <select id="selectTodayTruckByObjId" parameterType="String" resultMap="TruckActivateResult">
        <include refid="selectTruckActivateVo"/>
        where object_id = #{objId} and status = 0
    </select>
       
    
    <select id="selectTruckActivateById" parameterType="Long" resultMap="TruckActivateResult">
        <include refid="selectTruckActivateVo"/>
        where id = #{id}
    </select>
        
     <select id="selectTodayTruckActivateByObjId" parameterType="String" resultMap="TruckActivateResult">
        <include refid="selectTruckActivateVo"/>
        where construction_id = #{objId} and activate_time is not null and status = 0
    </select>
    
    
     <select id="selectActivatedTruck" parameterType="String" resultMap="TruckActivateResult">
        <include refid="selectTruckActivateVo"/>
        <where>
        	<if test="startTime != null "> and activate_time BETWEEN #{startTime} and #{endTime}</if>
        </where>
      </select>
       
        
    <insert id="insertTruckActivate" parameterType="TruckActivate" useGeneratedKeys="true" keyProperty="id">
        insert into truck_activate
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="company != null">company,</if>
            <if test="licensePlate != null">license_plate,</if>
            <if test="time != null">time,</if>
            <if test="construction != null">construction,</if>
            <if test="constructionId != null  and constructionId != ''">construction_id,</if>
            <if test="status != null">status,</if>
            <if test="earthsite != null">earthsite,</if>
            <if test="objectId != null">object_id,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="createType != null">create_type,</if>
            <if test="activateTime != null">activate_time,</if>
            <if test="createCount != null">create_count,</if>
            <if test="address != null">address,</if>
            <if test="effectiveFrom != null">effective_from,</if>
            <if test="effectiveEnd != null">effective_end,</if>
            <if test="transportStartTime != null">transport_start_time,</if>
            <if test="transportEndTime != null">transport_end_time,</if>
            <if test="routeName != null">route_name,</if>
            <if test="earthName != null">earth_name,</if>
<!--             <if test="routeInfo != null">route_info,</if>
            <if test="earthList != null">earth_list,</if>
            <if test="coord != null">coord,</if>   -->          
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="company != null">#{company},</if>
            <if test="licensePlate != null">#{licensePlate},</if>
            <if test="time != null">#{time},</if>
            <if test="construction != null">#{construction},</if>
            <if test="constructionId != null  and constructionId != ''"> #{constructionId},</if>
            
            <if test="status != null">#{status},</if>
            <if test="earthsite != null">#{earthsite},</if>
            <if test="objectId != null">#{objectId},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="createType != null">#{createType},</if>
            <if test="activateTime != null">#{activateTime},</if>
            <if test="createCount != null">#{createCount},</if>
            <if test="address != null">#{address},</if>
            <if test="effectiveFrom != null">#{effectiveFrom},</if>
            <if test="effectiveEnd != null">#{effectiveEnd},</if>
            <if test="transportStartTime != null">#{transportStartTime},</if>
            <if test="transportEndTime != null">#{transportEndTime},</if>
            <if test="routeName != null">#{routeName},</if>
            <if test="earthName != null">#{earthName},</if>
<!--             <if test="routeInfo != null">#{routeInfo},</if>
            <if test="earthList != null">#{earthList},</if>
            <if test="coord != null">#{coord},</if> -->
         </trim>
    </insert>

    <update id="updateTruckActivate" parameterType="TruckActivate">
        update truck_activate
        <trim prefix="SET" suffixOverrides=",">
            <if test="company != null">company = #{company},</if>
            <if test="licensePlate != null">license_plate = #{licensePlate},</if>
            <if test="time != null">time = #{time},</if>
            <if test="construction != null">construction = #{construction},</if>
            <if test="constructionId != null  and constructionId != ''"> construction_id = #{constructionId},</if>
            <if test="status != null">status = #{status},</if>
            <if test="earthsite != null">earthsite = #{earthsite},</if>
            <if test="objectId != null">object_id = #{objectId},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createType != null">create_type = #{createType},</if>
            <if test="activateTime != null">activate_time = #{activateTime},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="createCount != null">create_count = #{createCount},</if>
            <if test="address != null">address = #{address},</if>
            <if test="effectiveFrom != null">effective_from = #{effectiveFrom},</if>
            <if test="effectiveEnd != null">effective_end = #{effectiveEnd},</if>
            <if test="transportStartTime != null">transport_start_time = #{transportStartTime},</if>
            <if test="transportEndTime != null">transport_end_time = #{transportEndTime},</if>
            <if test="routeName != null">route_name = #{routeName},</if>
            <if test="earthName != null">earth_name = #{earthName},</if>
<!--             <if test="routeInfo != null">route_info = #{routeInfo},</if>
            <if test="earthList != null">earth_list = #{earthList},</if>
            <if test="coord != null">coord = #{coord},</if> -->
        </trim>
        where id = #{id}
    </update>
    
    <update id="endAllTurckUnActive" parameterType="TruckActivate">
        update truck_activate set status = 1 where create_time &lt; DATE_FORMAT(NOW(),"%y-%m-%d 06:00:00")
    </update>
    

    <delete id="deleteTruckActivateById" parameterType="Long">
        delete from truck_activate where id = #{id}
    </delete>

    <delete id="deleteTruckActivateByIds" parameterType="String">
        delete from truck_activate where id in 
       
    </delete>
    
    <select id="getTruckListByObjects" parameterType="TruckActivate" resultMap="TruckActivateResult">
        <include refid="selectTruckActivateVo"/>
        where status = 0 and object_id in 
         <foreach item="id" collection="cIds" open="(" separator="," close=")">
            #{id}
        </foreach>
    </select>
    
   <select id="getTruckHistoryListByObjects" parameterType="TruckActivate" resultMap="TruckActivateResult">
   		select * from truck_activate
        <where>
            <if test="startTime != null "> and activate_time BETWEEN #{startTime} and #{endTime}</if>
        	and object_id in 
	         <foreach item="id" collection="cIds" open="(" separator="," close=")">
	            #{id}
	        </foreach>
        </where>
    </select>
    
    <select id="selectTodayTruckByObjIds" parameterType="String" resultMap="TruckActivateResult">
        <include refid="selectTruckActivateVo"/>
        where status = 0 and object_id in 
         <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </select>
    
</mapper>