|
@@ -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("无数据");
|