From 5b03cdbe799e8a91f9fcd0fd4f636a6c2c4440fd Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Mon, 07 Mar 2022 11:33:10 +0800
Subject: [PATCH] 任务增加类型

---
 src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml |   88 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 70 insertions(+), 18 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 8332f23..a44cdcb 100644
--- a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
+++ b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
@@ -21,49 +21,101 @@
         <result column="team" property="team"/>
         <result column="iscation" property="iscation"/>
         <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>
 
 
     <update id="updatet">
         update sys_taskqd
         SET serid=#{serid},
-            num=#{num}
-            <if test="param4!='' and param4!=null">
-                ,captain =#{param4}
-            </if>
-            <if test="param5!='' and param5!=null">
-                ,team =#{param5}
-            </if>
+        num=#{num}
+        <if test="param4!='' and param4!=null">
+            ,captain =#{param4}
+        </if>
+        <if test="param5!='' and param5!=null">
+            ,team =#{param5}
+        </if>
         where id = #{id}
+    </update>
+    <update id="updateRtype">
+        update sys_taskqd
+        SET rtype=#{type}
+        where id = #{rid}
     </update>
 
 
     <!--日常任务列表-->
     <select id="selectList" resultMap="taskResultMap">
-        select jnum, num, serid,team
+        select jnum, num, serid, team
         from sys_taskqd
         where id = #{id}
     </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 * from sys_taskqd where 1=1
+        select qd.* from sys_taskqd qd LEFT JOIN sys_jurisdiction j ON j.id = qd.jurisdiction where 1=1 AND
         <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">
-            and id NOT IN ( SELECT id FROM sys_taskqd WHERE find_in_set(#{serid}, serid ))) 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 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.util.HashMap">
+        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})
+        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