Bläddra i källkod

项目产值填报相关代码提交-填报审核相关

chenjun 10 månader sedan
förälder
incheckning
4c73b9a079

+ 21 - 0
zjugis-business/src/main/java/com/zjugis/business/bean/request/ProjectReportAuditBatchPassRequest.java

@@ -0,0 +1,21 @@
+package com.zjugis.business.bean.request;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.util.List;
+
+/**
+ * @Author 陈俊
+ * @Date 2024/8/14 15:36
+ * @Version 1.0
+ */
+@Schema(description = "项目 - 产值填报批量审核通过 Request VO")
+@Data
+public class ProjectReportAuditBatchPassRequest {
+
+    @Schema(description = "批量通过集合")
+    private List<ProjectReportAuditPassRequest> passList;
+
+}

+ 40 - 0
zjugis-business/src/main/java/com/zjugis/business/controller/ProjectReportAuditController.java

@@ -0,0 +1,40 @@
+package com.zjugis.business.controller;
+
+import com.zjugis.business.bean.entity.ProjectReportAudit;
+import com.zjugis.business.bean.response.ProjectReportResp;
+import com.zjugis.business.service.ProjectReportAuditService;
+import com.zjugis.framework.common.pojo.CommonResult;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @Author 陈俊
+ * @Date 2024/8/19 16:45
+ * @Version 1.0
+ */
+@Tag(name = "项目 - 产值填报审核")
+@RestController
+@RequestMapping
+public class ProjectReportAuditController {
+
+    @Resource
+    private ProjectReportAuditService projectReportAuditService;
+
+    /**
+     * 查询填报审核数据
+     *
+     * @return 所有数据
+     */
+    @GetMapping("/projectReportAudit/list")
+    @Operation(summary = "项目产值填报列表")
+    public CommonResult<List<ProjectReportAudit>> list(@RequestParam("reportId") String reportId) {
+        return CommonResult.success(projectReportAuditService.getListByReportId(reportId));
+    }
+}

+ 8 - 0
zjugis-business/src/main/java/com/zjugis/business/controller/ProjectReportController.java

@@ -1,6 +1,7 @@
 package com.zjugis.business.controller;
 
 import com.zjugis.business.bean.entity.ProjectReport;
+import com.zjugis.business.bean.request.ProjectReportAuditBatchPassRequest;
 import com.zjugis.business.bean.request.ProjectReportAuditPassRequest;
 import com.zjugis.business.bean.request.ProjectReportAuditRejectRequest;
 import com.zjugis.business.bean.request.ProjectReportRequest;
@@ -83,6 +84,13 @@ public class ProjectReportController {
         return CommonResult.success(true);
     }
 
+    @PostMapping("/projectReport/pass-batch")
+    @Operation(summary = "项目产值填报审核批量通过")
+    public  CommonResult<Boolean> batchPass(@Valid @RequestBody ProjectReportAuditBatchPassRequest reqVO) {
+        projectReportService.batchPass(reqVO);
+        return CommonResult.success(true);
+    }
+
     @PostMapping("/projectReport/reject")
     @Operation(summary = "项目产值填报审核驳回")
     public  CommonResult<Boolean> reject(@Valid @RequestBody ProjectReportAuditRejectRequest reqVO) {

+ 1 - 0
zjugis-business/src/main/java/com/zjugis/business/enums/ErrorCodeConstants.java

@@ -46,5 +46,6 @@ public interface ErrorCodeConstants {
     ErrorCode REPORT_PERIOD_NOT_EXISTS = new ErrorCode(3-002-001-002, "当前没有开启的填报期号");
     ErrorCode REPORT_IS_EXISTS = new ErrorCode(3-002-001-002, "该项目当前期号已填报");
     ErrorCode REPORT_IS_SUBMITTED = new ErrorCode(3-002-001-002, "该项目填报已提交");
+    ErrorCode REPORT_IS_NOT_AUDIT = new ErrorCode(3-002-001-002, "该项目填报状态不是待审核");
 
 }

+ 14 - 0
zjugis-business/src/main/java/com/zjugis/business/mapper/ProjectReportAuditMapper.java

@@ -2,8 +2,11 @@ package com.zjugis.business.mapper;
 
 import com.zjugis.business.bean.entity.ProjectReportAudit;
 import com.zjugis.framework.mybatis.core.mapper.BaseMapperX;
+import com.zjugis.framework.mybatis.core.query.LambdaQueryWrapperX;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 /**
  * @Author 陈俊
  * @Date 2024/8/13 14:33
@@ -11,4 +14,15 @@ import org.springframework.stereotype.Repository;
  */
 @Repository
 public interface ProjectReportAuditMapper extends BaseMapperX<ProjectReportAudit> {
+
+    /**
+     * 获取填报审核信息列表
+     * @param reportId
+     * @return
+     */
+    default List<ProjectReportAudit> projectReportAuditMapper(String reportId) {
+        return selectList(new LambdaQueryWrapperX<ProjectReportAudit>()
+                .eq(ProjectReportAudit::getReportId, reportId)
+                .orderByDesc(ProjectReportAudit::getCreateTime));
+    }
 }

+ 9 - 0
zjugis-business/src/main/java/com/zjugis/business/service/ProjectReportAuditService.java

@@ -2,6 +2,8 @@ package com.zjugis.business.service;
 
 import com.zjugis.business.bean.entity.ProjectReportAudit;
 
+import java.util.List;
+
 /**
  * @Author 陈俊
  * @Date 2024/8/14 15:21
@@ -34,4 +36,11 @@ public interface ProjectReportAuditService {
      * @param comments
      */
     void reject(String id, String comments);
+
+    /**
+     * 获取填报审核记录列表
+     * @param reportId
+     * @return
+     */
+    List<ProjectReportAudit> getListByReportId(String reportId);
 }

+ 7 - 0
zjugis-business/src/main/java/com/zjugis/business/service/ProjectReportService.java

@@ -2,6 +2,7 @@ package com.zjugis.business.service;
 
 import com.zjugis.business.bean.entity.Project;
 import com.zjugis.business.bean.entity.ProjectReport;
+import com.zjugis.business.bean.request.ProjectReportAuditBatchPassRequest;
 import com.zjugis.business.bean.request.ProjectReportAuditPassRequest;
 import com.zjugis.business.bean.request.ProjectReportAuditRejectRequest;
 import com.zjugis.business.bean.response.ProjectReportResp;
@@ -56,4 +57,10 @@ public interface ProjectReportService {
      * @return
      */
     List<ProjectReportResp> getPassList();
+
+    /**
+     * 项目产值填报审核批量通过
+     * @param reqVO
+     */
+    void batchPass(ProjectReportAuditBatchPassRequest reqVO);
 }

+ 6 - 0
zjugis-business/src/main/java/com/zjugis/business/service/impl/ProjectReportAuditServiceImpl.java

@@ -8,6 +8,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * @Author 陈俊
@@ -46,4 +47,9 @@ public class ProjectReportAuditServiceImpl implements ProjectReportAuditService
         reportAudit.setComments(comments);
         projectReportAuditMapper.updateById(reportAudit);
     }
+
+    @Override
+    public List<ProjectReportAudit> getListByReportId(String reportId) {
+        return projectReportAuditMapper.projectReportAuditMapper(reportId);
+    }
 }

+ 25 - 6
zjugis-business/src/main/java/com/zjugis/business/service/impl/ProjectReportServiceImpl.java

@@ -5,6 +5,7 @@ import com.zjugis.business.bean.entity.Project;
 import com.zjugis.business.bean.entity.ProjectReport;
 import com.zjugis.business.bean.entity.ProjectReportAudit;
 import com.zjugis.business.bean.entity.ProjectReportPeriod;
+import com.zjugis.business.bean.request.ProjectReportAuditBatchPassRequest;
 import com.zjugis.business.bean.request.ProjectReportAuditPassRequest;
 import com.zjugis.business.bean.request.ProjectReportAuditRejectRequest;
 import com.zjugis.business.bean.response.ProjectReportResp;
@@ -29,8 +30,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import static com.zjugis.business.enums.ErrorCodeConstants.REPORT_IS_EXISTS;
-import static com.zjugis.business.enums.ErrorCodeConstants.REPORT_IS_SUBMITTED;
+import static com.zjugis.business.enums.ErrorCodeConstants.*;
 import static com.zjugis.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static com.zjugis.framework.common.util.collection.CollectionUtils.convertSet;
 
@@ -84,11 +84,9 @@ public class ProjectReportServiceImpl implements ProjectReportService {
 
     @Override
     public ProjectReport save(ProjectReport entity) {
-        entity.setReportStatus(ProjectReportStatusEnum.UNCOMMIT.getValue());
-        entity.setReportDate(LocalDateTime.now());
         ProjectReport projectReport = projectReportMapper.selectByProjectIdAndPeriodId(entity.getProjectId(), entity.getPeriodId());
-        //填报已提交不允许修改
-        if (!ProjectReportStatusEnum.UNCOMMIT.getValue().equals(projectReport.getReportStatus())) {
+        //填报待审核或者已通过不允许修改
+        if (ProjectReportStatusEnum.AUDIT.getValue().equals(projectReport.getReportStatus()) || (ProjectReportStatusEnum.PASS.getValue().equals(projectReport.getReportStatus()))) {
             throw exception(REPORT_IS_SUBMITTED);
         }
         if (StringUtils.isNotEmpty(entity.getId())) {
@@ -98,6 +96,8 @@ public class ProjectReportServiceImpl implements ProjectReportService {
             if (ObjectUtil.isNotNull(projectReport)) {
                 throw exception(REPORT_IS_EXISTS);
             }
+            entity.setReportStatus(ProjectReportStatusEnum.UNCOMMIT.getValue());
+            entity.setReportDate(LocalDateTime.now());
             projectReportMapper.insert(entity);
         }
         return entity;
@@ -110,6 +110,10 @@ public class ProjectReportServiceImpl implements ProjectReportService {
         if (ObjectUtil.isNotNull(projectReport)) {
             throw exception(REPORT_IS_EXISTS);
         }
+        //填报待审核或者已通过不允许修改
+        if (ProjectReportStatusEnum.AUDIT.getValue().equals(projectReport.getReportStatus()) || (ProjectReportStatusEnum.PASS.getValue().equals(projectReport.getReportStatus()))) {
+            throw exception(REPORT_IS_SUBMITTED);
+        }
         String createWorker = projectReport.getCreateWorker();
         AdminUserRespDTO userLeader = adminUserApi.getUserLeader(createWorker).getCheckedData();
         projectReport.setReportStatus(ProjectReportStatusEnum.AUDIT.getValue());
@@ -130,6 +134,9 @@ public class ProjectReportServiceImpl implements ProjectReportService {
         if (ObjectUtil.isNotNull(projectReport)) {
             throw exception(REPORT_IS_EXISTS);
         }
+        if (!ProjectReportStatusEnum.AUDIT.getValue().equals(projectReport.getReportStatus())) {
+            throw exception(REPORT_IS_NOT_AUDIT);
+        }
         String createWorker = projectReport.getCreateWorker();
         AdminUserRespDTO userLeader = adminUserApi.getUserLeader(createWorker).getCheckedData();
         String loginUserId = SecurityFrameworkUtils.getLoginUserId();
@@ -160,6 +167,9 @@ public class ProjectReportServiceImpl implements ProjectReportService {
         if (ObjectUtil.isNotNull(projectReport)) {
             throw exception(REPORT_IS_EXISTS);
         }
+        if (!ProjectReportStatusEnum.AUDIT.getValue().equals(projectReport.getReportStatus())) {
+            throw exception(REPORT_IS_NOT_AUDIT);
+        }
         projectReport.setReportAuditorId("");
         projectReport.setReportStatus(ProjectReportStatusEnum.REJECT.getValue());
         projectReport.setLatestModifyTime(null);
@@ -183,4 +193,13 @@ public class ProjectReportServiceImpl implements ProjectReportService {
         List<ProjectReport> passList = projectReportMapper.getPassList(projectIds, currentReportPeriod.getId());
         return ProjectReportConvert.INSTANCE.convertList01(passList);
     }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void batchPass(ProjectReportAuditBatchPassRequest reqVO) {
+        List<ProjectReportAuditPassRequest> passList = reqVO.getPassList();
+        passList.forEach(x->{
+            pass(x);
+        });
+    }
 }