ソースを参照

feat:task sup prof

shc 5 ヶ月 前
コミット
7e1bd9b784

+ 1 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/WmSupervisionManager.java

@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.itextpdf.text.PageSize;
 import com.qunzhixinxi.hnqz.admin.api.constant.UpmsState;
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType.AreaType;
 import com.qunzhixinxi.hnqz.admin.api.dto.WmSupervisionDto;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysRole;

+ 2 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/WmTaskMapper.java

@@ -214,10 +214,10 @@ public interface WmTaskMapper extends DataScopeMapper<WmTask> {
      * @param pkgIds 积分包ID
      * @return 任务列表
      */
-    List<WmTask> listAvailableTaskForSupervision1(@Param(value = "pkgIds") Collection<Integer> pkgIds, @Param(value = "ignoreIds") Collection<Integer> ignoreIds);
+    List<WmTask> listAvailableTaskForSupervision1(@Param(value = "pkgIds") Collection<String> pkgIds, @Param(value = "ignoreIds") Collection<Integer> ignoreIds);
 
     Page<WmTask> listAvailableTaskForSupervision2(Page<WmTask> page,
-                                                  @Param(value = "pkgIds") Collection<Integer> pkgIds,
+                                                  @Param(value = "pkgIds") Collection<String> pkgIds,
                                                   @Param(value = "userIds") Collection<Integer> userIds,
                                                   @Param(value = "taskTypeId") String taskTypeId,
                                                   @Param(value = "taskId") String taskId,

+ 9 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskServiceImpl.java

@@ -2932,17 +2932,23 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
      */
     @Override
     public List<WmTask> listAvailableTaskForSupervision1(Collection<Integer> pkgIds, Collection<Integer> ignoreIds) {
-        return this.baseMapper.listAvailableTaskForSupervision1(pkgIds, ignoreIds);
+        return this.baseMapper.listAvailableTaskForSupervision1(pkgIds.stream().map(
+            Object::toString).collect(
+            Collectors.toList()), ignoreIds);
     }
 
     @Override
     public Page<WmTask> listAvailableTaskForSupervision2(Page<WmTask> page, Collection<Integer> pkgIds, Collection<Integer> ignoreIds) {
-        return this.baseMapper.listAvailableTaskForSupervision2(page, pkgIds, Collections.emptyList(), null, null, null, ignoreIds);
+        return this.baseMapper.listAvailableTaskForSupervision2(page, pkgIds.stream().map(
+            Object::toString).collect(
+            Collectors.toList()), Collections.emptyList(), null, null, null, ignoreIds);
     }
 
     @Override
     public Page<WmTask> listAvailableTaskForSupervision3(Page<WmTask> page, Collection<Integer> userIds1, String taskTypeId, String taskId, String taskNumber, Collection<Integer> pkgIds, Collection<Integer> ignoreIds) {
-        return baseMapper.listAvailableTaskForSupervision2(page, pkgIds, userIds1, taskTypeId, taskId, taskNumber, ignoreIds);
+        return baseMapper.listAvailableTaskForSupervision2(page, pkgIds.stream().map(
+            Object::toString).collect(
+            Collectors.toList()), userIds1, taskTypeId, taskId, taskNumber, ignoreIds);
     }
 
     @Override

+ 43 - 27
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmTaskMapper.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
 <mapper namespace="com.qunzhixinxi.hnqz.admin.mapper.WmTaskMapper">
 
@@ -114,7 +115,8 @@
     <result property="reportDrugApprovalInfo" column="report_drug_approval_info"/>
     <result property="taskStatusInfo" column="task_status_info"/>
     <result property="taskFrom" column="task_from"/>
-    <association property="wmTaskContent" javaType="com.qunzhixinxi.hnqz.admin.api.entity.WmTaskContent">
+    <association property="wmTaskContent"
+      javaType="com.qunzhixinxi.hnqz.admin.api.entity.WmTaskContent">
       <result property="temp1" column="temp1"/>
       <result property="temp2" column="temp2"/>
       <result property="temp3" column="temp3"/>
@@ -1112,10 +1114,14 @@
           FROM wm_score_package_status a
                  LEFT JOIN (SELECT s.id,
                                    p.package_type1,
-                                   COUNT(t.id)                                                       AS num,
-                                   SUM(t.score)                                                      AS scoresum,
-                                   CASE WHEN s.user_score IS NULL THEN p.score ELSE s.user_score END AS user_score,
-                                   CASE WHEN s.task_num IS NULL THEN p.task_num ELSE s.task_num END  AS task_num
+                                   COUNT(t.id)             AS num,
+                                   SUM(t.score)            AS scoresum,
+                                   CASE
+                                     WHEN s.user_score IS NULL THEN p.score
+                                     ELSE s.user_score END AS user_score,
+                                   CASE
+                                     WHEN s.task_num IS NULL THEN p.task_num
+                                     ELSE s.task_num END   AS task_num
                             FROM wm_score_package_status s
                                    LEFT JOIN wm_score_package p ON s.package_id = p.id
                                    LEFT JOIN wm_task t ON t.score_package_id = p.id
@@ -1157,12 +1163,16 @@
           UNION ALL
           SELECT id
           FROM wm_score_package
-          WHERE relation_score_id IN (SELECT id FROM wm_score_package WHERE relation_score_id = #{query.id})
+          WHERE relation_score_id IN
+                (SELECT id FROM wm_score_package WHERE relation_score_id = #{query.id})
           UNION ALL
           SELECT id
           FROM wm_score_package
           WHERE relation_score_id IN
-                (SELECT id FROM wm_score_package WHERE relation_score_id IN (SELECT id FROM wm_score_package WHERE relation_score_id = #{query.id})))
+                (SELECT id
+                 FROM wm_score_package
+                 WHERE relation_score_id IN
+                       (SELECT id FROM wm_score_package WHERE relation_score_id = #{query.id})))
       AND task_status = 3
       AND (
       (report_drug_approval_status IN (5, 6) AND report_drug_approval_opinion = 1)
@@ -1267,7 +1277,8 @@
     max(task_status) AS task_status, task_content_id, task_type_id
     FROM wm_task
     <where>
-      del_flag = '0' AND enable_flag = '0' AND (task_type_id IN ('15', '16', '18', '30') AND task_from != '2')
+      del_flag = '0' AND enable_flag = '0' AND (task_type_id IN ('15', '16', '18', '30') AND
+      task_from != '2')
       <if test="query.taskTypeId != null and query.taskTypeId != ''">
         AND task_type_id = #{query.taskTypeId, jdbcType=VARCHAR}
       </if>
@@ -1318,7 +1329,8 @@
     from wm_task t
     left join wm_score_package p on p.id = t.score_package_id
     where t.task_type_id in
-    <foreach collection="query.taskTypeIdList" item="item" index="index" separator="," open="(" close=")">
+    <foreach collection="query.taskTypeIdList" item="item" index="index" separator="," open="("
+      close=")">
       #{item}
     </foreach>
     and (
@@ -1336,7 +1348,8 @@
       <if test="query.deptLevel != 2">
         t.report_one_approval_opinion in
       </if>
-      <foreach collection="query.entTaskStatus" item="item" index="index" separator="," open="(" close=")">
+      <foreach collection="query.entTaskStatus" item="item" index="index" separator="," open="("
+        close=")">
         #{item}
       </foreach>
       )
@@ -1396,28 +1409,31 @@
   <select id="listAvailableTaskForSupervision1" resultMap="wmTaskMap">
     SELECT *
     FROM wm_task t
-    LEFT JOIN sys_chain_node_check_his c ON c.target_id = t.id
-    WHERE c.node_id = 6
-    AND c.check_result = 1
-    <if test="pkgIds != null and pkgIds.size > 0">
-      AND t.score_package_id IN
-      <foreach collection="pkgIds" item="id" open="(" separator="," close=")">
-        #{id}
-      </foreach>
-    </if>
-    <if test="ignoreIds != null and ignoreIds.size > 0">
-      AND t.id NOT IN
-      <foreach collection="ignoreIds" item="id" open="(" separator="," close=")">
-        #{id}
-      </foreach>
-    </if>
+    RIGHT JOIN (SELECT DISTINCT h.target_id FROM sys_chain_node_check_his h WHERE h.node_id = 6 AND h.check_result = 1) c ON c.target_id = t.id
+    <where>
+      t.task_status = '3'
+      <if test="pkgIds != null and pkgIds.size > 0">
+        AND t.score_package_id IN
+        <foreach collection="pkgIds" item="id" open="(" separator="," close=")">
+          #{id}
+        </foreach>
+      </if>
+      <if test="ignoreIds != null and ignoreIds.size > 0">
+        AND t.id NOT IN
+        <foreach collection="ignoreIds" item="id" open="(" separator="," close=")">
+          #{id}
+        </foreach>
+      </if>
+    </where>
+
   </select>
 
   <select id="listAvailableTaskForSupervision2" resultMap="wmTaskMap">
     SELECT *
     FROM wm_task t
-    LEFT JOIN (SELECT * FROM sys_chain_node_check_his h WHERE h.node_id = 6 AND h.check_result = 1 GROUP BY h.target_id) c ON c.target_id = t.id
+    RIGHT JOIN (SELECT DISTINCT h.target_id FROM sys_chain_node_check_his h WHERE h.node_id = 6 AND h.check_result = 1) c ON c.target_id = t.id
     <where>
+      t.task_status = '3'
       <if test="pkgIds != null and pkgIds.size > 0">
         AND t.score_package_id IN
         <foreach collection="pkgIds" item="id" open="(" separator="," close=")">