Bladeren bron

档案巡检相关2

qianxb 1 jaar geleden
bovenliggende
commit
0e7d3a5136
13 gewijzigde bestanden met toevoegingen van 392 en 22 verwijderingen
  1. 11 7
      blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/entity/ArchiveExpertConclusion.java
  2. 1 1
      blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/entity/ArchiveExpertScore.java
  3. 7 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/TaskClient.java
  4. 110 0
      blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchiveExpertConclusionController.java
  5. 54 0
      blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchiveExpertScoreController.java
  6. 4 2
      blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchivesAutoController.java
  7. 13 0
      blade-service/blade-archive/src/main/java/org/springblade/archive/service/IArchiveExpertConclusionService.java
  8. 1 0
      blade-service/blade-archive/src/main/java/org/springblade/archive/service/IArchiveExpertScoreService.java
  9. 2 0
      blade-service/blade-archive/src/main/java/org/springblade/archive/service/IArchivesAutoService.java
  10. 118 3
      blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchiveExpertConclusionServiceImpl.java
  11. 17 5
      blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchiveExpertScoreServiceImpl.java
  12. 41 4
      blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java
  13. 13 0
      blade-service/blade-business/src/main/java/org/springblade/business/feignClient/TaskClientImpl.java

+ 11 - 7
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/entity/ArchiveExpertConclusion.java

@@ -23,6 +23,7 @@ import lombok.EqualsAndHashCode;
 import org.springblade.core.mp.base.BaseEntity;
 
 import java.math.BigDecimal;
+import java.time.LocalDate;
 
 /**
  * 档案专家结论实体类
@@ -41,27 +42,30 @@ public class ArchiveExpertConclusion extends BaseEntity {
     private Long projectId;
 
     @ApiModelProperty("申请验收的pdf地址")
-    private String app_url;
+    private String appUrl;
 
     @ApiModelProperty("结论报表的pdf地址")
-    private String table_url;
+    private String tableUrl;
 
     @ApiModelProperty("是否生成打分表:0否1是")
-    private Integer is_build_score;
+    private Integer isBuildScore;
 
     @ApiModelProperty("前言")
     private String foreword;
 
     @ApiModelProperty("项目概况")
-    private String general_situation;
+    private String generalSituation;
 
     @ApiModelProperty("管理情况")
-    private String admin_condition;
+    private String adminCondition;
 
     @ApiModelProperty("存在问题及建议")
-    private String question_suggest;
+    private String questionSuggest;
 
     @ApiModelProperty("审批状态,0未上报,1待审批,2已审批,3已废除")
-    private Integer approve_status;
+    private Integer approveStatus;
+
+    @ApiModelProperty("审批状态,0未上报,1待审批,2已审批,3已废除")
+    private LocalDate approveDate;
 
 }

+ 1 - 1
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/entity/ArchiveExpertScore.java

@@ -42,7 +42,7 @@ public class ArchiveExpertScore extends BaseEntity {
     @ApiModelProperty("项目id")
     private Long projectId;
 
-    @ApiModelProperty("单位类型:1施工2监理3业主")
+    @ApiModelProperty("单位类型:1业主2监理3施工")
     private Integer unitType;
 
     @ApiModelProperty("评分项")

+ 7 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/TaskClient.java

@@ -37,6 +37,13 @@ public interface TaskClient {
     String QUERY_USER_TASK = API_PREFIX + "/query-user-task";
     String DELETE_USER_TASK = API_PREFIX + "/delete-user-task";
     String BATCH_RE_SIGN = API_PREFIX + "/re-sign";
+    String ARCHIVE_APP_COUNT = API_PREFIX + "/archive-app-count";
+
+    /**
+     * 获取档案验收申请数量
+     */
+    @GetMapping(ARCHIVE_APP_COUNT)
+    Boolean getArchiveAppCount(@RequestParam Long projectId);
     /**
      * 保存任务
      */

+ 110 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchiveExpertConclusionController.java

@@ -0,0 +1,110 @@
+package org.springblade.archive.controller;
+
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.archive.entity.ArchiveConclusion;
+import org.springblade.archive.entity.ArchiveExpertConclusion;
+import org.springblade.archive.service.IArchiveExpertConclusionService;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.tool.api.R;
+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 java.util.List;
+
+/**
+ *
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/archiveExpertConclusion")
+@Api(value = "专家结论", tags = "专家结论")
+public class ArchiveExpertConclusionController extends BladeController {
+
+    private final IArchiveExpertConclusionService conclusionService;
+
+    /**
+     * 验收申请-历史验收报告
+     */
+    @GetMapping("/getHistoryTable")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "验收申请-历史验收报告", notes = "传入当前项目id,返回报告数组")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "projectId", value = "项目id", required = true)
+    })
+    public R<List<ArchiveExpertConclusion>> getHistoryTable(@RequestParam Long projectId) {
+        return R.data(conclusionService.getHistoryTable(projectId));
+    }
+
+    /**
+     * 验收申请-申请验收状态
+     */
+    @GetMapping("/getAppStatus")
+    @ApiOperationSupport(order = 3)
+    @ApiOperation(value = "验收申请-申请验收状态", notes = "传入当前项目id,true显示false屏蔽")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "projectId", value = "项目id", required = true)
+    })
+    public R<Boolean> getAppStatus(@RequestParam Long projectId) {
+        return R.data(conclusionService.getAppStatus(projectId));
+    }
+
+    /**
+     * 在线验收-预览
+     */
+    @GetMapping("/getAppPreview")
+    @ApiOperationSupport(order = 4)
+    @ApiOperation(value = "在线验收-预览", notes = "传入当前项目id,返回当前期的档案验收URL地址")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "projectId", value = "项目id", required = true)
+    })
+    public R getAppPreview(@RequestParam Long projectId) {
+        return R.data(conclusionService.getAppPreview(projectId));
+    }
+    /**
+     * 在线验收-查看验收报告
+     */
+    @GetMapping("/getTable")
+    @ApiOperationSupport(order = 5)
+    @ApiOperation(value = "在线验收-查看验收报告", notes = "传入当前项目id,返回当期验收报告URL地址")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "projectId", value = "项目id", required = true)
+    })
+    public R getTable(@RequestParam Long projectId) {
+        return R.data(conclusionService.getTable(projectId));
+    }
+
+    /**
+     * 编写结论-是否生成打分表
+     */
+    @GetMapping("/creatScore")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "验收申请-是否生成打分表", notes = "传入当前项目id,返回1选择0不选择")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "projectId", value = "项目id", required = true)
+    })
+    public R creatScore(@RequestParam Long projectId) {
+        return R.data(conclusionService.creatScore(projectId));
+    }
+
+    /**
+     * 编写结论-修改是否生成打分表
+     */
+    @GetMapping("/updateScore")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "验收申请-修改是否生成打分表", notes = "传入当前项目id,传入1选择0不选择")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "projectId", value = "项目id", required = true),
+            @ApiImplicitParam(name = "isSelect", value = "1选择0不选择", required = true)
+    })
+    public R creatScore(@RequestParam Long projectId,Integer isSelect) {
+        conclusionService.updateScore(projectId,isSelect);
+        return R.data("修改成功");
+    }
+}

+ 54 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchiveExpertScoreController.java

@@ -0,0 +1,54 @@
+package org.springblade.archive.controller;
+
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.archive.entity.ArchiveExpertConclusion;
+import org.springblade.archive.entity.ArchiveExpertScore;
+import org.springblade.archive.service.IArchiveExpertScoreService;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ *
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/archiveExpertScore")
+@Api(value = "专家评分", tags = "专家评分")
+public class ArchiveExpertScoreController extends BladeController {
+
+    private final IArchiveExpertScoreService scoreService;
+
+    /**
+     * 专家评分-根据单位获取打分项
+     */
+    @GetMapping("/getItemByUnit")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "专家评分-根据单位获取打分项", notes = "专家评分-根据单位获取打分项")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "projectId", value = "项目id", required = true),
+            @ApiImplicitParam(name = "unitType", value = "单位类型:1业主2监理3施工", required = true)
+    })
+    public R<List<ArchiveExpertScore>> getItemByUnit(@RequestParam Long projectId,Integer unitType) {
+        return R.data(scoreService.getItemByUnit(projectId,unitType));
+    }
+
+    /**
+     * 专家评分-编辑
+     */
+    @PostMapping("/update")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "专家评分-编辑", notes = "专家评分-编辑,传入当前行")
+    public R update(@RequestBody ArchiveExpertScore score) {
+        scoreService.updateById(score);
+        return R.data("修改成功");
+    }
+
+}

+ 4 - 2
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchivesAutoController.java

@@ -721,8 +721,8 @@ public class ArchivesAutoController extends BladeController {
 	@ApiImplicitParams(value = {
 			@ApiImplicitParam(name = "projectId", value = "项目id", required = true)
 	})
-	public R<Boolean> getApplyStatus(@RequestParam Long projectId) {
-		return R.data(archivesAutoService.getApplyStatus(projectId));
+	public R<Map<String,Boolean>> getApplyStatus(@RequestParam Long projectId) {
+		return R.data(archivesAutoService.getApplyStatus2(projectId));
 	}
 
 	/**
@@ -934,4 +934,6 @@ public class ArchivesAutoController extends BladeController {
 
 
 
+
+
 }

+ 13 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/service/IArchiveExpertConclusionService.java

@@ -5,6 +5,8 @@ import org.springblade.archive.entity.ArchiveExpertScore;
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.core.tool.api.R;
 
+import java.util.List;
+
 
 public interface IArchiveExpertConclusionService extends BaseService<ArchiveExpertConclusion> {
 
@@ -12,4 +14,15 @@ public interface IArchiveExpertConclusionService extends BaseService<ArchiveExpe
     //验收申请审批通过,创建当前报表基本信息
     R saveBaseTableInfo(Long projectId,String appUrl);
 
+    Boolean getAppStatus(Long projectId);
+
+    List<ArchiveExpertConclusion> getHistoryTable(Long projectId);
+
+    String getAppPreview(Long projectId);
+
+    String getTable(Long projectId);
+
+    Integer creatScore(Long projectId);
+
+    void updateScore(Long projectId, Integer isSelect);
 }

+ 1 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/service/IArchiveExpertScoreService.java

@@ -12,4 +12,5 @@ public interface IArchiveExpertScoreService extends BaseService<ArchiveExpertSco
     // 审批成功,保存基础评分信息
     void saveBaseScoreInfo(Long projectId);
 
+    List<ArchiveExpertScore> getItemByUnit(Long projectId, Integer unitType);
 }

+ 2 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/service/IArchivesAutoService.java

@@ -122,6 +122,8 @@ public interface IArchivesAutoService extends BaseService<ArchivesAuto> {
 
 	Boolean getApplyStatus(Long projectId);
 
+	Map<String,Boolean> getApplyStatus2(Long projectId);
+
 	void annulApply(Long projectId);
 
 	IPage<ArchiveInspectVO> getNodeArchives(Query query,Long nodeId, Long projectId,Integer searchType,String searchValue,Integer type);

+ 118 - 3
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchiveExpertConclusionServiceImpl.java

@@ -1,18 +1,24 @@
 package org.springblade.archive.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import lombok.AllArgsConstructor;
+import org.apache.commons.lang.StringUtils;
 import org.springblade.archive.entity.ArchiveExpertConclusion;
 import org.springblade.archive.entity.ArchiveExpertScore;
 import org.springblade.archive.mapper.ArchiveExpertConclusionMapper;
 import org.springblade.archive.mapper.ArchiveExpertScoreMapper;
 import org.springblade.archive.service.IArchiveExpertConclusionService;
 import org.springblade.archive.service.IArchiveExpertScoreService;
+import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.tool.api.R;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
+
 @Service
 @AllArgsConstructor
 public class ArchiveExpertConclusionServiceImpl extends BaseServiceImpl<ArchiveExpertConclusionMapper, ArchiveExpertConclusion> implements IArchiveExpertConclusionService {
@@ -25,14 +31,123 @@ public class ArchiveExpertConclusionServiceImpl extends BaseServiceImpl<ArchiveE
         //保存表单基础信息
         ArchiveExpertConclusion conclusion = new ArchiveExpertConclusion();
         conclusion.setProjectId(projectId);
-        conclusion.setApp_url(appUrl);
-        conclusion.setIs_build_score(0);
+        conclusion.setAppUrl(appUrl);
+        conclusion.setIsBuildScore(0);
         conclusion.setStatus(1);
-        conclusion.setApprove_status(0);
+        conclusion.setApproveStatus(0);
         this.save(conclusion);
         //保存评分基础信息
         scoreService.saveBaseScoreInfo(projectId);
         return R.data("保存成功");
     }
+
+    /**
+     * 获取申请状态
+     * @param projectId
+     * @return
+     */
+    @Override
+    public Boolean getAppStatus(Long projectId) {
+        //获取最新的最新的一期验收
+        ArchiveExpertConclusion one = this.getOne(new LambdaUpdateWrapper<ArchiveExpertConclusion>()
+                .eq(ArchiveExpertConclusion::getProjectId, projectId)
+                .orderByDesc(ArchiveExpertConclusion::getCreateTime)
+                .last("limit 1"));
+        //如果为空代表没有申请过,返回true
+        if (one == null || one.getStatus() == 2){
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 验收申请-历史验收报告
+     * @param projectId
+     * @return
+     */
+    @Override
+    public List<ArchiveExpertConclusion> getHistoryTable(Long projectId) {
+        List<ArchiveExpertConclusion> list = this.list(new LambdaQueryWrapper<ArchiveExpertConclusion>()
+                .eq(ArchiveExpertConclusion::getProjectId, projectId)
+                .eq(ArchiveExpertConclusion::getStatus, 2)
+                .orderByDesc(ArchiveExpertConclusion::getApproveDate));
+        if (list.size() == 0){
+            throw new ServiceException("暂无历史验收报告");
+        }
+        return list;
+    }
+
+
+    /**
+     * 在线验收-预览
+     */
+    @Override
+    public String getAppPreview(Long projectId) {
+        //获取最新的最新的一期验收
+        ArchiveExpertConclusion one = this.getOne(new LambdaUpdateWrapper<ArchiveExpertConclusion>()
+                .eq(ArchiveExpertConclusion::getProjectId, projectId)
+                .orderByDesc(ArchiveExpertConclusion::getCreateTime)
+                .last("limit 1"));
+        //如果为空代表没有申请过,返回true
+        if (one == null){
+            throw new ServiceException("暂无验收档案信息,请检查是否申请过验收");
+        }
+        return one.getAppUrl();
+    }
+
+    /**
+     * 在线验收-查看验收报告
+     */
+    @Override
+    public String getTable(Long projectId) {
+        //获取最新的最新的一期验收
+        ArchiveExpertConclusion one = this.getOne(new LambdaUpdateWrapper<ArchiveExpertConclusion>()
+                .eq(ArchiveExpertConclusion::getProjectId, projectId)
+                .orderByDesc(ArchiveExpertConclusion::getCreateTime)
+                .last("limit 1"));
+        //如果为空代表没有申请过,返回true
+        if (one == null){
+            throw new ServiceException("暂无验收档案信息,请检查是否申请过验收");
+        }
+        if (StringUtils.isBlank(one.getTableUrl())){
+            throw new ServiceException("当前在线验收还未生成报告");
+        }
+        return one.getTableUrl();
+    }
+
+    /**
+     * 编写结论-是否生成打分表
+     */
+    @Override
+    public Integer creatScore(Long projectId) {
+        //获取最新的最新的一期验收
+        ArchiveExpertConclusion one = this.getOne(new LambdaUpdateWrapper<ArchiveExpertConclusion>()
+                .eq(ArchiveExpertConclusion::getProjectId, projectId)
+                .orderByDesc(ArchiveExpertConclusion::getCreateTime)
+                .last("limit 1"));
+        //如果为空代表没有申请过,返回true
+        if (one == null){
+            return 0;
+        }
+        return one.getIsBuildScore();
+    }
+
+    /**
+     * 编写结论-修改是否生成打分表
+     */
+    @Override
+    public void updateScore(Long projectId, Integer isSelect) {
+        //获取最新的最新的一期验收
+        ArchiveExpertConclusion one = this.getOne(new LambdaUpdateWrapper<ArchiveExpertConclusion>()
+                .eq(ArchiveExpertConclusion::getProjectId, projectId)
+                .orderByDesc(ArchiveExpertConclusion::getCreateTime)
+                .last("limit 1"));
+        //如果为空代表没有申请过,返回true
+        if (one == null){
+            throw new ServiceException("当前没有申请验收信息,无法修改");
+        }
+        one.setIsBuildScore(isSelect);
+        this.updateById(one);
+    }
 }
 

+ 17 - 5
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchiveExpertScoreServiceImpl.java

@@ -1,6 +1,7 @@
 package org.springblade.archive.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.springblade.archive.entity.ArchiveExpertScore;
 import org.springblade.archive.entity.ExpertInspection;
 import org.springblade.archive.mapper.ArchiveExpertScoreMapper;
@@ -20,13 +21,24 @@ public class ArchiveExpertScoreServiceImpl extends BaseServiceImpl<ArchiveExpert
     @Override
     public void saveBaseScoreInfo(Long projectId) {
         List<ArchiveExpertScore> list = new ArrayList<>();
-        //施工
-        list.add(new ArchiveExpertScore(projectId,1,"施工评分项1",10,0,10,0));
-        //监理
-        list.add(new ArchiveExpertScore(projectId,1,"监理评分项1",10,0,10,0));
         //业主
-        list.add(new ArchiveExpertScore(projectId,1,"监理评分项1",10,0,10,0));
+        list.add(new ArchiveExpertScore(projectId,1,"业主评分项1",10,0,10,0));
+        //监理
+        list.add(new ArchiveExpertScore(projectId,2,"监理评分项1",10,0,10,0));
+        //施工
+        list.add(new ArchiveExpertScore(projectId,3,"施工评分项1",10,0,10,0));
         this.saveBatch(list);
     }
+
+    /**
+     * 专家评分-根据单位获取打分项
+     */
+    @Override
+    public List<ArchiveExpertScore> getItemByUnit(Long projectId, Integer unitType) {
+        List<ArchiveExpertScore> list = this.list(new LambdaQueryWrapper<ArchiveExpertScore>()
+                .eq(ArchiveExpertScore::getProjectId, projectId)
+                .eq(ArchiveExpertScore::getUnitType, unitType));
+        return list;
+    }
 }
 

+ 41 - 4
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java

@@ -37,10 +37,7 @@ import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.springblade.archive.dto.SaveApplyDTO;
-import org.springblade.archive.entity.ArchiveConclusion;
-import org.springblade.archive.entity.ArchiveProjectConfig;
-import org.springblade.archive.entity.ArchivesAuto;
-import org.springblade.archive.entity.ExpertInspection;
+import org.springblade.archive.entity.*;
 import org.springblade.archive.mapper.ArchiveConclusionMapper;
 import org.springblade.archive.service.*;
 import org.springblade.archive.utils.ArchiveTreeUtil;
@@ -144,6 +141,8 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 	private final ArchiveConclusionMapper conclusionMapper;
 
 	private final NewIOSSClient newIOSSClient;
+
+	private final IArchiveExpertConclusionService expertConclusionService;
 	//表格高度
 	private static int high = 20;
 	//表格宽度
@@ -2758,6 +2757,19 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 		if (aBoolean){
 			throw new ServiceException("当前用户已存在验收任务,请勿重复上报");
 		}
+		//判断当前是否已经存在上报任务
+		Boolean b = taskClient.getArchiveAppCount(dto.getProjectId());
+		if (b == null || b){
+			throw new ServiceException("当前项目已存在上报中的验收任务,请勿重复上报");
+		}
+		//判断上一期是否完成
+		ArchiveExpertConclusion one = expertConclusionService.getOne(new LambdaUpdateWrapper<ArchiveExpertConclusion>()
+				.eq(ArchiveExpertConclusion::getProjectId, dto.getProjectId())
+				.orderByDesc(ArchiveExpertConclusion::getCreateTime)
+				.last("limit 1"));
+		if (one != null && one.getStatus() == 1){
+			throw new ServiceException("上期验收任务还未完成,请勿上报");
+		}
 		//设置任务表信息
 		Task task = new Task();
 		Long id = SnowFlakeUtil.getId();
@@ -2925,6 +2937,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 		return R.data(true);
 	}
 
+
 	@Override
 	public Boolean getApplyStatus(Long projectId) {
 		//查出所有当前用户待审批的验收任务
@@ -2936,6 +2949,30 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 			return true;
 		}
 	}
+	@Override
+	public Map<String,Boolean> getApplyStatus2(Long projectId) {
+		Map<String,Boolean> map = new HashMap<>();
+		//查出所有当前用户待审批的验收任务
+		Long userId = AuthUtil.getUserId();
+		List<Task> tasks = taskClient.queryUserTask(projectId,2, userId, 1);
+		//显示上报还是撤销
+		if (tasks == null || tasks.size() == 0){
+			map.put("appStatus",false);
+		}else {
+			map.put("appStatus",true);
+		}
+		//控制是否能点击
+		ArchiveExpertConclusion one = expertConclusionService.getOne(new LambdaUpdateWrapper<ArchiveExpertConclusion>()
+				.eq(ArchiveExpertConclusion::getProjectId, projectId)
+				.orderByDesc(ArchiveExpertConclusion::getCreateTime)
+				.last("limit 1"));
+		if (one == null || one.getStatus() == 2){
+			map.put("isShow",true);
+		}else {
+			map.put("isShow",false);
+		}
+		return map;
+	}
 
 	@Override
 	public void annulApply(Long projectId) {

+ 13 - 0
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/TaskClientImpl.java

@@ -34,6 +34,19 @@ public class TaskClientImpl implements TaskClient {
 
     private final ITaskParallelService taskParallelService;
 
+    @Override
+    public Boolean getArchiveAppCount(Long projectId) {
+        List<Task> list = taskService.list(new LambdaQueryWrapper<Task>()
+                .eq(Task::getProjectId, projectId)
+                .eq(Task::getType, 2)
+                .eq(Task::getStatus, 1));
+        if (list.size() > 0){
+            return true;
+        }else {
+            return false;
+        }
+    }
+
     @Override
     public void saveTask(Task task) {
         taskService.save(task);