From 8a87336ca8f99ccb79c8eeb3e3796c2e41d207e7 Mon Sep 17 00:00:00 2001
From: liyj <15602261488@163.com>
Date: Tue, 24 Sep 2024 19:03:07 +0800
Subject: [PATCH] 1、流程督办,当时人评价节点优化

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml |  473 +++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 344 insertions(+), 129 deletions(-)

diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
index 813ec26..b0d8ccd 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
@@ -288,6 +288,22 @@
             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
@@ -347,82 +363,72 @@
     <!--  查询任务数量  -->
     <select id="countTaskList" resultMap="FrontPageCountResult">
         select
-        count(case when node_id = 'ZJ_DFP' or  node_id = 'QJ_DFP' or  node_id = 'SJ_DFP' then id end) as waitDisp,
+        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_DFP' or  node_id = 'SJ_DFP' 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 and (handle_result != 3 or handle_result is null) then id end) as waitAccept,
         count(case when node_id = 'BLFK' then id end) as Processing
         from
         <include refid="table-name" />
         where
         cande_unit_id = #{terms.candeUnitId}
-        <if test="terms.candeDeptId != null and terms.candeDeptId !=''">
-            and (cande_dept_id = #{terms.candeDeptId})
-        </if>
-        and delete_status = '0'
-        and status = '1'
+        and delete_status = 0
+        and status = 1
     </select>
 
-    <!-- 首页-待办理结果集 -->
-    <resultMap id="MyTaskApplyReviewResult" type="cn.huge.module.cases.domain.dto.FrontPageListDTO">
-        <result property="ownerId" column="ownerId"/>
-        <result property="caseId" column="caseId"/>
-        <result property="turnaroundTime" column="turnaroundTime"/>
-        <result property="timeLimit" column="timeLimit"/>
-        <result property="caseGrade" column="caseGrade"/>
-        <result property="caseSource" column="caseSource"/>
-        <result property="caseType" column="caseType"/>
-        <result property="plaintiffs" column="plaintiffs"/>
-        <result property="defendants" column="defendants"/>
-        <result property="processingDays" column="processingDays"/>
-        <result property="mediResult" column="mediResult"/>
-        <result property="organizingUnit" column="organizingUnit"/>
-        <result property="cooperatingUnit" column="cooperatingUnit"/>
-        <result property="manager" column="manager"/>
-        <result property="mediResult" column="mediResult"/>
-        <result property="backUnit" column="backUnit"/>
-        <result property="reason" column="reason"/>
-        <result property="opinion" column="opinion"/>
-        <result property="process" column="process"/>
-    </resultMap>
 
-    <!--  首页-待分派条件统计  -->
+    <!-- 工作台-待/已分派条件查询-条件 -->
+    <sql id="myTaskFp-where-part">
+        <if test="terms != null">
+            <if test="terms.candeUnitId != null and terms.candeUnitId !=''">
+                and t1.cande_unit_id = #{terms.candeUnitId}
+            </if>
+            <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}
+                and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createTimeEnd})
+            </if>
+            <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''">
+                and (DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart}
+                and DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd})
+            </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>
+    </sql>
+    <!--  工作台-待/已分派条件统计  -->
     <select id="countMyTaskFp" resultType="java.lang.Long">
         select
         COUNT(t1.id)
         from
         dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
         where
-        cande_unit_id = #{terms.candeUnitId}
-        and (t1.node_id = 'ZJ_DFP' or  t1.node_id = 'QJ_DFP' or  t1.node_id = 'SJ_DFP')
-        and t1.delete_status = 0
+        (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}
-        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
-            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
-            and DATE_FORMAT(t1.create_time,'%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>
+        <include refid="myTaskFp-where-part"/>
     </select>
-    <!--  首页-待分派分页查询  -->
-    <select id="pageMyTaskFp" resultMap="MyTaskApplyReviewResult">
+    <!--  工作台-待分派分页查询  -->
+    <select id="pageMyTaskFp" resultType="cn.huge.module.cases.domain.dto.FrontPageListFPDTO">
         SELECT t1.id as ownerId, t1.case_id as caseId,
-        t1.create_time as turnaroundTime, t1.expire_time as timeLimit, t2.case_level as caseGrade, t2.canal_name as caseSource,
-        t2.case_type_name as caseType, concat(t2.plaintiffs, t2.pagents) as plaintiffs, concat(t2.defendants, t2.dagents) as defendants
+        t1.create_time as turnaroundTime, t1.expire_time as timeLimit, t1.handle_time as taskHandleTime,
+        t2.case_level as caseGrade, t2.canal_name as caseSource, concat(t2.case_type_first_name, '/' ,t2.case_type_name) as caseType,
+        concat(t2.que_area_name, t2.que_road_name) as queAddress,
+        concat(t2.plaintiffs, t2.pagents) as plaintiffs, concat(t2.defendants, t2.dagents) as defendants,
+        (select count(1) from dyh_case_supervise where case_id = t1.case_id) as superviseCount
         FROM
         dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
         where
-        t1.cande_unit_id = #{terms.candeUnitId}
-        and (t1.node_id = 'ZJ_DFP' or  t1.node_id = 'QJ_DFP' or  t1.node_id = 'SJ_DFP')
-        and t1.delete_status = 0
+        (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}
-        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
-            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
-            and DATE_FORMAT(t1.create_time,'%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>
+        <include refid="myTaskFp-where-part"/>
         <if test="page.sort != null">
             <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
                 isnull(${s.property}), ${s.property} ${s.direction}
@@ -434,45 +440,55 @@
         limit #{page.offset}, #{page.size}
     </select>
 
-    <!--  首页-待签收条件统计  -->
+
+    <!-- 工作台-待/已签收条件查询-条件 -->
+    <sql id="myTaskQs-where-part">
+        <if test="terms != null">
+            <if test="terms.candeUnitId != null and terms.candeUnitId !=''">
+                and t1.cande_unit_id = #{terms.candeUnitId}
+            </if>
+            <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}
+                and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createTimeEnd})
+            </if>
+            <if test="terms.signTimeStart != null and terms.signTimeStart !='' and terms.signTimeEnd != null and terms.signTimeEnd !=''">
+                and (DATE_FORMAT(t1.sign_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.signTimeStart}
+                and DATE_FORMAT(t1.sign_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.signTimeEnd})
+            </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>
+    </sql>
+    <!--  首页-待/已签收条件统计  -->
     <select id="countMyTaskQs" resultType="java.lang.Long">
         select
         COUNT(t1.id)
         from
         dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
         where
-        t1.cande_unit_id = #{terms.candeUnitId}
-        and t1.sign_status = #{terms.signStatus}
-        and t1.delete_status = 0
+        t2.delete_status = 0
         and t1.status = '1'
-        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
-            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
-            and DATE_FORMAT(t1.create_time,'%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>
+        and t1.sign_status = #{terms.signStatus}
+        <include refid="myTaskQs-where-part"/>
     </select>
-    <!--  首页-待签收分页查询  -->
-    <select id="pageMyTaskQs" resultMap="MyTaskApplyReviewResult">
+    <!--  首页-待/已签收分页查询  -->
+    <select id="pageMyTaskQs" resultType="cn.huge.module.cases.domain.dto.FrontPageListQSDTO">
         SELECT t1.id as ownerId, t1.case_id as caseId,
-        t1.create_time as turnaroundTime, t1.expire_time as timeLimit,  t2.case_level as caseGrade, t2.canal_name as caseSource,
-        t2.case_type_name as caseType, concat(t2.plaintiffs, t2.pagents) as plaintiffs,
-        concat(t2.defendants, t2.dagents) as defendants
+        t1.create_time as turnaroundTime, t1.sign_expire_time as timeLimit, t1.sign_time as taskHandleTime,
+        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,
+        (select count(1) from dyh_case_supervise where case_id = t1.case_id) as superviseCount
         FROM
         dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
         where
-        t1.cande_unit_id = #{terms.candeUnitId}
-        and t1.sign_status = #{terms.signStatus}
-        and t1.delete_status = 0
+        t2.delete_status = 0
         and t1.status = '1'
-        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
-            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
-            and DATE_FORMAT(t1.create_time,'%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>
+        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 ">
                 isnull(${s.property}), ${s.property} ${s.direction}
@@ -484,48 +500,73 @@
         limit #{page.offset}, #{page.size}
     </select>
 
-    <!--  首页-待受理条件统计  -->
+    <!--  全部签收-查询未签收所有Id  -->
+    <select id="listIdByTerms" resultType="cn.huge.module.cases.domain.dto.SignTaskDTO">
+        SELECT t1.id as caseTaskId, t1.case_id as caseId
+        FROM
+        dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
+        where
+        t2.delete_status = 0
+        and t1.status = '1'
+        <include refid="myTaskQs-where-part"/>
+    </select>
+
+
+    <!-- 工作台-待/已受理条件查询-条件 -->
+    <sql id="myTaskSl-where-part">
+        <if test="terms != null">
+            <if test="terms.candeUnitId != null and terms.candeUnitId !=''">
+                and t1.cande_unit_id = #{terms.candeUnitId}
+            </if>
+            <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}
+            </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}
+                and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createTimeEnd})
+            </if>
+            <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''">
+                and (DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart}
+                and DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd})
+            </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>
+    </sql>
+    <!--  首页-待/已受理条件统计  -->
     <select id="countMyTaskSl" resultType="java.lang.Long">
         select
         COUNT(t1.id)
         from
         dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
         where
-        t1.cande_unit_id = #{terms.candeUnitId}
-        and (t1.node_id = 'ZJ_DSL' or  t1.node_id = 'QJ_DFP' or  t1.node_id = 'SJ_DFP')
-        and t1.delete_status = 0
+        (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}
-        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
-            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
-            and DATE_FORMAT(t1.create_time,'%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>
+        <include refid="myTaskSl-where-part"/>
     </select>
-    <!--  首页-待受理分页查询  -->
-    <select id="pageMyTaskSl" resultMap="MyTaskApplyReviewResult">
+    <!--  首页-待/已受理分页查询  -->
+    <select id="pageMyTaskSl" resultType="cn.huge.module.cases.domain.dto.FrontPageListSLDTO">
         SELECT t1.id as ownerId, t1.case_id as caseId,
-        t1.create_time as turnaroundTime, t1.expire_time as timeLimit,
-        t2.case_level as caseGrade, t2.canal_name as caseSource,
-        t2.case_type_name as caseType, concat(t2.plaintiffs, t2.pagents) as plaintiffs,
-        concat(t2.defendants, t2.dagents) as defendants
+        t1.create_time as turnaroundTime, t1.sign_expire_time as timeLimit, t1.handle_time as taskHandleTime,
+        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,
+        (select count(1) from dyh_case_supervise where case_id = t1.case_id) as superviseCount
         FROM
         dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
         where
-        t1.cande_unit_id = #{terms.candeUnitId}
-        and (t1.node_id = 'ZJ_DSL' or  t1.node_id = 'QJ_DFP' or  t1.node_id = 'SJ_DFP')
-        and t1.delete_status = 0
+        (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}
-        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
-            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
-            and DATE_FORMAT(t1.create_time,'%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>
+        <include refid="myTaskSl-where-part"/>
         <if test="page.sort != null">
             <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
                 isnull(${s.property}), ${s.property} ${s.direction}
@@ -537,45 +578,150 @@
         limit #{page.offset}, #{page.size}
     </select>
 
+
+    <!-- 工作台-办理中条件查询-条件 -->
+    <sql id="myTaskBlz-where-part">
+        <if test="terms != null">
+            <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>
+            <if test="terms.caseTaskType != null and terms.caseTaskType !=''">
+                and t1.case_task_type = #{terms.caseTaskType}
+            </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}
+                and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createTimeEnd})
+            </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>
+    </sql>
     <!--  首页-办理中条件统计  -->
-    <select id="countMyTaskProcessing" resultType="java.lang.Long">
+    <select id="countMyTaskBlz" resultType="java.lang.Long">
         select
         COUNT(t1.id)
         from
         dyh_case_task t1 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.cande_unit_id = #{terms.candeUnitId}
-        and t1.node_id = 'BLFK'
-        and t1.delete_status = 0
+        t1.node_id = 'BLFK'
         and t1.status = 1
-        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
-            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
-            and DATE_FORMAT(t1.create_time,'%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>
+        and t2.delete_status = 0
+        <include refid="myTaskBlz-where-part"/>
     </select>
     <!--  首页-办理中分页查询  -->
-    <select id="pageMyTaskProcessing" resultMap="MyTaskApplyReviewResult">
-        SELECT t1.id as ownerId, t1.case_id as caseId,
-        t1.create_time as turnaroundTime, t1.cande_unit_name as organizingUnit,  t2.case_level as caseGrade, t2.canal_name as caseSource,
-        t2.case_type_name as caseType, concat(t2.plaintiffs, t2.pagents) as plaintiffs,
-        concat(t2.defendants, t2.dagents) as defendants
+    <select id="pageMyTaskBlz" resultType="cn.huge.module.cases.domain.dto.FrontPageListBLZDTO">
+        SELECT
+        t1.id as ownerId, t1.case_id as caseId, t1.create_time as turnaroundTime, t2.case_level as caseGrade,
+        t2.canal_name as caseSource, concat(t2.case_type_first_name, '/' ,t2.case_type_name) as caseType, t3.mediator as mediator,
+        t3.assist_unit_name as cooperatingUnit, t3.mediate_unit_name as organizingUnit,
+        concat(t2.plaintiffs, t2.pagents) as plaintiffs, concat(t2.defendants, t2.dagents) as defendants,
+        (select count(1) from dyh_case_supervise where case_id = t1.case_id) as superviseCount
         FROM
         dyh_case_task t1 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.cande_unit_id = #{terms.candeUnitId}
-        and t1.node_id = 'BLFK'
-        and t1.delete_status = 0
+        t1.node_id = 'BLFK'
         and t1.status = 1
+        and t2.delete_status = 0
+        <include refid="myTaskBlz-where-part"/>
+        <if test="page.sort != null">
+            <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+                isnull(${s.property}), ${s.property} ${s.direction}
+            </foreach>
+        </if>
+        <if test="page.sort == null">
+            order by isnull(t1.create_time), t1.create_time desc
+        </if>
+        limit #{page.offset}, #{page.size}
+    </select>
+
+    <!--  首页-待审核-我申请的条件统计  -->
+    <select id="countMyTaskShWSQD" resultType="java.lang.Long">
+        select sum(t1.count)
+        from
+        (
+        SELECT count(1) as count, case_id as caseId
+        FROM dyh_case_return
+        WHERE return_unit_id = #{terms.applyUnitId}
+        union all
+        SELECT count(1) as count, case_id as caseId
+        FROM dyh_case_windup_apply
+        WHERE apply_unit_id = #{terms.applyUnitId}
+        union all
+        SELECT count(1) as count, case_id as caseId
+        FROM dyh_case_appear
+        WHERE appear_unit_id = #{terms.applyUnitId}
+        union all
+        SELECT count(1) as count, case_id as caseId
+        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>
+        </where>
+    </select>
+    <!--  首页-待审核-我申请的分页查询  -->
+    <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
+        <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.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
-            and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{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}, '%')
+            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 ">
                 isnull(${s.property}), ${s.property} ${s.direction}
@@ -588,5 +734,74 @@
     </select>
 
 
+    <!-- web端-工作台-已办事项条件查询-条件 -->
+    <sql id="myTaskYb-where-part">
+        <if test="terms != null">
+            <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}
+                and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createTimeEnd})
+            </if>
+            <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''">
+                and (DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart}
+                and DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd})
+            </if>
+            <if test="terms.mediator != null and terms.mediator !=''">
+                and t3.mediator like concat('%', #{terms.mediator}, '%')
+            </if>
+            <if test="terms.canal != null and terms.canal !=''">
+                and t2.canal = #{terms.canal}
+            </if>
+            <if test="terms.mediResult != null and terms.mediResult !=''">
+                and t3.medi_result = #{terms.mediResult}
+            </if>
+            <if test="terms.caseLevel != null and terms.caseLevel !=''">
+                and t2.case_level = #{terms.caseLevel}
+            </if>
+            <if test="terms.caseType != null and terms.caseType !=''">
+                and t2.case_type = #{terms.caseType}
+            </if>
+            <if test="terms.status != null and terms.status !=''">
+                and t2.status = #{terms.status}
+            </if>
+        </if>
+    </sql>
+    <!--  web端-工作台-已办事项条件统计  -->
+    <select id="countMyTaskYb" resultType="java.lang.Long">
+        SELECT count(DISTINCT t2.id)
+        FROM dyh_case_task t1
+        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"/>
+    </select>
+    <!--  web端-工作台-已办事项分页查询  -->
+    <select id="pageMyTaskYb" resultType="cn.huge.module.cases.domain.dto.FrontPageListYBDTO">
+        SELECT t1.id as caseTaskId, t2.id as caseId, t1.create_time as createTime, t2.status_name as statusName,
+        t3.medi_result as mediResult, t3.medi_result_name as mediResultName, t3.mediator as mediator,
+        t1.handle_time as handleTime, t2.case_level as caseLevel, t2.canal_name as canalName,
+        concat(t2.case_type_first_name, '/' ,t2.case_type_name) as caseType,
+        (select count(1) from dyh_case_supervise where case_id = t1.case_id) as superviseCount
+        FROM dyh_case_task t1
+        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"/>
+        group by t2.id
+        <if test="page.sort != null">
+            <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+                isnull(${s.property}), ${s.property} ${s.direction}
+            </foreach>
+        </if>
+        <if test="page.sort == null">
+            order by isnull(t1.create_time), t1.create_time desc
+        </if>
+        limit #{page.offset}, #{page.size}
+    </select>
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0