From 4c19ddd36bdfb43b5ef4e8df3c9a98cd4d356d6c Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Thu, 26 May 2022 10:55:04 +0800
Subject: [PATCH] 1、资讯模糊匹配修改

---
 src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml |   87 ++++++++++++++++++++++++++++++++++++-------
 1 files changed, 73 insertions(+), 14 deletions(-)

diff --git a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
index 85052d2..9e3ac8e 100644
--- a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
+++ b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
@@ -49,19 +49,56 @@
         where id = #{rid}
     </update>
 
+    <update id="updateSerid">
+        update sys_taskqd
+        SET serid=#{serid},team=#{newteam},num=#{newnum}
+        where id = #{rid}
+    </update>
 
     <!--日常任务列表-->
+    <select id="getlist" resultMap="taskResultMap">
+        SELECT
+        *
+        FROM
+        sys_taskqd
+        WHERE
+        serid LIKE concat("%",#{id},"%")
+        <if test="type == 3">
+            and rtype = 1
+        </if>
+        <if test="type == 2">
+            AND ( rtype = "0" OR rtype = "2" )
+        </if>
+    </select>
+
+    <!--任务统计-->
     <select id="selectList" resultMap="taskResultMap">
-        select jnum, num, serid, team
+        select jnum, num, serid, team ,time,endtime
         from sys_taskqd
         where id = #{id}
     </select>
+    <select id="taskCount" resultType="java.util.HashMap">
+        SELECT
+            count( * ) AS count
+        FROM
+            sys_taskqd
+        WHERE
+            serid LIKE  concat("%",#{id},"%")
+            AND rtype = "1" UNION ALL
+        SELECT
+            count( * ) AS count
+        FROM
+            sys_taskqd
+        WHERE
+            serid LIKE concat("%",#{id},"%")
+            AND ( rtype = "0" OR rtype = "2" )
+    </select>
 
     <select id="queryReceiver" resultType="java.util.HashMap">
-        SELECT u.* ,
-	    r.role_name
-        FROM blade_user
-        LEFT JOIN ( SELECT id, role_name FROM blade_role ) r on u.role_id = r.id
+        SELECT u.*,
+               r.role_name
+        FROM blade_user u
+                 LEFT JOIN (SELECT id, role_name FROM blade_role) r on u.role_id = r.id
         WHERE u.id in (${serid})
     </select>
 
@@ -69,15 +106,31 @@
         SELECT A.*,IFNULL(B.num,0) as nums FROM (
         select qd.* from sys_taskqd qd LEFT JOIN sys_jurisdiction j ON j.id = qd.jurisdiction where 1=1 AND
         <if test="type==0">
-            find_in_set(#{serid}, serid)) A LEFT JOIN (SELECT COUNT(*) as num,hdid,serid FROM sys_taskfk WHERE
+            (qd.rtype = "2" or qd.rtype = "0") AND
+            find_in_set(#{serid}, serid) and qd.tasktype=#{tasktype}) A LEFT JOIN (SELECT COUNT(*) as num,hdid,serid
+            FROM
+            sys_taskfk WHERE
+            serid=#{serid} GROUP BY hdid,serid) B ON A.id=B.hdid
+        </if>
+        <if test="type==2">
+            qd.rtype = "1" AND
+            find_in_set(#{serid}, serid) and qd.tasktype=#{tasktype}) A LEFT JOIN (SELECT COUNT(*) as num,hdid,serid
+            FROM
+            sys_taskfk WHERE
             serid=#{serid} GROUP BY hdid,serid) B ON A.id=B.hdid
         </if>
         <if test="type==1">
             <if test="jurisdiction!='1372091709474910209'">
-                qd.jnum!=qd.num AND qd.rtype = "2"
+                <if test="tasktype !=2">
+                    qd.jnum!=qd.num AND
+                </if>
+                qd.rtype = "2"
+                and qd.tasktype=#{tasktype}
                 and (!find_in_set(#{serid}, serid) OR serid IS NULL )
-                and (j.id =#{jurisdiction} or
-                j.parent_id = #{jurisdiction})
+                and
+                ((j.id =#{jurisdiction} or
+                j.parent_id = #{jurisdiction}) or (j.id =#{workjurisdiction} or
+                j.parent_id = #{workjurisdiction}))
             </if>
             ) A LEFT JOIN (SELECT
             COUNT(*)
@@ -86,17 +139,23 @@
     </select>
 
     <select id="selectNum" resultType="java.util.HashMap">
-        SELECT COUNT(*) as num,tasktype
+        SELECT COUNT(*) as num, tasktype
         FROM sys_taskqd qd
                  LEFT JOIN sys_jurisdiction j ON j.id = qd.jurisdiction
         WHERE jnum!=num AND qd.rtype = "2" AND
-           (!find_in_set(#{serid}, serid) OR serid IS NULL )
-          and (j.id =#{jurisdiction} or j.parent_id = #{jurisdiction})
-          or (j.id =#{workjurisdiction} or j.parent_id = #{workjurisdiction})
+           (!find_in_set(#{serid}
+            , serid)
+           OR serid IS NULL )
+          and ((j.id =#{jurisdiction}
+           or j.parent_id = #{jurisdiction})
+           or (j.id =#{workjurisdiction}
+           or j.parent_id = #{workjurisdiction}))
         GROUP BY tasktype
     </select>
 
     <select id="querySerid" resultType="java.lang.String">
-        SELECT serid from sys_taskqd where id = #{rid}
+        SELECT serid
+        from sys_taskqd
+        where id = #{rid}
     </select>
 </mapper>

--
Gitblit v1.9.3