|
@@ -655,6 +655,11 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
|
|
|
/**通用计算*/
|
|
|
public void generalCalc(){
|
|
|
+ String checkTable ="";
|
|
|
+ Optional<AppWbsTreeContractVO> op=tec.getTableAll().stream().filter(e->StringUtils.isEquals(1,e.getTableType())).findAny();
|
|
|
+ if(op.isPresent()){
|
|
|
+ checkTable=op.get().getInitTableName();
|
|
|
+ }
|
|
|
for(FormData fd:this.formDataList){
|
|
|
if(fd.verify()){
|
|
|
Formula formula =fd.getFormula();
|
|
@@ -712,7 +717,11 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
}
|
|
|
if(local.size()>0){
|
|
|
List<Object> values = slice(local,this.constantMap,f);
|
|
|
- FormulaUtils.write(fd,values,true);
|
|
|
+ if(fd.getTableName().equals(checkTable)){
|
|
|
+ FormulaUtils.write(fd,values,false);
|
|
|
+ }else{
|
|
|
+ FormulaUtils.write(fd,values,true);
|
|
|
+ }
|
|
|
}
|
|
|
}else{
|
|
|
Map<String,Object> em = (Map<String, Object>) currentMap.computeIfAbsent(E,(k)-> new HashMap<>());
|
|
@@ -1061,7 +1070,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
|
|
|
public List<ElementData> setScale(Integer scale,List<ElementData> data){
|
|
|
if(scale==null){
|
|
|
- scale=2;
|
|
|
+ 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());
|