工作流如何取补签卡某个原因的周期内补签次数?
[适用版本]
通用
[解决方案]
问题:工作流如何取补签卡某个原因的周期内补签次数?
处理方案:
自定义工作流脚本实现,参考脚本如下
//流程变量说明:
//输入变量:personid是职员id , fillsigndate 补签日期,
//输出变量:fillsigncounts 补签次数,tsql 执行的语句
SimpleDateFormat sdf = new java.text.SimpleDateFormat(yyyy-MM-dd);
String fsd = sdf.format(fillsigndate);
String tsql=select count(1) signcounts from t_hr_ats_fillsigncardentry where fbillid in(select fid from t_hr_ats_fillsigncard where FBILLSTATE =3 or fbillstate=1 )
+and fpersonid='+personid+'
+and fattenddate>=(select distinct fstartdate from t_hr_atS_attendanceperiod where FGROUPID in (select FAttenceCycleID from T_HR_ATS_AttencePolicy where fid in(select FAttencePolicyID from t_hr_ats_attendancefile where FPROPOSERID ='+personid+')) and fstartdate<={ts '+fsd+'} and fenddate>={ts '+fsd+' })
+and fattenddate<=(select distinct fenddate from t_hr_atS_attendanceperiod where FGROUPID in(select FAttenceCycleID from T_HR_ATS_AttencePolicy where fid in(select FAttencePolicyID from t_hr_ats_attendancefile where FPROPOSERID ='+personid+')) and fstartdate<={ts '+fsd+'} and fenddate>={ts '+fsd+'});
com.kingdee.jdbc.rowset.IRowSet rowSet = com.kingdee.eas.util.app.DbUtil.executeQuery(__bosContext,tsql);
if(rowSet!=null)
{
while(rowSet.next()){
fillsigncounts= Integer.parseInt(rowSet.getString(1));
}
}
工作流如何取补签卡某个原因的周期内补签次数?
本文2024-09-22 21:51:58发表“s-hr cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-shr-122845.html