- 浏览: 55664 次
文章分类
最新评论
-
蒙奇君杰:
煎蛋就是幸福 写道我想说,lz你英语水平真不咋的,错误信息提示 ...
tomcat在Debug模式下无法启动解决办法 -
煎蛋就是幸福:
我想说,lz你英语水平真不咋的,错误信息提示的是在45秒内启动 ...
tomcat在Debug模式下无法启动解决办法
VisualRules实例二(中)
上一篇介绍了关于准备数据库、配置数据源和员工信息管理等的相关规则配置方法,下面看一下关于部门信息管理和员工月工资管理的相关规则配置。
一、部门信息管理
我们希望以树状菜单的形式来显示并维护部门信息,点击部门后,会显示该部门下面所有的员工信息。
我们在工程下面,建立一个部门信息规则组。然后我们在这个规则组下面建立部门信息相关的规则包。
1.部门菜单规则包
我们在部门信息规则组下面建立一个名为“部门菜单”的规则包,并将其外部调用名定义为“wage.department.tree”。
2.设置数据源
然后我们在该规则包的对象库中,采用导入的方式添加一个hr_deparment的表。另外我们在添加一个查询所有部门的查询结果集,由于我们在显示树状部门时候,我们希望通过显示顺序来对部门进行排列,所以我们的SQL语句定义为:select hr_department.depid, hr_department.depname, hr_department.superid from hr_department order by hr_vieworder。
3.定义变量
我们首先需要定义一个名为deplist,类型为list<list>的变量,用于存储所有部门信息。我们还需要定义树状菜单提交上来的部门编号、部门名称、显示顺序以及上级部门信息。树状菜单在提交数据时,会缺省用nID来传递主键信息,因此。部门编号的名称定义为nID。另外还需要定义一个树状菜单提交上来的操作类型,缺省的名称为hidAct。如果是新增则为“add”,修改为“edit”,删除为“del”。对象库变量的定义如下所示:
4.定义规则
在树状显示部门信息的逻辑中,首先是如果菜单有数据提交则处理提交的数据,提交分为新增、修改和删除,然后,是将所有部门查询出来,显示到页面上。
因此我们需要建立三个规则集,分别处理,新增、修改和删除的逻辑,最后添加一个规则,将部门信息取出来。
首先添加一个新增规则集,其进入条件为hidAct等于“add”。如下:
然后再其下面添加一个添加记录规则,其逻辑如下:分别设置部门信息表的上级部门字段、显示顺序字段以及部门名称字段,最后执行insert语句完成添加记录操作。可以根据“对表字段赋值向导”完成这个规则的操作。
然后我们添加一个修改规则集,其进入条件为hidAct等于“mod”。如下所示:
我们在修改下面,添加一个修改记录的规则,其逻辑如下:我们只需要设置部门信息表的上级部门字段、显示顺序、部门名称以及部门编号字段的值。然后执行update语句,规则包在执行的时候,会自动根据部门编号这个主键去更新部门信息表。可以根据“对表字段赋值向导”完成这个规则的操作。
然后再添加一个删除规则集,其进入条件为hidAct等于“del”。如下所示:
我们在删除规则集下面,新建一个删除记录的规则,其逻辑如下:将部门信息表的部门编号字段设置值,然后执行delete操作。规则包执行时,就可以根据部门编号的主键值去删除对应的部门信息表。可以根据“对表字段赋值向导”完成这个规则的操作。
最后添加一个读取信息的规则,其逻辑如下:
5.定义框架页面
设置完业务逻辑后,需要设置对应显示的页面。树状菜单显示分为两个页面,一个是frames的框架页面,一个是tree的树状页面。
我们先在规则包下面,新建一个jsp页面,这个jsp页面先将其显示名称修改为wage/department/frames.jsp,模板文件属性设置为“页面框架”,规则执行设置为“预处理字段值”,左边页面url设置为tree.jsp,左窗体宽度设置为120,右边页面url设置为 ../employee/list.jsp。右窗体宽度设为*。如下所示:
6.定义树状菜单页面
我们再新建一个jsp页面,这个jsp页面的模板文件属性设置为“树状页面显示Ⅱ”,并且将其右键菜单属性设置为“显示”。接着通过其编辑窗口设置其字段,首先我们将deplist的输出方式设置为“树状显示”,将nID字段的录入方式设置“不设置”或“隐含字段”,将depid字段的录入方式设置为“隐含字段”,将depname字段的录入方式设置为“隐含字段”,将显示顺序字段的录入方式设置为“隐含字段”,将上级部门的录入方式设置为“隐含字段”,将hidAct的录入方式设置为“不设置”或“隐含字段”。
然后我们在设置这些字段的扩展属性。我们设置deplist的扩展属性。弹出的扩展属性窗口中,我们首先修改treeurl属性,我们将他设置为:
.. /employee/list.jsp?id=<%=((java.util.List)deplist.get(i)).get(0)%>。点击确定后,会修改treeurl。另外我们在增加四个弹出菜单,分别为新建部门,其值为tree_edit('popadd.jsp','add');修改部门,其属性值tree_edit('popedit.jsp','mod');删除部门,其属性值为tree_del('del');部门属性,其属性值为tree_view ('popview.jsp')。这些定义表示当点击树状菜单中的某个部门,可以选择对其的操作,包括新建下级部门,修改当前部门,删除当前部门和查看当前部门详细信息。如下:
我们再设置部门名称的valuepos属性为0,设置显示顺序的valuepos属性为1,设置上级部门的valuepos属性为2。
我们定义了对树状菜单中的元素的操作之后,可以对部门进行操作,我们还需要定义一个对全局的新建一级部门的操作,这个操作需要定义在jsp页面的参数设置中。
我们在jsp页面的参数设置窗体双击,然后再弹出的窗口中,选择“弹出式菜单名称及click事件”,属性名输入为:popup_新建部门,属性值设置为:tree_new('popadd.jsp','add')。如下所示:
点击确定后,完成设置。
我们用jsp web浏览器打开frames.jsp页面,出现如下界面:
表示页面设置完成。
7.部门信息规则包
定义了树状显示的部门菜单之后,我们需要定义输入部门信息的输入窗体,这些窗体我们在前面的页面中定义为popadd.jsp,popedit.jsp,popview.jsp。这些页面都是根据部门编号自动显示部门信息,进行修改。
在弹出这些窗体页面时,系统会将被点击的部门编号,以nID的名称传过去:
我们先在部门信息规则组下面新建一个“部门信息”规则包,并且将其外部调用名设置为“wage.department.pop”。
8.定义数据源
我们在对象库中,导入添加hr数据源以及hr_department表。
9.定义变量
我们在对象库中,首先定义一个nID变量,这个变量是缺省情况下,从页面上传入的。然后是hidAct变量,这个变量表示当前是什么操作,弹出的这个页面。
然后再定义读取hr_department表的字段depid、depname、vieworder、superid,nID,hidAct字段,如下所示:
这些定义,也可以直接从部门菜单的对象库中,复制过来。
10.定义规则
定义完变量和数据源之后,我们需要定义处理的规则。这个规则包的逻辑如下:首先判断此操作类型。如果操作类型不是是add,并且nID大于0则我们显示该部门下的所有信息。
我们添加一个判断操作的规则集,进入条件为操作不等于“add”并且nID大于零:
添加页面信息规则,显示部门名称,顺序,上级部门:
如果传入是是add操作,并且nID大于零,则我们把上级部门设置为该部门编号也就是nID。先添加判断操作的规则集:
11.定义页面
我们将这个规则包用于三个页面的业务逻辑层处理。因此我们需要定义三个页面。首先我们添加popadd.jsp页面。
我们先在规则包下面添加一个jsp页面,将其名称修改为wage/department/popadd.jsp,并且将模板文件设置为“弹出式输入页面”,将字符长度设置为“按字符数校验”。
然后我们在该jsp页面的编辑窗体,设置其字段。如下,我们将nID字段的录入方式设置为隐含字段,将depid字段的录入方式设置为隐含字段;将superid字段的录入方式为隐含字段,将hidAct字段的录入方式设置为隐含字段。
然后,我们根据向导更新字段的长度,另外我们在设置字段的扩展属性。我们将depname的valuepos设为0,将vieworder的valuepos设为1,将superid的valuepos设为2。
添加完popadd.jsp后,我们在添加popedit.jsp。我们复制已经定义的popadd.jsp,然后将复制后的popadd.jsp名称修改为popedit.jsp,将其标题设置为“修改部门”:
最后我们添加popview.jsp页面。我们复制已经定义的popadd.jsp,然后将复制后的popadd.jsp名称修改为popview.jsp,将其标题设置为“部门属性”,数据提交区为关闭按钮:
另外,我们在该popview.jsp的编辑窗口,设置字段的显示方式,我们将depname和vieworder字段的非空设置为“静态文本显示”,设置上级部门为数字输入框,其录入字段为非空设置为“静态文本显示“:
通过以上的设置就完成了部门信息的维护工作。
我们通过jsp web浏览器打开frames.jsp页面,通过该页面就可以进行新建部门、修改部门和删除的操作,如下所示:
关于员工工资管理要完成以下需求:
我们以月为单位来计算员工的月工资,首先我们定义的一个初始化逻辑,根据员工的入职时间,将当月在职的员工的基本工资初始化到月工资表中。
初始化之后,就有了员工工资的基本信息,然后设置员工当月的奖金以及惩罚金额。根据这些设置最后计算员工工资数据。
最后员工就可以查询自己的月工资信息了。
具体的操作,放到下一节去详细介绍。
发表评论
-
规则引擎Visual Rules Solution开发基础教程【连载24】-- 使用VisualRules规则引擎实现业务逻辑
2016-04-29 09:33 912使用VisualRules规则引擎实现业务逻辑 ... -
规则引擎Visual Rules Solution开发基础教程【连载23】--规则协同管理之系统管理
2016-04-22 15:44 1001规则协同管理之系统管 ... -
规则引擎Visual Rules Solution开发基础教程【连载22】--规则协同管理之信息维护
2016-01-25 09:12 1018规则协同管理之信息维护 信息维护只有两个部分 ... -
规则引擎Visual Rules Solution开发基础教程【连载21】--规则协同管理之权限管理
2016-01-18 09:47 1327规则协同管理之权限管理 权限管理由三部分组成 ... -
规则引擎Visual Rules Solution开发基础教程【连载20】--规则协同管理之规则管理
2016-01-11 09:48 1480规则协同管理之规则管理 一、规则上传 我们 ... -
规则引擎Visual Rules Solution开发基础教程【连载19】--规则协同管理介绍
2016-01-07 09:20 672规则协同管理介绍 一、简介 在团队开发项目 ... -
规则引擎Visual Rules Solution开发基础教程【连载18】-- Linux环境 安装配置说明
2015-12-21 10:15 1268Linux环境 安装配置说明 一、安装配置测试环境及版本 ... -
规则引擎Visual Rules Solution开发基础教程【连载17】--VisualRules接口调用(六)
2015-12-16 11:28 1025VisualRules接口调用(六) ——Java类中含类 ... -
规则引擎Visual Rules Solution开发基础教程【连载16】--VisualRules接口调用(五)
2015-12-07 09:09 1388VisualRules接口调用(五) Java类中的List ... -
规则引擎Visual Rules Solution开发基础教程【连载15】--VisualRules接口调用(四)
2015-11-30 09:11 1051VisualRules接口调用(四) 一、Java类调用服务 ... -
规则引擎Visual Rules Solution开发基础教程【连载14】--VisualRules接口调用(三)
2015-11-23 09:23 968VisualRules接口调用(三 ... -
规则引擎Visual Rules Solution开发基础教程【连载13】--VisualRules接口调用(二)
2015-11-16 10:31 933VisualRules接口调用(二) 接上一篇,下面介绍一下 ... -
规则引擎Visual Rules Solution开发基础教程【连载12】--VisualRules接口调用(一)
2015-11-09 10:25 1780VisualRules接口调用(一 ... -
规则引擎Visual Rules Solution开发基础教程【连载11】--WebService 搭建及调用
2015-11-02 10:15 1317WebService 搭建及调用 webs ... -
规则引擎Visual Rules Solution开发基础教程【连载10】--VisualRules的组成及执行原理
2015-10-26 17:41 1178VisualRules的组成及执行原理 在 ... -
规则引擎Visual Rules Solution开发基础教程【连载9】--VisualRules实例二(下)
2015-10-19 10:46 887VisualRules实例二(下) 书接上 ... -
规则引擎Visual Rules Solution开发基础教程【连载7】--VisualRules实例二(上)
2015-10-08 11:45 991VisualRules实例二(上) ... -
规则引擎Visual Rules Solution开发基础教程【连载6】--VisualRules实例一
2015-09-28 11:22 670VisualRules实例一 以下通过一个 ... -
规则引擎Visual Rules Solution开发基础教程【连载5】--VisualRules深入了解
2015-09-21 10:02 1737VisualRules深入了解 通过前两篇的 ... -
规则引擎Visual Rules Solution开发基础教程【连载4】--VRS相关调用篇
2015-09-14 10:10 995VRS相关调用 一、Java类 ...
相关推荐
Visual Basic 6.0程序设计基础教程---李锦--大连理工大学出版社--2007.8.pdf
《Visual C++6.0实例教程》是一份专为初学者设计的教程,旨在通过具体的实例来教授如何在Microsoft Visual C++ 6.0(简称VC++6.0)环境中进行C++编程。Visual C++6.0是微软公司发布的一款强大的集成开发环境,它不仅...
《Visual Rules规则引擎产品详解》 Visual Rules是一款由旗正信息公司自主研发的规则引擎产品,拥有完全独立的知识产权,专为中国市场打造。该产品旨在帮助企业高效管理业务规则,实现业务规则的快速更新和优化,...
在描述中提到的Visual Rules Solution旗正规则引擎中,决策池扮演了这样的角色。 1. **决策池功能介绍** 决策池的设计目标是提高规则的复用性和效率。在规则开发中,如果某些规则被频繁使用,将这些规则放入决策池...
### VisualRules在电信业务支撑系统开发中的应用 #### 一、引言 随着信息技术的不断发展,电信行业面临着越来越复杂的业务需求和技术挑战。为了更好地适应市场变化、提高服务质量、降低成本,电信运营商需要构建...
《Visual C++游戏开发技术与实例》是一本专为游戏开发者和初学者设计的教程,旨在通过实践案例帮助读者深入理解和掌握使用Visual C++进行游戏开发的核心技能。Visual C++作为Microsoft开发的一款强大的编程环境,...
Visual Basic 6.0程序设计教程---曾强聪--中国水利水电出版社--2003.7.pdf
根据提供的文件信息,“AutoCAD VBA _ VB.NET开发基础与实例教程 第2版.pdf”,我们可以推断出这是一本关于如何使用Visual Basic for Applications (VBA) 和 Visual Basic .NET (VB.NET) 开发AutoCAD应用程序的专业...
Visual Basic程序开发完整实例教程
Visual C++串口通信工程开发实例导航 - [求是科技].pdf
不过,我将根据标题、描述以及文件名中提及的“Visual C++数据库开发经典实例精解”这一主题,为您提供与该主题相关联的知识点。 Visual C++数据库开发是面向数据库编程的一个领域,主要侧重于使用Visual C++这一...
《Visual C++开发实例大全9-15章(基础卷)源代码》涵盖了C++编程在Windows环境下的多个重要领域,这些章节包含了丰富的实例和部分配套视频教程,旨在帮助开发者深入理解和掌握Visual C++的使用技巧。以下是这些章节...
《Visual Basic 2005基础与实例教程》是一本专为初学者设计的编程教材,旨在帮助读者掌握Visual Basic 2005这一强大的编程工具。VB(Visual Basic)是微软公司推出的一种面向对象的事件驱动编程语言,是.NET框架的一...
.NET开发基础与实例教程第二版随书光盘》是一部专为学习AUTOCAD编程的读者准备的教程资源。该教程涵盖了VBA(Visual Basic for Applications)和VB.NET(Visual Basic .NET)两种语言在AUTOCAD环境中的应用,旨在...
书中包含的PDF文档和PPT课件,将会系统地讲解Visual C++的基础语法、面向对象编程概念、类和对象、函数、异常处理、内存管理、MFC应用开发等内容。PDF教程将详细阐述每个知识点,并辅以实例代码解释,帮助读者消化...
《Visual C++ 6.0 实例教程》是一本针对初学者和有一定基础的程序员设计的教程,旨在帮助读者深入理解和掌握Microsoft的Visual C++ 6.0开发环境。Visual C++是C++编程语言的强大集成开发环境(IDE),它不仅支持C++...
创建规则包的步骤简单明了,例如创建“基础规则”可以通过在Visual Rules Solution界面中选择新建规则包,并为其指定名称来完成。 2.1.2 变量定义 在规则包中,我们需要定义业务逻辑所需的变量。在“基础规则”中...
Microsoft Visual FoxPro 6.0是一款经典的数据库开发工具,它基于FoxBase的Xbase语言,由微软公司开发。本教程是专为初学者设计的,旨在帮助用户掌握Visual FoxPro的基础知识和操作技能。 在开始学习之前,了解基础...
《visual basic开发实例大全》超级详尽的实例大全,源码分析的案头手册,提高效率的绝好帮手! 36个方向,1200个实例案例,visual basic编程类四库全书,分门别类常用编程实例,一网打尽! 实例说明、技术要点、...
[Visual.C.权威剖析--MFC的原理、机制与开发实例].辛长安.王颜国.扫描版~~~~~好不好大家知道~ 下载完整后解压,谢谢~~