Browse Source

Merge remote-tracking branch 'origin/featCnbg-supervFilter-20250325' into cnbg-master

dengjia 2 months ago
parent
commit
ed7def250e

+ 9 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/supervision/WmSupervisionController.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qunzhixinxi.hnqz.admin.api.dto.WmSupervisionDto;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageSupervision;
 import com.qunzhixinxi.hnqz.admin.manager.WmSupervisionManager;
+import com.qunzhixinxi.hnqz.common.core.exception.BizException;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
@@ -84,7 +85,14 @@ public class WmSupervisionController {
   public R<Boolean> createTaskSupervision(
       @Validated @RequestBody WmSupervisionDto.OnTaskSupervision resource) {
 
-    return R.ok(supervisionManager.doTaskSupervision(resource, SecurityUtils.getUser()));
+    try {
+        return R.ok(supervisionManager.doTaskSupervision(resource, SecurityUtils.getUser()));
+    }catch(BizException e) {
+        if (e.getMessage().startsWith("任务已被监督:")) {
+            return R.failed(e.getMessage());
+        }
+        throw e;
+    }
   }
 
   @SysLog(value = "管理员批量进行服务任务监督")

+ 15 - 7
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/WmSupervisionManager.java

@@ -57,6 +57,8 @@ import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+
+import org.springframework.dao.DataIntegrityViolationException;
 import org.springframework.mock.web.MockMultipartFile;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -1980,23 +1982,29 @@ private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage qu
         }
 
         resource.setRemarks(remarks);
+        
         taskSupervisionAdviceService.createAdvice(
             supervision.getSupervisionId(), resource, supervision.getRemarks(), operator);
-
+        
+        taskSupervisionService.updateSupervision(
+            supervision.getSupervisionId(), supervision.getRemarks(), modifiable, operator);
+      
       } else {
         // 监察员重新提交,删除历史的审核意见
         taskSupervisionAdviceService.delAdvice(supervision.getSupervisionId(), operator);
+        taskSupervisionService.updateSupervision(
+            supervision.getSupervisionId(), remarks, modifiable, operator);
       }
-
-      taskSupervisionService.updateSupervision(
-          supervision.getSupervisionId(), supervision.getRemarks(), modifiable, operator);
-
+     
     }
     // 不存在监察记录
     else {
 
-      taskSupervisionService.createTaskSupervision(resource, operator);
-
+      try {
+        taskSupervisionService.createTaskSupervision(resource, operator);
+      } catch(DataIntegrityViolationException e) {
+        throw new BizException("任务已被监督:" + resource.getTaskId().toString());
+      }
       // 更新监督结果
       packageStatusService.updateSupervisionFlag(resource.getPkgId());
     }