瀏覽代碼

任务bug

liuyc 2 年之前
父節點
當前提交
2ee7168c93

+ 103 - 56
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskServiceImpl.java

@@ -143,21 +143,21 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
             if (!DistributedRedisLock.getLockStatus(taskApprovalVO.getFormDataId())) {
                 //如果不存在,直接获取并上锁,由于这个查询方法是任务方面使用,所以解锁需要在对应数据使用结束后
                 DistributedRedisLock.acquire(taskApprovalVO.getFormDataId(), 20);*/
-                switch (taskApprovalVO.getApprovalType()) {
-                    case 1:
-                        //填报数据
-                        return this.queryProcessSubmitBusinessData(taskApprovalVO.getFormDataId(), true);
-                    case 2:
-                        //工程文件
-                        return this.queryArchiveFileBusinessData(taskApprovalVO.getFormDataId());
-                    case 3:
-                        //日志资料
-                        return this.queryTheLogFileBusinessData(taskApprovalVO.getFormDataId());
-                    default:
-                        //未找到数据,解锁
-                        DistributedRedisLock.release(taskApprovalVO.getFormDataId());
-                        return null;
-                }
+        switch (taskApprovalVO.getApprovalType()) {
+            case 1:
+                //填报数据
+                return this.queryProcessSubmitBusinessData(taskApprovalVO.getFormDataId(), true);
+            case 2:
+                //工程文件
+                return this.queryArchiveFileBusinessData(taskApprovalVO.getFormDataId());
+            case 3:
+                //日志资料
+                return this.queryTheLogFileBusinessData(taskApprovalVO.getFormDataId());
+            default:
+                //未找到数据,解锁
+                DistributedRedisLock.release(taskApprovalVO.getFormDataId());
+                return null;
+        }
             /*} else {
                 try {
                     if (foreachNumber < 10) {
@@ -237,22 +237,56 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
             } else if (new Integer("1").equals(query.getType())) {
                 //资料填报
                 if (StringUtils.isNotEmpty(query.getEVisaPdfUrl()) || StringUtils.isNotEmpty(query.getPdfUrl()) || StringUtils.isNotEmpty(query.getPdfTrialUrl()) || StringUtils.isNotEmpty(query.getPdfTrialUrlPosition())) {
+                    if (StringUtils.isNotEmpty(query.getEVisaPdfUrl())) {
+                        String replaceHTTPURL = this.getReplaceHttpURL(query.getEVisaPdfUrl());
+                        if (StringUtils.isNotEmpty(replaceHTTPURL)) {
+                            query.setEVisaPdfUrl(replaceHTTPURL);
+                        }
+                    }
+                    if (StringUtils.isNotEmpty(query.getPdfUrl())) {
+                        String replaceHTTPURL = this.getReplaceHttpURL(query.getPdfUrl());
+                        if (StringUtils.isNotEmpty(replaceHTTPURL)) {
+                            query.setPdfUrl(replaceHTTPURL);
+                        }
+                    }
+
                     //资料填报原始pdf
                     vo.setApprovalFileList(query.getName(), StringUtils.isNotEmpty(query.getEVisaPdfUrl()) ? query.getEVisaPdfUrl() : query.getPdfUrl());
 
                     //试验关联文件合并pdf
                     if (StringUtils.isNotEmpty(query.getPdfTrialUrl())) {
+                        String replaceHTTPURL = this.getReplaceHttpURL(query.getPdfTrialUrl());
+                        if (StringUtils.isNotEmpty(replaceHTTPURL)) {
+                            query.setPdfTrialUrl(replaceHTTPURL);
+                        }
                         vo.setApprovalFileList(query.getName() + "(关联试验文件)", StringUtils.isNotEmpty(query.getPdfTrialUrl()) ? query.getPdfTrialUrl() : null);
                     }
 
                     //试验关联的工程部位信息合并pdf
                     if (StringUtils.isNotEmpty(query.getPdfTrialUrlPosition())) {
+                        String replaceHTTPURL = this.getReplaceHttpURL(query.getPdfTrialUrlPosition());
+                        if (StringUtils.isNotEmpty(replaceHTTPURL)) {
+                            query.setPdfTrialUrlPosition(replaceHTTPURL);
+                        }
                         vo.setApprovalFileList(query.getName() + "(关联试验工程部位信息文件)", StringUtils.isNotEmpty(query.getPdfTrialUrlPosition()) ? query.getPdfTrialUrlPosition() : null);
                     }
                 }
             } else if (new Integer("2").equals(query.getType())) {
                 //试验
                 if (StringUtils.isNotEmpty(query.getEVisaPdfUrl()) || StringUtils.isNotEmpty(query.getPdfUrl())) {
+                    if (StringUtils.isNotEmpty(query.getEVisaPdfUrl())) {
+                        String replaceHTTPURL = this.getReplaceHttpURL(query.getEVisaPdfUrl());
+                        if (StringUtils.isNotEmpty(replaceHTTPURL)) {
+                            query.setEVisaPdfUrl(replaceHTTPURL);
+                        }
+                    }
+                    if (StringUtils.isNotEmpty(query.getPdfUrl())) {
+                        String replaceHTTPURL = this.getReplaceHttpURL(query.getPdfUrl());
+                        if (StringUtils.isNotEmpty(replaceHTTPURL)) {
+                            query.setPdfUrl(replaceHTTPURL);
+                        }
+                    }
+
                     //试验原始pdf
                     vo.setApprovalFileList(query.getName(), StringUtils.isNotEmpty(query.getEVisaPdfUrl()) ? query.getEVisaPdfUrl() : query.getPdfUrl());
 
@@ -260,6 +294,12 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
                     String sqlRecord = "select old_pdf_url from u_trial_raw_material_self_record where self_record_id =" + query.getWbsId();
                     TrialRawMaterialSelfRecord recordObj = jdbcTemplate.query(sqlRecord, new BeanPropertyRowMapper<>(TrialRawMaterialSelfRecord.class)).stream().findAny().orElse(null);
                     if (recordObj != null) {
+                        if (StringUtils.isNotEmpty(recordObj.getOldPdfUrl())) {
+                            String replaceHTTPURL = this.getReplaceHttpURL(recordObj.getOldPdfUrl());
+                            if (StringUtils.isNotEmpty(replaceHTTPURL)) {
+                                recordObj.setOldPdfUrl(replaceHTTPURL);
+                            }
+                        }
                         vo.setApprovalFileList(query.getName() + "(原材料检测报告)", StringUtils.isNotEmpty(recordObj.getOldPdfUrl()) ? recordObj.getOldPdfUrl() : null);
                     }
                 }
@@ -284,6 +324,13 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
         return null;
     }
 
+    private String getReplaceHttpURL(String url) {
+        if (!url.contains("https:")) {
+            return url.replace("http:", "https:");
+        }
+        return "";
+    }
+
     @Override
     public List<Task> queryTaskListByFormDataId(String formDataIds) {
         List<Task> result = new ArrayList<>();
@@ -426,53 +473,53 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
      */
     @Override
     public void batchCompleteApprovalTask(List<TaskApprovalVO> taskApprovalVOS) {
-        Long  userId =AuthUtil.getUserId();
-        String  nickName =AuthUtil.getNickName();
+        Long userId = AuthUtil.getUserId();
+        String nickName = AuthUtil.getNickName();
         List<String> taskIds = taskApprovalVOS.stream().map(TaskApprovalVO::getParallelProcessInstanceId).distinct().collect(Collectors.toList());
         this.taskParallelService.update(Wrappers.<TaskParallel>lambdaUpdate()
-                    .set(TaskParallel::getEVisaContent, "当前等待电签的批次较多,请等待几分钟后刷新页面查看........")
-                    .in(TaskParallel::getParallelProcessInstanceId, taskIds));
-            //保存批次
+                .set(TaskParallel::getEVisaContent, "当前等待电签的批次较多,请等待几分钟后刷新页面查看........")
+                .in(TaskParallel::getParallelProcessInstanceId, taskIds));
+        //保存批次
         TaskBatch taskBatch = new TaskBatch(null, JSONObject.toJSONString(taskApprovalVOS));
-            taskBatch.setCreateUser(userId);
-            taskBatch.setNickName(nickName);
-            taskBatch.setCreateTime(new Date());
-
-            this.taskBatchService.save(taskBatch);
-            String taskBatchId = taskBatch.getId().toString();
-
-            // 电签
-            Boolean istrue = true;
-            for (TaskApprovalVO taskApprovalVO : taskApprovalVOS) {
-                Boolean aBoolean = RedisTemplate.hasKey("sign-" + taskApprovalVO.getFormDataId());
-                if(aBoolean){
-                    istrue =false;
-                    break;
-                }
+        taskBatch.setCreateUser(userId);
+        taskBatch.setNickName(nickName);
+        taskBatch.setCreateTime(new Date());
+
+        this.taskBatchService.save(taskBatch);
+        String taskBatchId = taskBatch.getId().toString();
+
+        // 电签
+        Boolean istrue = true;
+        for (TaskApprovalVO taskApprovalVO : taskApprovalVOS) {
+            Boolean aBoolean = RedisTemplate.hasKey("sign-" + taskApprovalVO.getFormDataId());
+            if (aBoolean) {
+                istrue = false;
+                break;
             }
+        }
 
-            // 添加到 线程中
-            if(istrue){
-                CompletableFuture<Void> runAsync = CompletableFuture.runAsync(() -> {
-                    try {
-                        this.checkIsExsitTaskBatch(taskApprovalVOS, taskBatchId,userId,nickName);
-                    } catch (FileNotFoundException e) {
-                        e.printStackTrace();
-                    }
-                }, executor);  
-            }
+        // 添加到 线程中
+        if (istrue) {
+            CompletableFuture<Void> runAsync = CompletableFuture.runAsync(() -> {
+                try {
+                    this.checkIsExsitTaskBatch(taskApprovalVOS, taskBatchId, userId, nickName);
+                } catch (FileNotFoundException e) {
+                    e.printStackTrace();
+                }
+            }, executor);
+        }
     }
 
 
     @Scheduled(cron = "0 */3 * * * ?")
-    public  void  SignInfo() {
+    public void SignInfo() {
         //执行代码
         logger.debug("扫描开始");
         List<TaskBatch> maps = taskBatchService.getBaseMapper().selectList(Wrappers.<TaskBatch>lambdaQuery().eq(TaskBatch::getIsDeleted, 0));
-        if(maps!=null && maps.size()>=1){
-            for (TaskBatch dataInfo:maps){
+        if (maps != null && maps.size() >= 1) {
+            for (TaskBatch dataInfo : maps) {
                 String jsonData = dataInfo.getJsonData();
-                List<TaskApprovalVO> list=JSONArray.parseArray(jsonData,TaskApprovalVO.class);
+                List<TaskApprovalVO> list = JSONArray.parseArray(jsonData, TaskApprovalVO.class);
                 String taskBatchId = dataInfo.getId().toString();
                 Long userId = dataInfo.getCreateUser();
                 String nickName = dataInfo.getNickName();
@@ -480,17 +527,17 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
                 Boolean istrue = true;
                 for (TaskApprovalVO taskApprovalVO : list) {
                     Boolean aBoolean = RedisTemplate.hasKey("sign-" + taskApprovalVO.getFormDataId());
-                    if(aBoolean){
-                        istrue =false;
+                    if (aBoolean) {
+                        istrue = false;
                         break;
                     }
                 }
 
                 // 添加到 线程中
-                if(istrue){
+                if (istrue) {
                     CompletableFuture<Void> runAsync = CompletableFuture.runAsync(() -> {
                         try {
-                            this.checkIsExsitTaskBatch(list, taskBatchId,userId,nickName);
+                            this.checkIsExsitTaskBatch(list, taskBatchId, userId, nickName);
                         } catch (FileNotFoundException e) {
                             e.printStackTrace();
                         }
@@ -501,7 +548,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
         }
     }
 
-    private void checkIsExsitTaskBatch(List<TaskApprovalVO> taskApprovalVOS, String batchId,Long userId,String nickName) throws FileNotFoundException {
+    private void checkIsExsitTaskBatch(List<TaskApprovalVO> taskApprovalVOS, String batchId, Long userId, String nickName) throws FileNotFoundException {
         boolean isContinue = true;
         while (isContinue) {
             logger.info("【任务审核】当前批次开始电签。批次ID:" + batchId);
@@ -509,7 +556,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
             for (TaskApprovalVO taskApprovalVO : taskApprovalVOS) {
                 taskApprovalVO.setUserId(userId);
                 taskApprovalVO.setNickName(nickName);
-                RedisTemplate.opsForValue().set("sign-"+taskApprovalVO.getFormDataId(),"1",300, TimeUnit.SECONDS);
+                RedisTemplate.opsForValue().set("sign-" + taskApprovalVO.getFormDataId(), "1", 300, TimeUnit.SECONDS);
 
                 String pdfUrlEVisa = this.completeApprovalTask(taskApprovalVO);
                 //TODO ============== 电签成功,修改试验状态,关联工程部位信息pdf(只有电签成功,才修改) liuYc 2023-03-16 ==============
@@ -526,7 +573,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
             //executor删除掉对应批次
             this.taskBatchService.deletedById(batchId);
             for (TaskApprovalVO taskApprovalVO : taskApprovalVOS) {
-                RedisTemplate.delete("sign-"+taskApprovalVO.getFormDataId());
+                RedisTemplate.delete("sign-" + taskApprovalVO.getFormDataId());
             }
             isContinue = false;
         }

+ 0 - 5
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialSelfInspectionRecordServiceImpl.java

@@ -8,9 +8,6 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.spire.xls.*;
-import feign.FeignException;
-import io.swagger.models.auth.In;
-import jdk.nashorn.internal.scripts.JD;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang.time.DateUtils;
 import org.springblade.business.dto.*;
@@ -45,8 +42,6 @@ import org.springblade.system.entity.Dict;
 import org.springblade.system.feign.IDictClient;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
-import org.springframework.cloud.openfeign.BladeFeignClientsRegistrar;
-import org.springframework.context.annotation.Bean;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.scheduling.annotation.Async;