工作流如何获取加班日期所处考勤周期内的加班总时长(web设计器)
[适用版本]
8.2,8.2sp2 ,8.5,8.5sp1,8.6,8.6sp1,8.6H1
[解决方案]
参考脚本如下:
工作流网页设计器脚本
//流程变量说明:
//输入变量:bizObj.entries.person.id是职员id , bizObj.entries.otDate 加班日期
//输出变量: Wlength 当月加班时长,Dlength 当天加班时长
SimpleDateFormat sdf = new java.text.SimpleDateFormat(yyyy-MM-dd);
String od = sdf.format(bizObj.entries.otDate);
java . sql . Connection con = com . kingdee . bos . framework . ejb . EJBFactory . getConnection ( __bosContext ) ;
java . sql . Statement st = con . createStatement ( ) ;
java . sql . ResultSet rs = null ;
tsql=select sum(FApplyOTTime) fwapllh ,sum(case when FOTDATE ={ts '+ od +'} then FAPPLYOTTIME else 0 end) fdapllh
+ from t_hr_ats_overtimebillentry a
+ inner join t_hr_ats_attendancefile b on a.FPERSONID =b.fproposerid and a.FPERSONID ='+ bizObj.entries.person.id +'
+ inner join t_hr_AtS_attencepolicy c on b.FATTENCEPOLICYID =c.fid
+ inner join t_ats_attencecycle d on c.FATTENCECYCLEID =d.fid
+ inner join t_hr_ats_attendanceperiod e on d.fid=e.fgroupid and e.fstartdate<={ts '+ od +'} and e.fenddate>={Ts '+ od +'} and e.fstartdate<=a.FOTDATE and e.fenddate>=a.FOTDATE
+ where FBILLID in(select fid from t_hr_ats_overtimebill where FBILLSTATE =2 or FBILLSTATE =3 or FBILLSTATE =1);
rs = st . executeQuery ( tsql ) ;
if ( rs . next ) {
Wlength= rs . getDouble( fwapllh ) ;
Dlength= rs.getDouble ( fdapllh ) ;
}
工作流如何获取加班日期所处考勤周期内的加班总时长(web设计器)
本文2024-09-22 21:51:43发表“s-hr cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-shr-122811.html