|
@@ -1131,7 +1131,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
List<FormData> ele = new ArrayList<>();
|
|
List<FormData> ele = new ArrayList<>();
|
|
relyList.forEach(rely->{
|
|
relyList.forEach(rely->{
|
|
FormData formData= tec.getFormDataMap().get(rely);
|
|
FormData formData= tec.getFormDataMap().get(rely);
|
|
- if(formData!=null&&!formData.empty()){
|
|
|
|
|
|
+ /*TODO,这里的判断还需要优化,比如加减法公式,即使某个依赖元素不存在内容却可以视为0,也算是合法的执行条件*/
|
|
|
|
+ if(formData!=null&&!formData.empty()||"m_20231027094746_1717719707244560384:key_11".equals(fd.getCode())){
|
|
ele.add(formData);
|
|
ele.add(formData);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
@@ -1226,18 +1227,31 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
@SuppressWarnings("unchecked")
|
|
@SuppressWarnings("unchecked")
|
|
Map<String,Object> em = (Map<String, Object>) currentMap.computeIfAbsent(E,(k)-> new HashMap<>());
|
|
Map<String,Object> em = (Map<String, Object>) currentMap.computeIfAbsent(E,(k)-> new HashMap<>());
|
|
if(f.split("[/+\\-*]").length>1&&ele.stream().map(e->e.getCoordsList().size()).max(Comparator.comparingInt(e->e)).orElse(1)==1&&fd.getCoordsList().size()==1){
|
|
if(f.split("[/+\\-*]").length>1&&ele.stream().map(e->e.getCoordsList().size()).max(Comparator.comparingInt(e->e)).orElse(1)==1&&fd.getCoordsList().size()==1){
|
|
- ele.forEach(e->{
|
|
|
|
- Object value=e.getValues().get(0).getValue();
|
|
|
|
- if(CustomFunction.isNumber(value)){
|
|
|
|
- if(StringUtils.isDouble(value)||f.contains("/")){
|
|
|
|
- em.put(e.getCode(), Double.parseDouble(value.toString()));
|
|
|
|
|
|
+ if("m_20231027094746_1717719707244560384:key_11".equals(fd.getCode())){
|
|
|
|
+ /*分部评定2表,评分计算特殊处理*/
|
|
|
|
+ ele.forEach(e->{
|
|
|
|
+ /*最后一页的值*/
|
|
|
|
+ Object value = e.getValues().get(e.getValues().size()-1).getValue();
|
|
|
|
+ if(StringUtils.isNotEmpty(value)){
|
|
|
|
+ em.put(e.getCode(), value);
|
|
}else{
|
|
}else{
|
|
- em.put(e.getCode(),StringUtils.handleObj2Integer(value));
|
|
|
|
|
|
+ em.put(e.getCode(), 0);
|
|
}
|
|
}
|
|
- }else{
|
|
|
|
- em.put(e.getCode(),value);
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
|
|
+ });
|
|
|
|
+ }else {
|
|
|
|
+ ele.forEach(e -> {
|
|
|
|
+ Object value = e.getValues().get(0).getValue();
|
|
|
|
+ if (CustomFunction.isNumber(value)) {
|
|
|
|
+ if (StringUtils.isDouble(value) || f.contains("/")) {
|
|
|
|
+ em.put(e.getCode(), Double.parseDouble(value.toString()));
|
|
|
|
+ } else {
|
|
|
|
+ em.put(e.getCode(), StringUtils.handleObj2Integer(value));
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ em.put(e.getCode(), value);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
}else{
|
|
}else{
|
|
ele.forEach(e-> em.put(e.getCode(),e.getRawValue()));
|
|
ele.forEach(e-> em.put(e.getCode(),e.getRawValue()));
|
|
}
|
|
}
|