From 2a73b46145a38b49f1dd9de473f46d64bcdeb6fc Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Sat, 19 Feb 2022 11:00:49 +0800
Subject: [PATCH] 任务数量

---
 src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java            |    1 +
 src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java         |    1 +
 src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml             |   17 +++++++++++++++--
 src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java    |   11 +++++++++++
 src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java |    5 +++++
 5 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java b/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
index 3e2f23e..5ca13ce 100644
--- a/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
+++ b/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
@@ -240,4 +240,15 @@
 		}
 		return R.data(list);
 	}
+
+	/**
+	 * 查询可参与任务
+	 * @param serid
+	 * @param jurisdiction
+	 * @return
+	 */
+	@GetMapping("/selectNum")
+	public R selectNum(String serid,String jurisdiction) {
+		return R.data(taskqdService.selectNum(serid, jurisdiction));
+	}
 }
diff --git a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java
index 3add60f..4c3ed08 100644
--- a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java
+++ b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java
@@ -39,4 +39,5 @@
 	List<Taskqd> selectList(Integer id);
 	List<Map<String, Object>> queryReceiver(String serid);
 	List<TaskqdVO> selectLi(String type, String serid,String jurisdiction);
+	Integer selectNum(String serid,String jurisdiction);
 }
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 0c3edd9..51499f2 100644
--- a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
+++ b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
@@ -55,14 +55,16 @@
 
     <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
+        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
             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 (j.id =#{jurisdiction} or
+                and !find_in_set(#{serid}
+                , serid) and (j.id =#{jurisdiction} or
                 j.parent_id = #{jurisdiction})
             </if>
             ) A LEFT JOIN (SELECT
@@ -70,4 +72,15 @@
             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
+        FROM sys_taskqd qd
+                 LEFT JOIN sys_jurisdiction j ON j.id = qd.jurisdiction
+        WHERE !find_in_set(#{serid}
+            , serid)
+          AND jnum!=num
+          and (j.id =#{jurisdiction}
+           or
+            j.parent_id = #{jurisdiction})
+    </select>
 </mapper>
diff --git a/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java b/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java
index 183b377..e6458aa 100644
--- a/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java
+++ b/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java
@@ -38,4 +38,5 @@
 	List<Taskqd> selectList(Integer id);
 	List<Map<String, Object>> queryReceiver(String serid);
 	List<TaskqdVO> selectLi(String type, String serid,String jurisdiction);
+	Integer selectNum(String serid,String jurisdiction);
 }
diff --git a/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java b/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java
index b467c08..2184927 100644
--- a/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java
+++ b/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java
@@ -55,4 +55,9 @@
 	public List<TaskqdVO> selectLi(String type, String serid,String jurisdiction) {
 		return baseMapper.selectLi(type, serid,jurisdiction);
 	}
+
+	@Override
+	public Integer selectNum(String serid, String jurisdiction) {
+		return baseMapper.selectNum(serid, jurisdiction);
+	}
 }

--
Gitblit v1.9.3