liuyc 3 жил өмнө
parent
commit
082e8529e5

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

@@ -132,7 +132,7 @@ public class WbsFormElementController extends BladeController {
         for (WbsFormElementExcel wbsFE : list) {
         for (WbsFormElementExcel wbsFE : list) {
             if (("字符串").equals(wbsFE.getElementType()) || ("string").equals(wbsFE.getElementType())) {
             if (("字符串").equals(wbsFE.getElementType()) || ("string").equals(wbsFE.getElementType())) {
                 wbsFE.setElementType("1");
                 wbsFE.setElementType("1");
-                wbsFE.setElementLength("800");
+                wbsFE.setElementLength("255");
             } else if (("整数").equals(wbsFE.getElementType()) || ("bigint").equals(wbsFE.getElementType())) {
             } else if (("整数").equals(wbsFE.getElementType()) || ("bigint").equals(wbsFE.getElementType())) {
                 wbsFE.setElementType("2");
                 wbsFE.setElementType("2");
                 wbsFE.setElementLength("20");
                 wbsFE.setElementLength("20");
@@ -147,13 +147,13 @@ public class WbsFormElementController extends BladeController {
                 wbsFE.setElementLength("20");
                 wbsFE.setElementLength("20");
             } else if (("签名").equals(wbsFE.getElementType())) {
             } else if (("签名").equals(wbsFE.getElementType())) {
                 wbsFE.setElementType("1");
                 wbsFE.setElementType("1");
-                wbsFE.setElementLength("800");
+                wbsFE.setElementLength("255");
             } else if (("文件").equals(wbsFE.getElementType())) {
             } else if (("文件").equals(wbsFE.getElementType())) {
                 wbsFE.setElementType("1");
                 wbsFE.setElementType("1");
-                wbsFE.setElementLength("800");
+                wbsFE.setElementLength("255");
             } else {
             } else {
                 wbsFE.setElementType("1");
                 wbsFE.setElementType("1");
-                wbsFE.setElementLength("800");
+                wbsFE.setElementLength("255");
             }
             }
         }
         }
         return R.data(list, "操作成功");
         return R.data(list, "操作成功");

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ContractInfoMapper.xml

@@ -291,6 +291,8 @@
         <if test="parentId != null and parentId != ''">
         <if test="parentId != null and parentId != ''">
             and parent_id = #{parentId}
             and parent_id = #{parentId}
         </if>
         </if>
+        /*不查询客户端新增或者复制的节点 old_id = null*/
+        AND old_id is null
         ORDER BY d.sort
         ORDER BY d.sort
     </select>
     </select>
 
 

+ 12 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsFormElementMapper.java

@@ -3,6 +3,7 @@ package org.springblade.manager.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
+import org.springblade.manager.dto.FormElementDTO2;
 import org.springblade.manager.dto.WbsFormElementDTO;
 import org.springblade.manager.dto.WbsFormElementDTO;
 import org.springblade.manager.dto.WbsFormElementDTO2;
 import org.springblade.manager.dto.WbsFormElementDTO2;
 import org.springblade.manager.entity.WbsFormElement;
 import org.springblade.manager.entity.WbsFormElement;
@@ -44,4 +45,15 @@ public interface WbsFormElementMapper extends BaseMapper<WbsFormElement> {
 
 
     void deleteElement(@Param("wbsFormElement") WbsFormElement wbsFormElement);
     void deleteElement(@Param("wbsFormElement") WbsFormElement wbsFormElement);
 
 
+    void deleteWbsTabById(@Param("wbsTree") FormElementDTO2 formElementDTO);
+
+    void deleteElementByfId(@Param("wbsTree") FormElementDTO2 formElementDTO);
+
+    void deleteElementByfId2(Long id);
+
+    void physicalDeleteBatchIds(@Param("ids") List<Long> ids);
+
+    Object showShowTabLike(@Param("wbsTree") WbsTree wbsTree);
+
+
 }
 }

+ 30 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsFormElementMapper.xml

@@ -76,6 +76,32 @@
         WHERE id = #{wbsFormElement.id}
         WHERE id = #{wbsFormElement.id}
     </delete>
     </delete>
 
 
+    <delete id="deleteWbsTabById">
+        DELETE
+        FROM m_wbs_tree
+        WHERE id = #{wbsTree.id}
+    </delete>
+
+    <delete id="deleteElementByfId">
+        DELETE
+        FROM m_wbs_form_element
+        WHERE f_id = #{wbsTree.id}
+    </delete>
+
+    <delete id="deleteElementByfId2">
+        DELETE
+        FROM m_wbs_form_element
+        WHERE id = #{id}
+    </delete>
+
+    <delete id="physicalDeleteBatchIds" parameterType="java.util.List">
+        DELETE FROM m_wbs_form_element
+        WHERE id IN
+        <foreach item="ids" collection="ids" open="(" close=")" separator=",">
+            #{ids}
+        </foreach>
+    </delete>
+
     <select id="selectWbsFormElementPage" resultMap="wbsFormElementResultMap">
     <select id="selectWbsFormElementPage" resultMap="wbsFormElementResultMap">
         select *
         select *
         from m_wbs_form_element
         from m_wbs_form_element
@@ -123,4 +149,8 @@
         </if>
         </if>
     </select>
     </select>
 
 
+    <select id="showShowTabLike" resultType="java.lang.Object">
+        SHOW TABLES LIKE '${wbsTree.initTableName}'
+    </select>
+
 </mapper>
 </mapper>

+ 1 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml

@@ -300,6 +300,7 @@
           AND wbs_id = #{wbsId}
           AND wbs_id = #{wbsId}
           AND STATUS = 1
           AND STATUS = 1
           AND is_deleted = 0
           AND is_deleted = 0
+          AND old_id is null
     </select>
     </select>
 
 
     <select id="selectParent" resultType="org.springblade.manager.entity.WbsTreePrivate">
     <select id="selectParent" resultType="org.springblade.manager.entity.WbsTreePrivate">

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

@@ -79,4 +79,5 @@ public interface WbsTreePrivateMapper extends BaseMapper<WbsTreePrivate> {
 
 
     boolean updateBatchByPid(@Param("wbsTreePrivates") WbsTreePrivateDTO3 wbsTreePrivates);
     boolean updateBatchByPid(@Param("wbsTreePrivates") WbsTreePrivateDTO3 wbsTreePrivates);
 
 
+    List<WbsTreePrivate> selectByIds(@Param("projectId") String projectId, @Param("ids") List<String> ids);
 }
 }

+ 9 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.xml

@@ -333,7 +333,6 @@
           AND is_deleted = 1
           AND is_deleted = 1
     </select>
     </select>
 
 
-
     <select id="selectIsTable" resultType="org.springblade.manager.entity.WbsTree">
     <select id="selectIsTable" resultType="org.springblade.manager.entity.WbsTree">
         SELECT p_key_id,
         SELECT p_key_id,
                id,
                id,
@@ -602,4 +601,13 @@
           AND is_deleted = 0
           AND is_deleted = 0
     </select>
     </select>
 
 
+    <select id="selectByIds" resultType="org.springblade.manager.entity.WbsTreePrivate">
+        SELECT * FROM m_wbs_tree_private
+        WHERE id in
+        <foreach item="ids" collection="ids" open="(" close=")" separator=",">
+            #{ids}
+        </foreach>
+        AND project_id = #{projectId}
+    </select>
+
 </mapper>
 </mapper>

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

@@ -22,9 +22,6 @@ public interface IWbsTreeContractService extends BaseService<WbsTreeContract> {
 
 
     List<WbsTreeContract> queryContractSubmitWbsTreeByContractId(String contractId);
     List<WbsTreeContract> queryContractSubmitWbsTreeByContractId(String contractId);
 
 
-    @Deprecated
-    boolean submitWbsTreeInContract(WbsTreeContractDTO wbsTreeContractDTO);
-
     boolean submitWbsTreeInContract1(WbsTreeContractDTO wbsTreeContractDTO);
     boolean submitWbsTreeInContract1(WbsTreeContractDTO wbsTreeContractDTO);
 
 
     List<WbsTreeContract> findWbsTreeContract(String ids);
     List<WbsTreeContract> findWbsTreeContract(String ids);

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

@@ -36,9 +36,6 @@ public interface IWbsTreeService extends BaseService<WbsTree> {
 
 
     boolean importWbsTree(MultipartFile excelFile, WbsTree wbsTreeFu, WbsTree wbsTree1) throws IOException;
     boolean importWbsTree(MultipartFile excelFile, WbsTree wbsTreeFu, WbsTree wbsTree1) throws IOException;
 
 
-    @Deprecated
-    String submitWbsTreeInProject(WbsTreeContractDTO pawDTO);
-
     Boolean submitWbsTreeInProject1(WbsTreeContractDTO pawDTO);
     Boolean submitWbsTreeInProject1(WbsTreeContractDTO pawDTO);
 
 
     WbsTreeAllListVO findWbsTreeList(Integer type);
     WbsTreeAllListVO findWbsTreeList(Integer type);

+ 124 - 45
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsFormElementServiceImpl.java

@@ -100,6 +100,13 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
             String fieldNameKey = wbsFormElement.getEKey();
             String fieldNameKey = wbsFormElement.getEKey();
             String fieldType = judgeDataType(wbsFormElement.getEType());
             String fieldType = judgeDataType(wbsFormElement.getEType());
             String fieldLength = String.valueOf(wbsFormElement.getELength());
             String fieldLength = String.valueOf(wbsFormElement.getELength());
+
+            /*if (Integer.parseInt(fieldLength) > 255) {
+                //转成text类型
+                fieldType = "text";
+                fieldLength = "0";
+            }*/
+
             sbr.append("" + fieldNameKey + "");
             sbr.append("" + fieldNameKey + "");
             if ("varchar".equals(fieldType)) {
             if ("varchar".equals(fieldType)) {
                 sbr.append(" " + fieldType + "(" + fieldLength + ") ,\n");
                 sbr.append(" " + fieldType + "(" + fieldLength + ") ,\n");
@@ -128,7 +135,6 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
         }
         }
     }
     }
 
 
-
     @Override
     @Override
     public List<WbsFormElement> selectElementListByFid(String tableId) {
     public List<WbsFormElement> selectElementListByFid(String tableId) {
         QueryWrapper<WbsFormElement> queryWrapper = new QueryWrapper<>();
         QueryWrapper<WbsFormElement> queryWrapper = new QueryWrapper<>();
@@ -185,14 +191,23 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
             }
             }
             String newName = wbsFormElement.getEKey();
             String newName = wbsFormElement.getEKey();
             wbsFormElement.setStatus(1);
             wbsFormElement.setStatus(1);
+
             //同步
             //同步
             StringBuilder sbr1 = new StringBuilder();
             StringBuilder sbr1 = new StringBuilder();
             String fieldType = judgeDataType(wbsFormElement.getEType());
             String fieldType = judgeDataType(wbsFormElement.getEType());
+
             if ("varchar".equals(fieldType)) {
             if ("varchar".equals(fieldType)) {
                 if (wbsFormElement.getELength() > 1000 || wbsFormElement.getELength() < 10) {
                 if (wbsFormElement.getELength() > 1000 || wbsFormElement.getELength() < 10) {
                     return R.fail("请输入正确的字符串长度,范围为10-1000");
                     return R.fail("请输入正确的字符串长度,范围为10-1000");
                 } else {
                 } else {
                     baseMapper.insert(wbsFormElement);
                     baseMapper.insert(wbsFormElement);
+
+                    /*if (wbsFormElement.getELength() > 255) {
+                        //转为text类型
+                        fieldType = "text";
+                        wbsFormElement.setELength(0);
+                    }*/
+
                     sbr1.append(" ").append(fieldType).append("(").append(wbsFormElement.getELength()).append(")");
                     sbr1.append(" ").append(fieldType).append("(").append(wbsFormElement.getELength()).append(")");
                     String sql = newName + " " + sbr1;
                     String sql = newName + " " + sbr1;
                     baseMapper.alterAddFiled(sql, tableName);
                     baseMapper.alterAddFiled(sql, tableName);
@@ -225,10 +240,10 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
                 baseMapper.alterAddFiled(sql, tableName);
                 baseMapper.alterAddFiled(sql, tableName);
                 return R.data(wbsFormElement, "操作成功");
                 return R.data(wbsFormElement, "操作成功");
             }
             }
+
         } catch (Exception e) {
         } catch (Exception e) {
-            //手动回滚
             baseMapper.deleteElement(wbsFormElement);
             baseMapper.deleteElement(wbsFormElement);
-            throw new ServiceException("未找到实体表,新增失败");
+            throw new ServiceException("未获取到对应实体表信息,新增失败");
         }
         }
 
 
         return R.fail("操作失败");
         return R.fail("操作失败");
@@ -252,12 +267,14 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
         for (WbsFormElement wbsFormElement : wbsFormElementList) {
         for (WbsFormElement wbsFormElement : wbsFormElementList) {
             fId = wbsFormElement.getFId();
             fId = wbsFormElement.getFId();
         }
         }
+
         queryWrapper.eq("f_id", fId);
         queryWrapper.eq("f_id", fId);
         List<WbsFormElement> wbsFormElements = baseMapper.selectList(queryWrapper);
         List<WbsFormElement> wbsFormElements = baseMapper.selectList(queryWrapper);
         for (WbsFormElement wbsFormElement : wbsFormElements) {
         for (WbsFormElement wbsFormElement : wbsFormElements) {
             String eKey = wbsFormElement.getEKey();
             String eKey = wbsFormElement.getEKey();
             Integer eLength = wbsFormElement.getELength();
             Integer eLength = wbsFormElement.getELength();
             String eType = judgeDataType(wbsFormElement.getEType());
             String eType = judgeDataType(wbsFormElement.getEType());
+
             if (eType.equals("bigint") && (eLength > 255 || eLength < 10)) {  //整数
             if (eType.equals("bigint") && (eLength > 255 || eLength < 10)) {  //整数
                 return "2";
                 return "2";
             } else if (eType.equals("varchar") && (eLength > 1000 || eLength < 10)) {  //字符串
             } else if (eType.equals("varchar") && (eLength > 1000 || eLength < 10)) {  //字符串
@@ -266,9 +283,16 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
                 return "3";
                 return "3";
             }
             }
             try {
             try {
+
+                /*if (eType.equals("varchar") && eLength > 255) {
+                    //转为text类型
+                    eType = "text";
+                    eLength = 0;
+                }*/
+
                 baseMapper.updateFiledType(initTableName, eKey, eType, eLength);
                 baseMapper.updateFiledType(initTableName, eKey, eType, eLength);
             } catch (Exception e) {
             } catch (Exception e) {
-                throw new ServiceException("未找到实体表,修改失败");
+                throw new ServiceException("未获取到对应实体表信息,修改失败");
             }
             }
         }
         }
 
 
@@ -343,8 +367,8 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
             id++;
             id++;
             listDatum.setFId(wbsFormElementVO2.getId());
             listDatum.setFId(wbsFormElementVO2.getId());
             String initTableFiledType = getInitTableFiledType(listDatum.getEType());
             String initTableFiledType = getInitTableFiledType(listDatum.getEType());
-            String elementLength = setDefaultElementLength(Integer.valueOf(initTableFiledType));
-            listDatum.setELength(Integer.valueOf(elementLength));
+            Integer elementLength = getElementLength2(initTableFiledType);
+            listDatum.setELength(elementLength);
             listDatum.setEKey("key_" + id);
             listDatum.setEKey("key_" + id);
         }
         }
 
 
@@ -409,13 +433,25 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
 
 
                     baseMapper.insert(wbsFormElementInfo);
                     baseMapper.insert(wbsFormElementInfo);
 
 
+                    String eTypeFiled = getInitTableFiledType(wbsFormElementInfo.getEType());
+                    int eLengthFiled = Integer.parseInt(setDefaultElementLength(wbsFormElementInfo.getEType()));
+
+                    /*if (wbsFormElementInfo.getEType() == 1 && wbsFormElementInfo.getELength() > 255) {
+                        //转为text类型
+                        eTypeFiled = "text";
+                        eLengthFiled = 0;
+                    }*/
+
                     //追加字段到实体表中
                     //追加字段到实体表中
-                    wbsTreeMapper.alterTableFiled(wbsTree.getInitTableName(), key,
-                            getInitTableFiledType(wbsFormElementInfo.getEType()),
-                            Integer.valueOf(setDefaultElementLength(wbsFormElementInfo.getEType())));
+                    try {
+                        wbsTreeMapper.alterTableFiled(wbsTree.getInitTableName(), key, eTypeFiled, eLengthFiled);
+                    }catch (Exception e){
+                        //删除元素
+                        baseMapper.deleteElementByfId2(wbsFormElementInfo.getId());
+                        throw new ServiceException("实体表字段同步异常,操作失败");
+                    }
 
 
                     keyNumber1[0]++;
                     keyNumber1[0]++;
-
                 });
                 });
 
 
                 //修改关联信息
                 //修改关联信息
@@ -430,7 +466,17 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public boolean saveRelation(FormElementDTO2 formElementDTO) {
     public boolean saveRelation(FormElementDTO2 formElementDTO) {
+        List<Long> elementIds = new ArrayList<>();
         try {
         try {
+            //获取当前表信息
+            WbsTree wbsTree = wbsTreeMapper.selectOne(Wrappers.<WbsTree>query().lambda().eq(WbsTree::getId, formElementDTO.getId()));
+
+            //查询实体表是否存在
+            Object obj = baseMapper.showShowTabLike(wbsTree);
+            if (obj == null) {
+                throw new ServiceException("未获取到对应实体表信息,关联失败");
+            }
+
             //获取当前元素表与清表关系信息
             //获取当前元素表与清表关系信息
             List<WbsTabRelationExcelTab> list = baseMapper.selectWbsTabRelationExcelTab(String.valueOf(formElementDTO.getId()), String.valueOf(formElementDTO.getExcelTabId()));
             List<WbsTabRelationExcelTab> list = baseMapper.selectWbsTabRelationExcelTab(String.valueOf(formElementDTO.getId()), String.valueOf(formElementDTO.getExcelTabId()));
             if (list.size() <= 0) {
             if (list.size() <= 0) {
@@ -438,9 +484,6 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
                 baseMapper.insertWbsTabRelationExcelTab(SnowFlakeUtil.getId(), formElementDTO.getExcelTabId(), formElementDTO.getId());
                 baseMapper.insertWbsTabRelationExcelTab(SnowFlakeUtil.getId(), formElementDTO.getExcelTabId(), formElementDTO.getId());
             }
             }
 
 
-            //获取当前表信息
-            WbsTree wbsTree = wbsTreeMapper.selectOne(Wrappers.<WbsTree>query().lambda().eq(WbsTree::getId, formElementDTO.getId()));
-
             //获取表单下的元素信息
             //获取表单下的元素信息
             List<WbsFormElement> wbsFormElements = baseMapper.selectList(Wrappers.<WbsFormElement>query().lambda()
             List<WbsFormElement> wbsFormElements = baseMapper.selectList(Wrappers.<WbsFormElement>query().lambda()
                     .eq(WbsFormElement::getFId, formElementDTO.getId()));
                     .eq(WbsFormElement::getFId, formElementDTO.getId()));
@@ -464,14 +507,23 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
                 wbsFormElementInfo.setId(SnowFlakeUtil.getId());
                 wbsFormElementInfo.setId(SnowFlakeUtil.getId());
                 wbsFormElementInfo.setFId(String.valueOf(formElementDTO.getId()));
                 wbsFormElementInfo.setFId(String.valueOf(formElementDTO.getId()));
                 wbsFormElementInfo.setStatus(1);
                 wbsFormElementInfo.setStatus(1);
+                wbsFormElementInfo.setIsDeleted(0);
                 wbsFormElementInfo.setELength(Integer.parseInt(setDefaultElementLength(wbsFormElementInfo.getEType())));
                 wbsFormElementInfo.setELength(Integer.parseInt(setDefaultElementLength(wbsFormElementInfo.getEType())));
 
 
                 baseMapper.insert(wbsFormElementInfo);
                 baseMapper.insert(wbsFormElementInfo);
+                elementIds.add(wbsFormElementInfo.getId());
+
+                String eTypeFiled = getInitTableFiledType(wbsFormElementInfo.getEType());
+                int eLengthFiled = Integer.parseInt(setDefaultElementLength(wbsFormElementInfo.getEType()));
+
+                /*if (wbsFormElementInfo.getEType() == 1 && wbsFormElementInfo.getELength() > 255) {
+                    //转为text类型
+                    eTypeFiled = "text";
+                    eLengthFiled = 0;
+                }*/
 
 
                 //追加字段到实体表中
                 //追加字段到实体表中
-                wbsTreeMapper.alterTableFiled(wbsTree.getInitTableName(), key,
-                        getInitTableFiledType(wbsFormElementInfo.getEType()),
-                        Integer.valueOf(setDefaultElementLength(wbsFormElementInfo.getEType())));
+                wbsTreeMapper.alterTableFiled(wbsTree.getInitTableName(), key, eTypeFiled, eLengthFiled);
 
 
                 keyNumber1[0]++;
                 keyNumber1[0]++;
 
 
@@ -480,9 +532,17 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
             //修改关联信息
             //修改关联信息
             wbsTree.setIsLinkTable(2);
             wbsTree.setIsLinkTable(2);
             wbsTreeMapper.updateById(wbsTree);
             wbsTreeMapper.updateById(wbsTree);
+
         } catch (Exception e) {
         } catch (Exception e) {
-            throw new ServiceException("关联失败");
+            if (elementIds.size() > 0) {
+                //删除关联
+                baseMapper.deleteWbsTabRelationExcelTab(String.valueOf(formElementDTO.getId()), String.valueOf(formElementDTO.getExcelTabId()));
+                //删除元素
+                baseMapper.physicalDeleteBatchIds(elementIds);
+            }
+            throw new ServiceException("未获取到对应实体表信息,关联失败");
         }
         }
+
         return true;
         return true;
     }
     }
 
 
@@ -493,32 +553,34 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
         if (nodeIds.size() <= 0) {
         if (nodeIds.size() <= 0) {
             throw new ServiceException("请至少选择一个节点进行新增操作");
             throw new ServiceException("请至少选择一个节点进行新增操作");
         } else {
         } else {
-            try {
-                for (String nodeId : nodeIds) {
-                    String deptName = formElementDTO.getDeptName();
-                    if (deptName.length() > 100 || deptName.length() < 1) {
-                        throw new ServiceException("表名长度错误,输入范围1-100个字符长度");
-                    }
-                    if (formElementDTO.getElementList().size() <= 0) {
-                        throw new ServiceException("操作失败,请先添加表单元素");
-                    }
-                    for (WbsFormElement wbsFormElement : formElementDTO.getElementList()) {
-                        if (StringUtils.isEmpty(wbsFormElement.getEName()) ||
-                                StringUtils.isEmpty(String.valueOf(wbsFormElement.getEType()))) {
-                            throw new ServiceException("操作失败,请完整填写元素名称与类型参数");
-                        }
+
+            for (String nodeId : nodeIds) {
+                String deptName = formElementDTO.getDeptName();
+                if (deptName.length() > 100 || deptName.length() < 1) {
+                    throw new ServiceException("表名长度错误,输入范围1-100个字符长度");
+                }
+                if (formElementDTO.getElementList().size() <= 0) {
+                    throw new ServiceException("操作失败,请先添加表单元素");
+                }
+                for (WbsFormElement wbsFormElement : formElementDTO.getElementList()) {
+                    if (StringUtils.isEmpty(wbsFormElement.getEName()) ||
+                            StringUtils.isEmpty(String.valueOf(wbsFormElement.getEType()))) {
+                        throw new ServiceException("操作失败,请完整填写元素名称与类型参数");
                     }
                     }
+                }
+
+                //初始化
+                Long id = SnowFlakeUtil.getId();
+                String newTableName = "m_" + DateUtil.time() + "_" + id;
+                formElementDTO.setInitTableName(newTableName);
 
 
-                    //初始化
-                    Long id = SnowFlakeUtil.getId();
-                    String newTableName = "m_" + DateUtil.time() + "_" + id;
-                    formElementDTO.setInitTableName(newTableName);
+                //设置parentId=nodeId
+                formElementDTO.setParentId(Long.valueOf(nodeId));
 
 
-                    //设置parentId=nodeId
-                    formElementDTO.setParentId(Long.valueOf(nodeId));
+                //创建元素表
+                boolean b = submit2(formElementDTO);
 
 
-                    //创建元素表
-                    boolean b = submit2(formElementDTO);
+                try {
                     if (b) {
                     if (b) {
                         List<WbsFormElement> elementList = formElementDTO.getElementList();
                         List<WbsFormElement> elementList = formElementDTO.getElementList();
                         int i = 1;
                         int i = 1;
@@ -528,6 +590,8 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
                             wbsFormElement.setId(SnowFlakeUtil.getId());
                             wbsFormElement.setId(SnowFlakeUtil.getId());
                             wbsFormElement.setFId(String.valueOf(formElementDTO.getId()));
                             wbsFormElement.setFId(String.valueOf(formElementDTO.getId()));
                             wbsFormElement.setELength(Integer.valueOf(setDefaultElementLength(wbsFormElement.getEType())));
                             wbsFormElement.setELength(Integer.valueOf(setDefaultElementLength(wbsFormElement.getEType())));
+                            wbsFormElement.setStatus(1);
+                            wbsFormElement.setIsDeleted(0);
                         }
                         }
                         //新增元素
                         //新增元素
                         this.saveBatch(elementList);
                         this.saveBatch(elementList);
@@ -542,11 +606,18 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
                         baseMapper.insertWbsTabRelationExcelTab(SnowFlakeUtil.getId(), formElementDTO.getExcelTabId(), formElementDTO.getId());
                         baseMapper.insertWbsTabRelationExcelTab(SnowFlakeUtil.getId(), formElementDTO.getExcelTabId(), formElementDTO.getId());
 
 
                     }
                     }
+                } catch (Exception e) {
+                    //删除元素表
+                    baseMapper.deleteWbsTabById(formElementDTO);
+                    //删除元素
+                    baseMapper.deleteElementByfId(formElementDTO);
+                    //删除关联
+                    baseMapper.deleteWbsTabRelationExcelTab(String.valueOf(formElementDTO.getId()), String.valueOf(formElementDTO.getExcelTabId()));
+                    throw new ServiceException("新增元素表异常,操作失败");
                 }
                 }
-            } catch (Exception e) {
-                throw new ServiceException("新增元素表操作失败");
             }
             }
         }
         }
+
         return true;
         return true;
     }
     }
 
 
@@ -602,8 +673,16 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
     public boolean syncDataFiled(String initTableName, List<WbsFormElement> listData) {
     public boolean syncDataFiled(String initTableName, List<WbsFormElement> listData) {
         for (WbsFormElement listDatum : listData) {
         for (WbsFormElement listDatum : listData) {
             String initTableFiledType = getInitTableFiledType(listDatum.getEType());
             String initTableFiledType = getInitTableFiledType(listDatum.getEType());
-            Integer elementLength = getElementLength(initTableFiledType);
+            int elementLength = getElementLength(initTableFiledType);
             String eKey = listDatum.getEKey();
             String eKey = listDatum.getEKey();
+
+            /*if (initTableFiledType.equals("varchar") && elementLength > 255) {
+                //转为text类型
+                initTableFiledType = "text";
+                elementLength = 0;
+            }*/
+
+            //同步
             baseMapper.addTableFiled(initTableName, eKey, initTableFiledType, elementLength);
             baseMapper.addTableFiled(initTableName, eKey, initTableFiledType, elementLength);
         }
         }
 
 
@@ -642,7 +721,7 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
             case "字符串":
             case "字符串":
             case "签名":
             case "签名":
             case "文件":
             case "文件":
-                return 800;
+                return 255;
             case "整数":
             case "整数":
             case "数值":
             case "数值":
             case "小数":
             case "小数":
@@ -656,7 +735,7 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
     private Integer getElementLength2(String type) {
     private Integer getElementLength2(String type) {
         switch (type) {
         switch (type) {
             case "varchar":
             case "varchar":
-                return 800;
+                return 255;
             case "bigint":
             case "bigint":
             case "decimal":
             case "decimal":
                 return 20;
                 return 20;
@@ -671,7 +750,7 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
             case 1:  //字符串
             case 1:  //字符串
             case 7:  //文件
             case 7:  //文件
             case 6:  //签名
             case 6:  //签名
-                return "800";
+                return "255";
             case 2:  //整数
             case 2:  //整数
             case 5:  //数值
             case 5:  //数值
             case 3:  //小数
             case 3:  //小数

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

@@ -60,152 +60,6 @@ public class WbsTreeContractServiceImpl
         return this.baseMapper.queryContractSubmitWbsTreeByContractId(contractId);
         return this.baseMapper.queryContractSubmitWbsTreeByContractId(contractId);
     }
     }
 
 
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    @Deprecated
-    public boolean submitWbsTreeInContract(WbsTreeContractDTO pawDTO) {
-        String wbsTreeIds = pawDTO.getWbsTreeIds();
-        String[] ids = wbsTreeIds.split(",");
-        List<String> idList = Arrays.asList(ids);
-        List<String> idList1 = idList.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());
-
-        //获取当前合同段wbs所有节点+表单
-        List<WbsTreeContract> list = baseMapper.findAllNodeList2(pawDTO.getProjectId(), pawDTO.getContractId(), pawDTO.getWbsId());
-
-        //当前合同段所有节点+表单Id
-        //List<String> collect1 = new ArrayList<>();
-        //当前合同段所有节点下表单Id
-        List<String> collect3 = new ArrayList<>();
-        //当前合同段所有节点Id
-        List<String> collect7 = new ArrayList<>();
-
-        if (list.size() > 0) {
-            //所有节点+表单Id
-            /*List<Long> collect = list.stream().map(WbsTreeContract::getId).collect(Collectors.toList());
-            collect1 = collect.stream().map(String::valueOf).collect(Collectors.toList());*/
-
-            //节点下所有表单Id
-            List<WbsTreeContract> collect2 = list.stream().filter(f -> f.getType() == 2).collect(Collectors.toList());
-            List<Long> collect4 = collect2.stream().map(WbsTreeContract::getId).collect(Collectors.toList());
-            collect3 = collect4.stream().map(String::valueOf).collect(Collectors.toList());
-
-            //所有节点
-            List<WbsTreeContract> collect5 = list.stream().filter(f -> f.getType() == 1).collect(Collectors.toList());
-            List<Long> collect6 = collect5.stream().map(WbsTreeContract::getId).collect(Collectors.toList());
-            collect7 = collect6.stream().map(String::valueOf).collect(Collectors.toList());
-
-        }
-
-        List<String> diffRent = getDiffrent(idList1, collect7);
-
-        //同步元素表
-        if (diffRent.size() == 0) {
-            List<WbsTreePrivate> wbsTreePrivateList2 = new ArrayList<>();
-            //获取私有wbs树下所有元素表
-            List<WbsTreePrivate> wbsTreePrivateList = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
-                    .eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId())
-                    .eq(WbsTreePrivate::getWbsId, pawDTO.getWbsId())
-                    .eq(WbsTreePrivate::getType, 2)
-            );
-
-            //只获取当前引用节点下的所有表
-            wbsTreePrivateList.stream().forEach(wbsTreePrivate -> {
-                idList1.stream().forEach(id -> {
-                    if (Long.parseLong(id) == (wbsTreePrivate.getParentId()) && wbsTreePrivate.getType() == 2) {
-                        //表
-                        wbsTreePrivateList2.add(wbsTreePrivate);
-                    }
-                });
-            });
-
-            //私有wbs树下所有元素表的Id collect2
-            List<Long> collect = wbsTreePrivateList2.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
-            List<String> collect2 = collect.stream().map(String::valueOf).collect(Collectors.toList());
-            //获取所有wbsTreePrivate新增的表单Id
-            List<String> diffRent1 = getDiffrent(collect2, collect3);
-
-            if (collect2.size() == collect3.size()) {
-                throw new ServiceException("未检测到当前引用的私有wbs树下有新增的元素表");
-            }
-            if (collect2.size() > collect3.size()) {
-                //初始化
-                List<WbsTreeContract> wbsTreeContracts = new ArrayList<>();
-                wbsTreePrivateList.stream().forEach(wbsTreePrivate -> {
-                    diffRent1.stream().forEach(id -> {
-                        if (Long.parseLong(id) == (wbsTreePrivate.getId())) {
-                            WbsTreeContract wbsTreeContract = getWbsTreeContract(wbsTreePrivate, pawDTO);
-                            wbsTreeContracts.add(wbsTreeContract);
-                        }
-                    });
-                });
-
-                this.saveBatch(wbsTreeContracts, 10000);
-            }
-
-
-        } else {
-            //新增
-            if (idList1.size() > collect7.size()) {
-                List<WbsTreeContract> wbsTreeContractList = new ArrayList<>();
-                List<WbsTreePrivate> wbsTreePrivatesList = new ArrayList<>();
-                ArrayList<ConstructionLedger> constructionLedgerList = new ArrayList<>();
-
-                //获取wbs私有树下节点+表 diffRent=新增的节点id
-                List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectNodeAndTable2(pawDTO.getWbsId(), pawDTO.getProjectId());
-
-                for (WbsTreePrivate wbsTreePrivate : wbsTreePrivates) {
-                    for (String id : diffRent) {
-                        if (Long.parseLong(id) == (wbsTreePrivate.getId())) {
-                            //节点
-                            wbsTreePrivatesList.add(wbsTreePrivate);
-                        } else if (Long.parseLong(id) == (wbsTreePrivate.getParentId()) && wbsTreePrivate.getType() == 2) {
-                            //表
-                            wbsTreePrivatesList.add(wbsTreePrivate);
-                        }
-                    }
-                }
-
-                //初始化
-                wbsTreePrivatesList.stream().forEach(wbsTreePrivate -> {
-                    //节点、表信息
-                    WbsTreeContract wbsTreeContract = getWbsTreeContract(wbsTreePrivate, pawDTO);
-                    wbsTreeContractList.add(wbsTreeContract);
-
-                    //台账信息
-                    if (wbsTreeContract.getDeptCategory() == 6) {
-                        ConstructionLedger constructionLedger = new ConstructionLedger();
-                        constructionLedger.setIsBeton(0);
-                        constructionLedger.setWbsId(wbsTreeContract.getPKeyId());
-                        constructionLedger.setSite(wbsTreeContract.getDeptName());
-                        constructionLedger.setStation(wbsTreeContract.getDeptName());
-                        constructionLedger.setContractId(Long.parseLong(pawDTO.getContractId()));
-                        constructionLedgerList.add(constructionLedger);
-                    }
-
-                });
-
-                //新增合同段wbs树
-                this.saveBatch(wbsTreeContractList, 10000);
-
-                //新增施工台账
-                constructionLedgerFeign.initConstructionLedger(constructionLedgerList);
-
-            } else {
-                //删除
-                List<ContractRelationJlyz> contractRelationJLYZList = baseMapper.selectContractRelationInfoByidSG2(pawDTO.getContractId());
-                if (contractRelationJLYZList.size() > 0) {
-                    throw new ServiceException("当前施工合同段wbs树被监理或业主合同段引用中,删除失败!");
-                }
-
-                List<Long> ids1 = diffRent.stream().map(Long::parseLong).collect(Collectors.toList());
-                baseMapper.deleteBatch(ids1, pawDTO.getWbsId(), pawDTO.getProjectId(), pawDTO.getContractId());
-
-            }
-        }
-
-        return true;
-    }
-
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public boolean submitWbsTreeInContract1(WbsTreeContractDTO pawDTO) {
     public boolean submitWbsTreeInContract1(WbsTreeContractDTO pawDTO) {
@@ -214,7 +68,7 @@ public class WbsTreeContractServiceImpl
         List<String> idList = Arrays.asList(ids);
         List<String> idList = Arrays.asList(ids);
         List<String> idList1 = idList.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());
         List<String> idList1 = idList.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());
 
 
-        //获取当前合同段wbs所有节点+表单
+        //获取当前合同段wbs所有节点+表单(不包括客户端新增或者复制节点)
         List<WbsTreeContract> list = baseMapper.findAllNodeList2(pawDTO.getProjectId(), pawDTO.getContractId(), pawDTO.getWbsId());
         List<WbsTreeContract> list = baseMapper.findAllNodeList2(pawDTO.getProjectId(), pawDTO.getContractId(), pawDTO.getWbsId());
 
 
         //当前合同段所有节点下表单Id
         //当前合同段所有节点下表单Id
@@ -283,7 +137,6 @@ public class WbsTreeContractServiceImpl
                 });
                 });
 
 
                 this.saveBatch(wbsTreeContracts, 10000);
                 this.saveBatch(wbsTreeContracts, 10000);
-
             }
             }
 
 
         } else {
         } else {

+ 12 - 292
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java

@@ -260,11 +260,17 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
 
 
                         wbsFormElementService.save(wbsFormElement);
                         wbsFormElementService.save(wbsFormElement);
 
 
-                        //新增实体字段
-                        baseMapper.alterTableFiled(initTableName,
-                                wbsFormElement.getEKey(),
-                                getInitTableFiledType(wbsFormElement.getEType()),
-                                wbsFormElement.getELength());
+                        String eTypeFiled = getInitTableFiledType(wbsFormElement.getEType());
+                        Integer eLengthFiled = wbsFormElement.getELength();
+
+                        /*//新增实体字段
+                        if (wbsFormElement.getEType() == 1 && wbsFormElement.getELength() > 255) {
+                            //转为text类型
+                            eTypeFiled = "text";
+                            eLengthFiled = 0;
+                        }*/
+
+                        baseMapper.alterTableFiled(initTableName, wbsFormElement.getEKey(), eTypeFiled, eLengthFiled);
                     }
                     }
 
 
                 });
                 });
@@ -351,7 +357,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
             case "字符串":
             case "字符串":
             case "签名":
             case "签名":
             case "文件":
             case "文件":
-                return 800;
+                return 255;
             case "整数":
             case "整数":
             case "数值":
             case "数值":
             case "小数":
             case "小数":
@@ -748,291 +754,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
         return row > 0;
         return row > 0;
     }
     }
 
 
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    @Deprecated
-    public String submitWbsTreeInProject(WbsTreeContractDTO pawDTO) {
-        String wbsTreeIds = pawDTO.getWbsTreeIds();
-        String[] ids = wbsTreeIds.split(",");
-        List<String> idList = Arrays.asList(ids);
-        List<String> idList1 = idList.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());
-        List<String> idList2 = new ArrayList<>();
-
-        //当前公有引用
-        if (pawDTO.getReferenceType().equals("public")) {
-            List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
-                    .eq(WbsTreePrivate::getWbsId, pawDTO.getWbsId())
-                    .eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId())
-                    .eq(WbsTreePrivate::getType, 1)
-            );
-            wbsTreePrivates.stream().forEach(wbsTreePrivate -> {
-                idList2.add(String.valueOf(wbsTreePrivate.getId()));
-            });
-        }
-
-        //私有引用
-        else if (pawDTO.getReferenceType().equals("private")) {
-            List<WbsTreePrivate> wbsTreePrivates2 = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
-                    .eq(WbsTreePrivate::getWbsId, pawDTO.getPrimaryKeyId())
-                    .eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId())
-                    .eq(WbsTreePrivate::getType, 1)
-            );
-            wbsTreePrivates2.stream().forEach(wbsTreePrivate -> {
-                idList2.add(String.valueOf(wbsTreePrivate.getId()));
-            });
-        }
-
-        List<String> diffRent = WbsTreeContractServiceImpl.getDiffrent(idList1, idList2);
-
-        //元素表同步
-        if (diffRent.size() == 0) {
-            if (pawDTO.getReferenceType().equals("public")) {
-                //公有同步新增元素表
-                //获取公有wbs树新增的元素表
-                List<WbsTree> allNodeList = findAllNodeList(wbsTreeIds);
-                List<WbsTree> wbsTreeListAll = new ArrayList<>();
-
-                //获取公有wbs树所有的元素表
-                if (allNodeList != null) {
-                    List<WbsTree> wbsTreeList = wbsTreeMapper.selectList(Wrappers.<WbsTree>query().lambda()
-                            .eq(WbsTree::getWbsId, pawDTO.getWbsId())
-                            .eq(WbsTree::getType, 2)
-                    );
-                    wbsTreeListAll.addAll(wbsTreeList);
-                }
-
-                //公有所以表的id
-                List<Long> collect1 = wbsTreeListAll.stream().map(WbsTree::getId).collect(Collectors.toList());
-                List<String> collect2 = collect1.stream().map(String::valueOf).collect(Collectors.toList());
-
-                //获取项目私有wbs树下当前所有的元素表
-                List<WbsTreePrivate> wbsTreePrivates1 = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
-                        .eq(WbsTreePrivate::getWbsId, pawDTO.getWbsId())
-                        .eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId())
-                        .eq(WbsTreePrivate::getType, 2)
-                );
-
-                //私有下元素表id
-                List<Long> collect3 = wbsTreePrivates1.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
-                List<String> collect4 = collect3.stream().map(String::valueOf).collect(Collectors.toList());
-
-                List<String> diffRent1 = WbsTreeContractServiceImpl.getDiffrent(collect2, collect4);
-
-                if (diffRent1.size() == 0) {
-                    //当wbsTreeIds == "" 时 1.在第一次新增未选择wbs树时  2.同步新增的元素表时
-                    throw new ServiceException("请选择需要关联的树或未检测到所对应新增的元素表");
-
-                } else {
-                    if (collect2.size() > collect4.size()) {
-                        //公有同步元素表
-                        diffRent1.stream().forEach(tableId -> {
-                            WbsTree wbsTree = wbsTreeMapper.selectById(tableId);
-                            Long snowId1 = SnowFlakeUtil.getId();
-                            wbsTreePrivateMapper.insertCombination1(snowId1, wbsTree, pawDTO.getWbsType(), pawDTO.getProjectId());
-                        });
-
-                        return "1";
-                    }
-
-                    //TODO删除
-                }
-
-            } else if (pawDTO.getReferenceType().equals("private")) {
-                //私有同步新增元素表
-                //获取所私有引用项目的新增的元素表 根据primaryKeyId获取对象信息
-                WbsTreePrivate wbsTreePrivate = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda()
-                        .eq(WbsTreePrivate::getPKeyId, pawDTO.getPrimaryKeyId()));
-
-                //获取所私有引用项目的wbs树的全部元素表
-                List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
-                        .eq(WbsTreePrivate::getWbsId, wbsTreePrivate.getWbsId())
-                        .eq(WbsTreePrivate::getProjectId, wbsTreePrivate.getProjectId())
-                        .eq(WbsTreePrivate::getType, 2)
-                );
-
-                //当前新增表单的id
-                List<Long> collect1 = wbsTreePrivates.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
-                List<String> collect2 = collect1.stream().map(String::valueOf).collect(Collectors.toList());
-
-                //获取当前项目私有wbs树下当前所有的元素表
-                List<WbsTreePrivate> wbsTreePrivates1 = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
-                        .eq(WbsTreePrivate::getWbsId, pawDTO.getPrimaryKeyId())
-                        .eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId())
-                        .eq(WbsTreePrivate::getType, 2)
-                );
-
-                //当前存在的表单的id
-                List<Long> collect3 = wbsTreePrivates1.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
-                List<String> collect4 = collect3.stream().map(String::valueOf).collect(Collectors.toList());
-
-                List<String> diffRent1 = WbsTreeContractServiceImpl.getDiffrent(collect2, collect4);
-
-                if (diffRent1.size() == 0) {
-                    throw new ServiceException("未检测到引用的私有wbs树下有新增的元素表");
-
-                } else {
-                    if (collect2.size() > collect4.size()) {
-                        //私有同步元素表
-                        List<WbsTreePrivate> lists = new ArrayList<>();
-
-                        diffRent1.stream().forEach(tableId -> {
-                            List<WbsTreePrivate> wbsTreePrivates3 = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
-                                    .eq(WbsTreePrivate::getId, tableId)
-                                    .eq(WbsTreePrivate::getWbsId, wbsTreePrivate.getWbsId())
-                                    .eq(WbsTreePrivate::getProjectId, wbsTreePrivate.getProjectId())
-                                    .eq(WbsTreePrivate::getType, 2)
-                            );
-                            lists.addAll(wbsTreePrivates3);
-                        });
-
-                        lists.stream().forEach(list -> {
-                            list.setPKeyId(SnowFlakeUtil.getId());
-                            list.setWbsId(pawDTO.getPrimaryKeyId());
-                            list.setProjectId(pawDTO.getProjectId());
-                        });
-
-                        wbsTreePrivateService.saveBatch(lists, 10000);
-                        return "1";
-                    }
-
-                    //TODO删除
-                }
-            }
-        }
-        //新增
-        else {
-            if (idList1.size() > idList2.size()) {
-
-                //数据初始化节点-引用公有
-                List<WbsTreePrivate> insertData = new ArrayList<>();
-                //数据初始化节点-引用私有
-                List<WbsTreePrivate> insertData2 = new ArrayList<>();
-
-                if (pawDTO.getReferenceType().equals("public")) {
-                    //引用公有
-                    //查询所有公共节点+表 diffRent=新增的节点id
-                    List<WbsTree> addListData = new ArrayList<>();
-                    //查询出当前wbs树下所有节点+表信息
-                    List<WbsTree> treesAll = baseMapper.selectList(Wrappers.<WbsTree>query().lambda()
-                            .eq(WbsTree::getWbsId, pawDTO.getWbsId()));
-
-                    for (WbsTree wbsTree : treesAll) {
-                        for (String id : diffRent) {
-                            if (Long.parseLong(id) == (wbsTree.getId())) {
-                                //节点
-                                addListData.add(wbsTree);
-                            } else if (Long.parseLong(id) == (wbsTree.getParentId()) && wbsTree.getType() == 2) {
-                                //表
-                                addListData.add(wbsTree);
-                            }
-
-                        }
-                    }
-
-                    addListData.stream().forEach(tree -> {
-                        WbsTreePrivate wbsTreePrivate2 = getWbsTreePrivate1(tree, pawDTO);
-                        insertData.add(wbsTreePrivate2);
-                    });
-
-                } else if (pawDTO.getReferenceType().equals("private")) {
-                    //引用私有
-                    //查询所有私有节点+表 diffRent=新增的节点id
-                    List<WbsTreePrivate> addListData = new ArrayList<>();
-
-                    //查询出当前wbs树下所有节点+表信息
-                    List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectNodeAndTable(null, pawDTO.getWbsId(), pawDTO.getReferencePrivateWbsProjectId());
-
-                    for (WbsTreePrivate wbsTreePrivate : wbsTreePrivates) {
-                        for (String id : diffRent) {
-                            if (Long.parseLong(id) == (wbsTreePrivate.getId())) {
-                                //节点
-                                addListData.add(wbsTreePrivate);
-                            } else if (Long.parseLong(id) == (wbsTreePrivate.getParentId()) && wbsTreePrivate.getType() == 2) {
-                                //表
-                                addListData.add(wbsTreePrivate);
-                            }
-                        }
-                    }
-
-                    addListData.stream().forEach(tree -> {
-
-                        WbsTreePrivate wbsTreePrivate2 = getWbsTreePrivate2(tree, pawDTO);
-                        insertData2.add(wbsTreePrivate2);
-
-                    });
-                }
-
-                if (pawDTO.getReferenceType().equals("public")) {
-                    wbsTreePrivateService.saveBatch(insertData, 10000);
-                    projectInfoMapper.updateTemplateIdById(pawDTO.getProjectId(), pawDTO.getWbsId(), "public");
-                } else if (pawDTO.getReferenceType().equals("private")) {
-                    wbsTreePrivateService.saveBatch(insertData2, 10000);
-                    projectInfoMapper.updateTemplateIdById(pawDTO.getProjectId(), pawDTO.getPrimaryKeyId(), "private");
-                }
-
-            }
-
-            //删除节点 表单
-            else {
-                if (pawDTO.getReferenceType().equals("public")) {
-                    List<Long> ids1 = diffRent.stream().map(Long::parseLong).collect(Collectors.toList());
-                    //判断是否被合同段引用
-                    List<WbsTreeContract> wbsTreeContract = wbsTreeContractMapper.selectList(Wrappers.<WbsTreeContract>query().lambda()
-                            .eq(WbsTreeContract::getWbsId, pawDTO.getWbsId())
-                            .eq(WbsTreeContract::getProjectId, pawDTO.getProjectId())
-                            .eq(WbsTreeContract::getParentId, 0)
-                    );
-
-                    if (wbsTreeContract.size() > 0) {
-                        List<ContractInfo> contractInfoArrayList = new ArrayList<>();
-                        wbsTreeContract.stream().forEach(list -> {
-                            ContractInfo contractInfos = contractInfoMapper.selectOne(Wrappers.<ContractInfo>query().lambda()
-                                    .eq(ContractInfo::getId, list.getContractId())
-                            );
-                            contractInfoArrayList.add(contractInfos);
-                        });
-                        List<String> names = contractInfoArrayList.stream().map(ContractInfo::getContractName).collect(Collectors.toList());
-                        if (wbsTreeContract.size() > 0) {
-                            String join = StringUtils.join(names, ",");
-                            throw new ServiceException(StringUtil.format("当前项目wbs树已被合同段 {} 引用中,请先取消合同段关联后再删除", join));
-                        }
-                    }
-
-                    baseMapper.deleteBatch(ids1, pawDTO.getWbsId(), pawDTO.getProjectId());
-                    baseMapper.deleteBatch2(ids1, pawDTO.getWbsId(), pawDTO.getProjectId());
-
-                } else if (pawDTO.getReferenceType().equals("private")) {
-                    List<Long> ids2 = diffRent.stream().map(Long::parseLong).collect(Collectors.toList());
-                    //判断是否被合同段引用
-                    List<WbsTreeContract> wbsTreeContract = wbsTreeContractMapper.selectList(Wrappers.<WbsTreeContract>query().lambda()
-                            .eq(WbsTreeContract::getWbsId, pawDTO.getPrimaryKeyId())
-                            .eq(WbsTreeContract::getProjectId, pawDTO.getProjectId())
-                            .eq(WbsTreeContract::getParentId, 0)
-                    );
-
-                    if (wbsTreeContract.size() > 0) {
-                        List<ContractInfo> contractInfoArrayList = new ArrayList<>();
-                        wbsTreeContract.stream().forEach(list -> {
-                            ContractInfo contractInfos = contractInfoMapper.selectOne(Wrappers.<ContractInfo>query().lambda()
-                                    .eq(ContractInfo::getId, list.getContractId())
-                            );
-                            contractInfoArrayList.add(contractInfos);
-                        });
-                        List<String> names = contractInfoArrayList.stream().map(ContractInfo::getContractName).collect(Collectors.toList());
-                        if (wbsTreeContract.size() > 0) {
-                            String join = StringUtils.join(names, ",");
-                            throw new ServiceException(StringUtil.format("当前项目wbs树已被合同段 {} 引用中,请先取消合同段关联后再删除", join));
-                        }
-                    }
-
-                    baseMapper.deleteBatch(ids2, pawDTO.getPrimaryKeyId(), pawDTO.getProjectId());
-                    baseMapper.deleteBatch2(ids2, pawDTO.getPrimaryKeyId(), pawDTO.getProjectId());
-                }
-            }
-        }
-        return "2";
-    }
-
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public Boolean submitWbsTreeInProject1(WbsTreeContractDTO pawDTO) {
     public Boolean submitWbsTreeInProject1(WbsTreeContractDTO pawDTO) {
@@ -1275,7 +996,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                                             }
                                             }
                                         }
                                         }
                                     }
                                     }
-
                                 }
                                 }
                             }
                             }
                         });
                         });