rexpert 공식필드(javascript) 점검일 주기 계산
점검일 주기계산으로 A,B,C,제외,초과,미점검 표시
rexpert 30 공식필드
CYCL : 점검주기 3, 6, 12
LAST_DATE : 마지막 점검일
BC_DIV : A, B, C, D(제외)
BASE_BC_DIV : 기본 A
-----------------------------------------------------------------------------------------------
var result;
var cycle = rexpert.field("data.CYCL");
var lastDate = rexpert.field("data.LAST_DATE");
var bcDiv = rexpert.field("data.BC_DIV");
var baseBcDiv = rexpert.field("data.BASE_BC_DIV");
var today = new Date();
var nowMonth = (today.getMonth()+1)+"";
var nowYear = today.getFullYear();
var lastYear = eval(lastDate.substring(0,4));
var lastMonth = eval(lastDate.substring(4,6));
var tMon="";
cycle = eval(cycle);
if(cycle!=1){ //주기가 1개월이면 BASE_BC_DIV를 표시
if(lastDate !=null && lastDate != ""){ //마지막 점검일 체크
if(nowMonth < 10){
nowMonth="0"+nowMonth;
}
if(lastMonth+cycle>12){
lastYear =lastYear+1;
tMon = (lastMonth+cycle-12<10?"0"+(lastMonth+cycle-12):(lastMonth+cycle-12)+"");
}else{
tMon=lastMonth<10?(lastMonth+cycle)<10?"0"+(lastMonth+cycle):(lastMonth+cycle)+"":(lastMonth+cycle)+"";
}
var inspectYM = lastYear+""+tMon ; // 점검해야될 년월
var nowYM = nowYear+nowMonth; // 현재 년월
if(inspectYM == nowYM){ //점검해야될 년월과 현재월이 같으면
if(bcDiv != null && bcDiv != ""){
result=bcDiv;
}else{
result="미점검";
}
}else if(inspectYM < nowYM){ //점검해야될 월이 지났으면,
if(bcDiv != null && bcDiv != ""){
result=bcDiv;
}else{
result="초과";
}
}else if(inspectYM > nowYM){ // 아직 점검해야될 년월이 되지 않았으면
result="제외";
}
}else{ // 마지막 점검일이 없으면,
result="미점검";
}
}else{
result = baseBcDiv;
}
return result;