业务场景:人资中心下属公司较多,为了保证数据录入的及时性及真实性,总部人资中心要求做入职单最多只能允许晚3天录入系统,否者人员入职时间只能是创建单据当天。分析:目前人员入职单录入入职时间可自由选择,可提前录入,也可延迟录入;如果去做二次开发,麻烦且客户后续需求有可能进行修改,可通过入职工作流去进行控制;设置入职审批流程;在提交单据后设置脚本去判断入职时间和创建时间的差值,如果创建时间和入职时间相差小于等于3天,入职单直接提交后,直接审批通过;否者,审批不通过。工作流设置如下:1、判断创建时间比入职时间相差小于等于3天的脚本:Calendarcal=Calendar.getInstance();cal.setTime(rzdate);dayint1=cal.get(Calendar.DAY_OF_MONTH);intyea1=cal.get(Calendar.YEAR);month1=cal.get(Calendar.MONTH)+1;Calendarca=Calendar.getInstance();ca.setTime(zddate);dayint2=ca.get(Calendar.DAY_OF_MONTH);intyea2=ca.get(Calendar.YEAR);month2=ca.get(Calendar.MONTH)+1;ye=yea1-yea2;yu=yea1%4;if(month1>=month2)mon=month1-month2;elsemon=month2-month1;if(ye==0&&mon==0)dayint=dayint2-dayint1;elseif(ye==0&&mon==1&&(month2==1||month2==3||month2==5||month2==7||month2==8||month2==10))dayint=31-dayint2+dayint1;elseif(ye==0&&mon==1&&(month2==4||month2==6||month2==9||month2==11))dayint=30-dayint2+dayint1;elseif(ye==0&&mon==1&&month2==2&&yu==0)dayint=29-dayint2+dayint1;elseif(ye==0&&mon==1&&month2==2&&yu!=0)dayint=28-dayint2+dayint1;elseif(ye>0&&month1==1&&month2==12)dayint=31-dayint2+dayint1;elsedayint=4;returndayint;2、创建入职流程,将脚本粘贴到提交节点的后置脚本中;3、点击右键-流程属性,设置变量:4、入职单上字段绑定变量:5、设置判断条件:6、保存流程,发布。