超假罚款计算模块.ppt_第1页
超假罚款计算模块.ppt_第2页
超假罚款计算模块.ppt_第3页
超假罚款计算模块.ppt_第4页
超假罚款计算模块.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第13章超假罚款模块,大连理工大学电子音像出版社出版,模块业务,13.1系统业务有的公司规定:员工有事可以请假,一年之内,事假不超过3天(含3天),每超过一天从工资中扣50元;病假不超过7天(含7天),每超过一天扣30元;婚假不超过7天(含7天),每超过一天扣60元;女员工产假不超过100天(含100天),每超过一天扣40元。,设计测试用例,13.2设计测试用例,基础知识综合应用,13.3基础知识综合应用13.3.1存储过程应用,存储过程GetDepName,13.3.1.1存储过程GetDepName从部门Department表中找出两列,部门编号DepartmentID,部门名称DepartmentName.代码如下:createprocGetDepNameasselectDepartmentID,DepartmentNamefromDepartment,存储过程GetEmpName,13.3.1.2存储过程GetEmpName功能是根据从外部传入一个部门的部门名称,在表Department中根据部门名称查找部门号,在表Employee中根据部门号查找该部门的员工姓名。代码如下:createPROCEDUREdbo.GetEmpName(-从外部传入一个部门的部门名称数DepNamevarchar(20)ASBEGIN-在表Department中根据部门名称,查找部门号;-在表Employee中根据部门号查找该部门的员工姓名;selectEmpID,EmployeeNamefromEmployeewhereDepartmentIDin(selectDepartmentIDfromdbo.DepartmentwhereDepartmentName=DepName)END,存储过程GetLeaveName,13.3.1.3存储过程GetLeaveName-获取请假的类型名称createprocGetLeaveNameas-选择请假类型表所有的列selectLeaveTypeID,LeaveType,LeaveDay,LeaveMoneyfromLeaveType,存储过程LeaveRecordPROC,13.3.1.4存储过程LeaveRecordPROC其功能是往请假登记(LeaveRecord)表中插入数据createprocLeaveRecordPROC(EmpIDINT,LeaveTypeINT,BeginDatedatetime,EndDatedatetime,Remarkvarchar(50),checkedDaysfloat)asbeginINSERTINTOLeaveRecord(EmpID,LeaveType,BeginDate,EndDate,Remark,Days,checkedDays)VALUES(EmpID,LeaveType,BeginDate,EndDate,Remark,datediff(dd,BeginDate,EndDate),checkedDays)End,存储过程EmpLeaveWage,13.3.1.5存储过程EmpLeaveWage其功能是计算员工超假罚款CREATEPROCEmpLeaveWageasselectEmployeeNameas员工姓名,sum(dbo.LeaveWage(BeginDate,EndDate,LeaveType)请假罚款fromdbo.LeaveRecordLRJOINdbo.EmployeeEYONLR.EmpID=EY.EmpIDgroupbyEmployeeName注意,在这个存储过程中调用了一个自定义函数LeaveWage,标量函数应用,13.3.2标量函数应用标量函数是用户自定义函数的一种,函数是由一个或多个Transact-SQL语句组成的子程序,可用于封装代码以便重新使用。下面的自定义函数的作用就是:输入请假开始时间、请假结束时间、请假类型,计算出请假扣款额。详解见第17章标量函数定义。,泛型应用,13.3.3泛型应用13.3.3.1泛型列表GetDepName在类Department中有一个泛型列表,其功能:用存储过程GetDepName从数据表Department中取获取系部编号DepartmentID和系部名称DepartmentName,把两列的值存放到泛型列表ListDep中,ListDep作为整个方法的返回值。IListGetDepName()中的数据用于绑定界面中“请假人单位”组合框。,泛型列表GetEmpName,13.3.3.2泛型列表GetEmpName在Employee类有一泛型列表GetEmpName(),其功能是从外部传入部门名称,找到该部门人所有员工。在类与类之间进行信息交换时,采用了构造方法传值的方式。,泛型列表GetLeaveName,13.3.3.3泛型列表GetLeaveName在类LeaveType中有一个泛型列表GetLeaveName,其功能是从请假数据表LeaveType中查找请假编号、请假类型、请假天数、超假罚金。用声明的泛型列表对象ListLT装载从数据库读取的值,而整个GetLeaveName的返回值也是泛型列表对象ListLT的值。,反射应用,13.3.4反射应用13.3.4.1用反射获取类Department中字段13.3.4.2用反射获取类Employee中字段13.3.4.3用反射获取类LeaveType中字段用反射获取请假类LeaveType中字段,存进数组propertyLeave中去。代码如下:publicPropertyInfoGetLeaveColumn()LeaveTypeLT=newLeaveType();PropertyInfopropertyLeave=LT.GetType().GetProperties();returnproperty

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论