Kaynağa Gözat

feat:supervision v3.9 区分不同角色进度

shc 7 ay önce
ebeveyn
işleme
58596e2203

+ 14 - 8
doc/db/27wm_task_sup.sql

@@ -9,15 +9,21 @@ SET FOREIGN_KEY_CHECKS = 0;
 DROP TABLE IF EXISTS `wm_task_sup`;
 CREATE TABLE `wm_task_sup`
 (
-    `sup_id`      BIGINT UNSIGNED AUTO_INCREMENT     NOT NULL COMMENT '监督记录ID',
-    `task_id`     BIGINT UNSIGNED                    NOT NULL COMMENT '任务ID',
-    `pkg_id`      BIGINT UNSIGNED                    NOT NULL COMMENT '执行包ID',
-    `sup_res`     TINYINT(1)                         NOT NULL COMMENT '监督意见',
-    `remarks`     VARCHAR(512)                       NOT NULL COMMENT '备注',
-    `create_by`   VARCHAR(32)                        NOT NULL COMMENT '创建人',
-    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
+    `sup_id`      BIGINT UNSIGNED AUTO_INCREMENT                                 NOT NULL COMMENT '监督记录ID',
+    `task_id`     BIGINT UNSIGNED                                                NOT NULL COMMENT '任务ID',
+    `pkg_id`      BIGINT UNSIGNED                                                NOT NULL COMMENT '执行包ID',
+    `sup_res`     TINYINT(1)                                                     NOT NULL COMMENT '监督意见',
+    `sup_state`   VARCHAR(32)                                                    NOT NULL COMMENT '监察状态',
+    `modifiable`  TINYINT(1)                                                     NOT NULL COMMENT '是否可以编辑',
+    `role_id`     INT                                                            NOT NULL COMMENT '角色ID',
+    `remarks`     VARCHAR(512)                                                   NOT NULL COMMENT '备注',
+    `create_by`   VARCHAR(32)                                                    NOT NULL COMMENT '创建人',
+    `update_by`   VARCHAR(32)                                                    NOT NULL COMMENT '更新人',
+    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP                             NOT NULL COMMENT '创建时间',
+    `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL COMMENT '更新时间',
     PRIMARY KEY `pk_id` (`sup_id`) USING BTREE,
-    KEY `idx_pid` (`task_id`) USING BTREE
+    KEY `idx_pid` (`task_id`) USING BTREE,
+    KEY `idx_rid` (`role_id`) USING BTREE
 ) ENGINE = InnoDB
   DEFAULT CHARSET = utf8mb4
   COLLATE = utf8mb4_general_ci

+ 4 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/WmTaskSupervision.java

@@ -53,6 +53,10 @@ public final class WmTaskSupervision implements Serializable {
      */
     private Boolean modifiable;
 
+    /**
+     * 角色ID
+     */
+    private Integer roleId;
 
     /**
      * 备注

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

@@ -1006,6 +1006,15 @@ public class WmSupervisionManager {
             int total1 = 0;
             int supTotal1 = 0;
 
+            // 生产企业财务部监督员
+            int mahFinaSupTotal = 0;
+            // 生产企业销售部监督员
+            int mahSalesSupTotal = 0;
+            // 营销中心法务合规部监督员
+            int optLawSupTotal = 0;
+            // 营销中心财务部监督员
+            int optFinaSupTotal = 0;
+
             // 获取c端包统计信息
             if (CollUtil.isNotEmpty(pkgs)) {
 
@@ -1019,6 +1028,18 @@ public class WmSupervisionManager {
                         .in(WmTaskSupervision::getPackageId, pkgIds.stream().mapToInt(Integer::valueOf).boxed().sorted().distinct()
                                 .collect(Collectors.toList())));
 
+
+                Map<Integer, List<WmTaskSupervision>> roleId2SupMap = supervisions.stream().collect(Collectors.groupingBy(WmTaskSupervision::getRoleId));
+                // 生产企业财务部监督员
+                mahFinaSupTotal = CollUtil.isNotEmpty(roleId2SupMap.get(49)) ? roleId2SupMap.get(49).size() : 0;
+                // 生产企业销售部监督员
+                mahSalesSupTotal = CollUtil.isNotEmpty(roleId2SupMap.get(52)) ? roleId2SupMap.get(52).size() : 0;
+                // 营销中心法务合规部监督员
+                optLawSupTotal = CollUtil.isNotEmpty(roleId2SupMap.get(53)) ? roleId2SupMap.get(53).size() : 0;
+                // 营销中心财务部监督员
+                optFinaSupTotal = CollUtil.isNotEmpty(roleId2SupMap.get(56)) ? roleId2SupMap.get(56).size() : 0;
+
+
                 total = CollUtil.isNotEmpty(tasks) ? tasks.size() : 0;
                 supTotal = CollUtil.isNotEmpty(supervisions) ? supervisions.stream().map(WmTaskSupervision::getTaskId).collect(Collectors.toSet()).size() : 0;
 
@@ -1086,9 +1107,15 @@ public class WmSupervisionManager {
                 }
 
             }
-            Map<String, Integer> stat = new HashMap<>(2);
+
+
+            Map<String, Integer> stat = new HashMap<>(4);
             stat.put("supTotal", supTotal);
             stat.put("total", total);
+            stat.put("mahFinaSupTotal", mahFinaSupTotal);
+            stat.put("mahSalesSupTotal", mahSalesSupTotal);
+            stat.put("optLawSupTotal", optLawSupTotal);
+            stat.put("optFinaSupTotal", optFinaSupTotal);
             map.put("taskSupStat", stat);
             map.put("toCheck", supTotal1 != total1);
             map.put("checked", supTotal1 != 0);

+ 1 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskSupervisionServiceImpl.java

@@ -50,6 +50,7 @@ public class WmTaskSupervisionServiceImpl extends ServiceImpl<WmTaskSupervisionM
         taskSupervision.setCreateTime(LocalDateTime.now());
         taskSupervision.setUpdateBy(user.getUsername());
         taskSupervision.setUpdateTime(LocalDateTime.now());
+        taskSupervision.setRoleId(SecurityUtils.getRoles().get(0));
         taskSupervision.setSupervisionState(UpmsState.TaskSupervisionState.INIT);
 
         return this.save(taskSupervision);