Browse Source

解决删除复制表且未刷新节点的情况下保存数据报错的问题

lvy 3 days ago
parent
commit
5a07d1a4f6

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

@@ -23,6 +23,7 @@ public class TableInfo {
     private String contractId;
     private String classify;
     private String projectId;
+    private String nodeId;
     private String isTypePrivatePid; //用于判断操作
     private String groupId = "0";
     // 用于实验

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

@@ -2413,8 +2413,8 @@ public class ExcelTabController extends BladeController {
                 map.put(wbsTreeContract.getPKeyId(), wbsTreeContract.getNodeName());
             }
             RandomNumberHolder.setRandomNumber(map);
-        } catch (NumberFormatException e) {
-            throw new RuntimeException(e);
+        } catch (Exception e) {
+            e.printStackTrace();
         }
 
         //公式填充

+ 9 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -378,6 +378,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                 tableInfo.setContractId(dataInfo2.getString("contractId"));
                 tableInfo.setPkeyId(dataInfo2.getString("pkeyId"));
                 tableInfo.setProjectId(dataInfo2.getString("projectId"));
+                tableInfo.setNodeId(dataInfo2.getString("nodeId"));
                 //huangjn 填报的类型,施工或监理
                 tableInfo.setClassify(dataInfo2.getString("classify"));
                 tableInfo.setIsRemoveForSubTab(dataInfo2.getString("isRemoveForSubTab"));
@@ -1785,8 +1786,14 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                 }
                 //获取节点
                 WbsTreeContract wbsTreeContract = this.wbsTreeContractService.getOne(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getPKeyId, tableInfoList.get(0).getPkeyId()));
-                WbsTreeContract wbsTreeContractByP = wbsTreeContractService.getBaseMapper().selectOne(Wrappers.<WbsTreeContract>query().lambda()
-                        .eq(WbsTreeContract::getId, wbsTreeContract.getParentId()).eq(WbsTreeContract::getContractId, wbsTreeContract.getContractId()));
+                WbsTreeContract wbsTreeContractByP;
+                if (wbsTreeContract == null) {
+                    wbsTreeContract = this.wbsTreeContractService.getOne(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getPKeyId, tableInfoList.get(0).getNodeId()));
+                    wbsTreeContractByP = wbsTreeContract;
+                } else {
+                    wbsTreeContractByP = wbsTreeContractService.getBaseMapper().selectOne(Wrappers.<WbsTreeContract>query().lambda()
+                            .eq(WbsTreeContract::getId, wbsTreeContract.getParentId()).eq(WbsTreeContract::getContractId, wbsTreeContract.getContractId()));
+                }
                 //处理文件提名
                 fileName1= this.wbsParamService.createFileTitle(wbsTreeContractByP);
                 if(wbsTreeContractByP.getMajorDataType()!=null&&wbsTreeContractByP.getMajorDataType()==4){