- 浏览: 55994 次
-
文章分类
最新评论
-
蒙奇君杰:
煎蛋就是幸福 写道我想说,lz你英语水平真不咋的,错误信息提示 ...
tomcat在Debug模式下无法启动解决办法 -
煎蛋就是幸福:
我想说,lz你英语水平真不咋的,错误信息提示的是在45秒内启动 ...
tomcat在Debug模式下无法启动解决办法
VisualRules实例二(下)
书接上回,在这篇实例的最后一部分介绍一下“员工月工资管理”的相关内容。
一、员工月工资管理需求
我们以月为单位来计算员工的月工资,首先我们定义的一个初始化逻辑,根据员工的入职时间,将当月在职的员工的基本工资初始化到月工资表中。
初始化之后,就有了员工工资的基本信息,然后设置员工当月的奖金以及惩罚金额。根据这些设置最后计算员工工资数据。
最后员工就可以查询自己的月工资信息了。
在工资管理工程下面,建立一个员工月工资规则组。该规则组下面维护月工资相关的规则包。
我们首先需要建立一个月工资初始化的规则包,这个规则包传入月份后,就可以初始化月工资数据。
我们再做一个月工资维护的规则包。这个规则包,显示员工的月基本工资、奖金、惩罚金额。
计算工资规则包,根据录入的数据,计算月工资、扣款、实发工资。
最后再作一个查询功能,根据员工姓名,查询员工的月工资清单。
二、月工资初始化规则包
首先我们在规则组下面新建一个月工资初始化的规则包,然后将该规则包的外部调用名命名为wage.salary.init。
这个初始化的规则,是根据需要计算的月份,从员工信息表中将入职日期在该月之前的员工的基本工资取出来,作为员工的基本数据,然后将这些数据初始化到员工该月的基本工资。
最后将这些月工资数据,更新到月工资表中。
![](http://dl2.iteye.com/upload/attachment/0112/4079/bad90d73-7599-3d75-9674-580d629fd677.png)
1.定义数据源
我们在规则包的对象库中,添加一个hr数据源,然后在其下面导入月工资表。另外我们在建立一个取入职日期在该月之前的员工的基本工资的sql查询。如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4081/1f46c152-11af-38d1-82f0-788b93433b8a.png)
这个sql可以通过向导生成,然后将sql语句做相应的修改,变量名称如果需要可读性强些,也可以进行定义。
2.定义内存表
我们可以在hr数据源下面也可以直接在对象库下面建立内存表。本例中我们在hr数据源下面建立月工资的内存表。
如下所示,右键点击hr数据源,选择“添加计算表格”:
![](http://dl2.iteye.com/upload/attachment/0112/4083/183cfeda-b8ff-3be5-9e4d-3104ab8c09f6.png)
然后将内存表的显示名称改为“月工资内存表”,如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4085/2fb50513-e8ec-3242-b13d-90cbbb621453.png)
点击确定后,系统会在hr数据源下面建立一个月工资内存表。下面我们需要定义月工资内存表的列信息。这些列信息,可以从月工资表的字段复制过来。在本例中,我们只需要初始化员工编号、年、月、基本工资,奖金和惩罚我们都设置为0,当月工资为基本工资,所得税和税后工资暂时都设为0,表示还没有进行计算。
首先到月工资表的也工资表结构,选中所有的表的字段,然后右键选择复制:
![](http://dl2.iteye.com/upload/attachment/0112/4087/4fa161b2-88c1-3858-85b0-bf206921381a.png)
然后点击月工资内存表,在其编辑窗口,右键选择“粘贴”:
![](http://dl2.iteye.com/upload/attachment/0112/4089/d6d4f150-b87c-3328-bd7e-f46ad2d84c0b.png)
粘贴后,会在内存表中,设定完和月工资表一致的列信息。我们选中所有的列,并且在前面打上勾,这样会将所有的列设成是可以选中的:
![](http://dl2.iteye.com/upload/attachment/0112/4091/ce89484f-a451-302c-9f03-7fba0d692349.png)
3.定义变量
初始化月工资表,需要输入设置的月的年份和月份。我们分别定义变量sayear,samonth两个变量在对象库的传入数据中:
![](http://dl2.iteye.com/upload/attachment/0112/4093/3ebe55f0-0a88-3f02-a2f9-2e10d2103d17.png)
我们在本例的业务逻辑处理时,需要根据年份和月份取得该月的最后一天,因此我们需要定义一个临时变量,这个临时变量存储该月最后一天。
![](http://dl2.iteye.com/upload/attachment/0112/4095/07b7985f-c880-397c-b9d8-ee44b5fb74fb.png)
另外我们再定义一个外部方法
![](http://dl2.iteye.com/upload/attachment/0112/4097/f14009ff-ecb4-3976-a2dd-fea637768719.bmp)
![](http://dl2.iteye.com/upload/attachment/0112/4099/92952c6a-3b1d-3971-a225-630ec5a713d5.png)
然后在类名的输入框中输入com.flagleader.util.DateUtil,点击回车后,出现类的静态方法
![](http://dl2.iteye.com/upload/attachment/0112/4101/53d6a980-23ae-381c-81ee-545a97a84075.png)
![](http://dl2.iteye.com/upload/attachment/0112/4103/e4c8f18f-7762-3183-a3f6-d9a7ed9aa609.png)
点击确定后,在外部调用里面就会增加一个方法,我们将其显示名称修改为“取{arg1}年 {arg2}月的最后一天”,如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4105/f8c8716e-0782-3c5a-a4ee-573e2199f87a.png)
4.定义规则
定义完了对象库之后,我们来定义操作这些数据的逻辑。首先我们根据传入的年份和月份,然后取得入职日期在该月最后一天之前的那些员工的基本工资,然后这些员工信息添加到月工资内存表中。在将内存表中员工的其他信息进行初始化。最后将这些员工信息,存入数据库表中。
(1)有效月份判断规则集
首先定义一个校验是否输入有限的年份和月份的规则集:
![](http://dl2.iteye.com/upload/attachment/0112/4107/c2b4f7b7-93fe-3382-ba27-9877eb87115c.png)
(2)读取员工信息规则
我们在规则集下面建立一个规则,名为读取员工信息,我们先设置该月最后一天,赋值给临时变量:
![](http://dl2.iteye.com/upload/attachment/0112/4109/e6cf8d3d-aa1a-300e-a7d4-c6d28597e238.png)
设置完之后,我们根据该月最后一天执行取员工的基本工资的sql查询语句:
![](http://dl2.iteye.com/upload/attachment/0112/4111/28a4787a-18c9-3f1d-8b57-af45788ed580.png)
我们在将查询后的数据,导入到月工资内存表中:
![](http://dl2.iteye.com/upload/attachment/0112/4113/7af2ae86-32d1-3a50-8906-094b87a89c15.png)
添加了将查询结果“请点击选择”中的数据根据设定的列对应关系全部导入到表格(月工资内存表)中的方法后,我们点击“请点击选择”,然后再输入框中,选择“入职日期之前的员工基本信息”查询作为来源列表数据,列的对应关系,如下所示进行设置:
![](http://dl2.iteye.com/upload/attachment/0112/4115/270ef58d-c898-34c7-b06a-37feb8db8e6e.png)
点击确定后,就设置了将查询的结果集数据导入到内存表中的操作。
(3)初始化月工资数据规则
接下来我们需要初始化月工资数据,我们要把月工资内存表中的奖金设为0,惩罚设为0,月工资设为已经分配的基本工资,所得税扣款设为0,税后工资设为0。
先添加一个规则,命名为初始化月工资。然后通过其属性窗口,将其中的遍历表格属性打上勾,选择表格属性,选择“月工资内存表”。如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4117/dab68ec5-4d12-3592-881c-1571c52d48da.png)
设置完后,我们再设置具体的逻辑,我们设置多个赋值语句,被赋值的为月工资内存表的列,如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4119/dadcc847-f773-30fd-a668-85465753b40a.png)
最后我们将内存表的数据写入数据库,我们建立一个名为“写入数据库”的规则。将其遍历表格属性打上勾,选择表格属性,选择“月工资内存表”。
我们通过向导设置表的赋值语句,并且赋值语句的值的来源,选自月工资内存表,如下,我们先选择右键点击“写入数据库”规则,选择“对表字段赋值向导”:
![](http://dl2.iteye.com/upload/attachment/0112/4121/2c8763e7-219d-319c-adc3-5416f95b1fa5.png)
然后我们选择“月工资表”下面所有的字段,并且将包含插入操作和包含更新操作打上勾,如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4123/57ebfb00-abe2-3c9c-8071-b9f79dc83f8b.png)
点击确定后,会自动添加插入表语句,由于月工资内存表的所属年和所属月字段和输入的年和月一致,因此缺省选择的根据变量赋值给表字段的操作,不用做修改。如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4125/d3203921-2d1b-38b4-ab15-7da3ea598c65.png)
5.定义页面
业务逻辑定义完毕后,我们需要定义调用页面。这个页面通过在维护月工资数据时发起,因此我们将其设置为判断处理页面,并且设置成无错就直接返回到table.jsp页面。
![](http://dl2.iteye.com/upload/attachment/0112/4129/fd759a27-9ecf-341e-b897-536d16b07636.png)
init.jsp页面不能单独显示,在table.jsp通过提交调用。
三、月工资维护规则包
我们需要通过输入年月来查询该月的月工资数据,可以通过初始化月工资数据,可以看到该月所有员工的月工资数据,并且进行修改维护。可以对这些维护的数据,自动计算所得税和税后工资,可以将修改的数据保存到数据库中。
我们在员工月工资规则组下面,新建一个名为“月工资维护”的规则包,将其外部调用名定义为 wage.salary.table。
1.定义数据源
我们在对象库下面新建一个hr数据源,并且在hr数据源下面建立一个查询,如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4131/4ee7c991-8b0d-3f3f-8a1c-dd8ef26136b4.png)
这是根据所属年和月,查询该月的工资表数据。
2.定义内存表
由于我们需要以纵横表格的形式来显示数据,因此在纵轴上我们希望显示员工姓名,在横轴上我们希望显示月份。这样我们在取得的数据中,需要包含一列信息是月份信息的。因此我们定义一个内存表,增加一列信息,用于表示月份信息。
我们在hr数据源下面,增加一个名为“员工月工资内存表”的计算表格,然后设置其信息如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4133/fec6f8d8-1b18-3373-8126-d3e3e82e5eee.png)
其中monthinfo为我们需要增加的月份信息,其他字段可以直接从sql查询中得到。
3.定义变量
我们再定义需要的变量,本例中根据输入年和输入月,来查询得到月工资表,因此需要定义输入年和输入月两个变量。另外需要定义一个salarylist变量,用于从内存表中取值,另外我们还需要定义一个变量表示数据是查询页面提交上来的:
![](http://dl2.iteye.com/upload/attachment/0112/4135/2e8c35be-f8c7-3864-9ac2-bc53f6482c57.png)
4.定义规则
具体的业务逻辑如下,首先是根据传入年和月查询该月工资表,将该工资表赋值给内存表,将其中的月信息描述成中文,最后将此数据返回给salarylist变量传到页面。
(1)提交查询规则集
我们定义一个规则集,其进入条件是提交不为空,并且输入年和月信息合法:
![](http://dl2.iteye.com/upload/attachment/0112/4137/58b7243c-09f6-375d-b8f8-73426e94e659.png)
(2)读取表数据规则
我们在规则集下面新建一个“读取表数据”的规则,规则逻辑为先根据输入年和月执行sql语句,再将sql查询的结果集赋值给内存表。
![](http://dl2.iteye.com/upload/attachment/0112/4139/4d87dfb7-df6d-3a6e-8062-a60e9d48211e.png)
其中列对应关系为:
![](http://dl2.iteye.com/upload/attachment/0112/4141/714f728b-7de4-3935-b2e5-ed386b0d3128.png)
(3)更新月描述信息规则
我们在规则集下面,建立一个“更新月描述信息”规则,将此规则属性的遍历表格属性打上勾,选择表格属性,选择“员工月工资内存表”。
然后我们在具体的逻辑中,增加一条赋值语句,被赋值为内存表的月份信息。我们需要将月份信息设置为 输入年+“年”+输入月+“月”这种形式。由于输入年和输入月为数值型,而月份信息的类型为字符串型。因此需要先设置,可以将数值型设置为字符串型。
定义的赋值语句如下:
![](http://dl2.iteye.com/upload/attachment/0112/4143/b5b65610-60ec-329b-a1a8-41b33bd610ec.png)
然后我们点击工程菜单中的设置,如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4145/7c42d6da-1c20-3906-9835-a0bf309291c4.png)
然后我们将编辑选项中的“自动转换其他类型为字符串”打上勾,如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4147/ac4d1c30-0ada-3d7a-a906-079f6d528080.png)
这样我们就可以在赋值语句中选择到输入年和输入月:
![](http://dl2.iteye.com/upload/attachment/0112/4149/dcc551b0-fd2f-3d62-a6ca-4f84fd6d8941.png)
设置完成后,如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4151/e7ce2b30-4b89-3c95-9591-25afe4cabd99.png)
(4)取内存表数据规则
最后我们定义一个取内存表数据的规则,将内存表的数据赋值给salarylist变量,赋值语句如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4153/e62c97cb-e7a2-3c6f-8186-f7b2785e8765.png)
属性栏设置为:
![](http://dl2.iteye.com/upload/attachment/0112/4155/9c004c5e-b07b-327a-975f-cc5d71b6f035.png)
![](http://dl2.iteye.com/upload/attachment/0112/4157/44b4b18a-d19b-3a55-8079-d9d3f40cff16.png)
5.定义table.jsp页面
我们用xy纵横表格来显示月工资表,首先我们在规则包下面新建一个jsp页面,然后设置该jsp页面的模板文件为“纵横表格显示”,显示导航属性为“显示并包含返回按钮”,检索条件为“不显示”,快速检索为“不显示”,提交页面为table.jsp,保存页面为“save.jsp”,查询页面为“select.jsp”:
![](http://dl2.iteye.com/upload/attachment/0112/4159/81079f15-62e2-3312-a0d6-426a6dadd9f7.png)
然后我们设置页面的字段信息,我们将输入年的录入方式设置为“隐含字段”,将输入月的录入方式设置为“隐含字段”,将月工资表的输出方式设置为“纵横表格”,将提交的录入方式设置为“不设置”,如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4161/fa134fa5-4cae-3a3a-962e-835b0f1b7040.png)
接下来,我们为月工资表的纵横表格,设置纵轴、横轴和中间值的信息。首先我们右键点击月工资表,在弹出的菜单中,选择“添加列字段向导”:
![](http://dl2.iteye.com/upload/attachment/0112/4163/312a9e01-a7ba-3dd0-a2ca-1c3469e0de34.png)
然后弹出的选择窗体中,我们选择“员工月工资内存表”下面一些列作为显示,其中员工姓名在纵轴上显示,月份信息在横轴上显示。
![](http://dl2.iteye.com/upload/attachment/0112/4165/bd1bad5f-5095-3546-969d-54728a148378.png)
这样会在月工资表的纵横表格下面,建立值信息,缺省情况下,这些值都被设置成中间值,我们需要做以下的修改:当月基本工资、当月奖金、惩罚扣除的录入方式设置为“文本输入框”,员工姓名的字段类型设置为“纵横显示”,月份信息的字段类型设置为“横轴显示”,然后调整“月份信息”,“员工姓名”位置:
![](http://dl2.iteye.com/upload/attachment/0112/4167/7c8cfc71-1601-3d07-b006-aa56d93f4f34.png)
接下来我们设置字段的扩展属性,我们将月工资表纵横表格的扩展属性做如下的修改:exportExcel属性设置为true,表示可以直接可以生成Excel数据。valuetop属性设置为true,将值设成是横向排列。hiddencolamount属性设置为true,表示隐藏汇总的列信息。
![](http://dl2.iteye.com/upload/attachment/0112/4169/99cf6675-af8a-3214-b964-26c66c2e72c4.png)
在纵横表格的中间值中,当月工资是由当月基本工资+奖金+惩罚得到的。其中惩罚为负数。因此当月工资我们设成是公式。
我们在当月工资字段的扩展属性中,将其formula属性设置为 @3+@4+@5:
![](http://dl2.iteye.com/upload/attachment/0112/4171/94d77aa0-2a0b-3843-8605-dacb8eac0556.png)
接下来,我们需要为页面增加一个“初始化”按钮,因此我们在jsp页面的页面元素窗体中,点击添加按钮,在弹出的输入框中输入如下:
![](http://dl2.iteye.com/upload/attachment/0112/4173/d20c2d49-d1d3-3304-99ff-39bd04ff14db.png)
添加确定后,会增加一个页面元素,我们将其扩展属性做如下的设置:
![](http://dl2.iteye.com/upload/attachment/0112/4175/fec1b0ff-b74d-3fad-8d1c-5dbc1375846d.png)
table.jsp我们设置完后,我们需要一个select.jsp来调用它。
6.设定select.jsp页面
我们在规则包下面添加一个jsp页面,并且将其名称设置为wage/salary/select.jsp,另外我们将其模板文件设置为“录入提交页面”,另外我们将提交页面设置为“table.jsp”页面:
![](http://dl2.iteye.com/upload/attachment/0112/4177/9e21129a-af9d-350f-8af5-697989b1d213.png)
我们设置页面的字段信息,由于select.jsp页面不处理salarylist,因此将此字段删除。我们要将年和月合并在一起显示,因此我们要通过扩展属性来进行设置。首先我们将sayear的录入方式设置为“文本输入框”,并且其显示名称设置为“请选择:”,另外我们将samonth的录入方式设置为“下拉式菜单选择框”,将其显示名称设置为空。我们将提交设置“提交按钮”,如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4179/668ad957-2960-337b-a9b9-53a040ec95e3.png)
接下来我们设置sayear的扩展属性,我们将其width设置为40,将posfix设置为年,表示后缀显示为年,hasnext设置为samonth:
![](http://dl2.iteye.com/upload/attachment/0112/4181/f19d43df-c0bd-3d82-814b-a0bb4335a4cf.png)
我们在设置samonth的扩展属性,我们将其postfix的属性设置为“月”,并且我们添加多个“单个菜单项”,分别用于表示下拉选择1到12月,如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4183/1121c5e7-dfe8-3431-881e-8268a4c14043.png)
定义完页面后保存,通过jsp web浏览器打开select.jsp,出现如下界面:
![](http://dl2.iteye.com/upload/attachment/0112/4185/0ea360c7-e4a0-337b-992a-2bfc7dfe9211.png)
点击提交后,出现2009年3月的月工资表,但是是空白的:
![](http://dl2.iteye.com/upload/attachment/0112/4187/a6660398-4435-3a19-8baa-e177259e6d65.png)
点击初始化后,再查询,就出现如下界面:
![](http://dl2.iteye.com/upload/attachment/0112/4189/e114c85a-8442-34de-8c28-290112b591da.png)
这样就初始设置了这些员工的基本工资等信息。
三、月工资表保存规则包
在月工资表维护界面,当修改了基本工资、奖金、惩罚等数据后,点击保存。需要激活保存规则包。点击保存时,首先需要根据基本工资、奖金、惩罚计算月工资,然后根据月工资计算所得税,最后计算实发工资,最后把这些数据存到月工资表中。
我们在员工月工资规则组下面建立“月工资表保存”规则包,并把其外部调用名设置为 wage.salary.save
1.设定数据源
我们在规则包的对象库中建立hr数据源,并且导入hr_salary表。
2.设定内存表
我们定义一个内存表和月工资维护的员工月工资内存表一致,因此我们直接从月工资维护规则包中复制过来。
首先我们在月工资维护规则包中,右键点击员工月工资内存表,选择复制。
![](http://dl2.iteye.com/upload/attachment/0112/4191/5f6af8fb-6f88-3712-ad19-15c818520822.png)
然后我们在月工资表保存规则包中的hr数据源,右键点击,并选择“粘贴”:
![](http://dl2.iteye.com/upload/attachment/0112/4193/0ee9e27c-b85f-3de5-8632-f209f2a4d5ae.png)
3.定义变量
我们从月工资维护规则包的对象库中,直接复制sayear,samonth,salarylist三个变量。
![](http://dl2.iteye.com/upload/attachment/0112/4195/de365978-b490-3d79-9c6e-ac5ea384b6d7.png)
另外我们保存之后,需要根据所得税表格计算工资,因此我们定义一些临时变量来进行设置,可以直接从原先例子中计算所得税规则包中直接复制过来,这样就可以直接复制原先的规则来用。
![](http://dl2.iteye.com/upload/attachment/0112/4197/1cfc4ae8-4788-3a28-a62d-0d9e8a43aade.png)
4.定义规则
我们的业务逻辑是当输入了有效的年月之后,我们首先将传入的salarylist重新导入到内存表中,然后逐条数据进行处理。在处理一条员工工资数据时,先将数据的值赋值给临时变量,然后通过计算所得税的那些规则来进行计算。最后将计算结果再赋值给内存表。最后将内存表的数据更新到数据库中。
(1)有效输入年月规则集
我们定义有效输入年月规则集,进入条件如下:
![](http://dl2.iteye.com/upload/attachment/0112/4199/edf53d80-c74c-3226-972b-40db9427b802.png)
(2)导入工资数据规则
接下来我们定义导入工资数据规则,执行内存表的以下方法:
![](http://dl2.iteye.com/upload/attachment/0112/4201/d9b68628-ec55-32ce-a504-cf5580669471.png)
(3)逐条处理内存表记录规则
我们将前面的例子中已经完成的计算所得税的规则包的“月工资大于零”的规则集整个复制过来,粘贴到“有效年月”的规则集下:
![](http://dl2.iteye.com/upload/attachment/0112/4203/7570cea4-f23e-319e-82f5-ab98860cdb62.png)
粘贴后,我们将月工资大于零规则集的遍历表格属性打上勾,并且将选择表格设为“月工资内存表”。另外我们将进入条件设为空。
![](http://dl2.iteye.com/upload/attachment/0112/4205/96092870-5164-3940-95d5-795f8df39d55.png)
(4)修改计算应纳税所得额
我们将计算应纳税所得额规则,做一下修改。添加上将内存表中的当月工资数据赋值给临时变量:
![](http://dl2.iteye.com/upload/attachment/0112/4207/e40d9b8f-dcbb-31f4-91cf-f1122aa0bd48.png)
(5)修改计算税后工资规则
设置税率的决策表不做调整,我们在计算税后工资的规则中增加将临时变量的值,再赋值给内存表:
![](http://dl2.iteye.com/upload/attachment/0112/4209/d67d4428-4571-396b-bc39-a89491d7244d.png)
(5)写入数据库规则
最后我们在增加一个写入数据库的规则,将此内存表的数据更新到数据库中:
![](http://dl2.iteye.com/upload/attachment/0112/4211/6c1413d1-ab2f-32a3-8879-9654322dc06e.png)
以上完成了业务逻辑的设置。如下所示:
![](http://dl2.iteye.com/upload/attachment/0112/4213/ad0dce69-14d5-3233-b426-304212f7437e.png)
5.定义页面
最后我们设置保存页面,由于保存页面是一个没有界面的操作,是直接根据月工资维护页面的提交数据,然后更新数据库。最后直接再返回页面进行显示。因此我们将此页面设定为判断处理页面:
![](http://dl2.iteye.com/upload/attachment/0112/4215/7e785104-20ff-3728-8bfa-fbf4900cbf20.png)
这样保存好,在月工资维护页面,当修改了数据后,点击保存,计算所得税和税后工资。
![](http://dl2.iteye.com/upload/attachment/0112/4217/fb227d69-42fd-3ece-923f-c02e5d70eafe.png)
再查询就可以看到修改奖金、惩罚扣除后的数据信息了:
![](http://dl2.iteye.com/upload/attachment/0112/4219/75cfb8b6-61bd-3e72-9421-8717f38090aa.png)
提交后就可以查看到具体的工资情况:
![](http://dl2.iteye.com/upload/attachment/0112/4221/28f69de3-3265-35e2-acf0-ece01e7f41fa.png)
上面这些例子讲述了利用VisualRules进行数据库开发的操作。
发表评论
-
规则引擎Visual Rules Solution开发基础教程【连载24】-- 使用VisualRules规则引擎实现业务逻辑
2016-04-29 09:33 916使用VisualRules规则引擎实现业务逻辑 ... -
规则引擎Visual Rules Solution开发基础教程【连载23】--规则协同管理之系统管理
2016-04-22 15:44 1008规则协同管理之系统管 ... -
规则引擎Visual Rules Solution开发基础教程【连载22】--规则协同管理之信息维护
2016-01-25 09:12 1025规则协同管理之信息维护 信息维护只有两个部分 ... -
规则引擎Visual Rules Solution开发基础教程【连载21】--规则协同管理之权限管理
2016-01-18 09:47 1333规则协同管理之权限管理 权限管理由三部分组成 ... -
规则引擎Visual Rules Solution开发基础教程【连载20】--规则协同管理之规则管理
2016-01-11 09:48 1485规则协同管理之规则管理 一、规则上传 我们 ... -
规则引擎Visual Rules Solution开发基础教程【连载19】--规则协同管理介绍
2016-01-07 09:20 678规则协同管理介绍 一、简介 在团队开发项目 ... -
规则引擎Visual Rules Solution开发基础教程【连载18】-- Linux环境 安装配置说明
2015-12-21 10:15 1278Linux环境 安装配置说明 一、安装配置测试环境及版本 ... -
规则引擎Visual Rules Solution开发基础教程【连载17】--VisualRules接口调用(六)
2015-12-16 11:28 1033VisualRules接口调用(六) ——Java类中含类 ... -
规则引擎Visual Rules Solution开发基础教程【连载16】--VisualRules接口调用(五)
2015-12-07 09:09 1397VisualRules接口调用(五) Java类中的List ... -
规则引擎Visual Rules Solution开发基础教程【连载15】--VisualRules接口调用(四)
2015-11-30 09:11 1058VisualRules接口调用(四) 一、Java类调用服务 ... -
规则引擎Visual Rules Solution开发基础教程【连载14】--VisualRules接口调用(三)
2015-11-23 09:23 986VisualRules接口调用(三 ... -
规则引擎Visual Rules Solution开发基础教程【连载13】--VisualRules接口调用(二)
2015-11-16 10:31 940VisualRules接口调用(二) 接上一篇,下面介绍一下 ... -
规则引擎Visual Rules Solution开发基础教程【连载12】--VisualRules接口调用(一)
2015-11-09 10:25 1796VisualRules接口调用(一 ... -
规则引擎Visual Rules Solution开发基础教程【连载11】--WebService 搭建及调用
2015-11-02 10:15 1322WebService 搭建及调用 webs ... -
规则引擎Visual Rules Solution开发基础教程【连载10】--VisualRules的组成及执行原理
2015-10-26 17:41 1188VisualRules的组成及执行原理 在 ... -
规则引擎Visual Rules Solution开发基础教程【连载8】--VisualRules实例二(中)
2015-10-12 10:11 1058VisualRules实例二(中) 上一篇 ... -
规则引擎Visual Rules Solution开发基础教程【连载7】--VisualRules实例二(上)
2015-10-08 11:45 998VisualRules实例二(上) ... -
规则引擎Visual Rules Solution开发基础教程【连载6】--VisualRules实例一
2015-09-28 11:22 674VisualRules实例一 以下通过一个 ... -
规则引擎Visual Rules Solution开发基础教程【连载5】--VisualRules深入了解
2015-09-21 10:02 1749VisualRules深入了解 通过前两篇的 ... -
规则引擎Visual Rules Solution开发基础教程【连载4】--VRS相关调用篇
2015-09-14 10:10 1008VRS相关调用 一、Java类 ...
相关推荐
1. 创建规则工程对象库:首先,启动Visual Rules Solution,然后通过文件菜单创建一个新的规则工程,命名为“对象库”。这将作为所有规则和相关对象的容器。 2. 新建规则包:在“对象库”工程中,创建一个新的规则...
- **Rules**: 包含了分析器定义的规则,每个规则对应一个类,定义了问题的检查条件和严重性。 - **Analyzer**: 实现了Roslyn Analyzer接口,负责在编译过程中触发规则检查。 - **DiagnosticAnalyzer**: 是Roslyn ...
JESD79-2F DDR2 JESD79-3F DDR3 JESD79-4D DDR4 JESD79-5C DDR5 JESD209-2F LPDDR2 JESD209-3C LPDDR3 JESD209-4E LPDDR4 JESD209-4-1A LPDDR4X JESD209-5C LPDDR5(X)
COMSOL二维光子晶体角态研究:单胞与超胞能带计算及边界态与角态特性分析,COMSOL二维光子晶体角态研究:单胞与超胞能带计算及边界态与角态特性分析,comsol二维光子晶体角态。 单胞能带,超胞能带,边界态以及角态计算。 ,comsol;二维光子晶体;角态;单胞能带;超胞能带;边界态计算,基于Comsol的二维光子晶体角态及能带边界计算研究
六自由度机械臂抓取动作仿真与代码解析:抓取动画、关节参数变化及轨迹图解详解,六自由度机械臂抓取动作仿真指南:掌握两套代码实现动画与轨迹图模拟学习攻略,六自由度机械臂抓取动作仿真-8 两套关于抓取动作的代码,包括抓取动画、关节角、角速度、角加速度的变化仿真、以及抓取轨迹图 简单易懂好上手~ ,六自由度机械臂;抓取动作仿真;抓取动画;关节角变化;角速度角加速度;抓取轨迹图;两套代码;简单易懂好上手,六自由度机械臂抓取动作仿真演示:代码与轨迹图解
ITC网络广播工具软件
Multisim四位密码锁电路仿真设计:设定、开锁与声光报警功能演示资料包,Multisim四位密码锁电路仿真设计:设定、输入、开锁与报警功能详解,附源文件、原理说明书与演示视频,multisim四位密码锁电路仿真设计 功能: 1.通过拨码开关1进行初始密码设定。 2.通过拨码开关2输入密码,实现开锁判断。 3.如果密码正确,LED绿灯亮,表示开锁。 4.如果密码不正确,LED红灯亮,蜂鸣器鸣叫,声光报警。 资料包含:仿真源文件+原理说明书+演示视频 ,四位密码锁电路、Multisim仿真设计、初始密码设定;拨码开关输入;开锁判断;LED灯显示;声光报警;仿真源文件;原理说明书;演示视频,Multisim四位密码锁电路仿真设计:初始密码设置与智能解锁功能的声光报警展示
俗话说,摸鱼摸的好,上班没烦恼,毕竟谁能拒绝带薪拉屎呢(手动狗头) 这是一个云开发职场打工人专属上班摸鱼划水微信小程序源码,没有后台 直接导入微信开发者工具即可运行,UI简约大气漂亮,只需登录微信公众平台配置完合法域名即可轻松上线。 用户进入摸鱼小程序,可以自由设置薪资,上班时间、下班时间、发薪日、 月工作天数以提醒自己摸鱼,全民打酱油,让自己成为摸鱼冠军,《商鞅摸鱼哲学》 摸鱼不是自我放纵,而是个人实力的积蓄,我们的小目标是晚睡晚起 小程序中的今日待办会提醒用户带薪拉屎和闲逛,下方展示的是距离休息日的天数,距离下一次发工资的天数和节日的天数。
【毕业设计】基于Java的开发的一个集合校园二手交易、拼车、失物招领等功能的app_pgj
个人记录:PICkit3离线烧录流程 使用软件:MPLAB X IDE v5.30 记录时间:20250215
基于Matlab代码的电力系统状态估计与实验仿真研究:扩展卡尔曼滤波和无迹卡尔曼滤波在电力系统动态状态估计中的应用及效果分析,Matlab仿真实验研究:基于扩展卡尔曼滤波器与无迹卡尔曼滤波器对电力系统状态估计的影响及验证,状态估计 电力系统状态估计 Matlab代码 实验仿真研究 电力系统由于测量值和传输误差,还有测量噪声的影响,会对状态估计产生影响。 因此,需要对嘈杂的测量进行滤波,以获得准确的电力系统运行动态。 本文使用扩展卡尔曼滤波器(EKF)和无迹卡尔曼滤波器(UKF)来估计电力系统的动态状态。 扩展卡尔曼滤波EKF、无迹卡尔曼滤波UKF 利用扩展的无迹卡尔曼滤波器估计了动力系统的动态状态。 对WECC 3机9总线系统和新英格兰10机39总线系统进行了案例研究。 结果表明EKF和UKF都能准确地估计电力系统的动态状态。 ,核心关键词:状态估计; 电力系统状态估计; Matlab代码; 实验仿真; 测量值误差; 测量噪声; 扩展卡尔曼滤波器(EKF); 无迹卡尔曼滤波器(UKF); 动力系统; 动态状态估计; WECC 3机9总线系统; 新英格兰10机39总线系统。,Matlab
springboot在线考试--
台达DVP EH3与MS300 PLC&变频器通讯程序的全面解决方案,台达DVP EH3与MS300通讯程序:稳定可靠的频率控制与启停管理系统,台达DVP EH3与台达MS300通讯程序(TDEH-9) 可直接用于实际的程序,程序带注释,并附送触摸屏程序,有接线方式和设置,通讯地址说明等。 程序采用轮询,可靠稳定 器件:台达DVP EH3系列PLC,台达MS300系列变频器,昆仑通态7022Ni 功能:实现频率设定,启停控制,实际频率读取,加减速时间设定。 资料:带注释程序,触摸屏程序,接线和设置说明,后续有技术咨询。 ,核心关键词:台达DVP EH3; 台达MS300; 通讯程序(TDEH-9); 轮询; 稳定; 频率设定; 启停控制; 实际频率读取; 加减速时间设定; 触摸屏程序; 接线方式; 设置说明; 技术咨询。,台达PLC与变频器通讯程序(带注释、触摸屏控制)
项目资源包含:可运行源码+sql文件 适用人群:学习不同技术领域的小白或进阶学习者;可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。项目具有较高的学习借鉴价值,也可拿来修改、二次开发。 个人账户管理:支持用户注册、登录与个人信息编辑;提供密码找回及账号安全保护措施。 声纹采集:利用麦克风设备录制用户的声纹样本;支持多种录音格式和质量调整,确保采集到清晰、准确的声纹数据。 声纹模板库管理:建立和维护一个安全的声纹模板库;支持声纹模板的添加、删除、更新和查询操作。 声纹比对与识别:运用深度学习算法对输入的声纹数据进行特征提取和匹配;实现快速、准确的声纹身份验证。 多场景应用支持:适用于多种场景,如门禁系统、移动支付、远程登录等;可根据实际需求定制开发相应的应用场景。 实时监控与报警:实时监控系统运行状态,包括声纹识别成功率、处理速度等指标;当出现异常情况时,及时发出报警信息。 数据分析与报告生成:收集并分析声纹识别过程中的数据,如识别准确率、处理时间等;根据用户需求输出包含详细图表说明的专业级文档供下载打印保存。 社区互动交流:设立论坛版块鼓励用户分享心得体会讨论热点话题;定期邀请行业专家举办线上讲座传授实用技巧知识。 音乐筛选与推荐:集成音乐平台API,根据用户的浏览习惯和情绪状态推荐背景音乐,增强用户体验。 数据可视化:提供交互式的数据可视化面板,使非技术用户也能轻松理解复杂的数据集,从而做出更明智的决策。
三相与多相开绕组永磁同步电机仿真模型的先进控制策略探讨与实现,三相与多相开绕组永磁同步电机的Simulink仿真模型与先进控制策略研究,开绕组电机,开绕组永磁同步电机仿真模型、simulink仿真 共直流母线、独立直流母线,两相容错,三相容错控制,零序电流抑制,控制策略很多 三相开绕组永磁同步电机,六相开绕组永磁同步电机 五相开绕组永磁同步电机,五相开绕组电机 ,开绕组电机; 永磁同步电机仿真模型; simulink仿真; 共直流母线; 独立直流母线; 两相容错; 三相容错控制; 零序电流抑制; 控制策略; 六相开绕组永磁同步电机; 五相开绕组永磁同步电机,开绕组电机仿真研究:共直流母线与独立直流母线的容错控制策略
【毕业设计】基于Java的开发的网上汽车租赁管理系统_pgj
csv 模块是 Python 的标准库,无需额外安装。 运行结果如下图: ['姓名', '年龄', '城市'] ['张三', '25', '北京'] ['李四', '30', '上海'] ['王五', '22', '广州']
【毕业设计】基于Java+Springboot+Vue的宠物领养系统_pgj
让前端开发者学习“机器学习”!
【毕业设计】基于Java的实现的以宠物为主体的论坛式的APP