Snaker技术文档整理

在线网络文档

1.源码及部署 · snakerflow

一、环境介绍

1、基础架构

springboot + springcloud + nacos + mybatisplus + mysql + snakerflow

    spring-boot 2.4.10

    spring-cloud 3.0.4

    mybatis-plus 3.4.2

    mysql 5.1.46

    nacos 2021.1

    snakerflow-spring-boot-starter 1.0.8

2、基本环境

3、数据库表

1.snaker表得相关理解:

1.snaker使用的时候不依赖相关组织架构,只有流程定义以及任务相关的数据表

2.一个任务开始后就会在wf_process新建一条数据,在wf_order可以看到相关的流程实例,一个实例对应的可能会有多个任务,可在wf_task查看任务,当前任务参与人是在wf_task_actor中查看。

wf_task_actor    任务参与者表

    记录了流程设计图里面assignee 字段里面的内容,也是目前需要的审批人,目前当前是部门或者审批人的ID,每条数据对应的当前需要审批的任务

wf_task    任务表

    记录当前任务一些基本信息

wf_order    流程实例表

    当前流程实例,一个order_id可能对应有多个task_id任务

3.可在wf_hist_order查看历史实例,wf_hist_task中的一般是完成得任务,但流程不一定走完。查看流程走完一般看wf_hist_order里面得end_Time和order_State,当有end_Time和order_State为0时,流程才算走完。

wf_hist_task_actor    历史任务参与者表

    查看每条任务审批人

wf_hist_task    历史任务表

    历史任务审批人的基本信息

wf_order    流程实例表

    历史流程对应的基本信息,一个流程基本就只有一个order,当我们传的args值都是在variable里面进行保存

4.根据目前场景新增了数据表

 business_to_snakerflow 业务保存到流程表

    其中business_id、business_type、model_type是与业务相关字段,每次新建一个流程时都会生成一条数据

snaker_process_design    流程设计器内容表

    主要保存流程设计器也是*.snaker文件文件上面的内容,每个流程都需要一个对应的流程图,里面主要记录的是xml文件内容,可以通过内容上面的信息,将开启工作流

snaker_process_detail    流程使用表

    流程详情,目前只是记录了流程里面当前开启流程、执行流程、作废流程的相关记录,如果后期开发需要记录,可以在此表中增加相关记录。

2.表目录

表名称描述
wf_process流程定义表
wf_order活动实例表
wf_task活动任务表
wf_task_actor活动任务参与者表
wf_hist_order历史实例表
wf_hist_task历史任务表
wf_hist_task_actor历史任务参与者表
wf_surrogate委托代理管理表
wf_cc_order抄送实例表
business_to_snakerflow业务保存到流程表
snaker_process_design流程设计器内容表

3.建表语句

1、项目依赖中有本身自带得建表语句

4、接口介绍

在使用snaker接口时,我们首选需要注入SnakerEngine

@Autowired
private SnakerEngine engine

1.流程定义业务类:

    IProcessService里面可以使用Process相关得接口,

    IProcessService使用:engine.process().**

2.流程相关的查询服务:

    IQueryService里可查到Order和Task相关得实体以及历史

    IQueryService使用:engine.query().**

3.流程实例业务类:

    IOrderService可获取到与Order相关得接口

    暂未使用到里面相关接口,详情可以自行查看

4.任务业务类:

    ITaskService可获取到与Task

    ITaskService使用:engine.task().**

5.流程引擎接口:

    SnakerEngine是上层接口,可通过SnakerEngine查看流程实例、流程任务,以及开启流程实例和执行流程任务

二、相关流程

1.大体流程

2.流程步骤

流程在开始后会出现很多情况,正常会出现审批同意和审批驳回,驳回会出现驳回发起人,驳回已审批得任意节点,驳回上一级,驳回直接结束流程等,根据具体情况有对应得接口可以进行完成。

可通过executeAndJumpTask进行节点得跳跃。我们可以根据model.getStart().getOutputs().get(0).getTarget().getName();来获取初始节点,也可以根据nodeName进行跳跃,当nodeName为null时,则跳转至上一步处理,nodeName不为null时,则任意跳转,即动态创建转移

3.流程设计器

提供网页版流程设计器

snakerflow-designer-vue

4.整体使用流程

1.先用流程设计器画图流程设计图,具体可根据需求来进行设计

2.部署流程:可先通过deploy部署流程,目前使用部署的是用*.snaker(xml文件)和传字符传(将.xml文件进行上传数据库保存里面的内容,最好用文件的形式上传,直接字符传上传会出现异常)的形式。

3.发起流程实例:可通过engine.process().deploy(StreamHelper.**)方法来获取流程定义的Id,通过startInstanceById方法可将流程定义id当入参传值,开启流程

4.执行审批:

    4.1:审批通过:engine.executeTask

    4.2:审批驳回:engine.executeAndJumpTask,传节点名称可跳到指定节点,如果没有指定节点,直接跳转到上一个节点,也可指定到发起人(model.getStart().getOutputs().get(0).getTarget().getName())

或者直接关闭结束

5.流程完毕:正常流程完成会自动关闭,手动关闭可能会造成数据错误。

三、 相关问题

项目:

1.在使用得时候,snaker分页会与mybatisplus的分页有冲突

2.当你执行得审批executeTask得时候不要有返回对象,不然流无法关闭。

3.拦截器目前作用未知,且介绍简单,而且目前系统传这些会报错,出现类型实例化失败

4.在调用删除参与人的时候会有一个只有一个参与人的时候的异常抛出,就是当只有一个参与人的时候删除会出异常,删除的时候注意。

流程设计器:

1.有的时候修改节点信息内容的时候,设计内容无法同步过去,还有就是更改节点无效。

2.使用分流审批节点时,节点不会自动合并

3.相关使用的介绍比较少

...........

四、总结

1.项目是新建环境,环境搭建时候的时候会出现一定的依赖问题,按目前配置的依赖正常是没有问题的

2.关于snaker工作流上面,资料介绍太少,网上基本搜索不到什么有用的资料,目前只有开发文档还能用用,但是使用的时候不太好用。

3.开发文档比较少,好在源码相关接口介绍比较详细,接口调用起来相对于来说比较简单,但是一些复杂的业务可能就不太适合了。

4.目前在git上面还有一个使用项目用的比较齐全:mldong: 快速开发平台、工作流、snakerflow

这个开源项目可借鉴相关的工作流上面的操作

5.一个流程定义(wf_process)会有一个流程实例(wf_order),一个流程实例会有一个或者多个任务(wf_task),一个任务会有对应一个或者多个审批人(wf_task_actor).

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Sneaker球鞋库存管理系统是一种用于管理球鞋库存的软件系统。它主要包括库存管理、销售预测、采购管理、和销售分析等模块。 首先,库存管理模块是该系统的核心功能之一。它能够实时跟踪球鞋库存信息,包括每一款球鞋的数量、尺码、颜色等详细信息。此外,库存管理模块还能提供库存预警功能,当某款球鞋的库存低于设定值时,系统会自动发出警报,提醒管理员及时补货。 其次,销售预测模块是帮助商家预测销售需求的重要功能。通过对历史销售数据的分析,系统可以准确地预测不同款式、尺码或颜色的球鞋的销售情况。这些预测数据可供商家参考制定采购计划,避免库存积压或断货的问题。 第三,采购管理模块可以帮助商家更好地管理供应链,确保库存充足。这个模块能够自动生成采购订单,并与供应商建立起电子化的订单和发货流程。通过与供应商实时对接,商家可以根据销售预测和库存状况自动计算出需要采购的球鞋数量,实现库存的持续补充。 最后,销售分析模块是用于帮助商家分析销售数据,了解销售趋势和球鞋热卖款式的功能。通过对销售数据的统计和分析,商家可以了解哪些球鞋畅销,哪些款式受欢迎,从而及时调整销售策略,提高库存周转率和盈利能力。 总之,Sneaker球鞋库存管理系统是一套集库存管理、销售预测、采购管理、和销售分析于一体的软件系统,能够有效帮助商家管理球鞋库存,实现库存的科学管理和提高销售效益。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值