Pārlūkot izejas kodu

feat: 一键审核

shc 9 mēneši atpakaļ
vecāks
revīzija
3d9169fd85

+ 15 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/dto/SysImplementPlanDTO.java

@@ -11,9 +11,11 @@ import lombok.NoArgsConstructor;
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * 执行计划dto
@@ -191,4 +193,17 @@ public final class SysImplementPlanDTO {
         // @NotBlank(message = "审核意见必填")
         private String msg;
     }
+
+    @Data
+    public static class OnBatchCheck {
+
+        @NotEmpty(message = "批量审核计划ID缺失")
+        private List<Integer> planIds;
+
+        @NotNull(message = "审核结果必填")
+        private Boolean result;
+
+        // @NotBlank(message = "审核意见必填")
+        private String msg;
+    }
 }

+ 8 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysImplementPlanController.java

@@ -140,6 +140,14 @@ public class SysImplementPlanController {
     }
 
 
+    @SysLog(value = "审核计划(一键审核)")
+    @PostMapping(value = "/plan/check/batch")
+    public R<Boolean> batchCheckPlans(@Validated @RequestBody SysImplementPlanDTO.OnBatchCheck resource) {
+
+        return R.ok(implementPlanManager.batchCheckPlans(resource, SecurityUtils.getUser()));
+    }
+
+
     @SysLog(value = "创建计划详情")
     @PostMapping(value = "/plan/details/create")
     public R<Boolean> createDetails(@Validated @RequestBody SysImplementPlanDetailsDTO.OnCreate resource) {

+ 26 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/SysImplementPlanManager.java

@@ -1010,11 +1010,11 @@ public class SysImplementPlanManager {
             detailsState = UpmsState.ImplPlanDetailsState.INIT;
         }
         // 商务管理员
-        else if (roles.contains(40)){
+        else if (roles.contains(40)) {
             detailsState = UpmsState.ImplPlanDetailsState.CKT1;
         }
         // 事业部分管领导
-        else if(roles.contains(41)) {
+        else if (roles.contains(41)) {
             detailsState = UpmsState.ImplPlanDetailsState.CKT2;
         } else {
             throw new BizException("当前角色没有导出权限");
@@ -1266,4 +1266,28 @@ public class SysImplementPlanManager {
 
         return errorList;
     }
+
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean batchCheckPlans(SysImplementPlanDTO.OnBatchCheck resource, HnqzUser user) {
+
+        Boolean result = resource.getResult();
+
+        if (!result && StrUtil.isBlank(resource.getMsg())) {
+            throw new BizException("审核拒绝时,审核意见必填");
+        }
+
+        Boolean res = resource.getResult();
+        String msg = resource.getMsg();
+        resource.getPlanIds().forEach(id -> {
+
+            SysImplementPlanDTO.OnCheck check = new SysImplementPlanDTO.OnCheck();
+            check.setPlanId(id);
+            check.setResult(res);
+            check.setMsg(msg);
+            this.checkPlan(check, user);
+        });
+
+
+        return true;
+    }
 }