Просмотр исходного кода

Merge branch 'dev' of http://219.151.181.73:3000/zhuwei/bladex into dev

LHB 3 месяцев назад
Родитель
Сommit
8cb7bb15cf

+ 31 - 11
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -612,7 +612,7 @@ public class InformationWriteQueryController extends BladeController {
     public R<Object> abolishOne(@RequestParam String primaryKeyId, @RequestParam String classify, @RequestParam String projectId, @RequestParam String contractId) {
         //查询填报状态
         InformationQuery businessData = this.informationQueryService.getOne(Wrappers.<InformationQuery>lambdaQuery().eq(InformationQuery::getWbsId, primaryKeyId).eq(InformationQuery::getContractId, contractId)
-                .eq(InformationQuery::getClassify, classify).eq(InformationQuery::getType, 1).ne(InformationQuery::getStatus, 3));
+                .eq(InformationQuery::getClassify, classify).eq(InformationQuery::getType, 1).in(InformationQuery::getStatus, 1,2));
         primaryKeyId = primaryKeyId + "*";
         if (businessData != null) {
             //使用批量废除接口
@@ -620,7 +620,7 @@ public class InformationWriteQueryController extends BladeController {
         } else {
             //试验
             InformationQuery businessDataTrial = this.informationQueryService.getOne(Wrappers.<InformationQuery>lambdaQuery().eq(InformationQuery::getWbsId, primaryKeyId).eq(InformationQuery::getClassify, classify).eq(InformationQuery::getContractId, contractId)
-                    .eq(InformationQuery::getType, 2).ne(InformationQuery::getStatus, 3));
+                    .eq(InformationQuery::getType, 2).in(InformationQuery::getStatus, 1,2));
             if (businessDataTrial != null) {
                 //使用批量废除接口
                 return this.batchAbolish(businessDataTrial.getId().toString(), primaryKeyId, projectId, contractId, "撤回成功");
@@ -1384,23 +1384,40 @@ public R<Object> batchTask(@RequestBody StartTaskVO startTaskVO) {
                     trialIds = startTaskVO.getIds();
                 }
                 //试验记录 和 委托单 ids重新赋值映射为数据源ids
-                ids = queryList.stream().map(InformationQuery::getId).map(String::valueOf).toArray(String[]::new);
+//                ids = queryList.stream().map(InformationQuery::getId).map(String::valueOf).toArray(String[]::new);
             }
 
             Map<String, InformationQuery> queryMap = new HashMap<>();
             List<InformationQuery> saveQueryList = new ArrayList<>();
+            List<InformationQuery> queryTempList = new ArrayList<>();
+            Map<String, InformationQuery> queryTempMap = new HashMap<>();
             queryList.forEach(query -> {
-                if (query.getStatus() != null && query.getStatus() == 3) {
-                    query.setId(SnowFlakeUtil.getId());
-                    query.setStatus(0);
-                    saveQueryList.add(query);
+                InformationQuery temp = queryTempMap.get(query.getWbsId() + "," + query.getContractId() + "," + query.getClassify());
+                if (temp != null) {
+                    return;
+                }
+                queryTempMap.put(query.getWbsId() + "," + query.getContractId() + "," + query.getClassify(), query);
+                // todo 待优化
+                long count = this.informationQueryService.count(Wrappers.<InformationQuery>lambdaQuery().eq(InformationQuery::getWbsId, query.getWbsId()).eq(InformationQuery::getClassify, query.getClassify())
+                        .eq(InformationQuery::getContractId, query.getContractId()).in(InformationQuery::getStatus, 1, 2));
+                if (count == 0) {
+                    queryTempList.add(query);
+                    if (query.getStatus() != null && query.getStatus() == 3) {
+                        query.setId(SnowFlakeUtil.getId());
+                        query.setStatus(0);
+                        saveQueryList.add(query);
+                    }
+                    queryMap.put(query.getId().toString(), query);
                 }
-                queryMap.put(query.getId().toString(), query);
             });
+            queryList = queryTempList;
+            if (queryList.isEmpty()) {
+                return R.fail( "已上报,无需重复上报");
+            }
             if (!saveQueryList.isEmpty()) {
                 this.informationQueryService.saveBatch(saveQueryList);
-                ids = queryList.stream().map(InformationQuery::getId).map(String::valueOf).toArray(String[]::new);
             }
+            ids = queryList.stream().map(InformationQuery::getId).map(String::valueOf).toArray(String[]::new);
             boolean var = false;
 
             try {
@@ -1424,7 +1441,7 @@ public R<Object> batchTask(@RequestBody StartTaskVO startTaskVO) {
                         taskVO.setFixedFlowId(startTaskVO.getFixedFlowId());
                     }
                     //设置任务名称
-                    if (StringUtils.isNotEmpty(queryMap.get(id).toString())) {
+                    if (queryMap.get(id) != null && StringUtils.isNotEmpty(queryMap.get(id).getName())) {
                         taskVO.setTaskName(queryMap.get(id).getName());
                     }
                     //设置数据源指向
@@ -1477,7 +1494,7 @@ public R<Object> batchTask(@RequestBody StartTaskVO startTaskVO) {
                             jdbcTemplate.execute(sql);
                         }
                         var = true;
-//                        getPdfs(queryMap.get(id));
+                        getPdfs(queryMap.get(id));
                     } else {
                         return R.fail("创建主流程失败");
                     }
@@ -4626,6 +4643,9 @@ public R<Object> customAddContractNode(@RequestBody CustomAddContractNodeDTO dto
 
     @Async
     public R getPdfs(InformationQuery query){
+        if (query == null) {
+            return null;
+        }
         try {
             return excelTabClient.getPdfS(query.getWbsId() + "", query.getClassify() + "", query.getContractId() + "");
         } catch (IOException e) {

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

@@ -681,7 +681,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
                     }else if (taskApp.getApprovalType()==8) {
                         this.jdbcTemplate.execute("update u_entrust_info set status=1 where id=(SELECT wbs_id from u_information_query where id='"+taskApp.getFormDataId()+"')");
                     }else {
-                        jdbcTemplate.execute("update u_information_query set e_visa_pdf_url='',status=0 where id='"+taskApp.getFormDataId()+"'");
+                        jdbcTemplate.execute("update u_information_query set e_visa_pdf_url='',status=3 where id='"+taskApp.getFormDataId()+"'");
                     }
                 }
             }

+ 14 - 1
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -1641,7 +1641,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
                 if (ObjectUtil.isNotEmpty(vor.getCreateTime())) {
                     vor.setStartTime(DateUtil.format(vor.getCreateTime(), "yyyy-MM-dd"));
                 }
-                vor.setTaskStatusStr(new Integer("0").equals(vor.getStatus()) ? "未上报" : new Integer("1").equals(vor.getStatus()) ? "待审批" : new Integer("2").equals(vor.getStatus()) ? "已审批" : "未上报");
+                vor.setTaskStatusStr(new Integer("0").equals(vor.getStatus()) ? "未上报" : new Integer("1").equals(vor.getStatus()) ? "待审批" : new Integer("2").equals(vor.getStatus()) ? "已审批" : "已废除");
                 try {
                     String fileUserIdAndName = vor.getFileUserIdAndName();
                     String[] fileUserIdAndNames = fileUserIdAndName.split(",");
@@ -1773,6 +1773,19 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
                         } else {
                             return page.setRecords(null);
                         }
+                    } else {
+                        long current = (page.getCurrent() - 1) * page.getSize();
+                        if (current < 0) {
+                            throw new IllegalArgumentException("当前页码不能小于0");
+                        }
+                        int currentNow = (int) (current / page.getSize() + 1);
+                        int pageSize = (int) page.getSize();
+                        int fromIndex = (currentNow - 1) * pageSize;
+                        int toIndex = Math.min(currentNow * pageSize, voResult.size());
+                        List<InformationQueryVO> subList = voResult.subList(fromIndex, toIndex);
+                        page.setRecords(subList);
+                        page.setTotal(voResult.size());
+                        return page;
                     }
                 }
             }