|
|
【代码有些复杂,主要功能是将干部报备的时候插入数据到考勤表:外出明细表中】,我在电脑端提交的时候,外出明细表中生成了一条相应的数据,但是企业微信端却没有生成。
if(1==1) {
var userNumber = getItemValue("员工号");
var application = getItemValue("姓名");
var deptId = getItemValue("所属部门");
//ITEM_考勤日期
var startTime = getItemValue("开始时间");
var endTime = getItemValue("结束时间");
//ITEM_考勤月度
//ITEM_考勤状态
var applicationNumber = getItemValue("申请单号");
//ITEM_是否销假 null
//ITEM_是否工作日 逻辑判断
//ITEM_特殊字段 null
//ITEM_出勤状态 干部外出报备
//ITEM_审批时间 待定
//ITEM_数据状态 正常
var submitTime = getItemValue("申请时间");
var workType = "干部外出报备";
var domainid=getDomainid();//固定死的企业域id
var appid=getApplication();
var begindate=format(getItemValueAsDate("开始时间"),'yyyy-MM-dd');
var enddate=format(getItemValueAsDate("结束时间"),'yyyy-MM-dd');
var loginno=userNumber;
var time=null;
var statelabel="流程结束";
//获取请假天数:
var starttime =getItemValueAsDate("开始时间");
var endtime = getItemValueAsDate("结束时间");
var day = 0;
if(starttime!=null&&endtime!=null)
{
starttime = format (starttime,"yyyy-MM-dd HH:mm:ss");
endtime= format (endtime,"yyyy-MM-dd HH:mm:ss");
day = diffDays(starttime,endtime);
day = day +1;
}
println("day: " + day);
var uuid_link = new Packages.cn.myapps.util.sequence.Sequence();
var sql="";
println("this is a tag!!!");
if(day==1){
var begin=format(getItemValueAsDate("开始时间"),'HH:mm:ss');
var end =format(getItemValueAsDate("结束时间"),'HH:mm:ss');
var dayint=parseInt(getItemValueAsString("开始时间").substr(8,2));
var month=null;
//day
if(dayint>=26){
month=format(adjustMonth(getItemValueAsDate("开始时间"),1),"yyyy-MM-dd").substr(0,7);
}else{
month=getItemValueAsString("开始时间").substr(0,7);
}
var timestring=begindate+" 08:30:00";
var workdateornot=isWorkingTimeByCalendar(format(getItemValueAsDate("开始时间"),'yyyy-MM-dd HH:mm:ss'),"11e5-f7fd-c9c86cfb-90ba-67453cd96f0f");//isWorkingTime(time);
println("workdateornot:" + workdateornot);
if(workdateornot == true){
sql="insert into tlk_外出明细(ID,ITEM_员工编号,ITEM_员工姓名,ITEM_所属部门,ITEM_考勤日期,ITEM_开始时间,ITEM_结束时间,ITEM_考勤月度,ITEM_考勤状态,ITEM_请假单号,ITEM_是否销假,ITEM_是否工作日,";
sql=sql+"ITEM_出勤状态,ITEM_数据状态,ITEM_提单时间,applicationid,domainid,ITEM_审批时间,item_外出类型) values(";
sql=sql+"'"+ uuid_link.getSequence()+"','"+loginno+"','"+application+"','"+deptId+"','"+timestring+"','"+begin+"','"+end+"','"+month+"','"+statelabel+"','"+applicationNumber+"','','"+workdateornot+"',";
sql=sql+"'工作外出','正常','"+submitTime+"','"+appid+"','"+domainid+"','"+submitTime+"','"+workType+"')";
//插入数据库
insertByDSName("WGJ",sql);
}
}else{
for(var i=0;i<day;i++){
time=adjustDay(getItemValueAsDate("开始时间"),i);
var timeformat=$TOOLS.DATE_UTIL.getDateTimeStr(time);
var timestring=format(time,"yyyy-MM-dd")+" 08:30:00";
time=parseDate(timestring, "yyyy-MM-dd HH:mm:ss");
var workdateornot=isWorkingTimeByCalendar(time,"11e5-f7fd-c9c86cfb-90ba-67453cd96f0f");//isWorkingTime(time);
println("workdateornot:" + workdateornot);
if(workdateornot==true){
var dayint=parseInt(timestring.substr(8,2));
var month=null;
//day
if(dayint>=26){
month=format(adjustMonth(time,1),"yyyy-MM-dd").substr(0,7);
}else{
month=timestring.substr(0,7);
}
var begin=null;
var end=null;
if(i==0){
begin=format(getItemValueAsDate("开始时间"),'HH:mm:ss');
end="23:59:59";
}else if(i==day-1)
{
begin="00:00:00";
end=format(getItemValueAsDate("结束时间"),'HH:mm:ss');
}else
{
begin="00:00:00";
end="23:59:59";
}
sql="insert into tlk_外出明细(ID,ITEM_员工编号,ITEM_员工姓名,ITEM_所属部门,ITEM_考勤日期,ITEM_开始时间,ITEM_结束时间,ITEM_考勤月度,ITEM_考勤状态,ITEM_请假单号,ITEM_是否销假,ITEM_是否工作日,";
sql=sql+"ITEM_出勤状态,ITEM_数据状态,ITEM_提单时间,applicationid,domainid,ITEM_审批时间,item_外出类型) values(";
sql=sql+"'"+ uuid_link.getSequence()+"','"+loginno+"','"+application+"','"+deptId+"','"+timestring+"','"+begin+"','"+end+"','"+month+"','"+statelabel+"','"+applicationNumber+"','','"+workdateornot+"',";
sql=sql+"'工作外出','正常','"+submitTime+"','"+appid+"','"+domainid+"','"+submitTime+"','"+workType+"')";
//插入数据库
insertByDSName("WGJ",sql);
}
}
}
}
|
|