工作流设计详解

article/2025/10/7 14:30:37

工作流 概念:

workflow流程性通知和审批控制,业务流程中、发送、提供附加信息或进行附加业务处理,两个或两个以上的人为共同目标,连续以并行或串行的方式完成某一业务。

工作流 设计:

按照业务规划流程图,根据流程图进行workflow的基础架构。统筹每个流程的流程编码FUNCTIONID以及业务类型BUSITYPE。最好每个类型表设计版本,以便新旧业务流程变动。
设计工作流活动表:lwactivity , 创建此节点的时候要执行的活动以及离开此节点时需要进行的活动(执行BeforeInit、AfterInit、BeforeEnd、AfterEnd任务)。
设计工作流活动流转定义表:lwprocesstrans, 流程编码processid,以及起始节点和跳转节点,并根据流转标记判断要跳转的节点。

设计工作流轨迹表: lwmission,missionid以及子节点submissionid(记录进入此节点的次数),以及对应的业务参数开发流程:获取节id和流程id,如果没有节点并满足创建初始节点标记,根据业务类型和流程编码---获取初始节点编码,创建工作流记录编码和子节点“1”,创建工作流记录并根据属性映射准备属性值。

设计工作流字段映射表:lwfiledmap,设计每个节点属性值对应的属性类型。
如果已有节点,进行业务分配,执行当前任务,创建下一节点任务、删除当前任务。如果是最中任务节点,执行当前任务后删除当前节点。

  1. 根据流程图,设计工作流活动表lwactivity:

    字段属性

    属性描述

    申请节点

    分部审批节点

    总部审批节点

    ActivityID

    活动id

    10001

    10002

    10003

    ActivityName

    活动名

    维护

    初审

    复审

    ActivityDesc

    活动说明

    客户完善申请信息

    分部进行初审

    总部进行复审

    FunctionID

    功能节点号

    10001

    10002

    10003

    BeforeInit

    活动进入前动作无

     

    BeforeInitType

    活动进入前动作类型

    AfterInit

    活动进入后动作

    AfterInitType

    活动进入后动作类型

    BeforeEnd

    活动结束前动作

    BeforeEndType

    活动结束前动作类型

    AfterEnd

    活动结束后动作

    AfterEndType

    活动结束后动作类型

    TimeOut

    超时时间

    Operator

    操作员代码

    MakeDate

    入机日期

    MakeTime

    入机时间

    ModifyDate

    最后一次修改日期

    ModifyTime

    最后一次修改时间

    BusiType

    业务类型

    IsNeed

    活动属性

    ActivityFlag

    活动标志

    ImpDegree

    重要等级

    CreateAction

    创建动作

    CreateActionType

    创建动作类型

    ApplyAction

    分配动作

    ApplyActionType

    分配动作类型

    DeleteAction

    删除动作

    DeleteActionType

    删除动作类型

    Together

    聚合模式

    MenuNodeCode

    菜单节点

  2. 设计工作流活动流转定义表:lwprocesstrans:

    字段属性

    属性描述

    维护节点->分部审批节点

    分部审批节点->维护节点

    分部审批节点->总部审批节点

    TRANSITIONID

    转移ID

    序列号

    序列号

    序列号

    PROCESSID

    过程ID

    99999

    99999

    99999

    TRANSITIONSTART

    转移起点

    10001

    10002

    10002

    TRANSITIONEND

    转移终点

    10002

    10001

    10003

    TRANSITIONCOND

    转移条件

    ?ProcessFlag?=1

    ?ProcessFlag?=2

    ?ProcessFlag?=3

    TRANSITIONCONDT

    转移条件类型

     

     

     

    TRANSITIONMODEL

    转移时方式

     

     

     

    STARTTYPE

    起点类型

     

     

     

    VERSION

    版本控制

    1

    1

     

  3. 设计工作流轨迹表lwmission:

    字段属性

    属性描述

    解释

    MISSIONID

    任务ID

     

    SUBMISSIONID

    子任务ID

     

    ACTIVITYID

    当前活动ID

     

    PROCESSID

    过程ID

     

    ACTIVITYSTATUS

    当前活动状态

     

    MISSIONPROP1

    任务属性1

     

    MISSIONPROP2

    任务属性2

     

    MISSIONPROP3

    任务属性3

     

    MISSIONPROP4

    任务属性4

     

    MISSIONPROP5

    任务属性5

     

    MISSIONPROP6

    任务属性6

     

    MISSIONPROP7

    任务属性7

     

    MISSIONPROP8

    任务属性8

     

    MISSIONPROP9

    任务属性9

     

    MISSIONPROP10

    任务属性10

     

    DEFAULTOPERATOR

    默认提交的操作员代码

     

    LASTOPERATOR

    最后操作员代码

     

    CREATEOPERATOR

    创建者操作员代码

     

    MAKEDATE

    入机日期

     

    MAKETIME

    入机时间

     

    MODIFYDATE

    最后一次修改日期

     

    MODIFYTIME

    最后一次修改时间

     

    INDATE

    进入日期

     

    INTIME

    进入时间

     

    OUTDATE

    退出日期

     

    OUTTIME

    退出时间

     

    TIMEID

    时效ID

     

    STANDENDDATE

    标准结束日期

     

    STANDENDTIME

    标准结束时间

     

    OPERATECOM

    操作机构

     

    MAINMISSIONID

    主任务ID

     

    SQLPRIORITYID

    SQL优先级ID

     

    PRIORITYID

    时效优先级ID

     

    VERSION

    版本控制

     

  4.  设计工作流字段映射表:lwfiledmap   

    字段属性

    属性描述

    举例

    ACTIVITYID

    活动ID

    10001

    FIELDORDER

    顺序号

    1

    SOURTABLENAME

    源表名

    业务表

    SOURFIELDNAME

    源字段

    业务表字段

    SOURFIELDCNAME

    源字段中文名

    业务表字段描述

    DESTTABLENAME

    目标表名

    MissionProp1

    DESTFIELDNAME

    目标字段

    属性字段1

    DESTFIELDCNAME

    目标字段中文名

     

    GETVALUE

    从源到目标的取数规则

     

    GETVALUETYPE

    从源到目标的取数规则类型

     

    CANSHOW

    是否显示

     

       

http://chatgpt.dhexx.cn/article/sPhFqrlQ.shtml

相关文章

什么是工作流?为什么程序员要用它?

每一个程序员,在接触到工作流的时候,都会有这么一个疑问——我用一般的方法可以实现,为什么还要用工作流? 我曾经也问过这个问题,不过现在稍微有点明白了。别着急要答案,看过下面的例子,或许你…

什么是工作流

什么是工作流? 工作流是从英文单词work flow中直译过来的。最直白的意思就是日常工作中相对固定的流程计算机化。 在此列举两个工作流简例: 客户到银行开户的工作流: 客户索取开户资料单——资料填写——营业员核对个人证件——营业员核对帐款…

什么是工作流?如何利用工作流引擎实现业务流程

工作流引擎是用来实现工作流的一种组件化工具,它是一整套解决方案,比如说一般工作流引擎包含这些功能:流程节点管理、流向管理等,是为了减小开发成本而推出的。因为在软件开发过程中,如果是从零开始实现工作流&#xf…

什么是工作流,flowable 与 Activiti对比

工作流 什么是工作流工作流是复杂版本的状态机Java工作流开源框架工作流对比Activiti设计器 Flowable兼容性 Camunda设计器兼容性:小结: 社区活跃度FlowableActivitiCamunda 总结 什么是工作流 工作流,是指“业务​过程的部分或整体在​计算…

工作流是什么

刚入职一家公司不久,昨天去和经理与客户对接需求的之前,经理问我接触过工作流没有之前。作为一个20年毕业的老人了,只能尴尬的说一句没有我下去会去了解下。这里我就暂且找一下别人总结的文章和大家一起学习下。 一、什么是工作流 工作流&a…

什么是工作流?

这里说的工作流是狭义的管理工作流程。 现代企业的日常活动中,70%以上都是有两个或两个以上的员工共同参与协作的的任务,比如生产流程、业务流程、各类行政申请流程、财务审批流程、人事处理流程、质量控制及客服流程等。一项工作,经过一个步…

union用法和enum用法

1 union用法 C语言中的union在语法上与struct相似。 union只分配最大成员的空间&#xff0c;所有成员共享这个空间 2 union的注意事项 union的使用受系统大小端的影响 编程&#xff1a;判断系统的大小端 #include <stdio.h>// 1&#xff1a;小端&#xff0c;0&…

C语言 C++中的union用法总结(包懂)

开始的话 已经好长时间没有更新了&#xff0c;对不起自己&#xff0c;更对不起我亲爱的读者&#xff0c;同时也对不起自己开办的这个博客平台。忙&#xff0c;太忙了&#xff0c;忙于找工作&#xff0c;找一份好工作&#xff0c;纠结于去大城市闯呢&#xff0c;还是回到本省的首…

php union用法,SQL Union用法是什么?

sql union用法是什么&#xff1f; sql union用法的总结&#xff1a; UNION 运算符将多个 SELECT 语句的结果组合成一个结果集。 (&#xff11;)使用 UNION 须满足以下条件&#xff1a; &#xff21;&#xff1a;所有查询中必须具有相同的结构(即查询中的的列数和列的顺序必须相…

mysql union语法,mysql中的union用法

UNION在mysql中被称为集合操作,操作类型分为两种:UNION DISTINCT 和 UNION ALL;注意:UNION和UNION DISTINCT是一样的功能。UNION功能为合并多个查询的结果并去重,UNION ALL的功能为合并多个查询的结果不去重。 集合操作时,两边的输入必须拥有相同的列数,如果数据类型不…

mysql得union使用方法_mysql中Union All使用方法

在mysql数据库使用UNION 时&#xff0c;会把结果集中重复的记录删掉&#xff0c;也正因为做了去重操作&#xff0c;所以效率相对Union All来讲稍微低一点&#xff0c;使用UNION ALL &#xff0c;MySQL 会把所有的记录返回&#xff0c;效率高于UNION。本文向大家介绍UNION ALL的…

SQL 中union的使用

采用where的解法 select name,population,area from World where area>3000000 or population>25000000 ;使用union的解法 select name,population,area from World where area>3000000 union select name,population,area from World where population>2500000…

C语言共用体(C语言union用法)详解

转载重点&#xff1a;共用体的所有成员占用同一段内存&#xff0c;修改一个成员会影响其余所有成员。图形分析影响过程 通过前面的讲解&#xff0c;我们知道结构体&#xff08;Struct&#xff09;是一种构造类型或复杂类型&#xff0c;它可以包含多个类型不同的成员。在C语言中…

C语言 union用法

我们知道结构体&#xff08;Struct&#xff09;是一种构造类型或复杂类型&#xff0c;它可以包含多个类型不同的成员。在C语言中&#xff0c;还有另外一种和结构体非常类似的语法&#xff0c;叫做共用体&#xff08;Union&#xff09;&#xff0c;它的定义格式为&#xff1a; …

c语言union(c语言union用法)

C语言-程序运行结果是&#xff1f;main(){unionstu{lon 我的机器&#xff0b;vc6运行的结果是12 我的理解是首先取最长的b的长度&#xff0c;但是b的长度比我的机器字长(32位即4个字节)整数倍要短&#xff0c;则sizeof(stu)的长度是12 不知道你的机器是不是64位的 如果是则证…

quartz mysql 配置_quartz的数据库配置

Quartz.net官方开发指南 第九课&#xff1a; JobStore JobStore负责保持对所有scheduler “工作数据”追踪&#xff0c;这些工作数据包括&#xff1a;job(任务),trigger(触发器),calendar(日历)等。为你的Quartz scheduler选择合适的JobStore是非常重要的一步&#xff0c;幸运的…

java 灵活配置quartz

项目背景&#xff1a; 最近项目上遇到个需求&#xff0c;需要我们在特定的事件做邮件和短信的发送。但时间并不固定&#xff0c;是根据用户配置的时间表来进行的定时发送任务。有点像闹钟&#xff0c;你设置的时间到了就响。这里我们采取的是每天凌晨定时取数据库里的时间表信…

java quartz配置_java quartz简单使用

1.在项目里引入quartz org.quartz-scheduler quartz 2.3.0 2.quartz的简单实例 package com.example.quartz_demo; import org.quartz.JobDetail; import org.quartz.Scheduler; import static org.quartz.JobBuilder.newJob; import static org.quartz.TriggerBuilder.newTrig…

SpringBoot - 集成Quartz框架之常用配置(二)

文件约定 在Quartz发布的JAR包的org.quartz包下&#xff0c;包含了一个命名为quartz.properties的配置文件并提供了默认属性&#xff0c;如果需要调整默认配置&#xff0c;则可以在类路径下建立一个新的quartz.properties&#xff0c;它将自动被Quartz加载并覆盖默认值。如果使…

浅析Quartz的集群配置

1、基本信息&#xff1a; Quartz是一个开源的作业调度框架&#xff0c;它完全由java写成&#xff0c;并设计用于J2Se和J2EE应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征&#xff0c;如&#xff1a;数据库支…