|
@@ -1601,7 +1601,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
/*表名+合同段+父节点*/
|
|
|
String findStr="OP['"+fd.getTableName()+"']['"+fd.getKey()+"']['RG']";
|
|
|
String rangeStr=StringUtils.handleNull(Expression.parse(findStr).calculate(tec.constantMap));
|
|
|
- System.out.println("随机值参数:"+rangeStr);
|
|
|
+ //System.out.println("随机值参数:"+rangeStr);
|
|
|
if(false){
|
|
|
/* Optional<RangeInfo> op=tableColKeyVal.stream().map(map-> BeanUtil.toBean(JSON.parseObject(map.get("val").toString()),RangeInfo.class)).findFirst();
|
|
|
if(op.isPresent()){
|
|
@@ -1665,6 +1665,24 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
if(CustomFunction.containsZH(devStr)||StringUtils.isEmpty(devStr)||StringUtils.handleNull(devStr).contains("/")){
|
|
|
devStr="±100000";
|
|
|
}
|
|
|
+ if(devStr.contains("E[")){
|
|
|
+ List<String> codes= getCodeByEl(devStr);
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+ boolean isNull=false;
|
|
|
+ for (String c:codes){
|
|
|
+ FormData ffd= tec.getFormDataMap().get(c);
|
|
|
+ if(ffd.empty()){
|
|
|
+ isNull=true;
|
|
|
+ break;
|
|
|
+ } else{
|
|
|
+ map.put("E["+c+"]",ffd.getRawValue().stream().filter(StringUtils::isNotEmpty).findFirst().orElse(null)) ;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(isNull){
|
|
|
+ devStr="±100000";
|
|
|
+ }
|
|
|
+ devStr= Arrays.stream(devStr.replaceAll("^\\[|\\]$","").split(",")).map(s->map.getOrDefault(s,s)).map(StringUtils::handleNull).collect(Collectors.joining(","));
|
|
|
+ }
|
|
|
/*设计值可以是数值类型,或空(等效0)*/
|
|
|
if(dataFd!=null){
|
|
|
List<Object> values= dataFd.getRawValue();
|