工作流

ASP.NET 实现轻量级的工作流[审批流程]

◇◆丶佛笑我妖孽 提交于 2020-01-22 00:16:25
如何通过最少的修改代码实现业务单据的灵活流转?修改代码太多系统不稳定,流程过于复杂不方便实施,流程过于简单不能符合公司的实际要求。做改造接口过于复杂不适合开发集成,所以需要平衡好各种实际问题的考验才能用得起来,加几行代码让自己的业务功能单据支持流程化流转。 以下组件也非常适合政府类各种单据的审批流转,我们先通过例子展示一下如何集成流程组件。 1: 首选需要定义审批流程,需要有管理各种单据的流转步骤的功能。 2:每个单据都有哪些审核步骤,每个步骤的默认审核人谁,都需要走几个步骤,可以定义出来。 3:下面的代码为如何实现流程接口的标准范例代码,其实就配置几个红色部分的参数就可以了,也是好用的越是想得周到的组件,用起来越是简单得很。 4:以下是流程组件的默认展示效果,当然可以按自己的需求进行改造,例如已经显示需要4步骤的审核。 5:下图是流转给下一个步骤的审核人的效果,可以选择下一个步骤里流转到谁哪里? 6:当审核人登录后,在待审核列表里会显示相应的单据,进行审核,继续流转,所有审核人的意见全了,就算这个单据审核结束了。 来源: https://www.cnblogs.com/jirigala/archive/2013/01/06/2848301.html

MOSS多级审批工作流【StateMachine版】v1.1

試著忘記壹切 提交于 2020-01-22 00:15:34
去年我发布过一个 MOSS多级审批工作流,采用顺序工作流模式开发 ; 后来又做了一些改进,用ConditionedActivityGroupActivity取代了繁复的WhileActivity+IfElseActivity嵌套,但仍然是顺序工作流 。 在第二篇文章的末尾我曾写道:“审批这样的流程并不适合用顺序工作流来实现,用WF的另外一种工作流-状态机工作流会更好”,为什么这样说呢? 我们已经知道,顺序工作流的执行过程是一个连续的步骤,从开始到结束,虽然我们可以利用While这样的循环活动让工作流看起来往回去执行了几步,但是这样的后果就是一张难以理解的流程图和复杂的执行逻辑。 真实世界的工作流程是灵活的,往往不是一条线走到底的,中间可能包含这许多决策,每个决策都可能让流程走向另外一个方向。所以包含人类参与的工作流其实是一个决策推动的流程,把它抽象到工作流中,就成了“事件驱动工作流”,也就是状态机工作流(StateMachine Workflow)。 状态机工作流由一系列状态(State)组成,每个状态中又可以包含一系列事件的处理程序。状态机工作流总是停留在一个状态中,等待必要的事件被触发,然后跳转到新的状态。 那么现在再来看看这个多级审批工作流的原始流程图: 下面是用状态机实现后的流程图: 你会发现,状态机工作流的流程图和我们最初的流程图相当接近,无论是流程块还是之间的连线

springboot~工作流activiti的搭建

爷,独闯天下 提交于 2020-01-20 14:32:19
概念 工作流产品使用activiti的算是比较多了,自带了一套UI界面,可以直接使用,用来设计流程,下面简单总结一下它的步骤: 1 设计模型 2 发布为流程,一个模型可以发布多个版本的流程 3 建立一个流程的实例和实例任务,一个流程可以建立多个并行的实例 4 对某个实例任务进行审批 5 可以查看实时的流程实例状态 部署在项目里 添加引用 annotationProcessor 'org.projectlombok:lombok:1.18.2' //gradle5.0之后需要这样引用lombok compileOnly 'org.projectlombok:lombok:1.18.2' testAnnotationProcessor 'org.projectlombok:lombok:1.18.2' testCompileOnly 'org.projectlombok:lombok:1.18.2' implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter

函数组合的 N 种模式

浪子不回头ぞ 提交于 2020-01-19 16:12:25
随着以函数即服务(Function as a Service)为代表的无服务器计算(Serverless)的广泛使用,很多用户遇到了涉及多个函数的场景,需要组合多个函数来共同完成一个业务目标,这正是微服务“分而治之,合而用之”的精髓所在。本文以阿里云 函数计算 为例,试图全面介绍函数组合的常见模式和使用场景,希望有助于选择合适的解决方案。 虽然本文主要介绍的是函数组合,但是基本思想也可用于服务组合。 函数同步调用函数 在这种模式里,函数直接调用 InvokeFunction 同步 API 执行一个或者多个函数,等待被调用函数返回结果,然后继续执行。这是一个有些争议的模式,不使用同步调用通常有以下原因: 从费用的角度:由于函数计算按照函数实际执行时间收费,调用者在等待被调用函数返回前也会产生一定费用。 执行时长限制:由于函数最长执行10分钟,这就决定了调用的其它函数执行时间之和有限。 从容错的角度:被调用者出错会直接影响调用者,如果这个调用链很长,则这种错误会一直蔓延到最初的调用者,容错性较差。同时由于执行时长限制,调用者通常不容易针对错误做长时间重试。 上面的理由是在有些场景下成立的,但是微服务最经典最常见的组合方式就是同步调用,函数作为微服务的一种实现方式,这种同步调用的需求是不可回避的,在有些场景下采用同步调用模式是值得考虑的,这些场景包括:

Activiti工作流引擎核心介绍

拥有回忆 提交于 2020-01-18 05:41:31
引言 Activiti 作为一个遵从 Apache 许可的工作流和业务流程管理开源平台,其核心是基于 Java 的超快速、超稳定的 BPMN 2.0 流程引擎,强调流程服务的可嵌入性和可扩展性,同时更加强调面向业务人员。本文主要介绍 Activiti 的背景和基础知识,包括 Activiti 结构、基本服务和功能简介,开发环境的搭建以及主要功能的代码示例。 5 评论: 背景介绍 Activiti 其核心是 BPMN 2.0 的流程引擎。BPMN 是目前被各 BPM 厂商广泛接受的 BPM 标准,全称为 Business Process Model and Notation,由 OMG 组织进行维护,2011 年 1 月份发布了其 2.0 的正式版。BPMN 2.0 对比于第一个版本,其最重要的变化在于其定义了流程的元模型和执行语义,即它自己解决了存储、交换和执行的问题。这代表着 BPMN 2.0 流程定义模型不仅仅可以在任何兼容 BPMN 2.0 的引擎中执行,而且也可以在图形编辑器间交换。作为一个标准,BPMN 2.0 统一了工作流社区。 Activiti 是由 jBPM 的创建者 Tom Baeyens 离开 JBoss 之后建立的项目,构建在开发 jBPM 版本 1 到 4 时积累的多年经验的基础之上,旨在创建下一代的 BPM 解决方案。同时 Activiti 选择了

工作流(持续更新)

此生再无相见时 提交于 2020-01-17 17:11:45
专业程序员的修炼之道 我的问题出现在哪里? 为什么会延期? 1.工期的评估 2.致命伤:业务场景没想好 开发的业务场景是 CURD,如果CURD成,那基本上这个框架就成了 而考察一个框架,考察的最好的一个地方那就是CURD的编写程度是否简单,方便快捷 如果减少了代码的编写时间,这都是一种工作量的节省 评估一个开源项目 代码提交的靠谱 一定要经过自测 为什么要自测,因为根据统计,修复一个线上BUG的成本大概是3小时。开发与客服沟通确认是BUG,开发改动代码,开发自测,测试验证,最终发布,通知客服,客服通知客户。 1.最成熟的方法是写Junit测试用例 2.备选方案是自己手动测试。 靠谱招数: 还是那个老话,要先想好自己怎么手工测试这个代码,和要新增什么sql和什么字段,才去写代码。 这里已经要知道自己想要写代码的输入和输出结果了 状态的流转是一个让代码变得不可靠的因素,一定要注意这个地方。 用例图,活动图,类图,状态图,时序图,流程图 这些都要画给别人看. 一旦涉及到要问别人的地方: 我现在碰到了什么问题,想要什么结果,但是查询你给的什么资料的某个模块,这个,这个没办法获取或者没提及。 一定要遵循如下的问法: 1.他提供了什么资料,一定要通读过,不要不读,不要针对某个细节具体读 2.对他的资料进行一定的解析,像测试那样高亮某些业务规则 3. 编写代码之前耗时通常(4小时) 与测试确认

Java开源工作流引擎Jflow表单方案系列讲解一

时光毁灭记忆、已成空白 提交于 2020-01-16 16:46:38
关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单 拖拽式表单 表单方案介绍 适配数据库: oralce,mysql,sqlserver,Informix, PostgreSQL 达梦 概述 表单解决方案是驰骋工作流引擎,为了解决不同的应用环境下的提供不同的表单模式。CCBPM提供了多种表单模式,仔细研究每种表单的应用场景,选择一种模式符合自己的需要。 从CCBPM支持的表单类型的分类。 表单\数据\流程引擎的关系 流程引擎与表单引擎的关系,就是车的制动系统与车厢的关系。 汽车的控制系统控制前进、转向、后退、鸣笛、刹车等,流程引擎控制功能有发送、移交、退回、关注、删除等。 汽车的车厢可以填充货物,流程的表单可以传递数据。汽车的控制系统、车厢、货物与流程引擎、表单引擎、表单数据三者的关系类似。 表单引擎与流程引擎,就类似于汽车的控制系统与汽车的车厢一样。 未完,待续~ 来源: https://www.cnblogs.com/mengjuan/p/12202002.html

【大咖分享】云上机器学习建模之旅,与智能钛TI-ONE的浪漫邂逅

百般思念 提交于 2020-01-15 06:48:50
原文链接: https://cloud.tencent.com/developer/article/1568874 点击观看大咖分享 据《中国ICT人才生态白皮书》研究分析,2018年底,我国人工智能人才缺口已突破100万,到2020年,这一数字将攀升到226万。但全球367所具有人工智能研究方向的高校每年在该领域毕业的学生仅约2万人,远远不能满足市场需求。 人才缺口大,腾讯云发布超新星AI人才培养计划,深耕高校教育生态。作为该计划中唯一的机器学习平台,腾讯云智能钛TI-ONE走进高校课堂,受到了老师和同学们的喜爱。 无论您是AI出入门者,还是AI专家,在 智能钛机器学习平台TI-ONE 上,都能找到适合您的建模方式。 本次 腾讯云大学大咖分享 课程邀请 余祖坤 腾讯云高级产品经理 分享关于“腾讯云机器学习平台TI-ONE”课程的内容。开启云上机器学习建模之旅,与智能钛TI-ONE来一场浪漫的邂逅吧! 本次分享主要包括三个部分: TI-ONE产品架构;TI-ONE产品特性;使用TI-ONE搭建模型。 1.TI-ONE产品架构 1.1机器学习概述 机器学习通过学习输入的数据来构建模型,以对未来的新输入信息做出预测或识别。 机器学习就好比烧饭,将大米(数据)放入电饭煲(机器学习),选择不同的烹煮模式(不同的算法),最后得到米饭或者粥(不同的模型)。 目前,机器学习已经拥有广泛的应用场景

ASP.NET MVC5+EF6+EasyUI 仓库管理系统

痴心易碎 提交于 2020-01-15 04:47:53
简介    仓库版本与H5工作流版本结合 此系统是在框架基础上叠加的仓库系统功能,同样是开源的,可以用于简单的仓库管理,您也可以在此基础上继续开发与完善! 仓库的框架功能会随着框架的升级而同样升级, 仓库管理售价1666,已经购买过框架的感兴趣的朋友可以差价购买 1.支持组织架构权限,上级可以看到下级数据 2.仓库的所有操作通过角色组紧密联系,即只对仓库授权的角色组开放 3.所有单据可以指定审核人 4.系统所有打印没有使用报表组件,纯HTML web打印 5.所有出入库单据设定为:已经确认的单据不能操作 6.单据审核成功会进入库存数据操作 功能介绍 /*--> */ /*--> */ 数据库字典 H5工作流(H5工作流与Web工作流同步数据) 基础数据 1.仓库管理与授权 仓库可以授权角色组,或者用户,只能是授权用户才可查看   仓库授权给角色组样例    2.商品管理 3.创建与修改界面样例 一、入库管理 1.入库单列表 2.创建入库单-弹出商品选择 3.创建入库单-返回弹出选择后的结果集进行行内修改保存 4.对入库单进行打印 二、出库管理 (出库管理大体与入库一致,一进一出) 1.出库单列表 2.新建出库单-弹出选择商品 3.创建出库单-返回弹出选择后的结果集进行行内修改保存 4.出库单打印 三、调拨管理 调拨是从A仓库到B仓库的过程 1.调拨单管理页面 2.创建调拨单

maven 实现activity工作流的简单例子(以报销为例 附代码)

落爺英雄遲暮 提交于 2020-01-14 11:54:46
今天看到公司有一个项目,是关于activity工作流的,第一次接触,记录一下,方便巩固和之后的查询。 1.配置maven环境 2.运行测试代码 3.代码实现activity工作流 1.配置maven环境    activity是一个比较简单容易上手的工作流,主要操作分为一下步骤 利用activity插件画出需要的逻辑流程图 部署流程 启动流程 迭代处理流程 流程结束 (1)安装所需的画图插件(有在线安装和离线安装,建议是离线安装)    离线通过安装包来安装     下载链接:https://pan.baidu.com/s/1jZgTImyDFsQ62ttt5CyQKg,提取码:abw0     解压后,将 对应的plugins中j所有ar包(我的解压路径是:D:\activityWorkFlow\ActivitiDesigner\plugins)复制到maven工具的安装目录( )下,然后删除configuration文件下的org.eclipse.update整个文件(不删掉的话,会报错的)    然后在 maven工具中选择help - install new software 点击进来后,选择 add - local… 选择画图插件解压后的位置,如下图: 验证是否安装成功,在maven工具中,点击 file - new - other...中 搜索activiti 如果出现