工作流程组二开

一、流程核心表
1、流程路径、流程表单、表单字段、节点、节点操作者、出口相关表。

workflow_type:流程类型表,存放流程类型的基本信息;
workflow_base:工作流基本信息表,中isbill字段(0,是表单,1单据或自定义表单,fromid小于0是自定义表单,大于0是单据),id=workflowid
workflow_bill :用户自定义表单
workflow_billfield:表单的字段类型,viewtype(0:主表,1:从表)
workflow_formdict:主表单的字段
workflow_formdictdetail:表单的明细表字段
workflow_formfield:工作流表单字段表
workflow_form:流程实际数据存储表数据字典中没有
workflow_selectitem:流程选择条目表,下拉框字段

workflow_nodebase:	工作流节点基本信息表,nodeattribute(0:一般,1:分叉起始点,2:分叉中间点,3:通过分支数合并,4:指定通过分支合并,)
workflow_flownode:流程节点对应表,节点的操作菜单表
workflow_nodelink:工作流节点出口信息表,存放节点的出口信息和一些出口操作信息,
workflow_nodegroup:操作组信息表
workflow_groupdetail:操作组的批次信息,signorder(0:非会签,1:会签,2:依次逐个签),signtype(0:非会签,1:会签,2:不影响流程流转)
workflow_groupdetail_matrix:流程组明细矩阵表
workflow_matrixdetail :流程矩阵明细表
Workflow_HrmOperator:流程人力资源表

2、流程节点前后附加操作表结构、规则、节点表单、字段联动相关表。

节点、出口附加操作
workflow_addinoperate:
	operateorder:节点、出口操作的执行顺序;
	ispreadd:是否是节点前操作,与isnode字段一起表示节点和出口操作(1:是,0:否);
	isnode:是否为节点附加条件还是出口附加条件(0:出口,1:节点);
	objid:节点出口id;

出口、节点操作者条件
rule_base出口条件的基本信息
	formid:表单id;
	linkid:引用规则功能主键ID

rule_expressions  表达式关系表
	relation:0,表示or1表示and

rule_expressionbase:规则表达式表
	compareoption1:	关系符1,与值1对应
compareoption2:关系符2,与值2对应
elementvalue1:值1
elementvalue2:值2

rule_maplist:用于维护规则与功能之间的引用关系,功能通过这张表去查找规则或条件
引用规则
rule_variablebase:引用的规则信息
rule_mapitem:在引用了外部的规则信息之后就会在rule_mapList中生成一条数据,通过这条数据的ruleid的去rule_mapitem中去查询
表单字段分组
workflow_formfield_group
节点模板
workflow_nodehtmllayout:用于设置节点的模板
type:0:编辑模板,1:打印模板
datajson:显示json
pluginjson:编辑json
节点字段属性
workflow_nodeform:存放的是表单的字段的属性
	isonlyshow:字段禁止手工编辑,只会在编辑的时候入一次库,之后就不会入库,
明细属性表
workflow_nodeformgroup:保存明细表的一些属性,通过节点id进行关联
字段属性
workflow_nodefieldattr:对每一个字段都有一些附加的属性,保存在这。通过字段id关联行列规则
workflow_formdetailinfo:行列规则信息与字段关联表

显示属性联动
workflow_viewattrlinkage
公式
workflow_formula_htmllayout:保存公式信息

字段联动
Workflow_DataInput_main在设置关联之后也会插入一条数据到里面
Workflow_DataInput_entry(入口表)在设字段联动之后就会有一条数据插入这张表
Workflow_DataInput_table(字段联动使用的表)在选择使用数据表之后就会插入一条数据
Workflow_DataInput_field(关联数据表的字段)在进行关联之后就会插入数据
	Type:1 参数字段,2 赋值字段
	Pagefieldindex:0 主表  1 明细1 2明细2…… 

3、流程高级设置相关功能表
流程编号
workflow_code:在页面设置流程编号之后就会在这个表中插入一条数据;数据主要是对编号的设置;
workflow_coderegulate:设置编号生成的规则数据表
workflow_codeseq:流程编号流水号表;
workflow_codeseqreserved:流程编号的预留字段数据存储表,每预留一个编号就会生成一条数据;
workflow_codeseqrecord:流程编号的使用记录;
workflow_codedetail:流程编号设置明细
workflow_codeset:流程字段自动编码基础信息
showtype:
		1:checkbox框
2:单行文本框
4:单选框
5:下拉框


流程功能管理
workflow_function_manage:工作流功能管理表
workflow_requestwithdraw:流程撤回设置表
WorkFlowPlanSet:流程计划
workflow_urgerdetail:督办

浏览数据定义
workflow_browdef_fieldconf:流程浏览定义字段表
workflow_browdef_selitemconf:流程浏览定义选择条目配置表
workflow_browdef_field:表中的数据是数据库初始化的数据,一般不会通过程序在向其中插入数据,
workflow_bdf_dataranage:流程浏览数据定义数据范围
workflow_bdf_dr_matrixdetail:浏览数据定义数据范围矩阵明细
	dataranageid:workflow_bdf_dataranage的id
workflow_bdf_dr_matrix:浏览数据定义数据范围矩阵
workflow_bdf_tab:浏览框数据定义-浏览框tab设置
workflow_bdf_config:哪些浏览框支持浏览数据自定义,在这一张表中进行储存;
	browsertype:浏览按钮的类型
hasadvancecondition:是否有高级搜索
hassetdataranage:是否设置了数据范围
hassettab:是否有设置tab

主子流程
Workflow_TriDiffWfDiffField:触发不同子流程的可区分字段表
Workflow_SubwfSet:触发的子流程设置
workflow_subwfsetdetail:子流程的一些赋值和信息设置

流程开关配置表
workflow_config:功能表开关

4、流程实例、流程流转相关表
workflow_requestbase:流程基本信息(包含流程创建人信息,节点操作者信息)
	requested:请求id;
	requestmark:流程编号
workflow_currentoperator:工作流请求节点操作人信息表;
	requestid:请求id
	isremark:操作类型;
	preisremark:改变之前的isremark;
	nodeid:操作节点id;
	userid:操作人id
	islasttimes:操作人最后一次操作记录(0:操作人在流程中多次出现,且本条记录不是操作人最后一次操作所用的纪录;1:操作人在流程中出现一次;或操作人在流程中多次出现,且本条记录是操作人最后一次操作所用的纪录;)
	viewtype:查看标志;
	groupdetailid:会签组id;
	groupid:赋予每个操作人的标示,但是非会签会都一样是同一个值;
	takid:意见征询记录id
	takisremark:意见征询标志
workflow_nownode:工作流当前节点信息表
workflow_requestlog:流程请求签字日志表;
	operator操作者;
	operatortype:操作者类型(1:人力资源;2:客户)
	logtype:签字类型( 0:批准     1:保存  2:提交  3:退回  4:重新打开  5:删除  6:激活  7:转发  9:批注   )
	destnodeid:下一节点id;
	receivedpersonids:接受人id;
	agentorbyagentid:代理id
	agenttype:代理类型;
	remark:签字信息;
workflow_requestflowinfo:工作流流转信息表
	operator:操作者id;
workflow_forward:工作流转发记录表
workflow_requestoperatelog:流程操作记录日志主表:
	detailinfo:明细json数据;
	isinvalid:是否执行了强制收回;
	invalidid:执行强制收回的用户id;
workflow_track:工作流表单主字段修改日志表(表单数据修改日志)
workflow_trackdetail:工作流表单明细字段修改日志表
workflow_agentpersons:依次逐个出来,会在这张表中插入操作人信息,当到当前操作人的时候就修改通过这张workflow_currentoperator的数据

流程删除相关表
workflow_requestdeletelog:流程请求删除log表

二、流程前端、后端核心文件路径

链接:
https://www.e-cology.com.cn/spa/cube/index.html#/main/cube/card?type=0&modeId=700&formId=-1360&billid=3&opentype=0&customid=846&viewfrom=fromsearchlist&_key=rpilip

三、前端
1、前端结构
源文件目录:src4js
打包后目录:spa/workflow
PC端划分五个模块
workflow(/src4js/pc4mobx/workflow)------流程前台模块
workflowForm(/src4js/pc4mobx/workflowForm)----流程表单模块
workflowPublic(/src4js/pc4mobx/workflowPublic)---流程公共组件模块
bs_workflow(/src4js/pc4backstage/workflow)---后台引擎模块面
bs_excelDesign(/src4js/pc4backstage/excelDesign)--后台流程表单设计器模块

移动端划分两个模块
workflowForm(/src4js/mobile4mobx/workflowForm)---移动表单模块
workflow(/src4js/mobile4mobx/workflow)----除表单外应用模块

PC端打包方式:
src4js-pctool-v1脚手架目录
yarn install(本地安装)
运行yarn build --pubModule=worflow/workflowForm/workflowPublic/bs_workflow

移动端打包方式:
src4js-mobiletool-v1脚手架目录
yarn install(本地安装)
运行yarn build --mod=worflow/workflowForm
各模块对应单页地址

PC-workflow模块: /spa/workflow/static/index.html#/main/workflow/listDoing
PC-workflowForm模块: /spa/workflow/static4form/index.html#/main/workflow/req?
PC-workflowPublic模块:公共模块,没有路由,不能单页直接访问,不能热调试
PC-bs_workflow模块:
/spa/workflow/static4engine/engine.html#/main/workflowengine/path/pathSet/pathList
PC-bs_excelDesign模块: /spa/workflow/excelDesign/engine.html#/demo

mobile-workflow模块: /spa/workflow/static4mobile/index.html#/center/doing

mobile-workflowForm模块: /spa/workflow/static4mobileform/index.html#/req?

2、E9流程表单前端接口API
https://e-cloudstore.com/doc.html?appId=98cb7a20fae34aa3a7e3a3381dd8764e

3、前端无侵入二开培训相关视频
【E9二开】流程表单个性化开发.
网址:http://live.vhall.com/207470148 密码:EC603039 时长:2小时17分钟

四、后端
1、后端结构
入口:/src/com/api/workflow目录下全部是jersey接口
实现体所在目录:/src/com/engine/workflow
分层: Action->Service->Cmd

2、后端cmd代理无侵入实现给流程表单增加按钮实例
后端Cmd代理实现无侵入二开,如下图:

更多无侵入开发说明,参考文档:
无侵入开发指南.pdf

3、后端无侵入二开培训相关视频
【E9二开】附加操作/操作者Action相关开发。
网址:http://live.vhall.com/340858059 密码:EC603039 时长:1小时25分钟

【E9二开】 流程流转个性化开发、流程对外接口开发
网址:http://live.vhall.com/517510050 密码:EC603039 时长:2小时8分钟

五、流程相关接口webservice、restful调用说明
参考文档:
流程操作相关接口开发说明.pdf

六、前端ecode案例

导入资料包中的“意见补登.zip” 案例:

前端效果:

七、开发备案
etodo每个任务都关联了一个客户名

进入客户卡片,能找到该客户对于的svn地址(有外网、内网地址),将新增、修改的文件提交至该svn地址中即可。
如果这个客户还没有svn地址,说明这个客户之前应该还没做过二开,在这个客户卡片中右键新建一个svn仓库 就会自动生成了。

提交至SVN的文件,将文件路径版本信息再提交至etodo中,如下:

简单写个开发说明文档提交,如下图:

开发人员开发完成后自测一遍 没有问题后提交测试:

posted @ 2024-05-11 09:29  LL爱吃香菜  阅读(56)  评论(0编辑  收藏  举报