数据迁移、数学公式解析步骤图解
2020-10-16 09:54:37 0 举报
数学公式、数据迁移
作者其他创作
大纲/内容
(
*
+
$
否
是stack.push(exp)exp.add(expVar)
0
是
DML
int[待办数量]
var是否为Expression
w
1
2
sum
写
6、stack=new Stack<Expression>()存储变量
当前stack是否为空
)
2.1是,直接操作
expVar=var
wf_task(表文件)480W
var=$wget1#
var是否为Expression类型
校验数据是否存在
var是否为null
-
Expression expPop = stack.pop();expPop.add(exp);exp.add(expVar);stack.push(expPop);stack.push(exp);
公式解析步骤
/
2.修改
退出括号
待办预处理
strConst
var=0.7
无效公式
wf_task_1(表文件)60W
循环遍历找到下一个非numbers里的字符结束,并且判断是否包含小数点 var = 0.7
3
index++
sum(
分表设计
taskList-1taskCount-1
next()
7、functionRegister=[+-*/%]之外的函数因为这几个使用符号表示的
A
$wget1#
需要解析的公式
var=null
findMulDiv
QUERY:TASK:COUNT:用户ID:待办所属企业ID
avg
.
($wget_1_1#+0.7*0.3/0.1-1)
t
index=7
解析结果
($wget_1_2#+0.9)
0.7
2.2.1旧表读取数据
var
bpmEvents
Part.OPEN表示以括号开始是一个新的公式区域
bpm-query-service
0.1
expreVar=1
e
$符号开头的#结尾
9
wf_task_0(表文件)100W
wf_task_19(表文件)
读写
企业ID=X
继续循环
avg(
#
USER_RQUEST
流程删除
写入(未打开)
bpm-MQ事件
0.3
分页条数QUERY-TASK-COUNT-用户ID数
异步写入
候选人变更
List[待办ID列表(长度20,创建时间倒序)]
$wget2#
expVar = new Expression(); expVar.setExpreVar(var);
检查缓存
parse()
g
是否有数据
读
非首页请求
QUERY:TASK
check
x%20=1
returnstack.firstElement()
2.2.3执行修改
判断当前下标是否为0或者judgingNegativeNumbers是否包含前一个字符,主要是判断当前这个是不是负数Expression expr = new Expression();expr.setFunc(fn);stack.push(expr);
继续1
前一个函数为+-或自定义函数
stack.isEmpty()
4构建一个新的解析器,将括号内解析出来的表单式对象当做一个变量
2.2.2放入新表
4
X%20=19
CHECK
$aa#
APP首页请求
var=A
完成
bpm-query
findMulDiv(exp=stack.pop()) Expression expVar = new Expression();expVar.setExpreVar(var);
wf_task_0(表文件)60W
his)taskList-1his)taskCount-1task+1 taskList+1taskCount+1if taskCount>50{ removeLast}
一个圈代表一个Expression对象,它有3个变量expreVar变量func函数item子节点参数
MQSQL写入
5、Object var
expr=-
index=1
var= null
Part.MP
X%20=0
4、index=0公式解析的字符串下标
1新增
REDIS缓存计算
执行同步
返回是个变量
Part.VAR
用于判断下一个字符是否为负数
2index=0
QUERY:TASK:ID:LIST:用户ID:待办所属企业ID
待办Map[id->task]
pagesize=2
2.2否
func=-
REDIS
data-transfer(对比数据差异进行同步)
expVar = new Expression(); expVar.setExpreVar(var);var=null;
写入
7
不能把0.7直接丢给前一个函数是因为不知道下一个函数是什么,没办法确定函数的执行顺序
taskList+1taskCount+1if taskCount>50{ removeLast}
CHECKstack.peek()
numbers.contains('0')
taskList不变taskCount-1
Expression expr = new Expression();expr.setFunc(FunctionEnum.PLUS.method);
item
0.9
是否自定义函数
findMinPlu(exp=stack.pop())
创建
index=0
Part.MD
null
end
stack.pop()
无缓存查询MYSQL
解析器成员变量
findMinPlu
nextPart=='/' ||nextPart=='*' ||nextPart=='%'Expression expr = new Expression();expr.setFunc(multiply);stack.push(expr);
topFunc =stack.firstElement()exp.add(topFunc)stack.clear()
返回数据
0 条评论
下一页