From e32c502ce9ecd3d93cde809adc6cfd77d8c62f79 Mon Sep 17 00:00:00 2001
From: wangwh <2397901735@qq.com>
Date: Fri, 25 Oct 2024 11:01:24 +0800
Subject: [PATCH] feat:创建效能分析模块

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml |  122 ++++++++++++++++++++++++++++++----------
 1 files changed, 92 insertions(+), 30 deletions(-)

diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml
index 59f64e4..fb4751c 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml
@@ -4,8 +4,8 @@
  * @title: 纠纷督办信息表
  * @description: 自定义sql,请自行实现业务逻辑
  * @company: hugeinfo
- * @author: wangwh
- * @time:2024-09-03 10:53:01
+ * @author: liyj
+ * @time:2024-10-14 14:23:35
  * @version 1.0.0
 -->
 <mapper namespace="cn.huge.module.cases.dao.mapper.CaseSuperviseMapper">
@@ -27,6 +27,9 @@
             <result property="replyUserId" column="reply_user_id"/>
             <result property="replyUserName" column="reply_user_name"/>
             <result property="replyTime" column="reply_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"/>
@@ -52,6 +55,9 @@
         reply_user_id,
         reply_user_name,
         reply_time,
+        usetime_hour,
+        overtime_status,
+        overtime_hour,
         delete_status,
         cust_id,
         create_time,
@@ -74,6 +80,9 @@
             <if test="entity.replyUserId != null">reply_user_id = #{entity.replyUserId},</if>
             <if test="entity.replyUserName != null">reply_user_name = #{entity.replyUserName},</if>
             <if test="entity.replyTime != null">reply_time = #{entity.replyTime},</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>
@@ -131,14 +140,20 @@
                 <if test="terms.replyTime != null and terms.replyTime !=''">
                     and reply_time = #{terms.replyTime}
                 </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
                 </if>
                 <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
                     and delete_status = #{terms.deleteStatus}
-                </if>
-                <if test="terms.deleteStatus == null or terms.deleteStatus ==''">
-                    and delete_status = '0'
                 </if>
                 <if test="terms.custId != null and terms.custId !=''">
                     and cust_id = #{terms.custId}
@@ -226,10 +241,12 @@
         COUNT(1)
         from
         <include refid="table-name" />
-        where case_id = #{caseId}
+        where case_id = #{terms.caseId}
         and delete_status = 0
-        and sup_status = #{supStatus}
-        and quilt_unit_id = #{quiltUnitId}
+        <if test="terms.type == 1">
+            and sup_status = #{terms.supStatus}
+            and quilt_unit_id = #{terms.quiltUnitId}
+        </if>
     </select>
 
     <!--  根据条件分页查询  -->
@@ -238,10 +255,12 @@
         <include refid="column-part"/>
         FROM
         <include refid="table-name" />
-        where case_id = #{caseId}
+        where case_id = #{terms.caseId}
         and delete_status = 0
-        and sup_status = #{supStatus}
-        and quilt_unit_id = #{quiltUnitId}
+        <if test="terms.type == 1">
+            and sup_status = #{terms.supStatus}
+            and quilt_unit_id = #{terms.quiltUnitId}
+        </if>
         <if test="page.sort != null">
             <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
                 isnull(${s.property}), ${s.property} ${s.direction}
@@ -253,6 +272,32 @@
         limit #{page.offset}, #{page.size}
     </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"/>
+        <result property="content" column="content"/>
+        <result property="applyStatus" column="applyStatus"/>
+        <result property="replyTime" column="replyTime"/>
+    </resultMap>
+
     <!--  首页督办条件统计  -->
     <select id="countMyTaskDb" resultType="java.lang.Long">
         select
@@ -260,30 +305,47 @@
         from
             dyh_case_supervise t1 left join dyh_case_info t2 on t1.case_id = t2.id
         where
-        delete_status = 0
-        and sup_status = #{terms.supStatus}
-        and quilt_unit_id = #{terms.quiltUnitId}
-    </select>
-
-    <!--  首页督办分页查询  -->
-    <select id="pageMyTaskDb" resultMap="dataResult">
-        SELECT
-        t1.sup_time as turnaroundTime, t1.DATEADD(hour, t1.replyTerm, t1.sup_time) as timeLimit, t1.sup_unit_name as organizingUnit,
-        t1.sup_content as opinion, 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
-        FROM
-        dyh_case_supervise t1 left join dyh_case_info t2 on t1.case_id = t2.id
-        where
         t1.delete_status = 0
-        and t1.sup_status = #{terms.supStatus}
-        and t1.quilt_unit_id = #{terms.quiltUnitId}
+        <if test="terms.type != 3">
+            and t1.quilt_unit_id = #{terms.quiltUnitId}
+            and t1.sup_status = #{terms.supStatus}
+        </if>
+        <if test="terms.type == 3">
+            and t1.sup_unit_id = #{terms.supUnitId}
+        </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})
         </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_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%')
+        </if>
+    </select>
+
+    <!--  首页督办分页查询  -->
+    <select id="pageMyTaskDb" resultMap="MyTaskApplyReviewResult">
+        SELECT t1.id as ownerId, t1.case_id as caseId, t1.reply_content as content, t1.sup_status as applyStatus, t1.reply_time as replyTime,
+        t1.sup_time as turnaroundTime, DATEADD(hour, t1.reply_term, t1.sup_time) as timeLimit, t1.sup_unit_name as organizingUnit,
+        t1.sup_content as opinion, t2.case_level as caseGrade, t2.canal_name as caseSource,
+        concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType, concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs,
+        concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants
+        FROM
+        dyh_case_supervise t1 left join dyh_case_info t2 on t1.case_id = t2.id
+        where
+        t1.delete_status = 0
+        <if test="terms.type != 3">
+            and t1.quilt_unit_id = #{terms.quiltUnitId}
+            and t1.sup_status = #{terms.supStatus}
+        </if>
+        <if test="terms.type == 3">
+            and t1.sup_unit_id = #{terms.supUnitId}
+        </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})
+        </if>
+        <if test="terms.partyName != null and terms.partyName !=''">
+            and concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%')
         </if>
         <if test="page.sort != null">
             <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
@@ -307,4 +369,4 @@
         and sup_status = #{supStatus}
         and quilt_unit_id = #{quiltUnitId}
     </select>
-</mapper> 
\ No newline at end of file
+</mapper>
\ No newline at end of file

--
Gitblit v1.8.0