Browse Source

修改审核接口

DESKTOP-USV654P\pc 1 year ago
parent
commit
8b22386534

+ 2 - 20
src/main/java/com/xjrsoft/module/material/controller/MaterialTaskController.java

@@ -241,26 +241,8 @@ public class MaterialTaskController {
 
     @PostMapping("/approved")
     @ApiOperation(value = "提交材料审核")
-    public R approved(@Valid @RequestBody List<Long> ids) {
-        for (Long id : ids) {
-            MaterialTaskAssign materialTaskAssign = new MaterialTaskAssign();
-            materialTaskAssign.setId(id);
-            materialTaskAssign.setStatus(3);
-            materialTaskAssignService.updateById(materialTaskAssign);
-        }
-        return R.ok(true);
-    }
-
-    @PostMapping("/reject")
-    @ApiOperation(value = "提交材料重新 enabledMark 不用传")
-    public R reject(@Valid @RequestBody  List<Long> ids) {
-        for (Long id : ids) {
-            MaterialTaskAssign materialTaskAssign = new MaterialTaskAssign();
-            materialTaskAssign.setId(id);
-            materialTaskAssign.setStatus(4);
-            materialTaskAssignService.updateById(materialTaskAssign);
-        }
-        return R.ok(true);
+    public R approved(@Valid @RequestBody List<MaterialTaskAssignApprovedDto> dtos) {
+        return R.ok(materialTaskAssignService.approved(dtos));
     }
 
     @PutMapping("/end")

+ 31 - 0
src/main/java/com/xjrsoft/module/material/dto/MaterialTaskAssignApprovedDto.java

@@ -0,0 +1,31 @@
+package com.xjrsoft.module.material.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class MaterialTaskAssignApprovedDto {
+
+    /**
+     * 状态 1=通过 2=重做
+     */
+    @ApiModelProperty("状态 1=通过 2=重做")
+    private Integer status;
+
+    /**
+     * 执行提交 1=按时提交 2=延迟提交
+     */
+    @ApiModelProperty("执行提交 1=按时提交 2=延迟提交")
+    private Integer executiveStatus;
+    /**
+     * 意见
+     */
+    @ApiModelProperty("意见")
+    private String opinion;
+
+    /**
+     * 主键编号
+     */
+    @ApiModelProperty("主键编号")
+    private Long id;
+}

+ 5 - 0
src/main/java/com/xjrsoft/module/material/entity/MaterialTaskAssign.java

@@ -128,5 +128,10 @@ public class MaterialTaskAssign implements Serializable {
     @ApiModelProperty("发送消息状态 0=未不发 1=已发送")
     private Integer sendMessageStatus;
 
+    /**
+     * 审核意见
+     */
+    @ApiModelProperty("审核意见")
+    private String opinion;
 
 }

+ 2 - 0
src/main/java/com/xjrsoft/module/material/service/IMaterialTaskAssignService.java

@@ -2,6 +2,7 @@ package com.xjrsoft.module.material.service;
 
 import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.material.dto.AddMaterialTaskAssignDto;
+import com.xjrsoft.module.material.dto.MaterialTaskAssignApprovedDto;
 import com.xjrsoft.module.material.entity.MaterialTaskAssign;
 
 import java.util.List;
@@ -9,4 +10,5 @@ import java.util.List;
 public interface IMaterialTaskAssignService extends MPJBaseService<MaterialTaskAssign> {
     Boolean add(AddMaterialTaskAssignDto addMaterialTaskAssignDto);
     Boolean delete(List<Long> ids);
+    Boolean approved(List<MaterialTaskAssignApprovedDto> dtos);
 }

+ 39 - 1
src/main/java/com/xjrsoft/module/material/service/impl/MaterialTaskAssignServiceImpl.java

@@ -5,6 +5,7 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.xjrsoft.module.material.dto.AddMaterialTaskAssignDto;
 import com.xjrsoft.module.material.dto.AddMaterialTypeAssignDto;
 import com.xjrsoft.module.material.dto.MaterialAssignUserDto;
+import com.xjrsoft.module.material.dto.MaterialTaskAssignApprovedDto;
 import com.xjrsoft.module.material.entity.MaterialTask;
 import com.xjrsoft.module.material.entity.MaterialTaskAssign;
 import com.xjrsoft.module.material.entity.MaterialTypeAssign;
@@ -23,6 +24,7 @@ import java.util.Optional;
 public class MaterialTaskAssignServiceImpl   extends MPJBaseServiceImpl<MaterialTaskAssignMapper, MaterialTaskAssign> implements IMaterialTaskAssignService {
     private final MaterialTaskAssignMapper materialTaskAssignMapper;
     private final MaterialTaskMapper materialTaskMapper;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean add(AddMaterialTaskAssignDto addMaterialTaskAssignDto) {
@@ -33,7 +35,7 @@ public class MaterialTaskAssignServiceImpl   extends MPJBaseServiceImpl<Material
             List<MaterialTaskAssign> materialTypeAssignList = materialTaskAssignMapper.selectList(Wrappers.<MaterialTaskAssign>query().lambda()
                     .eq(MaterialTaskAssign::getMaterialTaskId, addMaterialTaskAssignDto.getMaterialTaskId()));
             for (MaterialAssignUserDto addMaterialTypeAssignUserDto : addMaterialTaskAssignDto.getUserList()) {
-                Optional<MaterialTaskAssign> materialTaskAssignAny = materialTypeAssignList.stream().filter(item -> item.getUserId().equals(addMaterialTypeAssignUserDto.getUserId()) ).findAny();
+                Optional<MaterialTaskAssign> materialTaskAssignAny = materialTypeAssignList.stream().filter(item -> item.getUserId().equals(addMaterialTypeAssignUserDto.getUserId())).findAny();
                 if (!materialTaskAssignAny.isPresent()) {
                     MaterialTaskAssign materialTaskAssign = new MaterialTaskAssign();
                     materialTaskAssign.setMaterialTaskId(addMaterialTaskAssignDto.getMaterialTaskId());
@@ -72,4 +74,40 @@ public class MaterialTaskAssignServiceImpl   extends MPJBaseServiceImpl<Material
         materialTaskMapper.updateById(materialTask);
         return true;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean approved(List<MaterialTaskAssignApprovedDto> dtos) {
+        MaterialTask materialTask = null;
+        for (MaterialTaskAssignApprovedDto dto : dtos) {
+            MaterialTaskAssign materialTaskAssign = materialTaskAssignMapper.selectByIdDeep(dto.getId());
+            if (materialTaskAssign != null && materialTaskAssign.getStatus() == 2) {
+                if (materialTask == null) {
+                    materialTask = materialTaskMapper.selectById(materialTaskAssign.getMaterialTaskId());
+                }
+                if (materialTask != null) {
+                    materialTaskAssign.setOpinion(dto.getOpinion());
+                    if (dto.getStatus() == 1) {
+                        materialTaskAssign.setStatus(3);
+                        materialTaskAssign.setStatus(dto.getStatus() == 1 ? 3 : 4);
+                        if (dto.getExecutiveStatus() == 1) {
+                            materialTask.setOnTimePerson(materialTask.getOnTimePerson() + 1);
+                            materialTaskAssign.setExecutiveStatus(2);
+                        } else {
+                            materialTask.setTimeDelay(materialTask.getTimeDelay() + 1);
+                            materialTaskAssign.setExecutiveStatus(3);
+                        }
+                    } else {
+                        materialTaskAssign.setStatus(4);
+                    }
+
+                    materialTaskAssignMapper.updateById(materialTaskAssign);
+                }
+            }
+        }
+        if (materialTask != null) {
+            materialTaskMapper.updateById(materialTask);
+        }
+        return true;
+    }
 }

+ 7 - 7
src/main/java/com/xjrsoft/module/material/service/impl/MaterialTaskServiceImpl.java

@@ -143,13 +143,13 @@ public class MaterialTaskServiceImpl extends MPJBaseServiceImpl<MaterialTaskMapp
             if (oldStatus == 1) {
                 materialTaskAssign.setStatus(2);
                 MaterialTask materialTask = materialTaskMaterialTaskMapper.selectByIdDeep(materialTaskAssign.getMaterialTaskId());
-                if (LocalDate.now().compareTo(materialTask.getRequiredCompleteTime()) > 0) {
-                    materialTaskAssign.setExecutiveStatus(2);
-                    materialTask.setOnTimePerson(materialTask.getOnTimePerson() + 1);
-                } else {
-                    materialTaskAssign.setExecutiveStatus(3);
-                    materialTask.setTimeDelay(materialTask.getTimeDelay() + 1);
-                }
+//                if (LocalDate.now().compareTo(materialTask.getRequiredCompleteTime()) > 0) {
+//                    materialTaskAssign.setExecutiveStatus(2);
+//                    materialTask.setOnTimePerson(materialTask.getOnTimePerson() + 1);
+//                } else {
+//                    materialTaskAssign.setExecutiveStatus(3);
+//                    materialTask.setTimeDelay(materialTask.getTimeDelay() + 1);
+//                }
 
                 materialTaskMaterialTaskAssignMapper.updateById(materialTaskAssign);
                 materialTask.setSubmitedPerson(materialTask.getSubmitedPerson() + 1);

+ 4 - 0
src/main/resources/sqlScript/init_sql.sql

@@ -1028,6 +1028,10 @@ create table material_task_assign
     primary key (`id`)
 ) engine=innodb default charset=utf8mb4 COLLATE = utf8mb4_0900_ai_ci comment '材料提交任务分配';
 
+
+ALTER TABLE material_task_assign ADD COLUMN `opinion` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审核意见';
+
+
 -- ----------------------------
 -- 材料提交任务附件
 -- ----------------------------