总账推送时序图
2023-02-20 09:28:31 5 举报
时序图
作者其他创作
大纲/内容
直接返回结果
根据entityid获取到参照类型
如果数据为\"DefaultOuterDefVO\"对象,需要递归查询值
012
根据entityid获取实体对象
公式是否以“CurrentPeriodFirstDay”开头
fullclassname == BaseDefDocVO.class.name
实体对象fullclassname不为空 && 单据类型的def1值为空
长度大于1说明,存在引用关系
公式解析工具set表达式数组
获取公式和字段名称
否
是
返回原公式
属性名是否包含\".define\"
通过parser,获取VarryVo数组
如果\"结果数据\"是集合类型,则取第一个
根据参照类型code,数据传递进来的id,属性名称,查询数据库获取数据
公式解析,开始ExFormulaParser.parse
根据属性名,获取结果
如果属性为“accsubject\"
属性定义对象获取到关联的引用实体id
多行表达式,每一个表达式封装成一个VarryVo
公式以\
getValueByPath
根据\".\"分隔字段属性参数
0 1
长度>1
遍历转换模板的字段属性,解析公式,赋值开始
class.forname,加载类
通过属性名称,获取到实体对象的属性定义
获取属性名称
根据数据绑定的entityid获取到实体的对象
\".\"分隔 字段属性参数
根据参数的表达式,在数据中获取值DefaultOuterDefVoUtil.getValueByPath
获取一条公式中所有的参数
结果数据
公式是否以”cmapping“开头
属性名称如果包含\".define\"则取\".define\"前的字符串作为属性名称
根据属性名称获取数据
字段属性名是否>1
获取父节点数据
给属性赋值,属性名字符串\".define\"后的字符串,作为key,公式解析结果作为value
return 结果
返回获取到的属性数据
公式以\";\"分隔成公式数组
根据Mappingdefid获取到实体对象
返回结果
解析器中会进行一系列的操作,将嵌套公式、多表达式等等,进行解析,并解析出参数
啥意思
遍历VarryVo
遍历参数
根据id获取fullClassName参照类型数据
特殊的公式处理
修改当前属性的公式为\"CurrentPeriodFirstDay\" + \"(\" + defVO.getAccbookid() + \")\"
属性名分割后长度是否>1
判断参照的类型,是billtype还是tradetype,取其对应表中的id
获取到引用实体的id
属性名存在\"parent\"
参数名以\".\"进行分割
fullClassName对应的参照数据根据字段属性获取结果
字符串数组长度大于2
收藏
0 条评论
下一页