yangyj 1 年之前
父节点
当前提交
22d144e3a0

+ 28 - 23
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -2579,33 +2579,38 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
             WtcEva wtcEva = this.getSqlOne(
                     "select b.tree_code treeCode ,a.contract_id contractId,a.init_table_name initTableName,a.html_url htmlUrl ,a.node_name nodeName ,a.parent_id parentId from m_wbs_tree_contract a join m_wbs_tree_contract b on (a.parent_id=b.id and a.contract_id=b.contract_id) where a.p_key_id ="
                             + pkeyId, WtcEva.class);
-            if(wtcEva.isEva()){
-                wtcEva.setPKeyId(pkeyId);
-                List<FormData> processFds = this.createFormDataByTableName(wtcEva.getInitTableName());
-                LinkedList<String> treeCode = new LinkedList<>(FormulaUtils.treeCodeSplit(wtcEva.getTreeCode()));
-                FB02 fb02 = new FB02(processFds);
-                List<FormulaDataBlock> formulaDataBlocks = this.getSqlList("select a.id,a.type,a.sw_id swId,a.contract_id contractId,a.val from m_formula_data_block a join (select parent_id from m_wbs_tree_contract where tree_code like '" + treeCode.getLast() + "%' and contract_id =" + wtcEva.getContractId() + " and major_data_type=2 and is_deleted=0 ORDER BY tree_code)b on a.sw_id=b.parent_id ", FormulaDataBlock.class);
-                if (formulaDataBlocks!=null&&formulaDataBlocks.size() > 0) {
-                    /*就是分项工程节点的父节点名称*/
-                    String swIds = formulaDataBlocks.stream().map(FormulaDataBlock::getSwId).map(Objects::toString).collect(Collectors.joining(","));
-                    List<Map<String,Object>> listMaps= this.jdbcTemplate.queryForList("select id ,node_name nodeName,full_name fullName  from m_wbs_tree_contract where is_deleted =0 and contract_id="+wtcEva.getContractId()+" and id in("+swIds+")");
-                    Map<String,String> swNameMap = new HashMap<>();
-                    if(listMaps.size()>0){
-                       swNameMap.putAll(listMaps.stream().collect(Collectors.toMap(m->m.get("id").toString(),m->m.get("fullName").toString(),(v1,v2)->v2)));
-                    }
-                     fb02.source(formulaDataBlocks,swNameMap);
-                    if (fb02.getDatas().size() > 0) {
-                        Map<String, String> tableKeysCoordsMap = FormulaUtils.getElementCell(wtcEva.getHtmlUrl());
-                        if(fb02.initFdCoords(tableKeysCoordsMap)) {
-                            /*根据数据长度,增减页数*/
-                            List<WbsTreeContract> wtcList = this.adjustPageSize(fb02.getPageNum(), wtcEva, processFds);
-                            if (fb02.flush(wtcList)) {
-                                this.jdbcTemplate.batchUpdate(fb02.getSql(),fb02.getParams());
-                                return R.success("成功");
+            try {
+                if(wtcEva.isEva()){
+                    wtcEva.setPKeyId(pkeyId);
+                    List<FormData> processFds = this.createFormDataByTableName(wtcEva.getInitTableName());
+                    LinkedList<String> treeCode = new LinkedList<>(FormulaUtils.treeCodeSplit(wtcEva.getTreeCode()));
+                    FB02 fb02 = new FB02(processFds);
+                    List<FormulaDataBlock> formulaDataBlocks = this.getSqlList("select a.id,a.type,a.sw_id swId,a.contract_id contractId,a.val from m_formula_data_block a join (select parent_id from m_wbs_tree_contract where tree_code like '" + treeCode.getLast() + "%' and contract_id =" + wtcEva.getContractId() + " and major_data_type=2 and is_deleted=0 ORDER BY tree_code)b on a.sw_id=b.parent_id ", FormulaDataBlock.class);
+                    if (formulaDataBlocks!=null&&formulaDataBlocks.size() > 0) {
+                        /*就是分项工程节点的父节点名称*/
+                        String swIds = formulaDataBlocks.stream().map(FormulaDataBlock::getSwId).map(Objects::toString).collect(Collectors.joining(","));
+                        List<Map<String,Object>> listMaps= this.jdbcTemplate.queryForList("select id ,node_name nodeName,full_name fullName  from m_wbs_tree_contract where is_deleted =0 and contract_id="+wtcEva.getContractId()+" and id in("+swIds+")");
+                        Map<String,String> swNameMap = new HashMap<>();
+                        if(listMaps.size()>0){
+                            swNameMap.putAll(listMaps.stream().collect(Collectors.toMap(m->m.get("id").toString(),m->m.get("fullName").toString(),(v1,v2)->v2)));
+                        }
+                        fb02.source(formulaDataBlocks,swNameMap);
+                        if (fb02.getDatas().size() > 0) {
+                            Map<String, String> tableKeysCoordsMap = FormulaUtils.getElementCell(wtcEva.getHtmlUrl());
+                            if(fb02.initFdCoords(tableKeysCoordsMap)) {
+                                /*根据数据长度,增减页数*/
+                                List<WbsTreeContract> wtcList = this.adjustPageSize(fb02.getPageNum(), wtcEva, processFds);
+                                if (fb02.flush(wtcList)) {
+                                    this.jdbcTemplate.batchUpdate(fb02.getSql(),fb02.getParams());
+                                    return R.success("成功");
+                                }
                             }
                         }
                     }
                 }
+            }catch (Exception e){
+                e.printStackTrace();
+                return R.data("暂无数据");
             }
         }
         return R.fail("无数据");