|
@@ -1528,8 +1528,10 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
WbsTreeContract origin = list.get(length - 1);
|
|
|
if (origin != null) {
|
|
|
List<WbsTreeContract> saveList = new ArrayList<>();
|
|
|
+ WbsTreeContract beCopy=origin;
|
|
|
for (int i = 0; i < dx; i++) {
|
|
|
- WbsTreeContract target = FormulaUtils.copyPage(origin);
|
|
|
+ WbsTreeContract target = FormulaUtils.copyPage(beCopy);
|
|
|
+ beCopy=target;
|
|
|
saveList.add(target);
|
|
|
}
|
|
|
this.wbsTreeContractService.saveBatch(saveList);
|
|
@@ -1540,9 +1542,10 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
if(maps!=null){
|
|
|
Set<String> exclude = processFds.stream().filter(FormData::isContent).map(FormData::getKey).collect(Collectors.toSet());
|
|
|
/*移除空值,还有p_key_id、id等固定字段*/
|
|
|
- List<String> keys= maps.entrySet().stream().filter(e->Func.isNotEmpty(e.getValue())||exclude.contains(e.getKey())||"p_Key_id".equals(e.getKey())||"id".equals(e.getKey())).map(Map.Entry::getKey).collect(Collectors.toList());
|
|
|
+ List<String> keys= maps.entrySet().stream().filter(e->Func.isNotEmpty(e.getValue())&&!exclude.contains(e.getKey())&&!"p_key_id".equals(e.getKey())&&!"id".equals(e.getKey())).map(Map.Entry::getKey).collect(Collectors.toList());
|
|
|
List<String> fields = new ArrayList<>(Arrays.asList("id","p_key_id"));
|
|
|
- fields.addAll(keys);
|
|
|
+
|
|
|
+ if(keys.size()>0){fields.addAll(keys);}
|
|
|
List<String> values = new ArrayList<>();
|
|
|
keys.forEach(k->{
|
|
|
values.add(maps.get(k));
|
|
@@ -1556,6 +1559,11 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
}).collect(Collectors.joining(","));
|
|
|
String template ="insert into "+origin.getInitTableName()+fieldStr+" values "+valueStr;
|
|
|
this.jdbcTemplate.execute(template);
|
|
|
+ }else{
|
|
|
+ String insert=list.stream().map(
|
|
|
+ w-> "insert into "+w.getInitTableName() +"(id,p_key_id) values ("+SnowFlakeUtil.getId()+","+w.getPKeyId()+")"
|
|
|
+ ).collect(Collectors.joining(";"));
|
|
|
+ this.jdbcTemplate.execute(insert);
|
|
|
}
|
|
|
}
|
|
|
}else{
|
|
@@ -2425,7 +2433,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
List<FormData> processFds = this.createFormDataByTableName(wtcEva.getInitTableName());
|
|
|
FB02 fb02 = new FB02(processFds);
|
|
|
LinkedList<String> treeCode = new LinkedList<>(FormulaUtils.treeCodeSplit(wtcEva.getTreeCode()));
|
|
|
- List<FormulaDataBlock> formulaDataBlocks = this.getSqlList("select a.* 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);
|
|
|
+ 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(","));
|
|
@@ -2440,9 +2448,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
if(fb02.initFdCoords(tableKeysCoordsMap)) {
|
|
|
/*根据数据长度,增减页数*/
|
|
|
List<WbsTreeContract> wtcList = this.adjustPageSize(fb02.getPageNum(), wtcEva, processFds);
|
|
|
- if (fb02.flush(wtcList,fb02.getDatas())) {
|
|
|
- fb02.getSqlList().forEach(System.out::println);
|
|
|
- //this.jdbcTemplate.execute(fb02.getSql());
|
|
|
+ if (fb02.flush(wtcList)) {
|
|
|
+ this.jdbcTemplate.execute(String.join(";", fb02.getSqlList()));
|
|
|
return R.success("成功");
|
|
|
}
|
|
|
}
|