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 |  109 ++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 92 insertions(+), 17 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 51499f2..9e3ac8e 100644
--- a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
+++ b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
@@ -23,6 +23,11 @@
         <result column="publisher" property="publisher"/>
         <result column="fid" property="fid"/>
         <result column="fname" property="fname"/>
+        <result column="gather" property="gather"/>
+        <result column="gathername" property="gathername"/>
+        <result column="tasktype" property="tasktype"/>
+        <result column="phone" property="phone"/>
+        <result column="train" property="train"/>
     </resultMap>
 
 
@@ -38,49 +43,119 @@
         </if>
         where id = #{id}
     </update>
+    <update id="updateRtype">
+        update sys_taskqd
+        SET rtype=#{type}
+        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 *
-        FROM blade_user
-        WHERE id in (${serid})
+        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>
 
     <select id="selectLi" resultMap="taskResultMap">
         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
-        qd.jnum!=qd.num
         <if test="type==0">
-            and 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!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
-                and !find_in_set(#{serid}
-                , serid) and (j.id =#{jurisdiction} or
-                j.parent_id = #{jurisdiction})
+            <if test="jurisdiction!='1372091709474910209'">
+                <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}) or (j.id =#{workjurisdiction} or
+                j.parent_id = #{workjurisdiction}))
             </if>
             ) A LEFT JOIN (SELECT
             COUNT(*)
             as num,hdid FROM sys_taskfk GROUP BY hdid) B ON A.id=B.hdid
         </if>
     </select>
-    <select id="selectNum" resultType="java.lang.Integer">
-        SELECT COUNT(*) as num
+
+    <select id="selectNum" resultType="java.util.HashMap">
+        SELECT COUNT(*) as num, tasktype
         FROM sys_taskqd qd
                  LEFT JOIN sys_jurisdiction j ON j.id = qd.jurisdiction
-        WHERE !find_in_set(#{serid}
+        WHERE jnum!=num AND qd.rtype = "2" AND
+           (!find_in_set(#{serid}
             , serid)
-          AND jnum!=num
-          and (j.id =#{jurisdiction}
-           or
-            j.parent_id = #{jurisdiction})
+           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>
 </mapper>

--
Gitblit v1.9.3