【适用版本】
s-HR V8.8sp1及以上
【详细说明】
出差单有三个申请入口:专员应用【考勤管理-日常考勤-出差单】、团队【团队管理-团队考勤-出差】、员工自助【我要出差】,每个入口又分为列表和表单,列表和表单的检验走的不同的方法,以上就是要修改的范围。
实现方案
1. 检验器
1、后端工程按com/kingdee/eas/hr/ats/validator逐层创建包路径,在validator目录下新增一个java类,类取名为TripBillValidator:
2、在工作空间搜索TripBillValidator,如果没有申请源码搜索到的应该是个class文件,把该文件的所有代码拷贝到自己创建的同名类文件中。注释掉时间交叉检验的代码:
3、代码编译通过以后部署到运行环境,以上操作做完重启服务器以后,出差单就会用你创建的版本,类加载会优先加载二开目录。
2. 视图及js
1、 新增一个js,假设文件名是atsTripBillBatchNewEditExt.js,atsTripBillBatchNewEditExt要继承atsTripBillBatchNewEdit.js:
2、 新增一个initalizeDOM方法,在方法的最后调用父类的同名方法
3、 重写verify方法,把父类的同名方法拷贝过来,去除掉时间交叉校验的逻辑,改完后的代码就是_self.rowCountVerify() && _self.dateVerifyAll() && (isSave || _self.getCrossTripMsgsAction())
4、 把atsTripBillBatchNewEditExt.js部署到运行环境。
5、 管理员登录系统【开发平台-视图】,搜索com.kingdee.eas.hr.ats.app.AtsTripBillBatchNew,
扩展该视图,引入js文件atsTripBillBatchNewEditExt.js,jsClass改完shr.ats.atsTripBillBatchNewEditExt
点击保存,清除视图缓存后进行验证。
PS:专员的单人出差申请、团队管理的出差申请以及员工自助的出差申请页面都可以参照专员的多人申请页面调整视图和前端js文件,所有页面的后台检验器都是共用的,调整一次就行。