Procházet zdrojové kódy

试验电签相关

liuyc před 2 roky
rodič
revize
5b66eb5348

+ 0 - 11
blade-service/blade-business/src/main/java/org/springblade/business/controller/TaskController.java

@@ -79,8 +79,6 @@ public class TaskController extends BladeController {
 
 	private final CommonFileClient commonFileClient;
 
-	private final ITrialSelfInspectionRecordService iTrialSelfInspectionRecordService;
-
 	/**
 	 * 记录短信验证码超时时间
 	 */
@@ -286,9 +284,6 @@ public class TaskController extends BladeController {
 				taskApprovalVOS.add(approvalVO);
 			}
 
-			//修改试验填报状态,关联工程部位信息pdf
-			this.iTrialSelfInspectionRecordService.updateTrialSelfInspectionRecordStatus(taskApprovalVOS);
-
 			//审批
 			this.taskService.batchCompleteApprovalTask(taskApprovalVOS,AuthUtil.getUserId());
 
@@ -584,9 +579,6 @@ public class TaskController extends BladeController {
 			taskBatch.setCreateTime(new Date());
 			this.taskBatchService.save(taskBatch);
 
-			//修改试验填报状态
-			this.iTrialSelfInspectionRecordService.updateTrialSelfInspectionRecordStatus(taskApprovalVOS);
-
 			return R.data(true, "当前等待电签的批次较多,请等待几分钟后刷新页面查看........");
 		} else {
 			//生成等待批次,任务完成后删除
@@ -594,9 +586,6 @@ public class TaskController extends BladeController {
 			taskApprovalVOS.add(taskApprovalVO);
 			this.taskService.batchCompleteApprovalTask(taskApprovalVOS,AuthUtil.getUserId());
 
-			//修改试验填报状态
-			this.iTrialSelfInspectionRecordService.updateTrialSelfInspectionRecordStatus(taskApprovalVOS);
-
 			return R.data(true, "提交成功");
 		}
 	}

+ 0 - 6
blade-service/blade-business/src/main/java/org/springblade/business/controller/TrialDetectionController.java

@@ -10,9 +10,7 @@ import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.SneakyThrows;
-import org.apache.commons.lang.StringUtils;
 import org.springblade.business.dto.*;
-import org.springblade.business.entity.InformationQuery;
 import org.springblade.business.entity.TrialDetectionData;
 import org.springblade.business.entity.TrialSelfInspectionRecord;
 import org.springblade.business.service.ITrialDetectionDataService;
@@ -28,11 +26,8 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.oss.model.BladeFile;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
-import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.core.tool.utils.ResourceUtil;
-import org.springblade.manager.entity.TableFile;
 import org.springblade.manager.entity.TrialSelfDataRecord;
-import org.springblade.manager.entity.WbsTreePrivate;
 import org.springblade.manager.feign.WbsTreePrivateClient;
 import org.springblade.manager.vo.TableFileVO;
 import org.springblade.manager.vo.WbsTreePrivateVO;
@@ -49,7 +44,6 @@ import java.io.FileNotFoundException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 
 @RestController

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/ITrialSelfInspectionRecordService.java

@@ -34,7 +34,7 @@ public interface ITrialSelfInspectionRecordService extends BaseService<TrialSelf
     String selfPrintNullPdf(String ids) throws Exception;
 
     @Async
-    void updateTrialSelfInspectionRecordStatus(List<TaskApprovalVO> obj) throws FileNotFoundException;
+    void updateTrialSelfInspectionRecordStatus(String pdfUrlEVisa, List<TaskApprovalVO> obj) throws FileNotFoundException;
 
     String addBussFile(MultipartFile file, Long pkeyId, String nodeId, String contractId, String projectId, String classify, String id, String tableType) throws Exception;
 

+ 17 - 6
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskServiceImpl.java

@@ -93,6 +93,8 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
 
     private final JdbcTemplate jdbcTemplate;
 
+    private final ITrialSelfInspectionRecordService iTrialSelfInspectionRecordService;
+
     @Override
     public List<TaskParallel> queryApprovalUser(String formDataIds) {
         //返回结果
@@ -401,8 +403,6 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
         return this.baseMapper.queryBatchList(projectId, contract);
     }
 
-    //@Async
-
     /**
      * 批量电签接口
      *
@@ -442,13 +442,18 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
 
     }
 
-    private void checkIsExsitTaskBatch(List<TaskApprovalVO> taskApprovalVOS, String batchId) {
+    private void checkIsExsitTaskBatch(List<TaskApprovalVO> taskApprovalVOS, String batchId) throws FileNotFoundException {
         boolean isContinue = true;
         while (isContinue) {
             logger.info("【任务审核】当前批次开始电签。批次ID:" + batchId);
             //执行电签
             for (TaskApprovalVO taskApprovalVO : taskApprovalVOS) {
-                this.completeApprovalTask(taskApprovalVO);
+                String pdfUrlEVisa = this.completeApprovalTask(taskApprovalVO);
+
+                //TODO ============== 电签成功,修改试验状态,关联工程部位信息pdf(只有电签成功,才修改) ==============
+                if (StringUtils.isNotEmpty(pdfUrlEVisa)){
+                    this.iTrialSelfInspectionRecordService.updateTrialSelfInspectionRecordStatus(pdfUrlEVisa, taskApprovalVOS);
+                }
             }
             //删除掉对应批次
             this.taskBatchService.deletedById(batchId);
@@ -472,7 +477,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
     }
 
     // 电签主流程业务
-    private void completeApprovalTask(TaskApprovalVO taskApprovalVO) {
+    private String completeApprovalTask(TaskApprovalVO taskApprovalVO) {
         //获取流程ID
         String taskId = taskApprovalVO.getTaskId();
         //获取业务实例ID
@@ -485,7 +490,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
         //获取当前分支信息
         TaskParallel currentLink = this.taskParallelService.getOne(Wrappers.<TaskParallel>lambdaQuery().eq(TaskParallel::getParallelProcessInstanceId, parallelProcessInstanceId).eq(TaskParallel::getIsDeleted, 0));
         if (currentLink == null) {
-            return;
+            return "";
         }
         //获取主流程
         Task masterTask = this.getOne(Wrappers.<Task>lambdaQuery().eq(Task::getIsDeleted, 0).eq(Task::getProcessInstanceId, currentLink.getProcessInstanceId()));
@@ -540,10 +545,15 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
                         this.update(Wrappers.<Task>lambdaUpdate().set(Task::getStatus, 2).set(Task::getUpdateTime, new Date()).eq(Task::getId, masterTask.getId()));
                         //修改对应的业务数据状态为已审批
                         this.updateBusinessDataByFormDataId(masterTask, 2, finalPdfUrl);
+
+                        //返回电签成功的pdf路径,给试验用
+                        return finalPdfUrl;
                     }
                 } else {
                     //只更新PDF路径
                     this.updateBusinessDataByFormDataId(masterTask, 1, eVisaStatus.contains("@@@@") ? eVisaStatus.split("@@@@")[1] : null);
+
+                    return eVisaStatus.contains("@@@@") ? eVisaStatus.split("@@@@")[1] : null;
                 }
             } else if ("eVisaError".equals(eVisaStatus) || eVisaStatus.contains("eVisaError")) {
                 //电签失败,将对应分支任务的电签状态修改为99并添加错误信息
@@ -625,6 +635,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
             this.abolishMessage(masterTask, currentLink, comment);
 
         }
+        return "";
     }
 
     /**

+ 6 - 8
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialSelfInspectionRecordServiceImpl.java

@@ -12,7 +12,6 @@ import lombok.AllArgsConstructor;
 import org.apache.commons.lang.time.DateUtils;
 import org.springblade.business.dto.*;
 import org.springblade.business.entity.*;
-import org.springblade.business.feign.InformationQueryClient;
 import org.springblade.business.mapper.TrialMaterialMobilizationMapper;
 import org.springblade.business.mapper.TrialSampleInfoMapper;
 import org.springblade.business.mapper.TrialSelfInspectionRecordMapper;
@@ -132,18 +131,17 @@ public class TrialSelfInspectionRecordServiceImpl
                 record.setSampleIds(org.apache.commons.lang.StringUtils.join(query, ","));
             }
 
+            //原材料检测报告ids
             String sql1 = "select raw_material_record_id,old_pdf_url from u_trial_raw_material_self_record where self_record_id = " + record.getId();
             List<TrialRawMaterialSelfRecord> query1 = jdbcTemplate.query(sql1, new BeanPropertyRowMapper<>(TrialRawMaterialSelfRecord.class));
             if (query1.size() > 0) {
-                //原材料检测报告ids
                 List<Long> ids = query1.stream().map(TrialRawMaterialSelfRecord::getRawMaterialRecordId).collect(Collectors.toList());
                 record.setRawMaterialIds(org.apache.commons.lang.StringUtils.join(ids, ","));
-
-                //pdfUrl
-                String pdf = this.getMergePdfToTrial(record.getContractId(), record.getId());
-                record.setPdfUrl(pdf);
             }
 
+            //合并的pdfUrl
+            String pdf = this.getMergePdfToTrial(record.getContractId(), record.getId());
+            record.setPdfUrl(pdf);
         }
         return trialSelfInspectionRecordVOIPage.setRecords(records);
     }
@@ -471,7 +469,7 @@ public class TrialSelfInspectionRecordServiceImpl
 
     @Override
     @Async
-    public void updateTrialSelfInspectionRecordStatus(List<TaskApprovalVO> obj) throws FileNotFoundException {
+    public void updateTrialSelfInspectionRecordStatus(String pdfUrlEVisa, List<TaskApprovalVO> obj) throws FileNotFoundException {
         for (TaskApprovalVO taskApprovalVO : obj) {
             if (ObjectUtil.isNotEmpty(taskApprovalVO.getParallelProcessInstanceId())) {
                 String sql = "select process_instance_id from u_task_parallel where parallel_process_instance_id = '" + taskApprovalVO.getParallelProcessInstanceId() + "'";
@@ -481,6 +479,7 @@ public class TrialSelfInspectionRecordServiceImpl
                     if (StringUtils.isNotEmpty(trialSelfInspectionRecordId)) {
                         this.update(Wrappers.<TrialSelfInspectionRecord>lambdaUpdate()
                                 .set(TrialSelfInspectionRecord::getTaskStatus, "OK".equals(taskApprovalVO.getFlag()) ? "已审批" : "已废除")
+                                .set(TrialSelfInspectionRecord::getPdfUrl, pdfUrlEVisa) //pdfUrlEVisa=电签后的pdf
                                 .eq(TrialSelfInspectionRecord::getId, trialSelfInspectionRecordId)
                         );
 
@@ -527,7 +526,6 @@ public class TrialSelfInspectionRecordServiceImpl
                                             //修改合并的试验pdf到质检树节点的pdf_trial_url_position上存储
                                             baseMapper.updateInformationQuery(pKeyId, record.getContractId(), bladeFile.getLink());
                                         }
-
                                     }
                                 }
                             }