Parcourir la source

隐藏日期不显示感叹号

cr il y a 1 mois
Parent
commit
4c5b188e4e

+ 7 - 42
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -1818,47 +1818,8 @@ public class ExcelTabController extends BladeController {
         excelTabService.getBussPdfInfo(pkeyId);
         //重新生成PDF修改queryInfo
         excelTabService.getBussPdfs(nodeId, classify, wbsTreeContract.getContractId(), wbsTreeContract.getProjectId());
-
-        //如果操作的的是没填写日期的表单
-        if(wbsTreeContract.getDateIsComplete()!=null&&wbsTreeContract.getDateIsComplete()==2){
-            List<WbsTreeContract> wbsTreeContracts = wbsTreeContractService.getBaseMapper().selectList(new LambdaQueryWrapper<>(WbsTreeContract.class).eq(WbsTreeContract::getPId, wbsTreeContract.getPId()).ne(WbsTreeContract::getPKeyId,wbsTreeContract.getPKeyId()));
-            if(!wbsTreeContracts.isEmpty()){
-                List<WbsTreeContract> list = wbsTreeContracts.stream().filter(w -> Objects.equals(2, w.getDateIsComplete())).collect(Collectors.toList());
-                //除了操作的表单外 不存在没填的日期
-                if(list.isEmpty()){
-                    //放开隐藏 设置祖级节点为2
-                    if(status==1){
-                        String ancestorsPId = wbsTreeContract.getAncestorsPId();
-                        if (ancestorsPId.startsWith("0,")) {
-                            ancestorsPId = ancestorsPId.substring(2);
-                        }
-                        ancestorsPId=ancestorsPId+","+wbsTreeContract.getPKeyId();
-                        List<Long> longList = Arrays.stream(ancestorsPId.split(","))
-                                .map(Long::valueOf)
-                                .collect(Collectors.toList());
-                        UpdateWrapper<WbsTreeContract> updateWrapper1 = new UpdateWrapper<>();
-                        updateWrapper1.in("p_key_id", longList);
-                        updateWrapper1.set("date_is_complete",2);
-                        wbsTreeContractService.update(updateWrapper1);
-                    //隐藏表单  设置祖级节点为1
-                    }if(status==2){
-                        String ancestorsPId = wbsTreeContract.getAncestorsPId();
-                        if (ancestorsPId.startsWith("0,")) {
-                            ancestorsPId = ancestorsPId.substring(2);
-                        }
-                        ancestorsPId=ancestorsPId+","+wbsTreeContract.getPKeyId();
-                        List<Long> longList = Arrays.stream(ancestorsPId.split(","))
-                                .map(Long::valueOf)
-                                .collect(Collectors.toList());
-                        UpdateWrapper<WbsTreeContract> updateWrapper1 = new UpdateWrapper<>();
-                        updateWrapper1.in("p_key_id", longList);
-                        updateWrapper1.set("date_is_complete",1);
-                        wbsTreeContractService.update(updateWrapper1);
-                    }
-                }
-            }
-
-        }
+        WbsTreeContract contract = wbsTreeContractService.getById(Long.parseLong(nodeId));
+        wbsTreeContractService.checkNodeAllDate(contract);
         return R.data("成功");
     }
 
@@ -2102,7 +2063,11 @@ public class ExcelTabController extends BladeController {
                 }
             });
         }
-
+        //检查当前节点下所有的未隐藏的表单日期是否填写完整
+        WbsTreeContract contract = wbsTreeContractService.getById(Long.parseLong(nodeId));
+        if(contract!=null){
+            wbsTreeContractService.checkNodeAllDate(contract);
+        }
         executionTime.info("----数据保存完毕 ----");
         //发生异常后直接返回,不进行合并
         if (errorPKeyIds.size() > 0) {

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreeContractService.java

@@ -88,4 +88,6 @@ public interface IWbsTreeContractService extends BaseService<WbsTreeContract> {
     List<WbsTreeContract> getNodeTyp6(Long pKeyId);
 
     EKeyDto getEKey(String contractId, Long pKeyId, String wbsId);
+
+    boolean checkNodeAllDate(WbsTreeContract contract);
 }

+ 1 - 16
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -2511,28 +2511,13 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
         List<WbsTreeContract> query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(WbsTreeContract.class));
         if(!query.isEmpty()){
             WbsTreeContract contract = query.get(0);
-            if(!Objects.equals(contract.getIsBussShow(), 2)&&contract.getIsDeleted()==0){
-                contract.setDateIsComplete(dateFlag?1:2);
-                String ancestorsPId = contract.getAncestorsPId();
-                if (ancestorsPId.startsWith("0,")) {
-                    ancestorsPId = ancestorsPId.substring(2);
-                }
-                ancestorsPId=ancestorsPId+","+contract.getPKeyId();
-                List<Long> longList = Arrays.stream(ancestorsPId.split(","))
-                        .map(Long::valueOf)
-                        .collect(Collectors.toList());
-                UpdateWrapper<WbsTreeContract> updateWrapper1 = new UpdateWrapper<>();
-                updateWrapper1.in("p_key_id", longList);
-                updateWrapper1.set("date_is_complete",contract.getDateIsComplete());
-                wbsTreeContractService.update(updateWrapper1);
                 if(StringUtils.isNotEmpty(firstDate)){
                     Integer classify =
                             Arrays.asList("1", "2", "3").contains(contract.getTableOwner()) ? 1 :
                                     Arrays.asList("4", "5", "6").contains(contract.getTableOwner()) ? 2 : 1;
                     String updateQuery="update u_information_query set business_time= '"+firstDate+"' where wbs_id="+contract.getPKeyId()+" and classify="+classify;
-                    jdbcTemplate.update(updateQuery);
+                 jdbcTemplate.update(updateQuery);
                 }
-            }
         }
 
 

+ 39 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -2779,6 +2779,45 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
         return baseMapper.getEKey(contractId,pKeyId,wbsId);
     }
 
+    @Override
+    public boolean checkNodeAllDate(WbsTreeContract contract) {
+        List<Integer>tableOwners=new ArrayList<>();
+        if(contract.getTableOwner()==null){
+            tableOwners.add(1);
+            tableOwners.add(2);
+            tableOwners.add(3);
+        } else if (contract.getTableOwner().contains("1")||contract.getTableOwner().contains("2")||contract.getTableOwner().contains("3")) {
+            tableOwners.add(1);
+            tableOwners.add(2);
+            tableOwners.add(3);
+        }else {
+            tableOwners.add(4);
+            tableOwners.add(5);
+            tableOwners.add(6);
+        }
+        List<WbsTreeContract> list = baseMapper.selectList(new LambdaQueryWrapper<>(WbsTreeContract.class).eq(WbsTreeContract::getPId, contract.getPKeyId()).in(WbsTreeContract::getTableOwner,tableOwners).ne(WbsTreeContract::getIsBussShow,2));
+        if(!list.isEmpty()){
+            boolean b = list.stream().anyMatch(w -> w.getDateIsComplete()!=null&&w.getDateIsComplete() == 2);
+            String ancestorsPId = contract.getAncestorsPId();
+            if (ancestorsPId.startsWith("0,")) {
+                ancestorsPId = ancestorsPId.substring(2);
+            }
+            ancestorsPId=ancestorsPId+","+contract.getPKeyId();
+            List<Long> longList = Arrays.stream(ancestorsPId.split(","))
+                    .map(Long::valueOf)
+                    .collect(Collectors.toList());
+            UpdateWrapper<WbsTreeContract> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.in("p_key_id", longList);
+            if(b){
+                updateWrapper.set("date_is_complete",2);
+            }else {
+                updateWrapper.set("date_is_complete",1);
+            }
+            this.update(updateWrapper);
+        }
+        return true;
+    }
+
     /**
      * 展开所有合并单元格并将值填充到每个单元格
      * @param sheet Excel工作表