Ver Fonte

清表关联bug

liuyc há 3 anos atrás
pai
commit
a460f9f789

+ 1 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsFormElementController.java

@@ -75,6 +75,7 @@ public class WbsFormElementController extends BladeController {
 
     /**
      * 新增或修改 wbs表单元素
+     * @deprecated 未使用
      */
     @PostMapping("/submit")
     @ApiOperationSupport(order = 4)

+ 5 - 15
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeController.java

@@ -124,7 +124,7 @@ public class WbsTreeController extends BladeController {
                     .set("deptCategoryName", DictCache.getValue(DictEnum.ORG_CATEGORY, WbsTreeDTO.getDeptCategory()));
             return R.data(kv);
         }
-        return R.fail("操作失败");
+        return R.fail(200,"操作失败");
     }
 
 
@@ -144,7 +144,7 @@ public class WbsTreeController extends BladeController {
                 .eq(WbsTreePrivate::getId, id)
         );
         if (wbsTreePrivates.size() > 0) {
-            return R.fail("当前节点已被项目引用,删除失败");
+            return R.fail(200,"当前节点已被项目引用,删除失败");
         }
         return R.status(wbsTreeService.deleteLogicById(id));
     }
@@ -175,7 +175,7 @@ public class WbsTreeController extends BladeController {
         if (StringUtils.isNotEmpty(id)) {
             List<WbsFormElementVO> wbsFormElements = wbsTreeService.selectFormElements(id);
             if (wbsFormElements.size() > 0) {
-                return R.fail("该表单中的存在元素,删除失败");
+                return R.fail(200,"该表单中的存在元素,删除失败");
             }
             List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
                     .eq(WbsTreePrivate::getStatus, 1)
@@ -188,7 +188,7 @@ public class WbsTreeController extends BladeController {
                 return R.success("删除成功");
             }
         }
-        return R.fail("删除失败");
+        return R.fail(200,"删除失败");
     }
 
     /**
@@ -254,22 +254,12 @@ public class WbsTreeController extends BladeController {
     public R importWbsTree(@RequestPart("excelFile") MultipartFile excelFile,
                            @RequestPart("wbsTreeFu") WbsTree wbsTreeFu) throws IOException {
         WbsTree wbsTree1 = wbsTreeService.getById(wbsTreeFu.getParentId());
-        /*if (wbsTree1.getProjectNodeId().equals(wbsTreeFu.getParentId())) {
-            wbsTreeService.deleteBatchByProjectNodeId(wbsTree1.getProjectNodeId());
-            boolean result = wbsTreeService.importWbsTree(excelFile, wbsTreeFu, wbsTree1);
-            if (result) {
-                return R.success("覆盖导入成功");
-            } else {
-                return R.fail("请选择正确模板导入");
-            }
-        } else {*/
         boolean result = wbsTreeService.importWbsTree(excelFile, wbsTreeFu, wbsTree1);
         if (result) {
             return R.success("新增导入成功");
         } else {
-            return R.fail("请选择正确模板导入");
+            return R.fail(200,"请选择正确模板导入");
         }
-        //}
     }
 
     /**

+ 5 - 11
blade-service/blade-manager/src/main/java/org/springblade/manager/excel/WbsExcelUtil.java

@@ -1,14 +1,11 @@
 package org.springblade.manager.excel;
 
-import cn.hutool.core.exceptions.ExceptionUtil;
-import org.apache.commons.lang.exception.ExceptionUtils;
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.springblade.manager.entity.WbsTree;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.*;
@@ -17,15 +14,12 @@ import java.util.stream.Collectors;
 
 public class WbsExcelUtil {
     /*public static void main(String[] args) throws IOException {
-        *//*WbsExcelUtil excelUtil = new WbsExcelUtil();
+        WbsExcelUtil excelUtil = new WbsExcelUtil();
         //读取excel数据
-        int sum = 0;
-        ArrayList<Map<String, String>> result = excelUtil.readExcelToObj("D:\\Download\\特大斜拉桥、特大悬索桥.xls");
-        for (Map<String, String> map : result) {
-            System.out.println("输出:" + map);
-            sum++;
-        }
-        System.out.println("sum" + sum);*//*
+        ArrayList<Map<String, String>> result = excelUtil.readExcelToObj("C:\\Users\\泓创开发\\Desktop\\excel节点模板\\路面工程.xls");
+        result.forEach(map -> map.forEach((k, v) -> {
+            System.out.println(k + " : " + v);
+        }));
     }*/
 
 

+ 1 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreeService.java

@@ -63,4 +63,5 @@ public interface IWbsTreeService extends BaseService<WbsTree> {
     boolean importWbsTreeTableAndForm(MultipartFile excelFile, WbsTree wbsTree);
 
     boolean deleteLogicById(String id);
+
 }

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

@@ -116,7 +116,7 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
         List<String> idQ = Arrays.asList(idList);
         List<String> idList1 = idQ.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());
         List<String> idList2 = new ArrayList<>();
-        archiveTrees.stream().forEach(id -> {
+        archiveTrees.forEach(id -> {
             idList2.add(String.valueOf(id.getId()));
         });
         List<String> diffRent = getDiffRent(idList1, idList2);

+ 10 - 12
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ContractInfoServiceImpl.java

@@ -160,8 +160,7 @@ public class ContractInfoServiceImpl
 
     @Override
     public List<WbsTreeContractVO2> treeTwo(String projectId) {
-        List<WbsTreeContractVO2> list = wbsTreeContractMapper.selectListByCondition(projectId);
-        return list;
+        return wbsTreeContractMapper.selectListByCondition(projectId);
     }
 
     /**
@@ -208,13 +207,13 @@ public class ContractInfoServiceImpl
             //新增contract_type =2监理 =3指挥部(业主)类型Wbs树
             if (contractInfo.getContractType().equals(2) || contractInfo.getContractType().equals(3)) {
                 List<WbsTreeContractVO3> infos = contractInfo.getIdList();
-                infos.stream().forEach(info -> {
+                infos.forEach(info -> {
                     List<WbsTreeContract> wbsTreeContracts = wbsTreeContractMapper.selectList(Wrappers.<WbsTreeContract>query().lambda()
                             .eq(WbsTreeContract::getContractId, info.getContractId())
                     );
 
                     //初始化
-                    wbsTreeContracts.stream().forEach(i -> {
+                    wbsTreeContracts.forEach(i -> {
                         Long id = SnowFlakeUtil.getId();
                         i.setPKeyId(id);
                         i.setContractIdRelation(i.getContractId());
@@ -250,7 +249,7 @@ public class ContractInfoServiceImpl
 
                 List<WbsTreeContractVO3> list = contractInfo.getIdList();
                 if (list.size() > 0) {
-                    list.stream().forEach(cId -> {
+                    list.forEach(cId -> {
                         //入参根节点id
                         String contractId = cId.getContractId();
                         idList1.add(contractId);
@@ -265,7 +264,7 @@ public class ContractInfoServiceImpl
                         .eq(WbsTreeContract::getParentId, 0)
                 );
 
-                wbsTreeContracts.stream().forEach(id -> {
+                wbsTreeContracts.forEach(id -> {
                     String contractIdRelation = id.getContractIdRelation();
                     idList2.add(String.valueOf(contractIdRelation));
                 });
@@ -274,7 +273,7 @@ public class ContractInfoServiceImpl
 
                 if (idList1.size() > idList2.size()) {
                     //新增
-                    result.stream().forEach(id -> {
+                    result.forEach(id -> {
                         //查询当前需要引用的施工合同wbs树根节点信息
                         WbsTreeContract wbsTreeContract = wbsTreeContractMapper.selectOne(Wrappers.<WbsTreeContract>query().lambda()
                                 .eq(WbsTreeContract::getContractId, id)
@@ -296,7 +295,7 @@ public class ContractInfoServiceImpl
                             );
 
                             //初始化
-                            wbsTreeContractsList.stream().forEach(i -> {
+                            wbsTreeContractsList.forEach(i -> {
                                 Long id1 = SnowFlakeUtil.getId();
                                 i.setPKeyId(id1);
                                 i.setContractIdRelation(i.getContractId());
@@ -309,7 +308,7 @@ public class ContractInfoServiceImpl
                     });
                 } else {
 
-                    result.stream().forEach(id -> {
+                    result.forEach(id -> {
                         //根据关联项目id = getContractIdRelation 删除树
                         wbsTreeContractMapper.delete(Wrappers.<WbsTreeContract>update().lambda()
                                 .set(WbsTreeContract::getIsDeleted, 1)
@@ -334,7 +333,7 @@ public class ContractInfoServiceImpl
             );
             if (list.size() > 0) {
                 Long contractId = contractInfo.getId();
-                list.stream().forEach(i -> {
+                list.forEach(i -> {
                     i.setContractId(String.valueOf(contractId));
                     saveUserInfoByProjectMapper.updateById(i);
                 });
@@ -403,7 +402,6 @@ public class ContractInfoServiceImpl
         return diff;
     }
 
-
     /**
      * 新增合同段保存2(施工-监理引用施工合同wbs私有树)
      */
@@ -427,7 +425,7 @@ public class ContractInfoServiceImpl
             //新增合同段 监理、业主与施工wbs树信息
             if (contractInfo.getContractType().equals(2) || contractInfo.getContractType().equals(3)) {
                 List<WbsTreeContractVO3> infos = contractInfo.getIdList();
-                infos.stream().forEach(info -> {
+                infos.forEach(info -> {
                     baseMapper.insertContractRelationJLYZ(SnowFlakeUtil.getId(), contractInfo.getId(), info.getContractId());
 
                 });

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

@@ -218,7 +218,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
     @Transactional(rollbackFor = Exception.class)
     public boolean updateBatchByPid(List<WbsTreePrivateDTO3> wbsTreePrivates) {
         try {
-            wbsTreePrivates.stream().forEach(list -> {
+            wbsTreePrivates.forEach(list -> {
                 baseMapper.updateBatchByPid(list);
             });
         } catch (Exception e) {

+ 21 - 24
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java

@@ -2,6 +2,7 @@ package org.springblade.manager.service.impl;
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
+import lombok.SneakyThrows;
 import net.sourceforge.pinyin4j.PinyinHelper;
 import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
 import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
@@ -9,6 +10,7 @@ import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
 import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
 import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
 import org.apache.commons.lang.StringUtils;
+import org.jsoup.helper.DataUtil;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.secure.utils.AuthUtil;
@@ -72,10 +74,10 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
     @Override
     public List<WbsTreeVO2> tree(String wbsId, String tenantId, String type) {
 
-        //方法1-数据量过大响应格式错误
+        //1-响应格式错误
         /*return ForestNodeMerger.merge(baseMapper.tree(wbsId, tenantId, type));*/
 
-        //方法2
+        //2
         List<WbsTreeVO2> wbsTreeVO2s = baseMapper.tree2(wbsId, tenantId, type);
 
         //构建
@@ -212,12 +214,12 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
             wbsTree.setIsDeleted(BladeConstant.DB_NOT_DELETED);
             wbsTree.setStatus(1);
 
-            maps.stream().forEach(map -> {
+            maps.forEach(map -> {
                 String deptName = map.get("表名");
                 wbsTree.setDeptName(deptName);
                 wbsTree.setTableType(getTableType(map.get("表类型")));
                 Long id = SnowFlakeUtil.getId();
-                String initTableName = "m_" + DateUtil.time() + "_" + id.toString();
+                String initTableName = "m_" + DateUtil.time() + "_" + id;
                 wbsTree.setInitTableName(initTableName);
                 wbsTree.setId(id);
 
@@ -238,13 +240,13 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
             });
 
             //新增元素
-            list.stream().forEach(i -> {
+            list.forEach(i -> {
                 Long elementTableId = i.getId();
                 String tableName = i.getTableName();
                 String initTableName = i.getInitTableName();
                 final int[] keyNumb = {0};
 
-                result2.stream().forEach(map -> {
+                result2.forEach(map -> {
                     if (tableName.equals(map.get("表名"))) {
                         keyNumb[0]++;
                         WbsFormElement wbsFormElement = new WbsFormElement();
@@ -409,7 +411,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
     @Override
     public List<WbsFormElementVO> selectFormElements(String id) {
         List<WbsFormElementVO> wbsFormElements = wbsTreeMapper.selectFormElements(id);
-        wbsFormElements.stream().forEach(elements -> {
+        wbsFormElements.forEach(elements -> {
             String eAllowDeviation = elements.getEAllowDeviation();
             //转义
             String escapeChar = getEscapeChar(eAllowDeviation);
@@ -452,7 +454,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
         wbsTree1.setProjectNodeId(wbsTree1.getId());
         File file = WbsExcelUtil.convert(excelFile);
         String canonicalPath = file.getCanonicalPath();
-
         try {
             //解析excel
             WbsExcelUtil excelUtil = new WbsExcelUtil();
@@ -543,7 +544,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
         }
 
         WbsTree wbsTree = null;
-
         //不重复 直接新增
         if (wbsTrees.size() <= 0) {
             wbsTreeZi.setStatus(1);
@@ -553,9 +553,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                 wbsTreeZi.setIsConcrete(0);
                 wbsTreeZi.setIsExpernode(0);
             }
-
         } else {
-
             //重复 判断是否为同一父节点,相同父节点跳过,不同新增
             for (WbsTree tree : wbsTrees) {
                 if (wbsTreeZi.getDeptCategory() == 2 || wbsTreeZi.getDeptCategory() == 3
@@ -571,11 +569,9 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                         break;
                     }
                 }
-
                 wbsTree = tree;
             }
         }
-
         return wbsTree;
     }
 
@@ -670,7 +666,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                     .eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId())
                     .eq(WbsTreePrivate::getType, 1)
             );
-            wbsTreePrivates.stream().forEach(wbsTreePrivate -> {
+            wbsTreePrivates.forEach(wbsTreePrivate -> {
                 idList2.add(String.valueOf(wbsTreePrivate.getId()));
             });
         }
@@ -682,7 +678,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                     .eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId())
                     .eq(WbsTreePrivate::getType, 1)
             );
-            wbsTreePrivates2.stream().forEach(wbsTreePrivate -> {
+            wbsTreePrivates2.forEach(wbsTreePrivate -> {
                 idList2.add(String.valueOf(wbsTreePrivate.getId()));
             });
         }
@@ -746,7 +742,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                         //获取当前项目下所有施工合同段id
                         List<ContractInfo> contractInfoIds = contractInfoMapper.selectContractIdByProjectId(pawDTO.getProjectId());
                         //公有同步元素表
-                        diffRent1.stream().forEach(tableId -> {
+                        diffRent1.forEach(tableId -> {
                             WbsTree wbsTree = wbsTreeMapper.selectById(tableId);
                             //判断当前新增的表在私有wbs中是否存在上级节点,存在表示可以新增,不存在表示不新增
                             WbsTreePrivate wbsTreePrivate1 = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda()
@@ -863,7 +859,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                         //私有同步元素表
                         List<WbsTreePrivate> lists = new ArrayList<>();
 
-                        diffRent1.stream().forEach(tableId -> {
+                        diffRent1.forEach(tableId -> {
                             List<WbsTreePrivate> wbsTreePrivates3 = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
                                     .eq(WbsTreePrivate::getId, tableId)
                                     .eq(WbsTreePrivate::getWbsId, wbsTreePrivate.getWbsId())
@@ -873,7 +869,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                             lists.addAll(wbsTreePrivates3);
                         });
 
-                        lists.stream().forEach(list -> {
+                        lists.forEach(list -> {
                             //判断当前新增的表在私有wbs中是否存在上级节点,存在表示可以新增,不存在表示不新增
                             WbsTreePrivate wbsTreePrivate1 = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda()
                                     .eq(WbsTreePrivate::getId, list.getParentId())
@@ -953,7 +949,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
 
                     if (wbsTreeContractList.size() > 0) {
                         List<ContractInfo> contractInfoArrayList = new ArrayList<>();
-                        wbsTreeContractList.stream().forEach(list -> {
+                        wbsTreeContractList.forEach(list -> {
                             ContractInfo contractInfos = contractInfoMapper.selectOne(Wrappers.<ContractInfo>query().lambda()
                                     .eq(ContractInfo::getId, list.getContractId())
                             );
@@ -976,7 +972,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
 
                     if (wbsTreeContractList.size() > 0) {
                         List<ContractInfo> contractInfoArrayList = new ArrayList<>();
-                        wbsTreeContractList.stream().forEach(list -> {
+                        wbsTreeContractList.forEach(list -> {
                             ContractInfo contractInfos = contractInfoMapper.selectOne(Wrappers.<ContractInfo>query().lambda()
                                     .eq(ContractInfo::getId, list.getContractId())
                             );
@@ -1020,7 +1016,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                         }
                     }
 
-                    addListData.stream().forEach(tree -> {
+                    addListData.forEach(tree -> {
                         WbsTreePrivate wbsTreePrivate2 = getWbsTreePrivate1(tree, pawDTO);
                         insertData.add(wbsTreePrivate2);
                     });
@@ -1045,7 +1041,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                         }
                     }
 
-                    addListData.stream().forEach(tree -> {
+                    addListData.forEach(tree -> {
                         WbsTreePrivate wbsTreePrivate2 = getWbsTreePrivate2(tree, pawDTO);
                         insertData2.add(wbsTreePrivate2);
                     });
@@ -1126,7 +1122,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
         wbsTreePrivate.setCreateUser(wbsTree.getCreateUser());
         wbsTreePrivate.setCreateDept(wbsTree.getCreateDept());
 
-
         return wbsTreePrivate;
     }
 
@@ -1167,6 +1162,8 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
         wbsTreePrivate.setUpdateUser(wbsTree.getUpdateUser());
         wbsTreePrivate.setCreateUser(wbsTree.getCreateUser());
         wbsTreePrivate.setCreateDept(wbsTree.getCreateDept());
+        //引用私有wbs,同步清表id
+        wbsTreePrivate.setExcelId(wbsTree.getExcelId());
 
         return wbsTreePrivate;
     }
@@ -1271,7 +1268,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                     && (wbsFormElement.getELength() > 1000 || wbsFormElement.getELength() < 10)) {
                 throw new ServiceException("请输入正确的长度,该类型范围为10-1000");
             }
-            if ((wbsFormElement.getEType() == 2 || wbsFormElement.getEType() == 5 )
+            if ((wbsFormElement.getEType() == 2 || wbsFormElement.getEType() == 5)
                     && (wbsFormElement.getELength() > 255 || wbsFormElement.getELength() < 10)) {
                 throw new ServiceException("请输入正确的长度,该类型范围为10-255");
             }