Browse Source

修复了一些BUG

liuyc 3 years ago
parent
commit
e37074416c

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

@@ -164,28 +164,28 @@ public class WbsFormElementController extends BladeController {
         for (WbsFormElementExcel wbsFE : list) {
             if (("字符串").equals(wbsFE.getElementType()) || ("string").equals(wbsFE.getElementType())) {
                 wbsFE.setElementType("1");
-                wbsFE.setElementLength("1000");
+                wbsFE.setElementLength("255");
             } else if (("整数").equals(wbsFE.getElementType()) || ("bigint").equals(wbsFE.getElementType())) {
                 wbsFE.setElementType("2");
-                wbsFE.setElementLength("255");
+                wbsFE.setElementLength("20");
             } else if (("小数").equals(wbsFE.getElementType()) || ("decimal").equals(wbsFE.getElementType())) {
                 wbsFE.setElementType("3");
-                wbsFE.setElementLength("65");
+                wbsFE.setElementLength("20");
             } else if (("日期").equals(wbsFE.getElementType()) || ("datetime").equals(wbsFE.getElementType())) {
                 wbsFE.setElementType("4");
                 wbsFE.setElementLength("0");
             } else if (("数值").equals(wbsFE.getElementType())) {
                 wbsFE.setElementType("3");
-                wbsFE.setElementLength("65");
+                wbsFE.setElementLength("20");
             } else if (("签名").equals(wbsFE.getElementType())) {
                 wbsFE.setElementType("1");
-                wbsFE.setElementLength("1000");
+                wbsFE.setElementLength("255");
             } else if (("文件").equals(wbsFE.getElementType())) {
                 wbsFE.setElementType("1");
-                wbsFE.setElementLength("1000");
+                wbsFE.setElementLength("255");
             } else {
                 wbsFE.setElementType("1");
-                wbsFE.setElementLength("1000");
+                wbsFE.setElementLength("255");
             }
         }
         return R.data(list, "操作成功");
@@ -225,5 +225,16 @@ public class WbsFormElementController extends BladeController {
         return R.data(detail);
     }*/
 
+    /**
+     * 提交清表关联公有Wbs树并创建元素
+     */
+    @ApiOperationSupport(order = 10)
+    @ApiOperation(value = "提交清表关联公有Wbs树并创建元素", notes = "fId、tableElementKey")
+    @RequestMapping(value = "/submitExcelRelationWbsTreeAndElement", method = RequestMethod.POST)
+    public R submitExcelRelationWbsTreeAndElement(String fId, String tableElementKey) {
+        boolean b = wbsFormElementService.submitExcelRelationWbsTreeAndElement(fId, tableElementKey);
+        return R.status(b);
+    }
+
 
 }

+ 99 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml

@@ -152,7 +152,39 @@
 
     <select id="selectByCondition" resultType="org.springblade.manager.entity.WbsTreeContract">
         SELECT
-            *
+            id,
+            p_key_id,
+            wbs_id,
+            wbs_type,
+            project_id,
+            contract_id,
+            contract_type,
+            contract_id_relation,
+            tenant_id,
+            parent_id,
+            dept_category,
+            type,
+            dept_name,
+            full_name,
+            table_type,
+            sort,
+            ancestors,
+            remark,
+            unique_code,
+            partition_code,
+            is_expernode,
+            is_concrete,
+            table_owner,
+            major_data_type,
+            init_table_name,
+            is_link_table,
+            create_user,
+            create_dept,
+            create_time,
+            update_user,
+            update_time,
+            STATUS,
+            is_deleted
         FROM
             m_wbs_tree_contract
         WHERE
@@ -166,7 +198,39 @@
 
     <select id="selectByCondition2" resultType="org.springblade.manager.entity.WbsTreeContract">
         SELECT
-            *
+            id,
+            p_key_id,
+            wbs_id,
+            wbs_type,
+            project_id,
+            contract_id,
+            contract_type,
+            contract_id_relation,
+            tenant_id,
+            parent_id,
+            dept_category,
+            type,
+            dept_name,
+            full_name,
+            table_type,
+            sort,
+            ancestors,
+            remark,
+            unique_code,
+            partition_code,
+            is_expernode,
+            is_concrete,
+            table_owner,
+            major_data_type,
+            init_table_name,
+            is_link_table,
+            create_user,
+            create_dept,
+            create_time,
+            update_user,
+            update_time,
+            STATUS,
+            is_deleted
         FROM
             m_wbs_tree_contract
         WHERE
@@ -179,7 +243,39 @@
 
     <select id="findAllNodeList2" resultType="org.springblade.manager.entity.WbsTreeContract">
         SELECT
-            *
+            id,
+            p_key_id,
+            wbs_id,
+            wbs_type,
+            project_id,
+            contract_id,
+            contract_type,
+            contract_id_relation,
+            tenant_id,
+            parent_id,
+            dept_category,
+            type,
+            dept_name,
+            full_name,
+            table_type,
+            sort,
+            ancestors,
+            remark,
+            unique_code,
+            partition_code,
+            is_expernode,
+            is_concrete,
+            table_owner,
+            major_data_type,
+            init_table_name,
+            is_link_table,
+            create_user,
+            create_dept,
+            create_time,
+            update_user,
+            update_time,
+            STATUS,
+            is_deleted
         FROM
             m_wbs_tree_contract
         WHERE

+ 29 - 168
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.xml

@@ -255,47 +255,24 @@
     </select>
 
     <select id="selectByCondition" resultType="org.springblade.manager.entity.WbsTreePrivate">
-        SELECT
-        p_key_id,
-        id,
-        wbs_id,
-        wbs_type,
-        project_id,
-        tenant_id,
-        parent_id,
-        ancestors,
-        dept_category,
-        dept_name,
-        full_name,
-        sort,
-        remark,
-        type,
-        table_type,
-        create_time,
-        create_user,
-        create_dept,
-        update_user,
-        update_time,
-        status,
-        is_deleted,
-        unique_code,
-        partition_code,
-        is_expernode,
-        is_concrete,
-        table_owner,
-        major_data_type,
-        init_table_name,
-        is_link_table,
-        excel_id,
-        is_exist_form
-        FROM
-            m_wbs_tree_private
+        SELECT  p_key_id,id,wbs_id,wbs_type,project_id,tenant_id,parent_id,ancestors,dept_category,dept_name,full_name,sort,remark,type,
+               table_type,create_time,create_user, create_dept,update_user,update_time,status,is_deleted,unique_code,partition_code,is_expernode,
+               is_concrete,table_owner,major_data_type,init_table_name,is_link_table,excel_id,is_exist_form
+        FROM m_wbs_tree_private
         WHERE
-             project_id = #{projectId}
-            AND wbs_id = #{wbsId}
-            AND STATUS = 1
-            AND is_deleted = 0
-            AND id = #{id} OR (parent_id = #{id} and type = 2)
+        ( id = #{id}
+        AND type = 1
+        AND project_id = #{projectId}
+        AND wbs_id =  #{wbsId}
+        AND STATUS = 1
+        AND is_deleted = 0 )
+        OR
+        ( parent_id = #{id}
+        AND type = 2
+        AND project_id = #{projectId}
+        AND wbs_id = #{wbsId}
+        AND STATUS = 1
+        AND is_deleted = 0 )
     </select>
 
     <select id="selectByCondition2" resultType="org.springblade.manager.entity.WbsTreePrivate">
@@ -314,38 +291,9 @@
 
     <select id="selectIsTable" resultType="org.springblade.manager.entity.WbsTree">
         SELECT
-            p_key_id,
-            id,
-            wbs_id,
-            wbs_type,
-            project_id,
-            tenant_id,
-            parent_id,
-            ancestors,
-            dept_category,
-            dept_name,
-            full_name,
-            sort,
-            remark,
-            type,
-            table_type,
-            create_time,
-            create_user,
-            create_dept,
-            update_user,
-            update_time,
-            status,
-            is_deleted,
-            unique_code,
-            partition_code,
-            is_expernode,
-            is_concrete,
-            table_owner,
-            major_data_type,
-            init_table_name,
-            is_link_table,
-            excel_id,
-            is_exist_form
+             p_key_id,id,wbs_id,wbs_type,project_id,tenant_id,parent_id,ancestors,dept_category,dept_name,full_name,sort,remark,type,
+               table_type,create_time,create_user, create_dept,update_user,update_time,status,is_deleted,unique_code,partition_code,is_expernode,
+               is_concrete,table_owner,major_data_type,init_table_name,is_link_table,excel_id,is_exist_form
         FROM
             m_wbs_tree_private
         WHERE
@@ -379,38 +327,9 @@
     </select>
     <select id="getByCondition" resultType="org.springblade.manager.entity.WbsTreePrivate">
         SELECT
-            p_key_id,
-            id,
-            wbs_id,
-            wbs_type,
-            project_id,
-            tenant_id,
-            parent_id,
-            ancestors,
-            dept_category,
-            dept_name,
-            full_name,
-            sort,
-            remark,
-            type,
-            table_type,
-            create_time,
-            create_user,
-            create_dept,
-            update_user,
-            update_time,
-            status,
-            is_deleted,
-            unique_code,
-            partition_code,
-            is_expernode,
-            is_concrete,
-            table_owner,
-            major_data_type,
-            init_table_name,
-            is_link_table,
-            excel_id,
-            is_exist_form
+             p_key_id,id,wbs_id,wbs_type,project_id,tenant_id,parent_id,ancestors,dept_category,dept_name,full_name,sort,remark,type,
+               table_type,create_time,create_user, create_dept,update_user,update_time,status,is_deleted,unique_code,partition_code,is_expernode,
+               is_concrete,table_owner,major_data_type,init_table_name,is_link_table,excel_id,is_exist_form
         FROM m_wbs_tree_private
         WHERE project_id = #{projectId}
         AND id = #{parentId}
@@ -421,38 +340,9 @@
     </select>
     <select id="getByPKeyId" resultType="org.springblade.manager.entity.WbsTreePrivate">
         SELECT
-            p_key_id,
-            id,
-            wbs_id,
-            wbs_type,
-            project_id,
-            tenant_id,
-            parent_id,
-            ancestors,
-            dept_category,
-            dept_name,
-            full_name,
-            sort,
-            remark,
-            type,
-            table_type,
-            create_time,
-            create_user,
-            create_dept,
-            update_user,
-            update_time,
-            status,
-            is_deleted,
-            unique_code,
-            partition_code,
-            is_expernode,
-            is_concrete,
-            table_owner,
-            major_data_type,
-            init_table_name,
-            is_link_table,
-            excel_id,
-            is_exist_form
+             p_key_id,id,wbs_id,wbs_type,project_id,tenant_id,parent_id,ancestors,dept_category,dept_name,full_name,sort,remark,type,
+               table_type,create_time,create_user, create_dept,update_user,update_time,status,is_deleted,unique_code,partition_code,is_expernode,
+               is_concrete,table_owner,major_data_type,init_table_name,is_link_table,excel_id,is_exist_form
         FROM m_wbs_tree_private
         WHERE p_key_id = #{pKeyId}
     </select>
@@ -473,38 +363,9 @@
     </select>
     <select id="selectByPKeyId" resultType="org.springblade.manager.entity.WbsTreePrivate">
         SELECT
-            p_key_id,
-            id,
-            wbs_id,
-            wbs_type,
-            project_id,
-            tenant_id,
-            parent_id,
-            ancestors,
-            dept_category,
-            dept_name,
-            full_name,
-            sort,
-            remark,
-            type,
-            table_type,
-            create_time,
-            create_user,
-            create_dept,
-            update_user,
-            update_time,
-            status,
-            is_deleted,
-            unique_code,
-            partition_code,
-            is_expernode,
-            is_concrete,
-            table_owner,
-            major_data_type,
-            init_table_name,
-            is_link_table,
-            excel_id,
-            is_exist_form
+             p_key_id,id,wbs_id,wbs_type,project_id,tenant_id,parent_id,ancestors,dept_category,dept_name,full_name,sort,remark,type,
+               table_type,create_time,create_user, create_dept,update_user,update_time,status,is_deleted,unique_code,partition_code,is_expernode,
+               is_concrete,table_owner,major_data_type,init_table_name,is_link_table,excel_id,is_exist_form
         FROM m_wbs_tree_private WHERE p_key_id = #{referenceWbsTemplateId}
     </select>
 

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

@@ -72,4 +72,6 @@ public interface IWbsFormElementService extends BaseService<WbsFormElement> {
 
     boolean submitBatch(WbsFormElementVO2 wbsFormElementVO2);
 
+    boolean submitExcelRelationWbsTreeAndElement(String fId, String tableElementKey);
+
 }

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

@@ -337,7 +337,7 @@ public class ContractInfoServiceImpl
                 }
                 return true;
             } catch (IOException e) {
-                e.printStackTrace();
+                throw new ServiceException("施工台账初始化失败");
             }
         }
         return false;

+ 5 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsFormElementServiceImpl.java

@@ -342,6 +342,11 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
         return syncDataFiled(wbsFormElementVO2.getInitTableName(), listData);
     }
 
+    @Override
+    public boolean submitExcelRelationWbsTreeAndElement(String fId, String tableElementKey) {
+        return false;
+    }
+
     public boolean syncDataFiled(String initTableName, List<WbsFormElement> listData) {
         for (WbsFormElement listDatum : listData) {
             String initTableFiledType = getInitTableFiledType(listDatum.getEType());

+ 30 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -15,6 +15,7 @@ import org.springblade.core.tool.node.ForestNodeMerger;
 import org.springblade.core.tool.utils.StringPool;
 import org.springblade.manager.dto.WbsTreeContractDTO;
 import org.springblade.manager.entity.WbsInfo;
+import org.springblade.manager.entity.WbsTree;
 import org.springblade.manager.entity.WbsTreeContract;
 import org.springblade.manager.entity.WbsTreePrivate;
 import org.springblade.manager.mapper.WbsInfoMapper;
@@ -65,7 +66,34 @@ public class WbsTreeContractServiceImpl
         }
         List<String> diffRent = getDiffrent(idList1, idList2);
         if (diffRent.size() == 0) {
-            throw new ServiceException("未进行任何操作");
+            WbsInfo wbsInfo = wbsInfoMapper.selectById(pawDTO.getWbsId());
+            Integer wbsType = wbsInfo.getWbsType();
+            //同步项目wbs树新增的元素表
+            List<String> idsList1 = 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(id -> {
+                idsList1.add(String.valueOf(id.getId()));
+            });
+            //获取所有wbsTreePrivate新增的表单id
+            List<String> diffRent1 = getDiffrent(idsList1, idList2);
+            if (diffRent1.size() > 0) {
+                List<WbsTreeContract> wbsTreeContracts = new ArrayList<>();
+                //初始化
+                wbsTreePrivateList.stream().forEach(wbsTreePrivate -> {
+                    diffRent1.stream().forEach(id -> {
+                        if (Long.parseLong(id) == (wbsTreePrivate.getId())) {
+                            WbsTreeContract wbsTreeContract = getWbsTreePrivate(wbsTreePrivate, pawDTO, wbsType);
+                            wbsTreeContracts.add(wbsTreeContract);
+                        }
+                    });
+                });
+                this.saveBatch(wbsTreeContracts, 10000);
+            }
         } else {
             if (idList1.size() > idList2.size()) {
                 WbsInfo wbsInfo = wbsInfoMapper.selectById(pawDTO.getWbsId());
@@ -104,8 +132,8 @@ public class WbsTreeContractServiceImpl
                 });
                 baseMapper.deleteBatch(ids1, pawDTO.getWbsId(), pawDTO.getProjectId(), pawDTO.getContractId());
             }
-            return true;
         }
+        return true;
     }
 
     private WbsTreeContract getWbsTreePrivate(WbsTreePrivate wbsTree, WbsTreeContractDTO pawDTO, Integer wbsType) {

+ 4 - 6
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java

@@ -294,12 +294,11 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
             case "字符串":
             case "签名":
             case "文件":
-                return 1000;
-            case "整数":
                 return 255;
-            case "数":
+            case "整数":
             case "数值":
-                return 65;
+            case "小数":
+                return 20;
             case "日期":
             default:
                 return 0;
@@ -385,8 +384,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
             ArrayList<Map<String, String>> result = excelUtil.readExcelToObj(canonicalPath);
             return importExcel(result, wbsTreeFu, wbsTree1);
         } catch (Exception e) {
-            String message = e.getMessage();
-            throw new ServiceException("导入失败,message{}" + message);
+            throw new ServiceException("导入失败,请确认模板是否正确");
         } finally {
             File file2 = new File(canonicalPath);
             if (file2.isFile() && file2.exists()) {