TWorkTaskMapper.xml 9.42 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
<?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.zehong.system.mapper.TWorkTaskMapper">
    
    <resultMap type="TWorkTask" id="TWorkTaskResult">
        <result property="taskId"    column="task_id"    />
        <result property="taskType"    column="task_type"    />
        <result property="taskTitle"    column="task_title"    />
        <result property="taskContent"    column="task_content"    />
        <result property="status"    column="status"    />
        <result property="createEnterpriseId"    column="create_enterprise_id"    />
        <result property="createBy"    column="create_by"    />
        <result property="groupNum"    column="group_num"    />
        <result property="createTime"    column="create_time"    />
        <result property="endTime"    column="end_time"    />
        <result property="isReport"    column="is_report"    />
        <result property="isDel"    column="is_del"    />
        <result property="approvalSuggestion"    column="approval_suggestion"    />
        <collection property="taskMemberList"  ofType="TWorkTaskMember" column="task_id" select="getTaskMember"/>
    </resultMap>
    <resultMap type="TWorkTask" id="TWorkTaskResultTwo">
        <result property="taskId"    column="task_id"    />
        <result property="taskType"    column="task_type"    />
        <result property="taskTitle"    column="task_title"    />
        <result property="taskContent"    column="task_content"    />
        <result property="status"    column="status"    />
        <result property="createEnterpriseId"    column="create_enterprise_id"    />
        <result property="createBy"    column="create_by"    />
        <result property="groupNum"    column="group_num"    />
        <result property="createTime"    column="create_time"    />
        <result property="endTime"    column="end_time"    />
        <result property="isReport"    column="is_report"    />
        <result property="isDel"    column="is_del"    />
        <result property="memberId" column="memberId"/>
        <result property="approvalSuggestion"    column="approval_suggestion"    />
    </resultMap>
    <resultMap id="taskMember" type="TWorkTaskMember">
        <id column="id" property="id"></id>
        <result column="member_id" property="memberId"></result>
        <result column="member_name" property="memberName"></result>
    </resultMap>

    <sql id="selectTWorkTaskVo">
        SELECT
            task_id,
            task_type,
            task_title,
            task_content,
            STATUS,
            create_enterprise_id,
            create_by,
            create_time,
            end_time,
            is_report,
            is_del,
            group_num,
            approval_suggestion
        FROM
            t_work_task
    </sql>

    <select id="getTaskMember" parameterType="java.lang.Long" resultMap="taskMember">
        select
        mb.id,
        mb.member_id,
        person.person_name as member_name
        from
        t_work_task_member mb
        LEFT JOIN t_line_patrol_person person ON person.person_id = mb.member_id
        where mb.task_id = #{taskId}
    </select>

    <select id="selectTWorkTaskList" parameterType="TWorkTask" resultMap="TWorkTaskResult">
        <include refid="selectTWorkTaskVo"/>
        <where>  
            <if test="taskType != null "> and task_type = #{taskType}</if>
            <if test="taskTitle != null  and taskTitle != ''"> and task_title like concat('%', #{taskTitle}, '%')</if>
            <if test="taskContent != null  and taskContent != ''"> and task_content = #{taskContent}</if>
            <if test="status != null "> and status = #{status}</if>
            <if test="createEnterpriseId != null "> and create_enterprise_id = #{createEnterpriseId}</if>
            <if test="endTime != null "> and end_time = #{endTime}</if>
            <if test="groupNum"> and group_num =#{groupNum}</if>
            <if test="isReport != null "> and is_report = #{isReport}</if>
            <if test="approvalSuggestion != null  and approvalSuggestion != ''"> and approval_suggestion = #{approvalSuggestion}</if>
            <if test="isDel != null "> and is_del = #{isDel}</if>
        </where>
        order by create_time desc
    </select>
    
    <select id="selectTWorkTaskById" parameterType="Long" resultMap="TWorkTaskResult">
        <include refid="selectTWorkTaskVo"/>
        where task_id = #{taskId}
    </select>
        
    <insert id="insertTWorkTask" parameterType="TWorkTask" useGeneratedKeys="true" keyProperty="taskId">
        insert into t_work_task
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="taskType != null">task_type,</if>
            <if test="taskTitle != null">task_title,</if>
            <if test="taskContent != null">task_content,</if>
            <if test="status != null">status,</if>
            <if test="createEnterpriseId != null">create_enterprise_id,</if>
            <if test="createBy != null">create_by,</if>
            <if test="groupNum != null">group_num,</if>
            <if test="createTime != null">create_time,</if>
            <if test="endTime != null">end_time,</if>
            <if test="isReport != null">is_report,</if>
            <if test="approvalSuggestion != null">approval_suggestion,</if>
            <if test="isDel != null">is_del,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="taskType != null">#{taskType},</if>
            <if test="taskTitle != null">#{taskTitle},</if>
            <if test="taskContent != null">#{taskContent},</if>
            <if test="status != null">#{status},</if>
            <if test="createEnterpriseId != null">#{createEnterpriseId},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="groupNum !=null">#{groupNum},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="endTime != null">#{endTime},</if>
            <if test="isReport != null">#{isReport},</if>
            <if test="approvalSuggestion != null">#{approvalSuggestion},</if>
            <if test="isDel != null">#{isDel},</if>
         </trim>
    </insert>

    <update id="updateTWorkTask" parameterType="TWorkTask">
        update t_work_task
        <trim prefix="SET" suffixOverrides=",">
            <if test="taskType != null">task_type = #{taskType},</if>
            <if test="taskTitle != null">task_title = #{taskTitle},</if>
            <if test="taskContent != null">task_content = #{taskContent},</if>
            <if test="status != null">status = #{status},</if>
            <if test="createEnterpriseId != null">create_enterprise_id = #{createEnterpriseId},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="groupNum !=null">group_num =#{groupNum},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="endTime != null">end_time = #{endTime},</if>
            <if test="isReport != null">is_report = #{isReport},</if>
            <if test="approvalSuggestion != null">approval_suggestion = #{approvalSuggestion},</if>
            <if test="isDel != null">is_del = #{isDel},</if>
        </trim>
        where task_id = #{taskId}
    </update>
    <select id="selectTaskListxiao" parameterType="TWorkTask" resultMap="TWorkTaskResultTwo">
        SELECT t.*,m.member_id as memberId,IFNULL(m.progress,0) AS progress,m.id as taskMemberId  FROM t_work_task t
        LEFT JOIN t_work_task_member m on m.task_id = t.task_id and m.member_id =#{memberId}
        <where>
            <if test="taskType != null "> and t.task_type = #{taskType}</if>
            <if test="taskTitle != null  and taskTitle != ''"> and t.task_title like concat('%', #{taskTitle}, '%')</if>
            <if test="taskContent != null  and taskContent != ''"> and t.task_content = #{taskContent}</if>
            <if test="status != null ">
              <if test="status !=0 and status !=3">and t.status = #{status}</if>
                <if test="status ==0">and (t.status = 0 or t.status =3)</if>
            </if>
            <if test="createEnterpriseId != null "> and t.create_enterprise_id = #{createEnterpriseId}</if>
            <if test="endTime != null "> and t.end_time = #{endTime}</if>
            <if test="groupNum !=null and groupNum!='-1'"> and t.group_num =#{groupNum}</if>
            <if test="isReport != null "> and t.is_report = #{isReport}</if>
            <if test="isDel != null "> and t.is_del = #{isDel}</if>
            <if test="memberId !=null and userType==3 and taskType==1">
               and m.member_id = #{memberId}
            </if>
        </where>
         order by  progress desc, t.create_time desc
    </select>
    <delete id="deleteTWorkTaskById" parameterType="Long">
        delete from t_work_task where task_id = #{taskId}
    </delete>

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

    <select id="selectPersonName" parameterType="Long" resultType="java.util.HashMap">
        SELECT GROUP_CONCAT(person_name) AS personName,
                GROUP_CONCAT(person_id) AS personId
        FROM t_line_patrol_person
        WHERE person_id IN (SELECT member_id FROM t_work_task_member WHERE task_id = #{taskId})
    </select>
</mapper>