首页 > 其他分享 >工作流程组二开

工作流程组二开

时间:2024-05-11 09:31:30浏览次数:26  
标签:组二开 workflow 流程 表单 工作 模块 id 节点

一、流程核心表
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中,如下:

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

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

标签:组二开,workflow,流程,表单,工作,模块,id,节点
From: https://www.cnblogs.com/LiliDEtoy/p/18185747

相关文章

  • OpenVoiceV2本地部署教程,苹果MacOs部署流程,声音响度统一,文字转语音,TTS
    最近OpenVoice项目更新了V2版本,新的模型对于中文推理更加友好,音色也得到了一定的提升,本次分享一下如何在苹果的MacOs系统中本地部署OpenVoice的V2版本。首先下载OpenVoiceV2的压缩包:OpenVoiceV2-for-mac代码和模型https://pan.quark.cn/s/33dc06b46699该版本针对MacOs系统做......
  • 探讨:ARC(Automatic Reference Counting)与手动内存管理的区别及工作原理
    在iOS和macOS开发中,内存管理是一个至关重要的话题。在过去,手动内存管理是一项繁琐且容易出错的任务,而引入了ARC(AutomaticReferenceCounting,自动引用计数)之后,内存管理变得更加简单和安全。本文将详细讨论ARC和手动内存管理之间的区别,并解释ARC的工作原理。1.ARC与手......
  • 数字集成电路 NMOS工作区
    MOSFET是一个四端器件(栅极、源极、漏极、衬底)。衬底一般连接到一个直流电源端:  NMOS的衬底接地GND,PMOS的衬底接高电平VDD。(为了使得MOS管中的PN结零偏或反偏,尽管如此,二极管的结电容也会对电路产生影响) (PN结正偏不仅会形成通路,也会导致结电容急剧增大C=ES/D)NMOS:1.p型......
  • Java 判断是否为工作时间
    /***判断是否为工作时间(上午:7:30-11:30下午:13:30-17:20)*@return*/publicstaticbooleanisWithinWorkingHours(){LocalTimecurrentTime=LocalTime.now();//LocalTimecurrentTime=LocalTime.parse("17:19:59");......
  • 2-工作流程_基本概念
    2.工作流程&基本概念动作命令文件位置文件状态新建文件工作目录未被追踪推送至暂存区git add暂存区暂存提交版本git commit本地仓库未被修改修改文件工作目录未被追踪工作区:就是你在电脑里能看到的目录暂存区:.git/index文件中,暂存区有时......
  • 自定义表单工作流的优势介绍
    当前,应用低代码技术平台可以助力企业提高效率,降低开发成本,实现个性化场景定制,因而越来越得到了客户的信赖与喜爱。很多客户朋友询问自定义表单工作流的优势和特点,为了帮助大家解决这个疑问,今天,就跟大家一起分享低代码技术平台以及自定义表单工作流的相关知识,相信从这些字里行间中......
  • 详解Python 中可视化数据分析工作流程
    本文分享自华为云社区《Python可视化数据分析从数据获取到洞见发现的全面指南》,作者:柠檬味拥抱。在数据科学和分析的领域中,可视化是一种强大的工具,能够帮助我们理解数据、发现模式,并得出洞见。Python提供了丰富的库和工具,使得可视化数据分析工作流程变得高效而灵活。本文将介绍......
  • Rust工作空间(workspace)实践
    本文将介绍如何使用cargoworkspace来管理多个package,并通过实践介绍workspace的一些基础场景下的使用、配置方式。在rust中编写某些中小型项目时,我们通常不会将一个工程拆分为多个package,而是通过一个package下不同的目录模块来实现模块拆分,尽管大部分场景下这种开发方式已经足......
  • vue学习--模板语法(四、属性样式绑定&流程语句)
    目录3.5属性绑定1.Vue如何动态处理属性?2.v-model的底层实现原理分析3.6样式处理1.class样式处理2.style样式处理3.7分支循环结构1.分支结构2.v-if与v-show区别3.循环结构3.5属性绑定1.Vue如何动态处理属性?v-bind指令用法<av-bind:href='url'>跳转</a>缩写形式<a......
  • ***新版MJ数据处理工作流
      批量重命名importosimportreimportshutildefreplace_double_underscore(folder_path):forroot,dirs,filesinos.walk(folder_path):forfilenameinfiles:if"__"infilename:new_filename=filename.......