CaseOfflineMapper.xml 8.25 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.caseOffline.mapper.CaseOfflineMapper">
    
    <resultMap type="CaseOffline" id="CaseOfflineResult">
        <result property="id"    column="id"    />
        <result property="type"    column="type"    />
        <result property="siteName"    column="site_name"    />
        <result property="locationDec"    column="location_dec"    />
        <result property="caseDec"    column="case_dec"    />
        <result property="status"    column="status"    />
        <result property="place"    column="place"    />
        <result property="number"    column="number"    />
        <result property="siteType"    column="site_type"    />
        <result property="objectId"    column="object_id"    />
        <result property="createTime"    column="create_time"    />
        <result property="createBy"    column="create_by"    />
        <result property="advice1"    column="advice1"    />
        <result property="advice2"    column="advice2"    />
        <result property="advice3"    column="advice3"    />
        <result property="advice4"    column="advice4"    />
        <result property="advice2Time"    column="advice2_time"    />
        <result property="advice3Time"    column="advice3_time"    />
        <result property="advice4Time"    column="advice4_time"    />
        <result property="attach"    column="attach"    />
        <result property="status1"    column="status1"    />
    </resultMap>

    <sql id="selectCaseOfflineVo">
        select id, type, site_name, location_dec, case_dec, status, place, number, site_type, object_id, create_time, create_by, advice1, advice2, advice3, advice4,attach,advice2_time,advice3_time,advice4_time from case_offline
    </sql>

    <select id="selectCaseOfflineList" parameterType="CaseOffline" resultMap="CaseOfflineResult">
                select a.*,c.status1 from case_offline a
        left join (select a.table_name,count(*) status1 from 
					(select * from reply_approval_process b where table_name like "%workflow_caseoffline%" GROUP BY b.table_name,b.reply_people) a
					group by a.table_name) c 
		on CONCAT("workflow_caseoffline:",a.id) = c.table_name
        <where>  
            <if test="status1 != null ">${status1}</if>
            <if test="type != null  and type != ''"> and type = #{type}</if>
            <if test="place != null  and place != ''">and LOCATE(place , #{place}) > 0</if>
            <if test="startTime != null "> and create_time between #{startTime} and #{endTime}</if>
            <if test="names != null and names.size() > 0"> 
            	and site_name in 
			        <foreach item="name" collection="names" open="(" separator="," close=")">
			            #{name}
			        </foreach>
			</if>
			 <if test="cArea != null and cArea.size() > 0 and eArea != null and eArea.size() > 0"> 
            	and 1 = 1 and ((place in 
			        <foreach item="name" collection="cArea" open="(" separator="," close=")">
			            #{name}
			        </foreach>
			         and site_type = 0)
	            	or (place in 
				        <foreach item="name" collection="eArea" open="(" separator="," close=")">
				            #{name}
				        </foreach>
				        and site_type = 1)
				    or (place in 
				        <foreach item="name" collection="companyArea" open="(" separator="," close=")">
				            #{name}
				        </foreach>
				        and site_type = 2)
				)
			</if>
            <if test="createTime != null "> and create_time > #{createTime}</if>
            
        </where>
    </select>
    
    <select id="selectCaseOfflineById" parameterType="Long" resultMap="CaseOfflineResult">
        <include refid="selectCaseOfflineVo"/>
        where id = #{id}
    </select>
        
    <insert id="insertCaseOffline" parameterType="CaseOffline" useGeneratedKeys="true" keyProperty="id">
        insert into case_offline
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="type != null">type,</if>
            <if test="siteName != null">site_name,</if>
            <if test="locationDec != null">location_dec,</if>
            <if test="caseDec != null">case_dec,</if>
            <if test="status != null">status,</if>
            <if test="place != null">place,</if>
            <if test="number != null">number,</if>
            <if test="siteType != null">site_type,</if>
            <if test="objectId != null">object_id,</if>
            <if test="createTime != null">create_time,</if>
            <if test="createBy != null">create_by,</if>
            <if test="advice1 != null">advice1,</if>
            <if test="advice2 != null">advice2,</if>
            <if test="advice3 != null">advice3,</if>
            <if test="advice4 != null">advice4,</if>
            <if test="advice2Time != null">advice2_time,</if>
            <if test="advice3Time != null">advice3_time,</if>
            <if test="advice4Time != null">advice4_time,</if>
            <if test="attach != null">attach,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="type != null">#{type},</if>
            <if test="siteName != null">#{siteName},</if>
            <if test="locationDec != null">#{locationDec},</if>
            <if test="caseDec != null">#{caseDec},</if>
            <if test="status != null">#{status},</if>
            <if test="place != null">#{place},</if>
            <if test="number != null">#{number},</if>
            <if test="siteType != null">#{siteType},</if>
            <if test="objectId != null">#{objectId},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="advice1 != null">#{advice1},</if>
            <if test="advice2 != null">#{advice2},</if>
            <if test="advice3 != null">#{advice3},</if>
            <if test="advice4 != null">#{advice4},</if>
            <if test="advice2Time != null">advice2Time,</if>
            <if test="advice3Time != null">advice3Time,</if>
            <if test="advice4Time != null">advice4Time,</if>
            <if test="attach != null">#{attach},</if>
            
         </trim>
    </insert>

    <update id="updateCaseOffline" parameterType="CaseOffline">
        update case_offline
        <trim prefix="SET" suffixOverrides=",">
            <if test="type != null">type = #{type},</if>
            <if test="siteName != null">site_name = #{siteName},</if>
            <if test="locationDec != null">location_dec = #{locationDec},</if>
            <if test="caseDec != null">case_dec = #{caseDec},</if>
            <if test="status != null">status = #{status},</if>
            <if test="place != null">place = #{place},</if>
            <if test="number != null">number = #{number},</if>
            <if test="siteType != null">site_type = #{siteType},</if>
            <if test="objectId != null">object_id = #{objectId},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="advice1 != null">advice1 = #{advice1},</if>
            <if test="advice2 != null">advice2 = #{advice2},</if>
            <if test="advice3 != null">advice3 = #{advice3},</if>
            <if test="advice4 != null">advice4 = #{advice4},</if>
            <if test="advice2Time != null">advice2_time = #{advice2Time},</if>
            <if test="advice3Time != null">advice3_time = #{advice3Time},</if>
            <if test="advice4Time != null">advice4_time = #{advice4Time},</if>
            <if test="attach != null">attach =#{attach},</if>
        </trim>
        where id = #{id}
    </update>
    
    <select id="getAdviceList" parameterType="String" resultType="java.util.Map">
    	select * from act_workflow_formdata
    	where business_key = #{id}
    	ORDER BY create_time desc
    </select>
    

    <delete id="deleteCaseOfflineById" parameterType="Long">
        delete from case_offline where id = #{id}
    </delete>

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