|
@@ -155,7 +155,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
List<AppWbsTreeContractVO> tableList =wbsTreeContractService.searchNodeAllTable(primaryKeyId.toString(), "1", contractId.toString(),info.getPId());
|
|
|
this.constantMap.put(TABLE_LIST,tableList);
|
|
|
/*通过判断元素名称来确定,加入汇总公式延后执行*/
|
|
|
- this.constantMap.put("tableNames",tableList.stream().filter(e->StringUtils.isEquals(e.getIsBussShow(),1)).map(WbsTreeContract::getNodeName).collect(Collectors.toList()));
|
|
|
+ // this.constantMap.put("tableNames",tableList.stream().filter(e->StringUtils.isEquals(e.getIsBussShow(),1)).map(WbsTreeContract::getNodeName).collect(Collectors.toList()));
|
|
|
+ this.constantMap.put("tableNames",tableList.stream().map(WbsTreeContract::getNodeName).collect(Collectors.toList()));
|
|
|
|
|
|
List<String> missingList = new ArrayList<>();
|
|
|
this.formDataList.forEach(fd->{
|
|
@@ -222,6 +223,18 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
}
|
|
|
});
|
|
|
if(itemsMap.size()>0){
|
|
|
+ itemsMap.values().forEach(i->{
|
|
|
+ FormData vf=i.getValue();
|
|
|
+ if(vf!=null){
|
|
|
+ if(i.getPass()==null){
|
|
|
+ i.setPass(tec.getFormDataMap().values().stream().filter(v->v.getTableName().equals(vf.getTableName())&&!v.getCode().equals(vf.getCode())).filter(v->v.getEName().contains(i.getPoint())&&v.getEName().contains("率")).findAny().orElse(null));
|
|
|
+ }
|
|
|
+ if(i.getJudge()==null){
|
|
|
+ i.setJudge(tec.getFormDataMap().values().stream().filter(v->v.getTableName().equals(vf.getTableName())&&!v.getCode().equals(vf.getCode())).filter(v->v.getEName().contains(i.getPoint())&&v.getEName().contains("判")).findAny().orElse(null));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
AtomicBoolean update= new AtomicBoolean(false);
|
|
|
itemsMap.values().stream().filter(Measurement::isMatching).forEach(t->{
|
|
|
ElementBlock g=null;
|
|
@@ -253,7 +266,9 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
FormulaUtils.write(t.getJudge(),"合格",null);
|
|
|
}
|
|
|
itemBlockList.sort(Comparator.comparingInt(a->ids.indexOf(a.getPkeyId())));
|
|
|
- FormulaUtils.write(t.getValue(),itemBlockList.stream().map(ItemBlock::getData).flatMap(v->v.stream().flatMap(Collection::stream)).collect(Collectors.toList()),true);
|
|
|
+ List<String> values=itemBlockList.stream().map(ItemBlock::getData).flatMap(v->v.stream().flatMap(Collection::stream)).map(Object::toString).collect(Collectors.toList());
|
|
|
+ int scale = StringUtils.getScale(values);
|
|
|
+ FormulaUtils.write(t.getValue(),values.stream().map(u->StringUtils.number2String(u,scale)).collect(Collectors.toList()), true);
|
|
|
|
|
|
// if(t.getValue().getEName().contains("±")){
|
|
|
// /*存在偏差范围则获取的是偏差值:实测-设计*/
|
|
@@ -862,6 +877,21 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
/*把附表数据刷入对应的附表元素对象*/
|
|
|
sta.flush();
|
|
|
}
|
|
|
+ String mainTableName = this.tec.getTableAll().stream().filter(e -> e.getNodeName().contains("检验单") || e.getNodeName().contains("评定表")).map(AppWbsTreeContractVO::getInitTableName).findFirst().orElse("");
|
|
|
+ if(Func.isNotBlank(mainTableName)){
|
|
|
+ List<FormData> sourceFds=tec.getFormDataMap().values().stream().filter(s->!s.empty()).filter(s->StringUtils.isEquals(s.getTableName(),mainTableName)).collect(Collectors.toList());
|
|
|
+ Map<String,Object> copyMap= new HashMap<>();
|
|
|
+ if(sourceFds.size()>0){
|
|
|
+ sourceFds.forEach(d->{
|
|
|
+ copyMap.put(d.getEName().trim(),d.getValues().stream().map(ElementData::getValue).filter(StringUtils::isNotEmpty).findAny().orElse(""));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ subTableFds.stream().filter(s-> !SubTable.KEYS.contains(s.getEName().trim())).filter(s->copyMap.containsKey(s.getEName().trim())).forEach(t->{
|
|
|
+ Object val = copyMap.get(t.getEName().trim());
|
|
|
+ t.getValues().forEach(e->e.setValue(val));
|
|
|
+ t.setUpdate(1);
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
} catch (Exception e) {
|
|
@@ -951,8 +981,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
List<Object> list = c.getValues().stream().map(ElementData::getValue).filter(StringUtils::isNotEmpty).collect(Collectors.toList());
|
|
|
/*1.无任何记录,当前页无数据,则不需要处理 2.存在记录当前无数据,则要消除 3.没有记录当前有数据,则需要增加 4.有记录有当前记录,则需更新*/
|
|
|
if(Func.isNotEmpty(list)||targetItem!=null){
|
|
|
- FormData designList=tec.getFormDataMap().values().stream().filter(t->StringUtils.isEquals(FormulaUtils.parseItemName(t.getEName()),FormulaUtils.parseItemName(c.getEName()))&&t.getEName().contains("设计")&&StringUtils.isEquals(t.getTableName(),c.getTableName())).collect(Collectors.toList()).get(0);
|
|
|
- FormData pass=tec.getFormDataMap().values().stream().filter(t->StringUtils.isEquals(FormulaUtils.parseItemName(t.getEName()),FormulaUtils.parseItemName(c.getEName()))&&t.getEName().contains("合格")&&StringUtils.isEquals(t.getTableName(),c.getTableName())).collect(Collectors.toList()).get(0);
|
|
|
+ FormData designList=tec.getFormDataMap().values().stream().filter(t->t.getEName().contains(FormulaUtils.parseItemName(c.getEName()))&&t.getEName().contains("设计")&&StringUtils.isEquals(t.getTableName(),c.getTableName())).collect(Collectors.toList()).get(0);
|
|
|
+ FormData pass=tec.getFormDataMap().values().stream().filter(t->t.getEName().contains(FormulaUtils.parseItemName(c.getEName()))&&t.getEName().contains("合格")&&StringUtils.isEquals(t.getTableName(),c.getTableName())).collect(Collectors.toList()).get(0);
|
|
|
if(targetItem==null){
|
|
|
if(eb==null){
|
|
|
eb=new ElementBlock();
|
|
@@ -1008,6 +1038,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
|
|
|
public void write(FormData fd,Object data){
|
|
|
/*如果需要向额外元素或对象输出数据,在此处修改*/
|
|
|
+ fd.setUpdate(1);
|
|
|
FormulaUtils.write(fd,data,false);
|
|
|
}
|
|
|
|