//Script here
function jsTimeToString(time){
var year=time.getFullYear();
var month=time.getMonth()+1;
var day=time.getDate();
if(month<10){
month="0"+month;
}
if(day<10){
day="0"+day;
}
var strTime = year+""+month+""+day;
return strTime;
}
function stringToJsTime(time) {
var y = time.substring(0,4);
var m = time.substring(4,6)-1;
var d = time.substring(6,8);
var date = new Date(y,m,d,0,0,0,0);
return date;
}
var holiday= ["20210101", "20210102", "20210103", "20210109", "20210110",
"20210116", "20210117", "20210123", "20210124", "20210130",
"20210131", "20210206", "20210211", "20210212", "20210213",
"20210214", "20210215", "20210216", "20210217", "20210221",
"20210227", "20210228", "20210306", "20210307", "20210313",
"20210314", "20210320", "20210321", "20210327", "20210328",
"20210403", "20210404", "20210405", "20210410", "20210411",
"20210417", "20210418", "20210424", "20210501", "20210502",
"20210503", "20210504", "20210505", "20210509", "20210515",
"20210516", "20210522", "20210523", "20210529", "20210530",
"20210605", "20210606", "20210612", "20210613", "20210614",
"20210619", "20210620", "20210626", "20210627", "20210703",
"20210704", "20210710", "20210711", "20210717", "20210718",
"20210724", "20210725", "20210731", "20210801", "20210807",
"20210808", "20210814", "20210815", "20210821", "20210822",
"20210828", "20210829", "20210904", "20210905", "20210911",
"20210912", "20210919", "20210920", "20210921", "20210925",
"20211001", "20211002", "20211003", "20211004", "20211005",
"20211006", "20211007", "20211010", "20211016", "20211017",
"20211023", "20211024", "20211030", "20211031", "20211106",
"20211107", "20211113", "20211114", "20211120", "20211121",
"20211127", "20211128", "20211204", "20211205", "20211211",
"20211212", "20211218", "20211219", "20211225", "20211226"];
var holidayMap={};
function getMap(hd){
for(var i=0;i<hd.length;i++){
holidayMap[hd[i]]='1';
}
}
function getworkday(dat,itervalByDay){
var date = dat;
var millisceonds =date.getTime();
for(var i=1;i<=itervalByDay;i++){
millisceonds += 24*60*60*1000;
date.setTime(millisceonds);
var d=jsTimeToString(date);
if(holidayMap[d]){
i--;
}
}
return date;
}
getMap(holiday);
//扭转时间
var pcsc = 0;
var sczz = 7;
var updat = '20201231';
var updat_date = stringToJsTime(updat);
var zupdt = 1;
//计算标准排产时间
var erdat_b_date = getworkday(updat_date,pcsc);
console.log('标准排产时间(不含节假日)' + erdat_b_date);
//标准排产时间 字符串
var erdat_b = jsTimeToString(erdat_b_date);
var erdat = '20201231'; //实际排产日期
var erdat_date; //实际排产日期 date型
var erdat_date1; //用于计算标准计划生产日期
var mbdat_b_date;//标准计划生产日期
var mbdat_b; //标准计划生产日期字符串
if(erdat == null){
erdat_date = null;
zupdt = 0;
mbdat_b_date = null; //计算标准计划生产时间
mbdat_b = ' '; //标准计划生产时间 字符串
}else{
erdat_date = stringToJsTime(erdat);
erdat_date1 = stringToJsTime(erdat);
mbdat_b_date = getworkday(erdat_date1,sczz);
console.log('标准计划生产时间(不含节假日)' + mbdat_b_date);
mbdat_b = jsTimeToString(mbdat_b_date); //标准计划生产时间 字符串
}
//比较排产是否超期
var pcovd;
if(erdat_date == null){
pcovd = 1;
}else if(erdat_date - erdat_b_date > 0){
pcovd = 1;
}else{
pcovd = 0;
}
var mbdat = '20210104';
var mbdat_date;
if(mbdat == null){
mbdat_date = null;
zupdt = 0;
}else{
mbdat_date = stringToJsTime(mbdat);
}
//比较计划生产是否超期
var scovd;
if(mbdat_date == null){
scovd = 1;
}else if(mbdat_date - mbdat_b_date > 0){
scovd = 1;
}else{
scovd = 0;
}
console