ソースを参照

feat:supervision v3.8

shc 7 ヶ月 前
コミット
ad9611518c

+ 5 - 2
doc/db/36wm_task_sup_adv.sql

@@ -9,14 +9,17 @@ SET FOREIGN_KEY_CHECKS = 0;
 DROP TABLE IF EXISTS `wm_task_sup_adv`;
 CREATE TABLE `wm_task_sup_adv`
 (
-    `advice_id`                BIGINT UNSIGNED AUTO_INCREMENT     NOT NULL COMMENT '监督建议ID',
+    `adv_id`                BIGINT UNSIGNED AUTO_INCREMENT     NOT NULL COMMENT '监督建议ID',
     `task_supervision_id`      BIGINT UNSIGNED                    NOT NULL COMMENT '任务监察ID',
     `task_supervision_content` VARCHAR(512)                       NULL COMMENT '监察内容',
     `advice_result`            TINYINT(1)                         NOT NULL COMMENT '意见结果',
+    `del_flag`                 TINYINT(1)                         NOT NULL COMMENT '删除结果',
     `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 '创建时间',
-    PRIMARY KEY `pk_id` (`advice_id`) USING BTREE,
+    `update_time`              DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
+    PRIMARY KEY `pk_id` (`adv_id`) USING BTREE,
     KEY `idx_tpid` (`task_supervision_id`) USING BTREE
 ) ENGINE = InnoDB
   DEFAULT CHARSET = utf8mb4

+ 6 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/WmTaskSupervisionAdvice.java

@@ -28,8 +28,14 @@ public class WmTaskSupervisionAdvice {
 
     private String remarks;
 
+    private Boolean delFlag;
+
     private String createBy;
 
+    private String updateBy;
+
+    private LocalDateTime updateTime;
+
     private LocalDateTime createTime;
 
 }

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

@@ -1013,8 +1013,11 @@ public class WmSupervisionManager {
                 // 获取子集包中的所有任务
                 List<WmTask> tasks = taskService.listAvailableTaskForSupervision1(pkgIds.stream().mapToInt(Integer::valueOf).boxed().distinct().sorted().collect(Collectors.toList()), Collections.emptyList());
                 // List<WmTask> tasks = taskService.list(Wrappers.<WmTask>lambdaQuery().in(WmTask::getScorePackageId, pkgIds).eq(WmTask::getTaskStatus, "3"));
-                // 获取监察记录
-                List<WmTaskSupervision> supervisions = taskSupervisionService.list(Wrappers.<WmTaskSupervision>lambdaQuery().in(WmTaskSupervision::getPackageId, pkgIds.stream().mapToInt(Integer::valueOf).boxed().sorted().distinct().collect(Collectors.toList())));
+                // 获取监察记录(不可编辑的是监察过的)
+                List<WmTaskSupervision> supervisions = taskSupervisionService.list(Wrappers.<WmTaskSupervision>lambdaQuery()
+                        .eq(WmTaskSupervision::getModifiable, false)
+                        .in(WmTaskSupervision::getPackageId, pkgIds.stream().mapToInt(Integer::valueOf).boxed().sorted().distinct()
+                                .collect(Collectors.toList())));
 
                 total = CollUtil.isNotEmpty(tasks) ? tasks.size() : 0;
                 supTotal = CollUtil.isNotEmpty(supervisions) ? supervisions.stream().map(WmTaskSupervision::getTaskId).collect(Collectors.toSet()).size() : 0;
@@ -1048,6 +1051,7 @@ public class WmSupervisionManager {
 
                         // 我监察过的(有重复的的)
                         Set<Long> advices = taskSupervisionAdviceService.list(Wrappers.<WmTaskSupervisionAdvice>lambdaQuery()
+                                .eq(WmTaskSupervisionAdvice::getDelFlag, false)
                                 .in(WmTaskSupervisionAdvice::getTaskSupervisionId, supId)
                                 .eq(WmTaskSupervisionAdvice::getCreateBy, operator.getUsername())).stream().map(WmTaskSupervisionAdvice::getTaskSupervisionId).collect(Collectors.toSet());
 
@@ -1115,7 +1119,12 @@ public class WmSupervisionManager {
         List<Integer> pkgIds = packages.stream().map(WmScorePackage::getId).mapToInt(Integer::valueOf).boxed().distinct().sorted().collect(Collectors.toList());
 
         // 积分包内已经监督的任务
-        List<WmTaskSupervision> list = taskSupervisionService.list(Wrappers.<WmTaskSupervision>lambdaQuery().in(WmTaskSupervision::getPackageId, pkgIds).orderByDesc(WmTaskSupervision::getCreateTime));
+
+        List<WmTaskSupervision> list1 = taskSupervisionService.list(Wrappers.<WmTaskSupervision>lambdaQuery()
+                // .eq(WmTaskSupervision::getModifiable, false)
+                .in(WmTaskSupervision::getPackageId, pkgIds).orderByDesc(WmTaskSupervision::getCreateTime));
+
+        List<WmTaskSupervision> list = list1.stream().filter(ts -> !ts.getModifiable()).collect(Collectors.toList());
 
 
         // 监督员
@@ -1161,8 +1170,10 @@ public class WmSupervisionManager {
 
             if (review) {
                 // 获取当前积分包已经监督过的任务ID
-
-                Set<Long> tsId = taskSupervisionAdviceService.list(Wrappers.<WmTaskSupervisionAdvice>lambdaQuery().eq(WmTaskSupervisionAdvice::getCreateBy, user.getUsername())).stream().mapToLong(WmTaskSupervisionAdvice::getTaskSupervisionId).boxed().collect(Collectors.toSet());
+                Set<Long> tsId = taskSupervisionAdviceService.list(Wrappers.<WmTaskSupervisionAdvice>lambdaQuery()
+                                .eq(WmTaskSupervisionAdvice::getDelFlag, false)
+                                .eq(WmTaskSupervisionAdvice::getCreateBy, user.getUsername()))
+                        .stream().mapToLong(WmTaskSupervisionAdvice::getTaskSupervisionId).boxed().collect(Collectors.toSet());
 
                 if (CollUtil.isEmpty(tsId)) {
                     return page;
@@ -1232,7 +1243,7 @@ public class WmSupervisionManager {
         }
 
         // 封装监察信息
-        Map<Integer, WmTaskSupervision> taskId2TaskSupervisionMap = list.stream().collect(Collectors.toMap(WmTaskSupervision::getTaskId, Function.identity()));
+        Map<Integer, WmTaskSupervision> taskId2TaskSupervisionMap = list1.stream().collect(Collectors.toMap(WmTaskSupervision::getTaskId, Function.identity()));
 
 
         List<SysUser> users = userService.list(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getDelFlag, CommonConstants.STATUS_NORMAL).eq(SysUser::getLockFlag, CommonConstants.STATUS_NORMAL));
@@ -1302,14 +1313,23 @@ public class WmSupervisionManager {
         if (supervision != null) {
 
             boolean modifiable = false;
+            String remarks = resource.getRemarks();
 
             // 如果监督记录创建人不是当前人,就记录监督意见
             if (!StrUtil.equals(operator.getUsername(), supervision.getCreateBy())) {
-                taskSupervisionAdviceService.createAdvice(supervision.getSupervisionId(), resource, supervision.getRemarks(), operator);
                 modifiable = !resource.getSupervision();
+                remarks = supervision.getRemarks();
+
+                taskSupervisionAdviceService.createAdvice(supervision.getSupervisionId(), resource, supervision.getRemarks(), operator);
+
+
+            } else {
+                // 监察员重新提交,删除历史的审核意见
+                taskSupervisionAdviceService.delAdvice(supervision.getSupervisionId(), operator);
             }
 
-            taskSupervisionService.updateSupervision(supervision.getSupervisionId(), modifiable, operator);
+
+            taskSupervisionService.updateSupervision(supervision.getSupervisionId(), remarks, modifiable, operator);
 
 
         }

+ 8 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmTaskSupervisionAdviceService.java

@@ -22,4 +22,12 @@ public interface WmTaskSupervisionAdviceService extends IService<WmTaskSupervisi
      * @param operator           操作人
      */
     void createAdvice(Long supervisionId, WmSupervisionDto.OnTaskSupervision resource, String supervisionContent, HnqzUser operator);
+
+    /**
+     * 删除历史
+     *
+     * @param supervisionId 监察ID
+     * @param operator      操作人
+     */
+    void delAdvice(Long supervisionId, HnqzUser operator);
 }

+ 2 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmTaskSupervisionService.java

@@ -34,9 +34,10 @@ public interface WmTaskSupervisionService extends IService<WmTaskSupervision> {
      * 更新监察信息
      *
      * @param supervisionId 监察ID
+     * @param remarks       备注
      * @param modifiable    是否可编辑
      * @param operator      操作人
      */
-    void updateSupervision(Long supervisionId, Boolean modifiable, HnqzUser operator);
+    void updateSupervision(Long supervisionId, String remarks, Boolean modifiable, HnqzUser operator);
 }
 

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

@@ -1,5 +1,6 @@
 package com.qunzhixinxi.hnqz.admin.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qunzhixinxi.hnqz.admin.api.dto.WmSupervisionDto;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSupervisionAdvice;
@@ -42,9 +43,28 @@ public class WmTaskSupervisionAdviceServiceImpl extends ServiceImpl<WmTaskSuperv
         advice.setCreateBy(operator.getUsername());
         advice.setTaskSupervisionContent(supervisionContent);
         advice.setCreateTime(LocalDateTime.now());
+        advice.setUpdateBy(operator.getUsername());
+        advice.setUpdateTime(LocalDateTime.now());
+        advice.setDelFlag(false);
 
         this.save(advice);
 
 
     }
+
+    /**
+     * 删除历史
+     *
+     * @param supervisionId 监察ID
+     * @param operator      操作人
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void delAdvice(Long supervisionId, HnqzUser operator) {
+        this.update(Wrappers.<WmTaskSupervisionAdvice>lambdaUpdate()
+                .set(WmTaskSupervisionAdvice::getUpdateBy, operator.getUsername())
+                .set(WmTaskSupervisionAdvice::getUpdateTime, LocalDateTime.now())
+                .set(WmTaskSupervisionAdvice::getDelFlag, true)
+                .eq(WmTaskSupervisionAdvice::getTaskSupervisionId, supervisionId));
+    }
 }

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

@@ -71,11 +71,12 @@ public class WmTaskSupervisionServiceImpl extends ServiceImpl<WmTaskSupervisionM
      *
      * @param supervisionId 监察ID
      * @param modifiable    是否可以调整
+     * @param remarks       备注
      * @param operator      操作人
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void updateSupervision(Long supervisionId, Boolean modifiable, HnqzUser operator) {
+    public void updateSupervision(Long supervisionId, String remarks, Boolean modifiable, HnqzUser operator) {
 
         UpmsState.TaskSupervisionState state = UpmsState.TaskSupervisionState.INIT;
         if (!modifiable) {
@@ -98,6 +99,7 @@ public class WmTaskSupervisionServiceImpl extends ServiceImpl<WmTaskSupervisionM
 
         WmTaskSupervision taskSupervision = new WmTaskSupervision();
         taskSupervision.setSupervisionId(supervisionId);
+        taskSupervision.setRemarks(remarks);
         taskSupervision.setModifiable(modifiable);
         taskSupervision.setSupervisionState(state);
         taskSupervision.setUpdateBy(operator.getUsername());