luok преди 1 година
родител
ревизия
418300e8dd

+ 5 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ContractInfo.java

@@ -158,6 +158,11 @@ public class ContractInfo extends BaseEntity {
     @ApiModelProperty(value = "是否引用编号 '0'否 '1'是")
     @ApiModelProperty(value = "是否引用编号 '0'否 '1'是")
     private Integer isReferenceNumber;
     private Integer isReferenceNumber;
 
 
+    /**
+     * 是否正在自动组卷中  0否  1是
+     */
+    private Integer isArchivesAuto;
+
 
 
     public String archivesUnit() {
     public String archivesUnit() {
 
 

+ 2 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/ContractClient.java

@@ -67,5 +67,7 @@ public interface ContractClient {
     @GetMapping(API_PREFIX + "/getContractListByProjectId")
     @GetMapping(API_PREFIX + "/getContractListByProjectId")
     List<ContractInfo> getContractListByProjectId(@RequestParam Long projectId);
     List<ContractInfo> getContractListByProjectId(@RequestParam Long projectId);
 
 
+    @GetMapping(API_PREFIX + "/updateIsArchivesAutoById")
+    void updateIsArchivesAutoById(@RequestParam Long id, @RequestParam Integer isArchivesAuto);
 
 
 }
 }

+ 16 - 9
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchivesAutoController.java

@@ -35,8 +35,10 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.manager.entity.ArchiveTreeContract;
 import org.springblade.manager.entity.ArchiveTreeContract;
+import org.springblade.manager.entity.ContractInfo;
 import org.springblade.manager.entity.ProjectInfo;
 import org.springblade.manager.entity.ProjectInfo;
 import org.springblade.manager.feign.ArchiveTreeContractClient;
 import org.springblade.manager.feign.ArchiveTreeContractClient;
+import org.springblade.manager.feign.ContractClient;
 import org.springblade.manager.feign.ProjectClient;
 import org.springblade.manager.feign.ProjectClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
@@ -72,6 +74,8 @@ public class ArchivesAutoController extends BladeController {
 	private final IArchiveAutoPdfService archiveAutoPdfService;
 	private final IArchiveAutoPdfService archiveAutoPdfService;
 	private final ArchiveTreeContractClient archiveTreeContractClient;
 	private final ArchiveTreeContractClient archiveTreeContractClient;
 	private ProjectClient projectClient;
 	private ProjectClient projectClient;
+	private ContractClient contractClient;
+
 	@Autowired
 	@Autowired
 	private ExecutorService executorService;
 	private ExecutorService executorService;
 	/**
 	/**
@@ -341,9 +345,10 @@ public class ArchivesAutoController extends BladeController {
 	public R archiveAutoPercentComplete(Long projectId,Long contractId,Long nodeId) {
 	public R archiveAutoPercentComplete(Long projectId,Long contractId,Long nodeId) {
 		try{
 		try{
 			//先验证当前项目是否在自动组卷中,组卷中直接返回
 			//先验证当前项目是否在自动组卷中,组卷中直接返回
-			ProjectInfo projectInfo = projectClient.getById(String.valueOf(projectId));
-			Integer isArchivesAuto = projectInfo.getIsArchivesAuto();
-			if(isArchivesAuto==0){
+			//ProjectInfo projectInfo = projectClient.getById(String.valueOf(projectId));
+			ContractInfo contract = contractClient.getContractById(contractId);
+			Integer isArchivesAuto = contract.getIsArchivesAuto();
+			if(isArchivesAuto==-1 || isArchivesAuto==null || isArchivesAuto==0){
 				isArchivesAuto=100;
 				isArchivesAuto=100;
 			}
 			}
 			return R.data(isArchivesAuto);
 			return R.data(isArchivesAuto);
@@ -366,14 +371,16 @@ public class ArchivesAutoController extends BladeController {
 	public R archiveAutoMethod(Long projectId,Long contractId,Long nodeId) {
 	public R archiveAutoMethod(Long projectId,Long contractId,Long nodeId) {
 		try{
 		try{
 			//先验证当前项目是否在自动组卷中,组卷中直接返回
 			//先验证当前项目是否在自动组卷中,组卷中直接返回
-			ProjectInfo projectInfo = projectClient.getById(String.valueOf(projectId));
-			Integer isArchivesAuto = projectInfo.getIsArchivesAuto();
-			if(isArchivesAuto!=null && isArchivesAuto!=0){
-				return R.fail("当前项目已经在自动组卷中,请耐心等待");
+			//ProjectInfo projectInfo = projectClient.getById(String.valueOf(projectId));
+			ContractInfo contract = contractClient.getContractById(contractId);
+
+			Integer isArchivesAuto = contract.getIsArchivesAuto();
+			if(isArchivesAuto!=-1 && isArchivesAuto!=null && isArchivesAuto!=0){
+				return R.fail("当前合同段已经在自动组卷中,请耐心等待");
 			}
 			}
 			log.info("开始自动组卷....");
 			log.info("开始自动组卷....");
 			//设置自动组卷中
 			//设置自动组卷中
-			projectClient.updateIsArchivesAutoById(projectId,1);
+			contractClient.updateIsArchivesAutoById(contractId,1);
 
 
 			archivesAutoService.archiveAutoMethodThread(projectId,contractId,nodeId);
 			archivesAutoService.archiveAutoMethodThread(projectId,contractId,nodeId);
 			return R.data("自动组卷中,请耐心等待");
 			return R.data("自动组卷中,请耐心等待");
@@ -381,7 +388,7 @@ public class ArchivesAutoController extends BladeController {
 			e.printStackTrace();
 			e.printStackTrace();
 			log.error("自动组卷保错。"+e.getMessage()+"--projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
 			log.error("自动组卷保错。"+e.getMessage()+"--projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
 			//设置自动组卷结束
 			//设置自动组卷结束
-			projectClient.updateIsArchivesAutoById(projectId,0);
+			contractClient.updateIsArchivesAutoById(contractId,0);
 			return R.fail(e.getMessage());
 			return R.fail(e.getMessage());
 		}
 		}
 
 

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

@@ -1766,13 +1766,13 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 				log.info("[自动组卷]{}","开始对未锁定案卷拆卷。projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
 				log.info("[自动组卷]{}","开始对未锁定案卷拆卷。projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
 				splitArchvies(projectId,contractId,nodeId);
 				splitArchvies(projectId,contractId,nodeId);
 				//设置完成度10%
 				//设置完成度10%
-				projectClient.updateIsArchivesAutoById(projectId,10);
+				contractClient.updateIsArchivesAutoById(contractId,10);
 
 
 				//项目自动组卷入口
 				//项目自动组卷入口
 				log.info("[自动组卷]{}","开始自动组卷。projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
 				log.info("[自动组卷]{}","开始自动组卷。projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
 				archiveAutoMethod(projectId,contractId,nodeId);
 				archiveAutoMethod(projectId,contractId,nodeId);
 				//设置完成度80%
 				//设置完成度80%
-				projectClient.updateIsArchivesAutoById(projectId,80);
+				contractClient.updateIsArchivesAutoById(contractId,80);
 
 
 				//刷新项目档号
 				//刷新项目档号
 				log.info("[自动组卷]{}","开始刷新组卷档号。projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
 				log.info("[自动组卷]{}","开始刷新组卷档号。projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
@@ -1780,13 +1780,13 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 
 
 
 
 				//设置自动组卷结束
 				//设置自动组卷结束
-				projectClient.updateIsArchivesAutoById(projectId,0);
+				contractClient.updateIsArchivesAutoById(contractId,0);
 				log.info("[自动组卷]{}","自动组卷完成。projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
 				log.info("[自动组卷]{}","自动组卷完成。projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
 			}catch (Exception e){
 			}catch (Exception e){
 				e.printStackTrace();
 				e.printStackTrace();
 				log.error("自动组卷报错。"+e.getMessage()+"--projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
 				log.error("自动组卷报错。"+e.getMessage()+"--projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
 				//设置自动组卷结束
 				//设置自动组卷结束
-				projectClient.updateIsArchivesAutoById(projectId,0);
+				contractClient.updateIsArchivesAutoById(contractId,0);
 			}
 			}
 		});
 		});
 	}
 	}

+ 7 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/ContractClientImpl.java

@@ -86,5 +86,12 @@ public class ContractClientImpl implements ContractClient {
         return list;
         return list;
     }
     }
 
 
+    @Override
+    public void updateIsArchivesAutoById(Long id, Integer isArchivesAuto) {
+        ContractInfo contractInfo = contractInfoService.getById(id);
+        contractInfo.setIsArchivesAuto(isArchivesAuto);
+        contractInfoService.updateById(contractInfo);
+    }
+
 
 
 }
 }