|
@@ -856,7 +856,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
String itemName=FormulaUtils.parseItemName(f.getEName());
|
|
|
String key=itemName.trim();
|
|
|
/*同项目*/
|
|
|
- Optional<FormData> designFdOp= tec.formDataMap.values().stream().filter(o->o.getTableName().equals(f.getTableName())&&StringUtils.isEquals(itemName,FormulaUtils.parseItemName(o.getEName()))&&o.getEName().contains("设计值")&&!o.getEName().contains("判定")).findAny();
|
|
|
+ Optional<FormData> designFdOp= tec.formDataMap.values().stream().filter(o->o.getTableName().equals(f.getTableName())&&!o.equals(f)&&f.getMaxRow().equals(o.getMaxRow())&&o.getEName().contains("设计")).findAny();
|
|
|
if(designFdOp.isPresent()){
|
|
|
key+="@"+designFdOp.get().getValues().stream().map(ElementData::getValue).filter(StringUtils::isNotEmpty).findAny().orElse("");
|
|
|
}
|
|
@@ -1023,14 +1023,15 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
* @Date 2023.04.25 14:41
|
|
|
**/
|
|
|
public FormData itemMatch(FormData measured,@NotNull Integer type){
|
|
|
- Predicate<FormData> predicate =(FormData t)-> StringUtils.isEquals(t.getTableName(),measured.getTableName());
|
|
|
+ Predicate<FormData> predicate =(FormData t)-> StringUtils.isEquals(t.getTableName(),measured.getTableName())&&!t.equals(measured)&&t.getMaxRow().equals(measured.getMaxRow());
|
|
|
if(type ==0){
|
|
|
predicate= predicate.and((FormData t)->t.getEName().contains("设计"));
|
|
|
}else {
|
|
|
predicate= predicate.and((FormData t)->t.getEName().contains("合格"));
|
|
|
}
|
|
|
- predicate= predicate.and((FormData t)->FormulaUtils.similarity(t.getEName(),measured.getEName())>0.75);
|
|
|
- return tec.getFormDataMap().values().stream().filter(predicate).max(Comparator.comparingDouble((FormData t)->FormulaUtils.similarity(t.getEName(),measured.getEName()))).orElse(null);
|
|
|
+// predicate= predicate.and((FormData t)->FormulaUtils.similarity(t.getEName(),measured.getEName())>0.75);
|
|
|
+// return tec.getFormDataMap().values().stream().filter(predicate).max(Comparator.comparingDouble((FormData t)->FormulaUtils.similarity(t.getEName(),measured.getEName()))).orElse(null);
|
|
|
+ return tec.getFormDataMap().values().stream().filter(predicate).findAny().orElse(null);
|
|
|
}
|
|
|
|
|
|
public void write(FormData fd,Object data){
|
|
@@ -1119,7 +1120,7 @@ public List<ElementData> setScale(Integer scale,List<ElementData> data){
|
|
|
scale=StringUtils.getScale(data.stream().map(ElementData::getValue).filter(StringUtils::isDouble).collect(Collectors.toList()));
|
|
|
}
|
|
|
Integer finalScale = scale;
|
|
|
- return data.stream().peek(e->{if(StringUtils.isDouble(e.getValue())){e.setValue(StringUtils.number2String(e.getValue(),finalScale));}}).collect(Collectors.toList());
|
|
|
+ return data.stream().peek(e->{if(StringUtils.isDouble(e.getValue())){e.setValue(StringUtils.number2StringZero(e.getValue(),finalScale));}}).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
@Override
|