WorkFlow设计篇Step.1—传参的用法-订单金额的计算-WF4.0

简介:

开篇

         之前的篇幅,我们主要是讲述了《WorkFlow入门篇》的一些内容,其实主要是基础的workflow的用法,我们并没有深入的说明,从本篇开始,就开始讲述一些设

计篇的内容,比如代码活动等等,更深入一些的内容,并且结合一些业务流程来说明WF的用法。

摘要

WorkFlow是最近比较流行的一门技术,其实WF起源于20世纪70年代中期的办公化自动领域,自1993年8月,WFMC(工作流管理联盟)成立,1994年制定了一

系列的关于工作流的标准。进入21世纪工作流被越来越多的学者关注,该项技术越发走向成熟。当然我也是必须跟上时代的步伐,所以也加入工作流的大军,希望能

够跟上前人的脚步。当然也希望感兴趣的朋友,加入工作流的讨论群中来。具体群号:120661978。

目前,我们已经在AgileEAS.平台中陆续集成了,界面设计器+工作流的内容,当然工作流目前还不算太成熟,还不方便放出来,本文只是抛砖引玉,还希望

大家多多重视工作流的内容。

大纲

一、开篇

二、摘要

三、WF4.0的参数传递

参数传递使用说明

参数传递,顾名思义,有入参,出参,还有既是输入又是输出的参数等,下面我们就来看看参数的传递用法吧。

1、新建一个控制台工作流应用程序,并命名为OrderProcess:

image_thumb3

2、添加一个Orders的Class类文件:

image

3、在Orders类的内部,添加如下代码:

namespace OrderProcess 

     public class Orders 
    { 
         public Orders() 
         { 
             Items = new List<OrderItem>(); 
         }

         public int OrderID 
         { 
             get; 
             set; 
         }

         public int Description 
         { 
             get; 
             set; 
         }

         public int TotalWeight 
         { 
             get; 
             set; 
         }

         public string MethodName 
        { 
            get; 
            set; 
         }

         public IList<OrderItem> Items 
         { 
             get; 
             set; 
         } 
    } 
}

上面引用了类OrderItem类的内容,作为订单的具体订单内的明细项信息,该OrderItem的类的代码如下:

namespace OrderProcess 

    public class OrderItem 
    { 
        public int OrderItemID 
        { 
            get; 
            set; 
        }

        public string OrderItemCode 
        { 
            get; 
            set; 
        }

        public int Quantity 
        { 
            set; 
            get; 
        } 
    } 
}

4、我们拖拽一个Sequece活动到设计器上:

image

5、我们创建一个MyOrder参数,该参数的方向是输入,类型是我们之前定义的Orders类类型:

image

6、向工作流设计器中添加如下几个活动和参数:

image

7、在sequence控制流中添加一个switch活动,具体如下:

image

8、下面我们继续添加,在sequence快结束的地方,输出我们的输出参数“TotalAmount”的值

image

9、下面我们来在program的main方法中初始化一些信息及相关的参数,我们来测试运行,看看具体的运行结果。

image

10、F5运行查看运行结果:

image

 




本文转自何戈洲博客园博客,原文链接:http://www.cnblogs.com/hegezhou_hot/archive/2011/06/14/2080399.html,如需转载请自行联系原作者

目录
相关文章
|
网络协议
ip 地址哪些是保留地址?
ip 地址哪些是保留地址?
5464 1
|
机器学习/深度学习 数据采集 人工智能
人工智能与机器学习的前景和挑战
人工智能和机器学习的前景是令人振奋的,它们在许多领域带来了创新和变革。然而,随着前景的广阔,也伴随着一些挑战,如数据质量、隐私和伦理问题。通过持续的研究和努力,我们有望克服这些挑战,实现人工智能和机器学习的更大潜力。从自动驾驶汽车到医疗诊断,从自然语言处理到工业自动化,人工智能和机器学习将继续塑造我们的世界。
1010 1
人工智能与机器学习的前景和挑战
|
9月前
|
人工智能 运维 监控
阿里云联合中国信通院等单位发布首个云计算智能化可观测性能力成熟度模型标准
推动行业智能化落地,阿里云联合中国信通院及国内头部云厂商、观测厂商、各行业建设方,历时近 5 个月,共同编制《云计算智能化可观测性能力成熟度模型》,以规范和指导云计算环境下的智能可观测性建设实践,为企业实施云环境下的智能化可观测能力建设提供指导。
304 92
|
8月前
|
前端开发 Java API
SpringBoot整合Flowable【06】- 查询历史数据
本文介绍了Flowable工作流引擎中历史数据的查询与管理。首先回顾了流程变量的应用场景及其局限性,引出表单在灵活定制流程中的重要性。接着详细讲解了如何通过Flowable的历史服务API查询用户的历史绩效数据,包括启动流程、执行任务和查询历史记录的具体步骤,并展示了如何将查询结果封装为更易理解的对象返回。最后总结了Flowable提供的丰富API及其灵活性,为后续学习驳回功能做了铺垫。
563 0
SpringBoot整合Flowable【06】- 查询历史数据
|
11月前
|
SQL 关系型数据库 MySQL
MySQL EXPLAIN该如何分析?
本文将详细介绍MySQL中`EXPLAIN`关键字的工作原理及结果字段解析,帮助优化查询性能。`EXPLAIN`可显示查询SQL的执行计划,其结果包括`id`、`select_type`、`table`等字段。通过具体示例和优化建议,帮助你理解和应用`EXPLAIN`,提升数据库查询效率。
552 1
|
11月前
|
Java 数据处理 开发者
Java Http 接口对接太繁琐?试试 UniHttp 框架~
【10月更文挑战第10天】在企业级项目开发中,HTTP接口对接是一项常见且重要的任务。传统的编程式HTTP客户端(如HttpClient、Okhttp)虽然功能强大,但往往需要编写大量冗长且复杂的代码,这对于项目的可维护性和可读性都是一个挑战。幸运的是,UniHttp框架的出现为这一问题提供了优雅的解决方案。
300 0
|
数据可视化 PyTorch 算法框架/工具
Pytorch中张量的高级选择操作
在某些情况下,我们需要用Pytorch做一些高级的索引/选择,所以在这篇文章中,我们将介绍这类任务的三种最常见的方法:torch.index_select, torch.gather and torch.take
195 0
|
JavaScript 前端开发 应用服务中间件
Vue.js项目部署与优化:一场从本地到生产环境的华丽蜕变,见证你的应用如何凤凰涅槃,惊艳上线!
【8月更文挑战第30天】作为一名前端开发者,掌握从本地开发环境到生产环境的迁移至关重要。本文将带你了解如何使用 Vue.js 构建和打包应用,确保其在生产环境中流畅运行。首先,通过 `npm run build` 或 `yarn build` 命令生成生产环境文件;接着,配置服务器(如 Nginx)以支持静态文件服务;最后,通过代码分割、资源压缩、CDN 使用、服务端渲染及缓存策略等手段优化应用性能。跟随本文,你将学会如何让 Vue.js 应用在真实环境中表现优异,为用户提供流畅体验。
187 0
|
SQL Java 数据库连接
Mybatis如何通过泛型来动态调整返回参数
Mybatis如何通过泛型来动态调整返回参数
809 0
|
存储 Linux Shell
【Shell 命令集合 磁盘维护 】Linux 关闭Linux系统中的交换空间 swapoff命令使用教程
【Shell 命令集合 磁盘维护 】Linux 关闭Linux系统中的交换空间 swapoff命令使用教程
343 1