|
@@ -24,6 +24,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import javax.validation.Valid;
|
|
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.springblade.archive.service.IArchiveAutoPdfService;
|
|
|
import org.springblade.business.entity.ArchiveFile;
|
|
@@ -36,6 +37,8 @@ import org.springblade.manager.entity.ArchiveTreeContract;
|
|
|
import org.springblade.manager.entity.ProjectInfo;
|
|
|
import org.springblade.manager.feign.ArchiveTreeContractClient;
|
|
|
import org.springblade.manager.feign.ProjectClient;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
@@ -48,6 +51,7 @@ import org.springblade.core.boot.ctrl.BladeController;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.concurrent.ExecutorService;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -56,6 +60,7 @@ import java.util.stream.Collectors;
|
|
|
* @author BladeX
|
|
|
* @since 2023-02-17
|
|
|
*/
|
|
|
+@Slf4j
|
|
|
@RestController
|
|
|
@AllArgsConstructor
|
|
|
@RequestMapping("/archivesauto")
|
|
@@ -67,6 +72,8 @@ public class ArchivesAutoController extends BladeController {
|
|
|
private final IArchiveAutoPdfService archiveAutoPdfService;
|
|
|
private final ArchiveTreeContractClient archiveTreeContractClient;
|
|
|
private ProjectClient projectClient;
|
|
|
+ @Autowired
|
|
|
+ private ExecutorService executorService;
|
|
|
/**
|
|
|
* 详情
|
|
|
*/
|
|
@@ -331,22 +338,36 @@ public class ArchivesAutoController extends BladeController {
|
|
|
ProjectInfo projectInfo = projectClient.getById(String.valueOf(projectId));
|
|
|
Integer isArchivesAuto = projectInfo.getIsArchivesAuto();
|
|
|
if(isArchivesAuto!=null && isArchivesAuto==1){
|
|
|
- return R.fail("当前项目已经在自动组卷中");
|
|
|
+ return R.fail("当前项目已经在自动组卷中,请耐心等待");
|
|
|
}
|
|
|
//设置自动组卷中
|
|
|
projectClient.updateIsArchivesAutoById(projectId,1);
|
|
|
|
|
|
- //将项目未锁定案卷拆卷
|
|
|
- archivesAutoService.splitArchvies(projectId,contractId,nodeId);
|
|
|
- //项目自动组卷入口
|
|
|
- archivesAutoService.archiveAutoMethod(projectId,contractId,nodeId);
|
|
|
- //刷新项目档号
|
|
|
- archivesAutoService.refreshFileNumberNoSlipt(projectId,contractId,nodeId);
|
|
|
- //设置自动组卷结束
|
|
|
- projectClient.updateIsArchivesAutoById(projectId,0);
|
|
|
- return R.data("自动组卷结束");
|
|
|
+ executorService.execute(()->{
|
|
|
+ try{
|
|
|
+ //将项目未锁定案卷拆卷
|
|
|
+ log.info("[自动组卷]{}","开始对未锁定案卷拆卷。projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
|
|
|
+ archivesAutoService.splitArchvies(projectId,contractId,nodeId);
|
|
|
+ //项目自动组卷入口
|
|
|
+ log.info("[自动组卷]{}","开始自动组卷。projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
|
|
|
+ archivesAutoService.archiveAutoMethod(projectId,contractId,nodeId);
|
|
|
+ //刷新项目档号
|
|
|
+ log.info("[自动组卷]{}","开始刷新组卷档号。projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
|
|
|
+ archivesAutoService.refreshFileNumberNoSlipt(projectId,contractId,nodeId);
|
|
|
+ //设置自动组卷结束
|
|
|
+ projectClient.updateIsArchivesAutoById(projectId,0);
|
|
|
+ log.info("[自动组卷]{}","自动组卷完成。projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ log.error("自动组卷保错。"+e.getMessage()+"--projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
|
|
|
+ //设置自动组卷结束
|
|
|
+ projectClient.updateIsArchivesAutoById(projectId,0);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return R.data("自动组卷中,请耐心等待");
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
+ log.error("自动组卷保错。"+e.getMessage()+"--projectId:"+projectId+"-contractId:"+contractId+"-nodeId:"+nodeId);
|
|
|
//设置自动组卷结束
|
|
|
projectClient.updateIsArchivesAutoById(projectId,0);
|
|
|
return R.fail(e.getMessage());
|