版权所有©1993-2011金蝶软件(中国)有限公司金蝶K/3WISEV12.1HR产品培训--基于考勤系统的业务模块二次开发金蝶软件(中国)有限公司返回版权所有©1993-2011金蝶软件(中国)有限公司P/2提纲考勤系统安装简述业务模块二次开发导入模块扩展开发考勤计算公式算法实现返回版权所有©1993-2011金蝶软件(中国)有限公司P/31.考勤系统安装简述考勤系统介绍考勤系统网络拓扑图一些术语区别考勤系统组件部署图常见安装问题SQLServer设置返回版权所有©1993-2011金蝶软件(中国)有限公司P/41.1考勤系统介绍采用传统的C/S架构基于DotNETFramework2.0平台Remoting技术实现分布式通讯ClickOnce实现无接触布署与更新Web服务实现与HR系统解耦异步和多线程来提高系统性能返回版权所有©1993-2011金蝶软件(中国)有限公司P/51.2考勤系统网络拓扑图返回版权所有©1993-2011金蝶软件(中国)有限公司P/61.3一些术语的区别K3中间层HRWebService站点考勤中间层服务器(宿主在IIS或Window服务)考勤ClickOnce站点考勤客户端返回版权所有©1993-2011金蝶软件(中国)有限公司P/71.4考勤系统组件部署(1)组织单元COM+组件WebService站点ClickOnce站点中间层服务器考勤客户端考勤系统K3中间层考勤客户端账套ServerClient注:WebService在V11以后版本名称为:k3HRWebService返回版权所有©1993-2011金蝶软件(中国)有限公司P/81.4考勤系统组件部署(2)考勤中间层服务器通过WebService站点来从K3中间层获取组织单元和账套HRWebService站点:通过Web服务获取K3中间层的组织单元账套考勤ClickOnce站点:可实现以网页形式来发布考勤客户端应用程序站点,支持自动更新考勤中间层服务器:实现考勤业务逻辑的组件,可宿主在IIS或Windows服务中考勤客户端:提供交互界面的可执行程序返回版权所有©1993-2011金蝶软件(中国)有限公司P/91.5常见安装问题(1)1.Web服务不可用现象:运行考勤客户端程序时,弹出“Web服务不可用”对话框原因:考勤Web服务站点没有安装或中间层指定的Web服务器路径不对解决方法:(1)安装考勤Web服务站点(2)修改中间层服务器配置文件,指定一个可用的Web服务站点地址返回版权所有©1993-2011金蝶软件(中国)有限公司P/101.5常见安装问题(2)2.服务器地址格式错误现象:登录考勤客户端时,弹出“服务器地址格式错误”对话框原因:连接的考勤中间层服务器开启了两个以上相同端口的Windows服务程序解决方法:目前考勤中间层应用程序在TCP协议中用的端口号是8185,所以得关掉其中用到该端口号的程序请参考附件返回版权所有©1993-2011金蝶软件(中国)有限公司P/111.5常见安装问题(3)3.ClickOnce站点不可用现象:安装ClickOnce程序后,通过IE无法访问ClickOnce站点进行安装原因:ClickOnce没有配置相关的文件清单解决方法:参考安装手册进行ClickOnce站点的配置即可返回版权所有©1993-2011金蝶软件(中国)有限公司P/121.6SQLServer设置(业务数据库)磁盘空间必须足够大故障还原模式(1)完全--允许将数据库恢复到故障点状态(2)大容量日志日志记录的--提供对媒体故障的防范,并对某些大规模或大容量复制操作提供最佳性能和最少的日志使用空间(3)简单--允许将数据库恢复到最新的备份取消“自动收缩”取消“残缺页检查”增长方式:指定M字节的方式返回版权所有©1993-2011金蝶软件(中国)有限公司P/131.6SQLServer设置(维护计划)性能优化维护计划对索引碎片进行整理,提高性能更新统计信息,保证SQLSERVER生成正确的执行计划每周执行一次,在业务不繁忙的时候执行每月整理一次硬盘依赖SQLAGENT服务返回版权所有©1993-2011金蝶软件(中国)有限公司P/141.7我们走到哪里了考勤系统是一个区别于现有K3和HRWeb系统的全新系统考勤系统的Server端包括两个站点和一个Windows服务应用程序考勤客户端程序可通过安装程序和ClickOnce方式来实现安装管理好数据库以实现最优化性能返回版权所有©1993-2011金蝶软件(中国)有限公司P/152业务模块二次开发考勤系统应用程序结构考勤系统应用程序组件部署图业务模块开发StepByStep一些小技巧(SomeTips)系统环境变量SQLServer2005升级问题返回版权所有©1993-2011金蝶软件(中国)有限公司P/162.1考勤系统应用程序结构返回版权所有©1993-2011金蝶软件(中国)有限公司P/172.2应用程序组件部署DBServerFaçadeDataAccessServerCommonRuleResource业务接口类(BusinessFacade.Interface程序集)公共类(Common程序集)实体类(Model程序集)ClientATSUIReportUIOtherUIClientCommon返回版权所有©1993-2011金蝶软件(中国)有限公司P/182.3业务模块开发—加班管理(1)Demo1.导航菜单2.流程图节点3.加班管理窗体返回版权所有©1993-2011金蝶软件(中国)有限公司P/192.3(2)创建新应用程序方案创建三个工程:(1)外观层:Kingdee.K3.HR.Demo.BusinessFacade(2)接口层:Kingdee.K3.HR.Demo.BusinessFacade.Interface(3)UI层Kingdee.K3.HR.Demo.UI返回版权所有©1993-2011金蝶软件(中国)有限公司P/202.3(3)接口层的实现声明远程服务接口publicinterfaceIOverTimeBF{}当业务模块较小时,可把实体类放在接口层实现实体类要加上序列化标签返回版权所有©1993-2011金蝶软件(中国)有限公司P/212.3(4)服务器端编码远程服务对象要继承MarshalByRefObject类,实现接口publicclassOverTimeBF:MarshalByRefObject,IOverTimeBF{}DataAccess层实现与数据库的交互BusinessRule层是可选的别忘了在配置文件公开远程服务返回版权所有©1993-2011金蝶软件(中国)有限公司P/222.3(5)UI层的界面布局DevExpress的Xtra系列控件UI层实现数据的验证还有,远程服务的注册返回版权所有©1993-2011金蝶软件(中国)有限公司P/232.3(6)入口在哪里?HRMain.exe通过获取DLL的描述信息反射来调用程序,V11之前的版本描述信息保存在HRMain.exe.config中,V11之后的版本保存在数据库中,详细描述请参考之前的附件文档中有详细的描述;返回版权所有©1993-2011金蝶软件(中国)有限公司P/242.4SomeTips(1)远程对象创建Kingdee.K3.HR.ClientCommon.FactoryService.RemotingHelper类工厂多语言处理在DB层完成对当前语言字段的获取Kingdee.K3.HR.Common.Resource.ResourceProxy返回版权所有©1993-2011金蝶软件(中国)有限公司P/252.4SomeTips(2)提示信息的显示(1)两种方式状态栏提示和对话框提示(2)同一个接口Kingdee.K3.HR.ClientCommon.Public.DialogFactory(3)TipMessage类异常处理KDApplicationException基类返回版权所有©1993-2011金蝶软件(中国)有限公司P/262.4SomeTips(3)考勤系统数据计算量大,如果长期没有进行数据库维护,会导致很多问题,如界面加载出错等等,这时候需要进行索引重建;主要业务表数据分析脚本,参见附件:返回版权所有©1993-2011金蝶软件(中国)有限公司P/272.5系统环境变量系统环境类Kingdee.K3.HR.Common.Environment客户端IP、当前目录、最大最小时间…客户端信息类Kingdee.K3.HR.ClientCommon.ClientInfo登录信息、用户、职员信息系统约定颜色静态类Kingdee.K3.HR.ClientCommon.BackgroundColor返回版权所有©1993-2011金蝶软件(中国)有限公司P/282.6SQLServer2005升级问题90兼容模式下,不支持外部联接运算符*=和=*ORDERBY子句中的列别名不能使用表别名作为前缀”union”返回的记录集,不支持修改记录集的内容累加赋值时数据类型的精度需相同SQLServer2005可识别’true’或’false’为布尔型返回版权所有©1993-2011金蝶软件(中国)有限公司P/292.7我们走到哪里了考勤系统提供了可以方便快捷地加入新的业务模块的程序框架新业务模块可以与现有各模块共用相同的界面风格、远程接口、消息处理方式等编程时要注意SQLServer版本的问题返回版权所有©1993-2011金蝶软件(中国)有限公司P/303.导入模块扩展开发导入模块简介导入操作流程主要实现接口返回版权所有©1993-2011金蝶软件(中国)有限公司P/313.1导入模块简介终端终端终端指定格式文件导入导出模块ComponentDBHRATS返回版权所有©1993-2011金蝶软件(中国)有限公司P/323.2导入操作流程自定义业务组件实现自定义组件返回版权所有©1993-2011金蝶软件(中国)有限公司P/333.3主要实现接口Kingdee.K3.HR.ATS.BusinessFacade.IOTableHandler.IIOTableHandler接口原型HRMain.exe.Config文件加上配置结点Kingdee.K3.HRIOTableHandler增加后界面返回版权所有©1993-2011金蝶软件(中国)有限公司P/343.4我们走到哪里了利用考勤系统的导入模块可以扩展,加入自定义表的导入功能自定义表中业务逻辑检验由用户自行实现导入模块仍有待完善返回版权所有©1993-2011金蝶软件(中国)有限公司P/354.考勤计算公式算法实现考勤内置公式介绍考勤计算公式组成取职员打卡记录函数算法实现计算考勤异常处理函数算法实现返回版权所有©1993-2011金蝶软件(中国)有限公司P/364.1考勤内置公式介绍考勤计算考勤汇总假期额度生成假期额度重算考勤自动计算实时重算假期额度考勤重算生成自然年度假期额度返回版权所有©1993-2011金蝶软件(中国)有限公司P/374.1公式函数涉及到的数据库表表名物理名职员考勤汇总表HR_ATS_EmpAttendTotal职员考勤计算信息HR_ATS_EmpCalcAttend职员补签卡信息HR_ATS_EmpEditAttend职员考勤原始信息HR_ATS_EmpOriginalAttend职员排班信息HR_ATS_EmpRoster原始打卡信息HR_ATS_OriginalityCard职员考勤信息HR_ATS_BaseInfo停工单HR_ATS_DownTime停工明细HR_ATS_DownTimeDetail假期单HR_ATS_Holiday假期明细HR_ATS_HolidayDetail假期额度H