forked from gzzfw/backEnd/gz-dyh

liyj
2024-10-15 efa7c238ab4608dbd6e57983cf1d5c53470867bc
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
@@ -5,7 +5,7 @@
 * @description: 自定义sql,请自行实现业务逻辑
 * @company: hugeinfo
 * @author: liyj
 * @time:2024-09-09 22:10:33
 * @time:2024-10-10 10:45:06
 * @version 1.0.0
-->
<mapper namespace="cn.huge.module.cases.dao.mapper.CaseTaskMapper">
@@ -16,14 +16,12 @@
            <result property="flowableId" column="flowable_id"/>
            <result property="processInstanceId" column="process_instance_id"/>
            <result property="processTaskId" column="process_task_id"/>
            <result property="taskType" column="task_type"/>
            <result property="nodeType" column="node_type"/>
            <result property="nodeId" column="node_id"/>
            <result property="nodeName" column="node_name"/>
            <result property="flowId" column="flow_id"/>
            <result property="nodeShowName" column="node_show_name"/>
            <result property="caseTaskType" column="case_task_type"/>
            <result property="candeType" column="cande_type"/>
            <result property="candeUnitId" column="cande_unit_id"/>
            <result property="candeUnitName" column="cande_unit_name"/>
            <result property="candeDeptId" column="cande_dept_id"/>
@@ -35,18 +33,25 @@
            <result property="signStatus" column="sign_status"/>
            <result property="signExpireTime" column="sign_expire_time"/>
            <result property="signTime" column="sign_time"/>
            <result property="signUnitId" column="sign_unit_id"/>
            <result property="signUnitName" column="sign_unit_name"/>
            <result property="signUserId" column="sign_user_id"/>
            <result property="signUserName" column="sign_user_name"/>
            <result property="expireTime" column="expire_time"/>
            <result property="status" column="status"/>
            <result property="handleUnitId" column="handle_unit_id"/>
            <result property="handleUnitName" column="handle_unit_name"/>
            <result property="handleDeptId" column="handle_dept_id"/>
            <result property="handleDeptName" column="handle_dept_name"/>
            <result property="handleUserId" column="handle_user_id"/>
            <result property="handleUserName" column="handle_user_name"/>
            <result property="handleResult" column="handle_result"/>
            <result property="handleContent" column="handle_content"/>
            <result property="handleIllust" column="handle_illust"/>
            <result property="handleTime" column="handle_time"/>
            <result property="usetimeHour" column="usetime_hour"/>
            <result property="overtimeStatus" column="overtime_status"/>
            <result property="overtimeHour" column="overtime_hour"/>
            <result property="deleteStatus" column="delete_status"/>
            <result property="custId" column="cust_id"/>
            <result property="createTime" column="create_time"/>
@@ -61,14 +66,12 @@
        flowable_id,
        process_instance_id,
        process_task_id,
        task_type,
        node_type,
        node_id,
        node_name,
        flow_id,
        node_show_name,
        case_task_type,
        cande_type,
        cande_unit_id,
        cande_unit_name,
        cande_dept_id,
@@ -80,18 +83,25 @@
        sign_status,
        sign_expire_time,
        sign_time,
        sign_unit_id,
        sign_unit_name,
        sign_user_id,
        sign_user_name,
        expire_time,
        status,
        handle_unit_id,
        handle_unit_name,
        handle_dept_id,
        handle_dept_name,
        handle_user_id,
        handle_user_name,
        handle_result,
        handle_content,
        handle_illust,
        handle_time,
        usetime_hour,
        overtime_status,
        overtime_hour,
        delete_status,
        cust_id,
        create_time,
@@ -103,14 +113,12 @@
            <if test="entity.flowableId != null">flowable_id = #{entity.flowableId},</if>
            <if test="entity.processInstanceId != null">process_instance_id = #{entity.processInstanceId},</if>
            <if test="entity.processTaskId != null">process_task_id = #{entity.processTaskId},</if>
            <if test="entity.taskType != null">task_type = #{entity.taskType},</if>
            <if test="entity.nodeType != null">node_type = #{entity.nodeType},</if>
            <if test="entity.nodeId != null">node_id = #{entity.nodeId},</if>
            <if test="entity.nodeName != null">node_name = #{entity.nodeName},</if>
            <if test="entity.flowId != null">flow_id = #{entity.flowId},</if>
            <if test="entity.nodeShowName != null">node_show_name = #{entity.nodeShowName},</if>
            <if test="entity.caseTaskType != null">case_task_type = #{entity.caseTaskType},</if>
            <if test="entity.candeType != null">cande_type = #{entity.candeType},</if>
            <if test="entity.candeUnitId != null">cande_unit_id = #{entity.candeUnitId},</if>
            <if test="entity.candeUnitName != null">cande_unit_name = #{entity.candeUnitName},</if>
            <if test="entity.candeDeptId != null">cande_dept_id = #{entity.candeDeptId},</if>
@@ -122,18 +130,25 @@
            <if test="entity.signStatus != null">sign_status = #{entity.signStatus},</if>
            <if test="entity.signExpireTime != null">sign_expire_time = #{entity.signExpireTime},</if>
            <if test="entity.signTime != null">sign_time = #{entity.signTime},</if>
            <if test="entity.signUnitId != null">sign_unit_id = #{entity.signUnitId},</if>
            <if test="entity.signUnitName != null">sign_unit_name = #{entity.signUnitName},</if>
            <if test="entity.signUserId != null">sign_user_id = #{entity.signUserId},</if>
            <if test="entity.signUserName != null">sign_user_name = #{entity.signUserName},</if>
            <if test="entity.expireTime != null">expire_time = #{entity.expireTime},</if>
            <if test="entity.status != null">status = #{entity.status},</if>
            <if test="entity.handleUnitId != null">handle_unit_id = #{entity.handleUnitId},</if>
            <if test="entity.handleUnitName != null">handle_unit_name = #{entity.handleUnitName},</if>
            <if test="entity.handleDeptId != null">handle_dept_id = #{entity.handleDeptId},</if>
            <if test="entity.handleDeptName != null">handle_dept_name = #{entity.handleDeptName},</if>
            <if test="entity.handleUserId != null">handle_user_id = #{entity.handleUserId},</if>
            <if test="entity.handleUserName != null">handle_user_name = #{entity.handleUserName},</if>
            <if test="entity.handleResult != null">handle_result = #{entity.handleResult},</if>
            <if test="entity.handleContent != null">handle_content = #{entity.handleContent},</if>
            <if test="entity.handleIllust != null">handle_illust = #{entity.handleIllust},</if>
            <if test="entity.handleTime != null">handle_time = #{entity.handleTime},</if>
            <if test="entity.usetimeHour != null">usetime_hour = #{entity.usetimeHour},</if>
            <if test="entity.overtimeStatus != null">overtime_status = #{entity.overtimeStatus},</if>
            <if test="entity.overtimeHour != null">overtime_hour = #{entity.overtimeHour},</if>
            <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
            <if test="entity.custId != null">cust_id = #{entity.custId},</if>
            <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
@@ -158,9 +173,6 @@
                <if test="terms.processTaskId != null and terms.processTaskId !=''">
                    and process_task_id = #{terms.processTaskId}
                </if>
                <if test="terms.taskType != null and terms.taskType !=''">
                    and task_type = #{terms.taskType}
                </if>
                <if test="terms.nodeType != null and terms.nodeType !=''">
                    and node_type = #{terms.nodeType}
                </if>
@@ -178,9 +190,6 @@
                </if>
                <if test="terms.caseTaskType != null and terms.caseTaskType !=''">
                    and case_task_type = #{terms.caseTaskType}
                </if>
                <if test="terms.candeType != null and terms.candeType !=''">
                    and cande_type = #{terms.candeType}
                </if>
                <if test="terms.candeUnitId != null and terms.candeUnitId !=''">
                    and cande_unit_id = #{terms.candeUnitId}
@@ -215,6 +224,12 @@
                <if test="terms.signTime != null and terms.signTime !=''">
                    and sign_time = #{terms.signTime}
                </if>
                <if test="terms.signUnitId != null and terms.signUnitId !=''">
                    and sign_unit_id = #{terms.signUnitId}
                </if>
                <if test="terms.signUnitName != null and terms.signUnitName !=''">
                    and sign_unit_name = #{terms.signUnitName}
                </if>
                <if test="terms.signUserId != null and terms.signUserId !=''">
                    and sign_user_id = #{terms.signUserId}
                </if>
@@ -233,6 +248,12 @@
                <if test="terms.handleUnitName != null and terms.handleUnitName !=''">
                    and handle_unit_name = #{terms.handleUnitName}
                </if>
                <if test="terms.handleDeptId != null and terms.handleDeptId !=''">
                    and handle_dept_id = #{terms.handleDeptId}
                </if>
                <if test="terms.handleDeptName != null and terms.handleDeptName !=''">
                    and handle_dept_name = #{terms.handleDeptName}
                </if>
                <if test="terms.handleUserId != null and terms.handleUserId !=''">
                    and handle_user_id = #{terms.handleUserId}
                </if>
@@ -250,6 +271,15 @@
                </if>
                <if test="terms.handleTime != null and terms.handleTime !=''">
                    and handle_time = #{terms.handleTime}
                </if>
                <if test="terms.usetimeHour != null and terms.usetimeHour !=''">
                    and usetime_hour = #{terms.usetimeHour}
                </if>
                <if test="terms.overtimeStatus != null and terms.overtimeStatus !=''">
                    and overtime_status = #{terms.overtimeStatus}
                </if>
                <if test="terms.overtimeHour != null and terms.overtimeHour !=''">
                    and overtime_hour = #{terms.overtimeHour}
                </if>
                <if test="terms.deleteStatus = null and terms.deleteStatus =''">
                    and delete_status = 0
@@ -288,22 +318,6 @@
            id = #{entity.id}
        </where>
    </update>
    <!-- 批量对象 -->
    <update id="updateCaseTaskList">
        update
        <include refid="table-name"/>
        <set>
            <include refid="set-part"/>
        </set>
        <where>
            id IN
            <foreach item="id" collection="taskIdList" open="(" separator="," close=")">
                #{id}
            </foreach>
        </where>
    </update>
    <!-- 条件更新对象 -->
    <update id="updateCaseTaskTerms">
        update
@@ -365,7 +379,7 @@
        select
        count(case when (node_id = 'ZJ_DFP' or  node_id = 'QJ_DFP' or  node_id = 'SJ_DFP' or  node_id = 'DFP') and sign_status != 1 then id end) as waitDisp,
        count(case when sign_status = 1 then id end) as waitSign,
        count(case when (node_id = 'ZJ_DSL' or  node_id = 'QJ_DSL' or  node_id = 'SJ_DSL' or  node_id = 'DSL') and sign_status != 1 and (handle_result != 3 or handle_result is null) then id end) as waitAccept,
        count(case when (node_id = 'ZJ_DSL' or  node_id = 'QJ_DSL' or  node_id = 'SJ_DSL' or  node_id = 'DSL') and sign_status != 1 then id end) as waitAccept,
        count(case when node_id = 'BLFK' then id end) as Processing
        from
        <include refid="table-name" />
@@ -382,8 +396,8 @@
            <if test="terms.candeUnitId != null and terms.candeUnitId !=''">
                and t1.cande_unit_id = #{terms.candeUnitId}
            </if>
            <if test="terms.status != null and terms.status !=''">
                and t1.status = #{terms.status}
            <if test="terms.handleUnitId != null and terms.handleUnitId !=''">
                and t1.handle_unit_id = #{terms.handleUnitId}
            </if>
            <if test="terms.createTimeStart != null and terms.createTimeStart !='' and terms.createTimeEnd != null and terms.createTimeEnd !=''">
                and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createTimeStart}
@@ -396,6 +410,9 @@
            <if test="terms.partyName != null and terms.partyName !=''">
                and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
            </if>
            <if test="terms.status == 2">
                and t1.handle_result in (0, 1, 2)
            </if>
        </if>
    </sql>
    <!--  工作台-待/已分派条件统计  -->
@@ -407,7 +424,9 @@
        where
        (t1.node_id = 'ZJ_DFP' or  t1.node_id = 'QJ_DFP' or  t1.node_id = 'SJ_DFP' or  t1.node_id = 'DFP')
        and t1.sign_status != 1
        and t1.case_task_type = 1
        and t2.delete_status = 0
        and t1.status = #{terms.status}
        <include refid="myTaskFp-where-part"/>
    </select>
    <!--  工作台-待分派分页查询  -->
@@ -423,7 +442,9 @@
        where
        (t1.node_id = 'ZJ_DFP' or  t1.node_id = 'QJ_DFP' or  t1.node_id = 'SJ_DFP' or  t1.node_id = 'DFP')
        and t1.sign_status != 1
        and t1.case_task_type = 1
        and t2.delete_status = 0
        and t1.status = #{terms.status}
        <include refid="myTaskFp-where-part"/>
        <if test="page.sort != null">
            <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
@@ -443,8 +464,8 @@
            <if test="terms.candeUnitId != null and terms.candeUnitId !=''">
                and t1.cande_unit_id = #{terms.candeUnitId}
            </if>
            <if test="terms.signStatus != null and terms.signStatus !=''">
                and t1.sign_status = #{terms.signStatus}
            <if test="terms.handleUnitId != null and terms.handleUnitId !=''">
                and t1.handle_unit_id = #{terms.handleUnitId}
            </if>
            <if test="terms.createTimeStart != null and terms.createTimeStart !='' and terms.createTimeEnd != null and terms.createTimeEnd !=''">
                and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createTimeStart}
@@ -468,6 +489,7 @@
        where
        t2.delete_status = 0
        and t1.status = '1'
        and t1.sign_status = #{terms.signStatus}
        <include refid="myTaskQs-where-part"/>
    </select>
    <!--  首页-待/已签收分页查询  -->
@@ -482,6 +504,7 @@
        where
        t2.delete_status = 0
        and t1.status = '1'
        and t1.sign_status = #{terms.signStatus}
        <include refid="myTaskQs-where-part"/>
        <if test="page.sort != null">
            <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
@@ -512,8 +535,8 @@
            <if test="terms.candeUnitId != null and terms.candeUnitId !=''">
                and t1.cande_unit_id = #{terms.candeUnitId}
            </if>
            <if test="terms.status != null and terms.status !=''">
                and t1.status = #{terms.status}
            <if test="terms.handleUnitId != null and terms.handleUnitId !=''">
                and t1.handle_unit_id = #{terms.handleUnitId}
            </if>
            <if test="terms.caseTaskType != null and terms.caseTaskType !=''">
                and t1.case_task_type = #{terms.caseTaskType}
@@ -541,7 +564,7 @@
        (t1.node_id = 'ZJ_DSL' or  t1.node_id = 'QJ_DSL' or  t1.node_id = 'SJ_DSL' or  t1.node_id = 'DSL')
        and t2.delete_status = 0
        and t1.sign_status != 1
        and (t1.handle_result != 3 or t1.handle_result is null)
        and t1.status = #{terms.status}
        <include refid="myTaskSl-where-part"/>
    </select>
    <!--  首页-待/已受理分页查询  -->
@@ -557,7 +580,7 @@
        (t1.node_id = 'ZJ_DSL' or t1.node_id = 'QJ_DSL' or t1.node_id = 'SJ_DSL' or t1.node_id = 'DSL')
        and t2.delete_status = 0
        and t1.sign_status != 1
        and (t1.handle_result != 3 or t1.handle_result is null)
        and t1.status = #{terms.status}
        <include refid="myTaskSl-where-part"/>
        <if test="page.sort != null">
            <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
@@ -673,46 +696,46 @@
    <select id="pageMyTaskShWSQD" resultType="cn.huge.module.cases.domain.dto.FrontPageListWSQDDTO">
        select t1.*,t2.case_level as caseGrade, t2.canal_name as caseSource, concat(t2.case_type_first_name, '/' ,t2.case_type_name) as caseType,
        concat(t2.plaintiffs, t2.pagents) as plaintiffs, concat(t2.defendants, t2.dagents) as defendants
            from
            (
            SELECT case_id as caseId, id as ownerId, return_time as turnaroundTime, '回退' as applyType,
            audit_unit_name as auditUnit, return_status as auditStatus, audit_result_name as auditResult,
            audit_time as auditTime, create_time, audit_result
            FROM dyh_case_return
            WHERE return_unit_id = #{terms.applyUnitId}
            union all
            SELECT case_id as caseId, id as ownerId, apply_time as turnaroundTime, '结案' as applyType,
            audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditResult,
            audit_time as auditTime, create_time, audit_result
            FROM dyh_case_windup_apply
            WHERE apply_unit_id = #{terms.applyUnitId}
            union all
            SELECT case_id as caseId, id as ownerId, appear_time as turnaroundTime, '上报' as applyType,
            audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditResult,
            audit_time as auditTime, create_time, audit_result
            FROM dyh_case_appear
            WHERE appear_unit_id = #{terms.applyUnitId}
            union all
            SELECT case_id as caseId, id as ownerId, apply_time as turnaroundTime, '联合处置' as applyType,
            audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditStatus,
            audit_time as auditTime, create_time, audit_result
            FROM dyh_case_assist_apply
            WHERE apply_unit_id = #{terms.applyUnitId}
            )t1 left join dyh_case_info t2 on t1.caseId = t2.id
        from
        (
        SELECT case_id as caseId, id as ownerId, return_time as turnaroundTime, '回退' as applyType,
        audit_unit_name as auditUnit, return_status as auditStatus, audit_result_name as auditResult,
        audit_time as auditTime, create_time, audit_result
        FROM dyh_case_return
        WHERE return_unit_id = #{terms.applyUnitId}
        union all
        SELECT case_id as caseId, id as ownerId, apply_time as turnaroundTime, '结案' as applyType,
        audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditResult,
        audit_time as auditTime, create_time, audit_result
        FROM dyh_case_windup_apply
        WHERE apply_unit_id = #{terms.applyUnitId}
        union all
        SELECT case_id as caseId, id as ownerId, appear_time as turnaroundTime, '上报' as applyType,
        audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditResult,
        audit_time as auditTime, create_time, audit_result
        FROM dyh_case_appear
        WHERE appear_unit_id = #{terms.applyUnitId}
        union all
        SELECT case_id as caseId, id as ownerId, apply_time as turnaroundTime, '联合处置' as applyType,
        audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditStatus,
        audit_time as auditTime, create_time, audit_result
        FROM dyh_case_assist_apply
        WHERE apply_unit_id = #{terms.applyUnitId}
        )t1 left join dyh_case_info t2 on t1.caseId = t2.id
        <where>
        <if test="terms.applyType != null and terms.applyType !=''">
            and t1.applyType = #{terms.applyType}
        </if>
        <if test="terms.auditStatus != null and terms.auditStatus !=''">
            and t1.audit_result = #{terms.auditResult}
        </if>
        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
            and (DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
            and DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
        </if>
        <if test="terms.partyName != null and terms.partyName !=''">
            and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
        </if>
            <if test="terms.applyType != null and terms.applyType !=''">
                and t1.applyType = #{terms.applyType}
            </if>
            <if test="terms.auditStatus != null and terms.auditStatus !=''">
                and t1.audit_result = #{terms.auditResult}
            </if>
            <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
                and (DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
                and DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
            </if>
            <if test="terms.partyName != null and terms.partyName !=''">
                and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
            </if>
        </where>
        <if test="page.sort != null">
            <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
@@ -764,7 +787,6 @@
        left join dyh_case_info t2 on t1.case_id = t2.id
        left join dyh_case_info_unfold t3 on t1.case_id = t3.id
        where t1.status = 2
        and t1.node_id = 'BLFK'
        and t1.handle_unit_id = #{terms.handleUnitId}
        and t2.delete_status = 0
        <include refid="myTaskYb-where-part"/>
@@ -780,7 +802,6 @@
        left join dyh_case_info t2 on t1.case_id = t2.id
        left join dyh_case_info_unfold t3 on t1.case_id = t3.id
        where t1.status = 2
        and t1.node_id = 'BLFK'
        and t1.handle_unit_id = #{terms.handleUnitId}
        and t2.delete_status = 0
        <include refid="myTaskYb-where-part"/>
@@ -796,4 +817,4 @@
        limit #{page.offset}, #{page.size}
    </select>
</mapper>
</mapper>