<%@page contentType="text/html; charset=UTF-8"%> <%@page import="java.util.*,java.io.*"%> <%@page import="com.csc.library.util.download.*"%> <%@page import="com.csc.library.util.ManageDocument"%> <%@page import="com.csc.library.databean.util.FileUtil"%> <%@page import="com.csc.library.approve.*,com.csc.library.databean.*"%> <%@page import="com.csc.library.entry.*,com.csc.library.utilities.*"%> <%@page import="com.csc.library.session.*,com.csc.library.database.*"%> <%@page import="com.csc.library.utility.DHMConvert"%> <%@page import="com.csc.library.timeattendance.ManageEmpLeaveStat"%> <%request.setCharacterEncoding("UTF-8");%> <!-- Begin useBean --> <jsp:useBean id="TEMPLATE_WORKFLOW" class="com.csc.library.system.Task" scope="page"/> <jsp:setProperty name="TEMPLATE_WORKFLOW" property="classauthen" value="WorkflowUIAuthen" /> <% TEMPLATE_WORKFLOW.setChannel(request,response); TEMPLATE_WORKFLOW.checkProfile(); if( TEMPLATE_WORKFLOW.getUProfile() != null ){ TEMPLATE_WORKFLOW.getUProfile().set("appname","TA"); UIManager screenSingle = (UIManager) TEMPLATE_WORKFLOW.process("SingleEntry","TEMPLATE_WORKFLOW"); /*boolean isStep1 = false; boolean isStep2 = false; boolean isStep3 = false; boolean isStepCancel = false; boolean isStepComment = false; boolean isSte turn = false; boolean isStepCopy = false;*/ String wf = null; CheckNull chkNull = new CheckNull(); Organization og = new Masfactor(screenSingle.getUProfile()); String subject = null; String remark = null; String step_type = null; String emp_fullname = null; String bossid = og.getBoss(screenSingle.getUProfile().get("employeeid"),screenSingle.getUProfile().get("job")).get(0).toString(); String bossjob = bossid.substring(bossid.indexOf(":")+1); String val_leaveused = chkNull.chkNullString(request.getParameter("attach_time")); CscCalendar calendar = new CscCalendar(); long attach_time = Long.parseLong(chkNull.chkNullString(request.getParameter("attach_time"),String.valueOf(calendar.getTimeInMillis()))); ManageDocument md = new ManageDocument(); md.setUProfile(screenSingle.getUProfile()); md.setRequest(request); md.setScreen(screenSingle); if( !chkNull.chkNullString(request.getParameter("__cmd")).equals("save") ){ subject = chkNull.chkNullString(request.getParameter("subject")); remark = chkNull.chkNullString(request.getParameter("__remark")); emp_fullname = chkNull.chkNullString(request.getParameter("emp_fullname")); }else if( chkNull.chkNullString(request.getParameter("__cmd")).equals("save") ){ /* if( chkNull.chkNullString(request.getParameter("__checkPage")).equals("true") ){ response.sendRedirect("../MYNOTE/SENT_COMPLETE.jsp"); }else{ response.sendRedirect("../MYNOTE/INBOX.jsp"); }*/ if(chkNull.chkNullString(request.getParameter("isAdminEdit")).equals("true")){ response.sendRedirect("../WORKFLOW_ADMIN/ADMIN_EDIT.jsp"); }else if(chkNull.chkNullString(request.getParameter("isAdminCancel")).equals("true")){ response.sendRedirect("../WORKFLOW_ADMIN/ADMIN_CANCEL.jsp"); }else if(chkNull.chkNullString(request.getParameter("isAdminClean")).equals("true")){ response.sendRedirect("../WORKFLOW_ADMIN/ADMIN_CLEAN.jsp"); }else if(chkNull.chkNullString(request.getParameter("isAdminDelete")).equals("true")){ response.sendRedirect("../WORKFLOW_ADMIN/ADMIN_DELETE.jsp"); }else{ response.sendRedirect("../MYNOTE/SENT_COMPLETE.jsp"); } //response.sendRedirect("../MYNOTE/SENT_COMPLETE.jsp"); }else{ subject = ""; remark = ""; emp_fullname = ""; } bossid = bossid.substring(0,bossid.indexOf(":")); DbRecord memployee_dr = new InitialRecord(screenSingle.getUProfile()).getDbRecord("Memployee"); memployee_dr.setColumn("*"); memployee_dr.set("COMPANYID",screenSingle.getUProfile().get("companyid")); memployee_dr.set("EMPLOYEEID",bossid); memployee_dr.search(); //WF_STATUS 1 = รอการอนุมัติ // 3 = ยกเลิกการอนุมัติ // 4 = อนุมัติแล้ว // 5 = ไม่อนุมัติ // 6 = แก้ไขโดย HR // 7 = ส่งกลับ // 8 = ยกเลิกเอกสาร // 9 = ประวัติ if( (request.getParameter("__runno") == null || request.getParameter("__runno").equals("")) && (request.getParameter("__help") == null || request.getParameter("__help").equals("")) ){ screenSingle.clean(); } if( (!screenSingle.getDataLabel("WF_STATUS").equals("1")) && (!screenSingle.getDataLabel("WF_STATUS").equals("4")) && (!screenSingle.getDataLabel("WF_STATUS").equals("7")) ){ wf = "false"; }else{ wf = "true"; } if( request.getParameter("downfile") != null ){ ThaiUtilities tu = new ThaiUtilities(); String filePath = request.getParameter("downfile"); File f = new File(tu.ASCII2Unicode(filePath)); String fileName = f.getName(); String fileType = fileName.substring(fileName.indexOf(".")+1,fileName.length()); if ( f.exists() && f.canRead() ) { response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment; filename="+tu.Unicode2ASCII(f.getName())); response.setHeader("cache-control", "no-cache"); response.setContentLength((int) f.length()); BufferedInputStream fileInput = new BufferedInputStream(new FileInputStream(f)); byte buffer[] = new byte[8 * 1024]; out.clearBuffer(); OutputStream out_s = response.getOutputStream(); CopyStreams.copyStreamsWithoutClose(fileInput, out_s, buffer); out_s.flush(); out_s.close(); fileInput.close(); } } String cur_empid = chkNull.chkNullString(request.getParameter("__wf__employeeid"),screenSingle.getUProfile().get("employeeid")); String empbranchid = ""; String empbranchiddesc = ""; DbInquiry inq_emp = new InitialInquiry(screenSingle.getUProfile()).getDbInquiry("memployee"); inq_emp.setColumn("branchid"); inq_emp.setFilter("employeeid = '"+cur_empid+"' and companyid = '"+screenSingle.getUProfile().get("companyid")+"'"); inq_emp.refresh(); while(inq_emp.next()){ empbranchid = inq_emp.getString("branchid"); empbranchiddesc = inq_emp.getCurrentDbRecord().getField("branchid").getDescription(); } %> <!-- End useBean --> <HTML ng-app="myHR"> <HEAD> <TITLE>myNOTE : Business Process Management Service</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8"> <!-- Begin Link --> <LINK HREF="../CSS/MYNOTE.css" REL="stylesheet" TYPE="text/css"> <LINK HREF="../CSS/MYNOTE_MENU.css" REL="stylesheet" TYPE="text/css"> <style type="text/css"> .popup{ border-radius: 7px; background:#FFFFFF; margin:30px auto 0; padding:6px; position:absolute; width:300px; top: 50%; left: 50%; margin-left: -150px; margin-top: 100px; opacity: 0.9; filter: alpha(opacity=60); /* For IE8 and earlier */ } .txtbalance{ width:30px ; } </style> <!-- End Link --> <!-- Begin Import Script --> <SCRIPT TYPE='text/JavaScript' SRC='../JS/MYNOTE_SCREEN.js'></SCRIPT> <SCRIPT TYPE='text/JavaScript' SRC='../JS/MYNOTE_MENU.js'></SCRIPT> <SCRIPT TYPE='text/JavaScript' SRC='../JS/SCREEN.js'></SCRIPT> <SCRIPT TYPE='text/JavaScript' SRC='../JS/DATEINPUT.js'></SCRIPT> <SCRIPT TYPE='text/JavaScript' SRC='../JS/VIEWCALENDAR.js'></SCRIPT> <SCRIPT TYPE='text/JavaScript' SRC='../JS/ICONSMENU.js'></SCRIPT> <script type='text/javascript' src='../JS/TIMEUTIL.js'></script> <SCRIPT LANGUAGE="JavaScript">setLang('<%=screenSingle.getUProfile().get("lang")%>');</SCRIPT> <SCRIPT TYPE='text/JavaScript' SRC='../TA/JS/TA_SCREEN.js'></SCRIPT> <script src="../JS/angular-1.3.15/angular.js" type="text/javascript"></script> <script src="../JS/ANGULAR/SCREEN_ANGULAR.js" type="text/javascript"></script> <!-- End Import Script --> <!--DWR INCLUDE--> <script type='text/javascript' src='/hr/dwr/interface/SearchDWR.js'></script> <script type='text/javascript' src='/hr/dwr/engine.js'></script> <script type='text/javascript' src='/hr/dwr/util.js'></script> <script type="text/javascript" src="/hr/dwr/interface/SystemCode.js"></script> <script type="text/javascript" src="/hr/dwr/interface/CscCalendar.js"></script> <script type="text/javascript" src="/hr/dwr/interface/Tabsent_nstda_dwr.js"></script> <!--DWR INCLUDE--> <SCRIPT LANGUAGE="JavaScript" TYPE="text/JavaScript"> <!-- var lang = "<%=screenSingle.getUProfile().get("lang")%>"; var THA = 0; var ENG = 1; var msgError = [ ["ไม่สามารถอนุมัติเอกสารนี้ได้ เนื่องจากได้มีการขอลาไปแล้วในวันนี้","Document cannot be approved, Already made a request on specific date"], ["กรุณากดปุ่ม Calculate เพื่อคำนวณสิทธิ์การลา","Please click Calculate button"], ["กรุณากรอกเหตุผลการลา","Please fill in reason"], ["ไม่สามารถลาได้ เนื่องจากจำนวนครั้งการลาต่อเดือนเกินที่กำหนด","Can not make a request due to number of request is over limit"], ["กรุณาระบุจำนวนวันลา","Please specify number of day"], ["กรุณาระบุจำนวนชั่วโมงลา","Please specify number of hour"], ["กรุณาระบุเวลาเริ่มต้นการลา","Please specify start time"], ["ระบุจำนวนวันลาไม่ถูกต้อง","Invalid date amount"], ["กรุณาแนบไฟล์หนังสือรับรอง","Please attach refference file"], ["เลยช่วงเวลาที่สามารถใช้้สิทธิปีก่อน","Last year balance not available due to exceed allowance period"], ["จำกัดจำนวนวันลาแต่ละครั้งที่ $V1 วัน","Number of day is over limit for each request ($V1 day)"] ] ; var isNoSebject = false; /* declare eventgrp */ var arr = []; /* all leave limit */ function initLimitLeaveObj(){ var al = document.getElementById("__allleave_limit"); if(al.value != ""){ arr = []; var leave = al.value.split(","); var len = leave.length; for (var i = 0; i < len; i++) { var data = leave[i].split("#") ; //alert(data); arr.push({ eventgrp: data[0], daytype: data[1], curyearid: data[2], lastyearid: data[3], lastyear_v1: data[4], nextyearid: data[5], nextyear_v1: data[6], limits: data[7], used: data[8], remain: data[9] }); //alert(arr[arr.length-1].eventgrp); } //alert('end'); } } function getLimitLeaveObj(){ var al = document.getElementById("__allleave_limit"); var arv = []; /* all leave limit */ if(al.value != ""){ var leave = al.value.split(","); var len = leave.length; for (var i = 0; i < len; i++) { var data = leave[i].split("#") ; arv.push({ eventgrp: data[0], daytype: data[1], curyearid: data[2], lastyearid: data[3], lastyear_v1: data[4], nextyearid: data[5], nextyear_v1: data[6], limits: data[7], used: data[8], remain: data[9] }); } } return arv ; } /*********************/ /* get error message */ function getErrMsg(arrObj, idx){ if(isThaiLang()){ return arrObj[idx][THA] ; }else{ return arrObj[idx][ENG] ; } } function isThaiLang(){ with(document.cscform){ if(__language.value == "tha"){ return true ; }else{ return false ; } } } function preSubmit(){ with( document.cscform ){ var stDate = __wf__start_date.value.split("-"); var enDate = __wf__end_date.value.split("-"); /* if(__wf__type_absent == undefined || __wf__type_absent.value == ""){ alert("กำลังโหลดข้อมูลการลา กรุณารอสักครู่"); document.location.reload(true); return false; }*/ /* DWREngine.beginBatch(); Tabsent_nstda_dwr.chkDuplicateLeave(new Array(__absentid.value,__wf__employeeid.value,"100", stDate[2]+"-"+stDate[1]+"-"+stDate[0],__wf__start_time.value, enDate[2]+"-"+enDate[1]+"-"+enDate[0],__wf__end_time.value), isApproved); DWREngine.endBatch({ async:false }); */ /* BlizZoniC 2017-01-31 ของเดิมวิ่งเข้า Tabsent_nstda_dwr.chkDuplicateLeave แล้ว วิ่งเข้า GoWF() โดยไม่สนใจค่าจาก callback ซึ่งมีการ check duplicate ตั้งแต่ตอน cal แล้ว แก้ไขปัญหา batch โดยตัดการเข้าไปเช็ค dwr ให้วิ่งไป GoWF() เลย */ GoWF(); } } var isApproved = function(data){ if(data == true){ with(document.cscform){ //wf_command[1].checked = true; //comments.value = "ไม่สามารถอนุมัติเอกสารนี้ได้ เนื่องจากได้มีการขอลาไปแล้วในวันนี้"; //comments.value = getErrMsg(msgError, 0); } //alert("ไม่สามารถอนุมัติเอกสารนี้ได้ เนื่องจากได้มีการขอลาไปแล้วในวันนี้"); //alert((msgError, 0)); GoWF(); } else { GoWF(); } }; function preGoWF(){ with( document.cscform ){ /* check Branch ID is Null */ if(isBranchIDNull()){ return ; } var subj = "Leave Request Form"; var tsubj = "ใบขอลาหยุดงาน "; var esubj = "Leave Request Form"; if(__language.value == "tha") subj="ใบขอลาหยุดงาน "; dwr.engine.beginBatch(); dwr.util.setValue("subject",subj + " ( " + __wf__type_absent.options[__wf__type_absent.selectedIndex].text+" ) "); dwr.util.setValue("tha_subject",tsubj + " ( " + __wf__type_absent.options[__wf__type_absent.selectedIndex].attributes.tdesc.value + " ) "); dwr.util.setValue("eng_subject",esubj + " ( " + __wf__type_absent.options[__wf__type_absent.selectedIndex].attributes.edesc.value +" ) "); dwr.engine.endBatch({ async:false,timeout:1000 }); if( chkSummitCal() && chk_calculate.value != '' ){ if(chk_Time() && chk_Time2() && chkAttachFile() && chkFuneralInput()){ setMailConfigWorkflow(); setFuneralDesc(); GoWF(); } }else{ alert(getErrMsg(msgError, 1)); } //getLeaveUsed(); } } function processtime(){ with( document.cscform ){ //alert("xxxxx==="+used.value); var result_used =used.value.substring(0,1); type_absent.value=__wf__type_absent.value; if(chk_Time() && chk_Time2() && fullHours(__wf__start_time.value,__wf__end_time.value) && chkAttachFile()){ if (result_used=='5' || result_used=='7') { alert(used.value.substring(1,used.value.length)); } else { if(chkSummitCal()){ if(alertError(result_used)){ //alert(limitleave.value); getParam(); __wfcmd.value=true; setLimitLeave(); if(__wf__cause_absent.value!=""){ GoWF(); }else{ //alert("กรุณากรอกเหตุผลการลา !!"); alert(getErrMsg(msgError, 2)); } } }else{ //alert("กรุณากดปุ่ม Calculate เพื่อคำนวณสิทธิ์การลา !!"); getErrMsg(msgError, 1); } } }// unused } } function alertError(errorid,dayLimit){ var error = new Array(); if ( errorid == "0" ) { return true; } else { error[0] = (lang=="tha")? "ไม่มีแผนการทำงาน":"No Working Plan."; error[1] = (lang=="tha")? "มีการลาแล้วในวันนี้":"Already taken leave for today."; error[2] = (lang=="tha")? "ไม่มีสิทธิการลา":"Unable to take the rights of leave request."; error[3] = (lang=="tha")? "จำนวนครั้งการลาเกินกว่าที่กำหนด":"Leave Times are excess than limit."; //error[4] = "ln form leave less than advance limit days."; error[4] = (lang=="tha")? "ไม่สามารถลาย้อนหลังได้ กรุณาติดต่อ HR":"Unable to take adverse leave request. Please contact HR"; error[5] = (lang=="tha")? "กรุณาใช้ประเภทการลาที่กำหนดให้หมดก่อน จึงจะลาประเภทนี้ได้":"Please finish using all pre-requisite leave requests first."; error[6] = (lang=="tha")? "ไม่สามารถลาได้ในวันนี้" : "Unable to take leave today."; error[7] = (lang=="tha")? "สิทธิการลาไม่เพียงพอ":"Inadequate remaining leave period."; error[8] = (lang=="tha")? "เพศไม่ตรงกับประเภทการลา":"Gender does not match with leave type."; error[9] = (lang=="tha")? "กรุณาสร้างเอกสารก่อนเวลา 13.00 น.":"Please submit the request form before 1pm."; error[11] = (lang=="tha")? "รหัสพนักงานไม่ถูกต้อง":"Incorrect Employee ID"; if (errorid == "A"){ alert(swap2String(error[0])); }else if (errorid == "B"){ alert(swap2String(error[11])); }else if (errorid == "P"){ if(isThaiLang()){ alert("ไม่สามารถลา ย้อนหลัง ได้เกินกว่าที่กำหนดไว้ \n[ระบบกำหนดไว้ที่ "+dayLimit+" วัน]"); }else{ alert("Can not make a request back date over " + dayLimit + " day(s)"); } }else if (errorid == "F"){ if(isThaiLang()){ alert("ไม่สามารถลา ล่วงหน้า ได้เกินกว่าที่กำหนดไว้ \n[ระบบกำหนดไว้ที่ "+dayLimit+" วัน]"); }else{ alert("Can not make a request in advance over " + dayLimit + " day(s)"); } }else if (errorid == "I"){ if(isThaiLang()){ alert("ต้องขอลาล่วงหน้า อย่างน้อย " + Number(dayLimit).toFixed(0) + " วัน"); }else{ alert("Must make a request in advance for " + Number(dayLimit).toFixed(0) + " day(s)"); } }else if (errorid == "R"){ if(isThaiLang()){ alert("จำกัดจำนวนวัน ต่อการขอแต่ละครั้ง (" + Number(dayLimit).toFixed(0) + " วัน)"); }else{ alert("Number of day is over limit for each request (limit " + Number(dayLimit).toFixed(0) + "day(s)"); } }else if(errorid == "O"){ alert(swap2String(error[3])); //getErrMsg(msgError, 3); }else if( errorid != "" ){ alert(swap2String(error[errorid])); }else{ alert(swap2String(error[4])); } return false; } } function openHelp(){ with( document.cscform ){ //window.open("../TA/HELP/Leave.pdf","Help","left=150,top=150,width=700,height=570,toolbar=no,status=yes,scrollbars=yes,resizable=yes"); } } function goHelp(helpName,inputName,condition){ with( document.cscform ){ var helpReturn; var temp; if( inputName == "sendto" ){ temp = __fixCon.value; if( condition.indexOf(",") > -1 ){ condition = condition.replace(/,/g,"','"); } //__fixCon.value="job='"+condition+"'"; __fixCon.value="EMPLOYEEID IN ('"+condition+"')"; helpReturn="wf_next_actor:EMPLOYEEID,sendto:MEMPLOYEE@FULLNAME"; linkHelp_SendToReturn(helpName,helpReturn); __fixCon.value=temp; }else if( inputName == "cc" ){ temp = __fixCon.value; __fixCon.value = "STATUS in ('A','V')"; helpReturn="wf_cc_actor:EMPLOYEEID,cc:MEMPLOYEE@FULLNAME"; linkHelp_SendToReturn(helpName,helpReturn); __fixCon.value=temp; } else if(inputName=="__wf__abroadid" ){ temp = __fixCon.value; __fixCon.value = ""; helpReturn=inputName+":countryid,MCOUNTRY@TDESC"; linkHelp_Return(helpName,helpReturn); __fixCon.value=temp; } else if(inputName=="__wf__employeeid"){ temp = __fixCon.value; __fixCon.value = "((EMPLOYEEID = '<%=screenSingle.getUProfile().get("employeeid")%>') OR (BOSSID = '<%=screenSingle.getUProfile().get("employeeid")%>') OR (BOSSID IN (SELECT EMPLOYEEID FROM MEMPLOYEE WHERE BOSSID = '<%=screenSingle.getUProfile().get("employeeid")%>'))) AND RESIGNDATE > '<%=new CscCalendar().getYYYYMMDD()%>'"; helpReturn=inputName+":employeeid,MEMPLOYEE@FULLNAME,__wf__old_shift:time0"; linkHelp_Return_CallFunction(helpName,helpReturn,"searchEmp"); __fixCon.value=temp; }else if( inputName=="__employeeid" ){ temp = __fixCon.value; __fixCon.value = ""; helpReturn="__employeeid:EMPLOYEEID,MEMPLOYEE@FULLNAME,emp_fullname:MEMPLOYEE.FULLNAME"; linkHelp_Return(helpName,helpReturn); __fixCon.value=temp; }else if( inputName.indexOf("__wf__emp_request") > -1 ){ temp = __fixCon.value; helpReturn=inputName+":employeeid,MEMPLOYEE@FULLNAME"+inputName.substring(inputName.indexOf("$"), inputName.length); linkHelp_Return(helpName,helpReturn); __fixCon.value=temp; } } } function linkHelp_SendToReturn(help,input){ with( document.cscform ){ var param = "BROWSE_USER.jsp?__helpName="+help+"&__helpReturn="+input+"&__pageCall="+__screen.value+"&__fixCon="+__fixCon.value+"&__checkVerify=off&__langOn=off"; window.open(param,"Help","left=150,top=150,width=530,height=370,toolbar=no,status=yes,scrollbars=yes,resizable=yes"); } } function linkHelp_Return(help,input){ with( document.cscform ){ var param="BROWSE_HELP.jsp?__helpName="+help+"&__helpReturn="+input+"&__pageCall="+__screen.value+"&__fixCon="+__fixCon.value+"&__checkVerify=off&__langOn=off"; window.open(param,"Help","left=150,top=150,width=530,height=370,toolbar=no,status=yes,scrollbars=yes,resizable=yes"); } } function linkHelpWF(help,input){ with(document.cscform){ var temp = __fixCon.value; var fix = "wf_id='"+wf_id.value+"' and wf_ver='"+wf_ver.value+"' and initiator='<%=screenSingle.getUProfile().get("actor")%>' and (wf_status<>'4' and wf_status<>'6' and wf_status<>'3' and wf_status<>'8' and wf_status<>'A' and wf_status<>'B')"; var param="BROWSE_HELP.jsp?__helpName="+help+"&__fieldSearch="+input+"&__pageCall="+__screen.value+"&__fixCon="+fix; //alert("param is:"+param); window.open(param,"Help","left=150,top=150,width=530,height=370,resizable=yes,scrollbars=yes,toolbar=no,status=yes"); __fixCon.value = temp; } } function initiframe(empid){ var source=""; with( document.cscform ){ source = "about:blank"; if (empid != null && empid != "") { source="../TA/SHOWNLEAVE_WF.jsp?__employeeid="+empid+"&__fixCon="+__fixCon.value; } setcframe(source,"viewframe"); } } function setcframe(source,mframe){ var vframe=document.getElementById(mframe); vframe.src=source; } function chk_Time(){ var count=0; with(document.cscform){ for (j=0;j<elements.length; j++){ if(elements[j].name.indexOf("__wf__start_date") > -1){ if(!isValidDate(elements[j].value)){ count+=1; elements[j].focus(); elements[j].select(); break; } } if(elements[j].name.indexOf("__wf__end_date") > -1){ if(!isValidDate(elements[j].value)){ count+=1; elements[j].focus(); elements[j].select(); break; } } if(elements[j].name.indexOf("__wf__start_time") > -1){ if(!isValidTime(elements[j].value)){ count+=1; elements[j].focus(); elements[j].select(); break; } } if(elements[j].name.indexOf("__wf__end_time") > -1){ if(!isValidTime(elements[j].value)){ count+=1; elements[j].focus(); elements[j].select(); break; } } }//for if(count>0){ return false; }else{ return true; } } } function chk_Time2(){ with(document.cscform){ return datetimeDifference(eval("__wf__start_date.value"),eval("__wf__end_date.value"), eval("__wf__start_time.value"),eval("__wf__end_time.value")); } } function setLimitLeave(){ with(document.cscform){ var digit = used.value.indexOf("#"); __wf__limitleave.value = used.value.substring(0, digit); __wf__limitleave.value = __wf__limitleave.value+"_0"; } } function fullHours(sTime,eTime){ /*with(document.cscform){ if(__wf__format_leave[3].checked){ var min = 0; sTime = sTime.split("."); eTime = eTime.split("."); min = sTime[1]-eTime[1]; if(min != 0){ alert(MyCode[147]); return false; }else return true; }else return true; }*/ return true; } //=========================== Nuiss Code ===================== /* *Author : Nuiss *Date : 11/05/2552 *Logic : แสดง Description ของการลาประเภทนั้นๆ แจ้งให้ User ทราบ *เช่น การลาพักร้อน ต้องลาล่วงหน้า 7 วัน *หมายเหตุ Code ที่ใช้ check ใช้ที่ Honda เท่านั้น *ใช้ timer ในการหน่วงเวลาไว้ 2 วินาที เพราะ page มันอาจจะ create element *ไม่เสร็จ */ function setLeaveDescritption_withDelay(){ InitializeTimer(); } function setLeaveDescritption_withoutDelay(){ var pagesObj = document.getElementById("__wf__type_absent"); if(pagesObj==null){ // do nothing }else{ switch(pagesObj.options[pagesObj.selectedIndex].value){ case "AN": document.getElementById("leaveDescription").innerText ="ลาหยุดพักผ่อนประจำปี(ลาพักร้อน) ต้องลาล่วงหน้าอย่างน้อย 7 วัน"; break; default : document.getElementById("leaveDescription").innerText =""; break; }//end switch } }//end function var secs var timerID = null var timerRunning = false var delay = 1000 function InitializeTimer(){ // Set the length of the timer, in seconds secs = 2 StopTheClock() StartTheTimer() } function StopTheClock(){ if(timerRunning){ clearTimeout(timerID) timerRunning = false } } function StartTheTimer(){ if (secs==0){ StopTheClock() //alert("You have just wasted 2 seconds before goto setLeaveDescritption_withDelay()") setLeaveDescritption_withoutDelay(); }else{ //self.status = secs secs = secs - 1 timerRunning = true timerID = self.setTimeout("StartTheTimer()", delay) } } function viewPages(helppage){ var pam=helppage+".jsp?__fixCon=employeeid='<%= TEMPLATE_WORKFLOW.getUProfile().get("employeeid") %>'"; window.open(pam,"Help","left=150,top=150,width=800,height=500,toolbar=no,status=yes,scrollbars=yes"); } function goPages(helppage,welid,budid){ var pam=helppage+".jsp?__fixCon=welid='"+welid+"' and budyear = '"+budid+"' and employeeid='<%= TEMPLATE_WORKFLOW.getUProfile().get("employeeid") %>'"; window.open(pam,"Help","left=150,top=150,width=700,height=500,toolbar=no,status=yes,scrollbars=yes"); } var showfullname = function(data1){ var empid=""; //alert(data1[1][0]); with(document.cscform){ for(j=0; j<data1.length; j++){ empid+=data1[j][0]; } dwr.util.setValue('MEMPLOYEE@FULLNAME',empid); } } function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features); } var getLeave = function(data1){ view_leave.innerHTML=data1; } function showLeave() { with (document.cscform) { if(__wf__employeeid.value != ""){ var fl = "0"; for(f=0; f<__wf__format_leave.length; f++){ if(__wf__format_leave[f].checked){ fl=__wf__format_leave[f].value; } } Tabsent_nstda_dwr.getDWRDataService(new Array(__wf__employeeid.value,__wf__type_absent.value, __wf__start_date.value,__wf__start_time.value, __wf__end_date.value,__wf__end_time.value,__wf__leave_day.value,fl,__wf__leave_hours.value,"", __absentid.value), getLeave); } else alert(MyCode[15]); } } function goView() { with(document.cscform){ if(__wf__employeeid.value=="" || __wf__type_absent.value=="" || __wf__start_date.value=="" || __wf__start_time.value=="" || __wf__end_date.value=="" || __wf__end_time.value==""){ alert(MyCode[0]); }else if(chk_Time() && chk_Time2()){ showLeave(); } } } var leaveUsed = function(data1){ document.cscform.used.value=data1; processtime(); } function getLeaveUsed() { with (document.cscform) { if(__wf__employeeid.value != ""){ var fl = "0"; var hl = "0"; for(f=0; f<__wf__format_leave.length; f++){ if(__wf__format_leave[f].checked){ fl=__wf__format_leave[f].value; } } var used_leave = ""; for(i=0; i<elements.length; i++){ if(elements[i].name.indexOf("__wf__type_absent") > -1){ //alert(elements[i].value); var fl = "0"; var hl = "0"; for(f=0; f<__wf__format_leave.length; f++){ if(__wf__format_leave[f].checked){ fl=__wf__format_leave[f].value; } } used_leave = eval("detail1.document.cscform.L"+elements[i].value+"_USED.value"); } } Tabsent_nstda_dwr.getDWRLeave(new Array(__wf__employeeid.value,__wf__type_absent.value, __wf__start_date.value,__wf__start_time.value, __wf__start_date.value,__wf__end_time.value,__wf__leave_day.value,fl,hl,used_leave,"", __absentid.value), {callback:leaveUsed,async:true}); }else alert(MyCode[15]); } } function isValidInput(){ with(document.cscform){ /* ลาเต็มวัน */ if(__wf__format_leave[0].checked){ var days = __wf__leave_day.value ; if(Number(days) == 'NaN' || Number(days) == 0){ //alert("กรุณาระบุจำนวนวันลา"); alert(getErrMsg(msgError, 4)); __wf__leave_day.value = "0"; __wf__leave_day.focus(); __wf__leave_day.select(); return false; }else{ __wf__leave_day.value = Number(days); } }else if(__wf__format_leave[1].checked || __wf__format_leave[2].checked){ /* ลาครึ่งวัน */ //do notthing }else if(__wf__format_leave[3].checked){ var hour = __wf__leave_hours.value ; var stt = __wf__start_time.value ; if(Number(hour) == 'NaN' || Number(hour) == 0){ //alert("กรุณาระบุจำนวนชั่วโมงลา"); alert(getErrMsg(msgError, 5)); __wf__leave_hours.value = "0.00"; __wf__leave_hours.focus(); __wf__leave_hours.select(); return false; } if(stt == ''){ //alert("กรุณาระบุเวลาเริ่มต้นการลา"); alert(getErrMsg(msgError, 6)); __wf__start_time.focus(); __wf__start_time.select(); return false; } } return true; } } /* loading popup */ function showLoadPopup(){ var lp = document.getElementById("loading_leave"); var calbtn = document.getElementById("imgCalc"); lp.style.display = "block"; calbtn.style.display = "none"; } function calculateEDate(){ with(document.cscform){ if(!isValidInput()){ resetImgCal(); return; } showLoadPopup(); if (detail1.document.cscform.__screen.value=="SHOWLEAVE"){ imgCalc.style.display = "none"; imgSubmit.style.display = "none"; if(__wf__employeeid.value != ""){ var fl = "0"; for(f=0; f<__wf__format_leave.length; f++){ if(__wf__format_leave[f].checked){ fl=__wf__format_leave[f].value; } } var used_leave = ""; for(i=0; i<elements.length; i++){ if(elements[i].name.indexOf("__wf__type_absent") > -1){ //alert(elements[i].value); var fl = "0"; var hl = "0"; for(f=0; f<__wf__format_leave.length; f++){ if(__wf__format_leave[f].checked){ fl=__wf__format_leave[f].value; } } used_leave = eval("detail1.document.cscform.L"+elements[i].value+"_USED.value"); } } /* init eventgrp */ initLimitLeaveObj(); /* user define leave */ clearUserDefineValue(); //setUserDefineHalfHourLeave(); /* validate user define leave */ //if(!validateUserDefinedLeave()){ // resetImgCal(); // return ; //} /* check last year limit available */ if(isUsingLastYearLimit()){ if(passLastYearLimitUsed()){ resetImgCal(); return ; } } initLeaveUsed(); /* set user define leave used */ Tabsent_nstda_dwr.getDWRLeave(new Array(__wf__employeeid.value,__wf__type_absent.value, __wf__start_date.value, __wf__start_time.value, __wf__end_date.value, __wf__end_time.value, __wf__leave_day.value, fl, __wf__leave_hours.value, used_leave,"", __absentid.value, __wf__leaveused.value), enddateLeave); }else alert(MyCode[15]); } else { var err = "Please back to leave statistic page"; if(__language.value == "tha") err="กรุณากลับไปยังหน้าสถิติการลาก่อน "; alert(err); } } //end with } var enddateLeave = function(data){ hideLoadPopup(); var result_enddate="<%=new CscCalendar().getDDMMYYYY()%>"; var result_calc="0"; result_enddate = data.split("#"); result_calc = data.substring(0,1); if (result_calc=='5' || result_calc=='7') { alert(data.substring(4,data.length)); document.cscform.imgCalc.style.display = ""; document.cscform.imgSubmit.style.display = ""; } else { initLvUsedFromServer(data); if(alertError(result_calc,result_enddate[1])){ dwr.util.setValue("__wf__start_date",result_enddate[1]); dwr.util.setValue("__wf__end_date",result_enddate[2]); dwr.util.setValue("__wf__start_time",result_enddate[3]); dwr.util.setValue("__wf__end_time",result_enddate[4]); dwr.util.setValue("__wf__leave_hours",parseFloat(result_enddate[5]).toFixed(2)); dwr.util.setValue("__wf__leaveused",result_enddate[7]); dwr.util.setValue("chk_calculate","cal"); setUserDefinedFromServer(result_enddate[7]); document.cscform.imgCalc.style.display = ""; document.cscform.imgSubmit.style.display = ""; }else{ document.cscform.imgCalc.style.display = ""; } } } function showFullOption(){ var spnPrevCap = document.getElementById("spnPreYearCaption"); var spnCurCap = document.getElementById("spnCurYearCaption"); var spnNextCap = document.getElementById("spnNextYearCaption"); var spnPrevDay = document.getElementById("spnPrevYear1"); var spnPrevHour = document.getElementById("spnPrevYear2"); var spnPrevHalf = document.getElementById("spnPrevYear3"); var prv_day = document.getElementById("prev_day"); var prv_hour = document.getElementById("prev_hour"); var prv_half = document.getElementById("prv_half"); var spnCurDay = document.getElementById("spnCurYear1"); var spnCurHour = document.getElementById("spnCurYear2"); var spnCurHalf = document.getElementById("spnCurYear3"); var cur_day = document.getElementById("cur_day"); var cur_hour = document.getElementById("cur_hour"); var spnNextDay = document.getElementById("spnNextYear1"); var spnNextHour = document.getElementById("spnNextYear2"); var spnNextHalf = document.getElementById("spnNextYear3"); var next_day = document.getElementById("next_day"); var next_hour = document.getElementById("next_hour"); var obj1 = document.getElementsByName("__leave_format"); showObject(spnPrevCap, true); showObject(spnCurCap, true); showObject(spnNextCap, true); setZeroHourValue(prv_hour); setZeroHourValue(cur_hour); setZeroHourValue(next_hour); showObject(spnPrevDay, true); showObject(spnCurDay, true); showObject(spnNextDay, true); showObject(spnPrevHour, true); showObject(spnCurHour, true); showObject(spnNextHour, true); } function setUserDefinedFromServer(usrdefine){ showFullOption(); setValueUserDefined(usrdefine); hideEmptyObject(); } function setValueUserDefined(usrdefine){ var tmp = usrdefine.split(","); /*prv year*/ if(tmp.length == 3){ var ttmp = tmp[0].split(":"); var nday = document.getElementById("prev_day"); if(nday != "undefined"){ nday.value = ttmp[1]; } if(ttmp[2] != "" && ttmp[2] != "0"){ var nhour = document.getElementById("prev_hour"); var pshour = document.getElementById("sel_half0"); if(nhour != "undefined"){ nhour.value = ttmp[2]; pshour.checked = true ; } } /*cur year*/ var cttmp = tmp[1].split(":"); var cnday = document.getElementById("cur_day"); if(cnday != "undefined"){ cnday.value = cttmp[1]; } if(cttmp[2] != "" && cttmp[2] != "0"){ var cnhour = document.getElementById("cur_hour"); var cshour = document.getElementById("sel_half1"); if(cnhour != "undefined"){ cnhour.value = cttmp[2]; cshour.checked = true ; } } /*next year*/ var nttmp = tmp[2].split(":"); var nnday = document.getElementById("next_day"); if(nnday != "undefined"){ nnday.value = nttmp[1]; } if(nttmp[2] != "" && nttmp[2] != "0"){ var nnhour = document.getElementById("next_hour"); var nshour = document.getElementById("sel_half2"); if(nnhour != "undefined"){ nnhour.value = nttmp[2]; nshour.checked = true ; } } } } function initLvUsedFromServer(data){ var rdata = data.replace("###",""); var items = rdata.split("#"); var lvused = document.getElementById("__leaveused"); lvused.value = items[items.length-1] ; } function resetImgCal(){ document.cscform.imgCalc.style.display = ""; } function overZero(obj){ with(document.cscform){ if(obj.value == "0"){ obj.value = "1"; obj.focus(); obj.select(); } } } function setValueEnddate(startdate){ with(document.cscform){ __wf__end_date.value = startdate.value; } } function chkGuarantee(obj_event){ with(document.cscform){ SearchDWR.searchAll(new Array("meventgrp","eventgrpid,companyid,tdesc,edesc,guarantee,guarantee_date", "eventgrpid='"+obj_event.value+"'","eventgrpid","langon"), function(data1){ if(data1.length > 0){ dwr.util.setValue('__attach_value',data1[0][4]); dwr.util.setValue('__guarantee_date',data1[0][5]); }//end if }// end function ); } } function getListTypeAbsent(eventgrpid,dis){ var ev = ""; var selectDefault = ""; //ลาป่วย SearchDWR.searchAll(new Array("meventgrp","eventgrpid,companyid,tdesc,edesc,daytype","daytype!='1' and daytype !='5' and daytype !='6' and daytype !='9' and (eventgrpid<>'J')","display_order",""),{callback: function(data1){ var str=""; var lang = "2"; if(document.getElementById("__language").value == "eng"){ lang = "3"; } for(i=0;i<data1.length;i++){ if(eventgrpid == ""){ // first time enter this page eventgrpid = data1[i][0]; ev = "selected"; setLeaveSubject(data1[i][2],data1[i][3]); }else if(data1[i][0]==eventgrpid){ ev = "selected"; setLeaveSubject(data1[i][2],data1[i][3]); }else if(selectDefault!="" && data1[i][0] == selectDefault){ ev="selected" }else{ ev=""; } if(data1[i][4] == "7") dwr.util.setValue("__type_holiday",dwr.util.getValue("__type_holiday")+","+data1[i][0]); str = str + "<option value='"+data1[i][0]+"' "+ev+" tdesc='"+data1[i][2]+"' edesc='"+data1[i][3]+"'>"+data1[i][lang]+"</option>"; } document.getElementById("__eventgrp").innerHTML="<select id='__wf__type_absent' name=\"__wf__type_absent\" onChange='setLimitLeave();chkLeaveTime(this);chkGuarantee(this);setLeaveDescritption_withoutDelay();' "+dis+">"+str+"</select>"; },async:true}); } function chkLeaveTime(eventgrp){ //alert("chkLeaveTime==>"+eventgrp); var ev = eventgrp.value; //alert(ev); with(document.cscform){ var holiday = dwr.util.getValue("__type_holiday").split(","); var subj = "Absent Work Form"; if(__language.value == "tha") subj="ใบขอลาหยุดงาน "; dwr.util.setValue("subject",subj + " (" + eventgrp.options[eventgrp.selectedIndex].text + ")"); /* for(i=1; i<holiday.length; i++){ alert(ev+"=="+ holiday[i]); if(ev == holiday[i]){ __wf__format_leave[0].checked = true; disableTime(true); menu2.disabled = true; break; }else{ disableTime(false); menu2.disabled = false; } }*/ LeaveTime(); } } function setReasonLeave(eventgrp){ with(document.cscform){ SearchDWR.searchAll(new Array("meventgrp","remarks,event_desc","eventgrpid='"+eventgrp.value+"' ","eventgrpid","langon"), function(data1){ if(data1.length > 0){ var arraydata1 = data1[0][0]; var arraydata2 = data1[0][1]; /*if(arraydata1 != ""){ if(getLang() === "tha"){ dwr.util.setValue("__remarks","คำอธิบายการลา : "+arraydata1+"</br>"); }else{ dwr.util.setValue("__remarks","Leave Description : "+arraydata1+"</br>"); } }else{ dwr.util.setValue("__remarks",""); } if(arraydata2 != ""){ if(getLang() === "tha"){ dwr.util.setValue("__remarks","คำอธิบายสิทธิ : "+arraydata2+"</br>"); }else{ dwr.util.setValue("__remarks","Event Description : "+arraydata2+"</br>"); } }else{ dwr.util.setValue("__remarks",""); } */ if(arraydata1 != ""){ if(arraydata2 != ""){ if(getLang() === "tha"){ dwr.util.setValue("__remarks","คำอธิบายการลา : "+arraydata1+"</br>คำอธิบายสิทธิ : "+arraydata2+"</br>"); }else{ dwr.util.setValue("__remarks","Leave Description : "+arraydata1+"</br>Event Description : "+arraydata2+"</br>"); } }else{ if(getLang() === "tha"){ dwr.util.setValue("__remarks","คำอธิบายการลา : "+arraydata1+"</br>"); }else{ dwr.util.setValue("__remarks","Leave Description : "+arraydata1+"</br>"); } } }else{ if(arraydata2 != ""){ if(getLang() === "tha"){ dwr.util.setValue("__remarks","</br>คำอธิบายสิทธิ : "+arraydata2+"</br>"); }else{ dwr.util.setValue("__remarks","</br>Event Description : "+arraydata2+"</br>"); } }else{ dwr.util.setValue("__remarks",""); } } } } ); //dwr.util.setValue("__wf__cause_absent",eventgrp.options[eventgrp.selectedIndex].text); } } function disableTime(value){ with(document.cscform){ __wf__start_time.readOnly = value; __wf__end_time.readOnly = value; } } function LeaveTime(){ with(document.cscform){ chk_calculate.value=''; /* ลาเต็มวัน */ if(__wf__format_leave[0].checked){ if(__wf__leave_day.value == "0"){ __wf__leave_day.value = "1"; }//end __wf__start_time.value="0.00"; __wf__end_time.value="23.59"; __wf__leave_hours.value = "0.00"; disableTime(true); __wf__leave_day.disabled = false; __wf__leave_hours.disabled=true; /* ลาครึ่งวัน */ }else if(__wf__format_leave[1].checked || __wf__format_leave[2].checked) { __wf__leave_day.value = "0"; __wf__leave_hours.value = "0.00"; disableTime(true); __wf__leave_day.disabled = true; __wf__leave_hours.disabled=true; }else if(__wf__format_leave[3].checked){ disableTime(false); __wf__leave_day.value="0"; __wf__leave_hours.value = "1.00"; __wf__start_time.value=""; __wf__end_date.value= __wf__start_date.value ; __wf__end_time.value=""; __wf__end_time.readOnly = true; __wf__leave_day.disabled = true; __wf__leave_hours.disabled=false; }//end if }//end with }//end function function searchEmp(){ var condition = " AND (EMPLOYEEID IN (SELECT EMPLOYEEID FROM MEMPLOYEE WHERE BOSSID = (SELECT BOSSID FROM MEMPLOYEE WHERE EMPLOYEEID = '<%=screenSingle.getUProfile().get("employeeid")%>') ) OR BOSSID = '<%=screenSingle.getUProfile().get("employeeid")%>') AND RESIGNDATE > '<%=new CscCalendar().getYYYYMMDD()%>' "; //var condition = " EMPLOYEEID IN ('<%=screenSingle.getUProfile().get("employeeid")%>') AND STATUS != 'Y' "; searchDescEmp(document.cscform.__wf__employeeid, 'memployee.fullname:MEMPLOYEE@FULLNAME,mposition.tdesc:__position,mbu1.tdesc:__bu1,mbu2.tdesc:__bu2,mbu3.tdesc:__bu3,mbu4.tdesc:__bu4,mbu5.tdesc:__bu5,memployee.startdate:__startdate,memployee.tel_ext:__tel_ext,memployee.emp_every:__wf__emp_every', condition); //alert(dwr.util.getValue("__wf__employeeid")); initiframe(dwr.util.getValue("__wf__employeeid")); } function chkAttachFile(){ with(document.cscform){ //var msg = "Please Attach File"; //if(__language.value == "tha") msg = "กรุณาแนบไฟล์หนังสือรับรอง"; var typa = document.getElementById("__wf__type_absent"); __attach_value.value = typa.options[typa.selectedIndex].getAttribute("guarantee"); __guarantee_date.value = typa.options[typa.selectedIndex].getAttribute("guarantee_date"); //alert(__attach_value.value); if(__attach_value.value == "1"){ // garuntee if((parseInt(__wf__leave_day.value) >= parseInt(__guarantee_date.value)) && dwr.util.getValue("__wf__format_leave") == "0") { console.log(__guarantee_date.value); if(!CheckAttachFile()){ //alert(msg); alert(getErrMsg(msgError, 8)); return false; }else {return true}; }else{ return true; } }else{ return true; } } } function getInputEventgrp(value, disable){ SearchDWR.getInput(new Array("tabsent_nstda", "type_absent", "Name:wf__type_absent", "Disable:"+disable, "onChange:setLimitLeave();chkLeaveTime(this);chkGuarantee(this)"), function(data){ dwr.util.setValue("__eventgrp", data[1]); dwr.util.setValue("__wf__type_absent", value); chkGuarantee(document.getElementById("__wf__type_absent")) }); } function setListValue(fieldList){ var list = fieldList.split(","); var get_value = ""; for (var i = 0; i < list.length; i++) { get_value = dwr.util.getValue("__temp_value")+","+dwr.util.getValue(list[i]); if (i==0) get_value = dwr.util.getValue(list[i]); dwr.util.setValue("__temp_value", get_value); } } function chkDeffValue(){ var temp_list = dwr.util.getValue("__temp_value").split(","); var field_list = dwr.util.getValue("__field_list").split(","); var flag = dwr.util.getValue("__flag"); var msg = swap2String("Please click calculate again."); if (flag == "1") { for (var i=0; i<temp_list.length; i++) { //alert(temp_list[i] +" : "+ dwr.util.getValue(field_list[i])); //alert(temp_list[i].toString() == dwr.util.getValue(field_list[i]).toString()); if (temp_list[i].toString() != dwr.util.getValue(field_list[i]).toString()){ alert(msg); return false; } } } else { alert(msg); return false; } return true; } function chkSummitCal(){// check ว่า กดปุ่ม Calculate หรื่อไม่ with(document.cscform){ if(chk_calculate.value=='cal'){ return true; }else{ return false; } } } function getInitiatorLevel(){ with(document.cscform){ SearchDWR.searchAll(new Array("mjobcode","jobcode_level","jobcodeid='<%=screenSingle.getUProfile().get("job")%>'","jobcodeid","langon"), function(data1){ if(data1.length > 0){ dwr.util.setValue('__wf__initiator_level', data1[0][0]); } }// end function ); } } function setMailConfigWorkflow(){ with(document.cscform){ var date , month , year; var now = new Date(); date = now.getDate(); month = now.getMonth()+1; year = now.getFullYear(); date = (date <10)?('0'+date):date; month = (month<10)?('0'+month):month; __wf__start_doc_date.value = date+'/'+month+'/'+year; // alert(__wf__start_doc_date.value ); } } function setLeaveSubject(tdesc, edesc){ with(document.cscform){ if(isNoSebject){ //no subject object }else{ if(__language.value == "tha"){ subject.value = subject.value + " (" + tdesc + ")"; }else{ subject.value = subject.value + " (" + edesc + ")"; } } } } function setDisableObj(obj, status){ obj.disabled = status; } function visibleObj(obj, status){ if( obj && obj.style && obj.style.visibility){ obj.style.visibility = status ; } } function setHidHours(){ with(document.cscform){ __wf__leave_hours.value = __wf__list_hours.value+"."+__wf__list_min.value; chk_calculate.value = ""; } } /* manage leave format by activation property */ function setLeaveTypeActivation(){ var lvobj = document.getElementById("__wf__type_absent"); var dformat = lvobj.options[lvobj.selectedIndex].getAttribute("day_leave_stat") ; var fhformat = lvobj.options[lvobj.selectedIndex].getAttribute("fhalf_leave_stat") ; var shformat = lvobj.options[lvobj.selectedIndex].getAttribute("shalf_leave_stat") ; var hformat = lvobj.options[lvobj.selectedIndex].getAttribute("hour_leave_stat") ; var flobj = document.getElementsByName("__wf__format_leave"); var lvday = document.getElementsByName("__wf__leave_day"); var lvhour = document.getElementsByName("__wf__leave_hours"); //alert(flobj[0]+">>>"+lvday[0]+">>>"+flobj[1]+">>>"+flobj[2]+">>>"+flobj[3]+"<<<"+lvhour[0]); if(dformat == "1"){ setDisableObj(flobj[0], false); setDisableObj(lvday[0], false); }else{ setDisableObj(flobj[0], true); setDisableObj(lvday[0], true); } if(fhformat == "1"){ setDisableObj(flobj[1], false); }else{ setDisableObj(flobj[1], true); } if(shformat == "1"){ setDisableObj(flobj[2], false); }else{ setDisableObj(flobj[2], true); } if(hformat == "1"){ setDisableObj(flobj[3], false); setDisableObj(lvhour[0], false); }else{ setDisableObj(flobj[3], true); setDisableObj(lvhour[0], false); } } function hideLoadPopup(){ var lp = document.getElementById("loading_leave"); var calbtn = document.getElementById("imgCalc"); var vframe = document.getElementById("viewframe"); var imgSubmit = document.getElementById("imgSubmit"); var btnsubmit = document.getElementById("btnsubmit"); if(vframe.src.indexOf("SHOWNLEAVE") > -1){ if(imgSubmit != null){ imgSubmit.style.display = "block"; } if(btnsubmit != null){ btnsubmit.style.display = "block"; } if(lp != null){ lp.style.display = "none"; } if(calbtn != null){ calbtn.style.display = "block"; } } } /* manage leave used option start from here */ function getLeaveLimit(){ var x = document.getElementById("viewframe"); var y = x.contentWindow.document; var allleave = y.getElementById("_allleave"); if(allleave != null && allleave != undefined){ if(allleave.value != ""){ var al = document.getElementById("__allleave_limit"); al.value = allleave.value ; } }else{ console.log("!! iframe still loading !!"); } } function showLeaveOnPage(){ resetUserDefinedLeave(); var idx = isAnnualLeaveSelect(); var psoveravi = isPastOverAvailable(); var tyabsent = document.getElementById("__wf__type_absent"); var trShowleave = document.getElementById("trAllLeave"); var prv_y = document.getElementById("spnPrevYearId"); var cur_y = document.getElementById("spnCurYearId"); var next_y = document.getElementById("spnNextYearId"); var prv_y_h = document.getElementById("prev_year"); var cur_y_h = document.getElementById("cur_year"); var next_y_h = document.getElementById("next_year"); /* span */ prv_y.innerHTML = ""; cur_y.innerHTML = ""; next_y.innerHTML = ""; if(psoveravi){ idx = tyabsent.selectedIndex ; } var arv = getLimitLeaveObj(); if((idx != null && idx != 99) || psoveravi){ prv_y.appendChild( document.createTextNode(arv[idx].lastyearid) ); cur_y.appendChild( document.createTextNode(arv[idx].curyearid) ); next_y.appendChild( document.createTextNode(arv[idx].nextyearid) ); /* hidden */ prv_y_h.value = arv[idx].lastyearid ; cur_y_h.value = arv[idx].curyearid ; next_y_h.value = arv[idx].nextyearid ; trShowleave.style.display = ""; }else{ if(idx == 99 || !psoveravi){ if(arv.length>0){ prv_y.appendChild( document.createTextNode(arv[0].lastyearid) ); cur_y.appendChild( document.createTextNode(arv[0].curyearid) ); next_y.appendChild( document.createTextNode(arv[0].nextyearid) ); /* hidden */ prv_y_h.value = arv[0].lastyearid ; cur_y_h.value = arv[0].curyearid ; next_y_h.value = arv[0].nextyearid ; } } trShowleave.style.display = "none"; } } function isAnnualLeaveSelect(){ var tyabsent = document.getElementById("__wf__type_absent"); for(var i=0; i < arr.length; i++){ if(arr[i].eventgrp == tyabsent.value && (arr[i].daytype == "7" || tyabsent.value == "COT" || tyabsent.value == "COF" || tyabsent.value == "PH")) { return i ; } } return 99; } /* set value to blank when leave is not allow to used last year balance */ function resetUserDefinedLeave(){ //if(!isPastOverAvailable()){ var prv_y_d = document.getElementById("prev_day"); var cur_y_d = document.getElementById("cur_day"); var next_y_d = document.getElementById("next_day"); prv_y_d.value = ""; cur_y_d.value = ""; next_y_d.value = ""; var prv_y_h = document.getElementById("prev_hour"); var cur_y_h = document.getElementById("cur_hour"); var next_y_h = document.getElementById("next_hour"); prv_y_h.value = ""; cur_y_h.value = ""; next_y_h.value = ""; //} } function isPastOverAvailable(){ var tyabsent = document.getElementById("__wf__type_absent"); if(tyabsent != 'undefined' && tyabsent.options.length > 0){ if(tyabsent.options[tyabsent.selectedIndex].getAttribute('ps_over_avi') == '1'){ return true ; }else{ return false ; } }else{ return false ; } } function setUserDefineOption(obj){ var spnPrevDay = document.getElementById("spnPrevYear1"); var spnPrevHour = document.getElementById("spnPrevYear2"); var spnPrevHalf = document.getElementById("spnPrevYear3"); var prv_day = document.getElementById("prev_day"); var prv_hour = document.getElementById("prev_hour"); var prv_half = document.getElementById("prv_half"); var spnCurDay = document.getElementById("spnCurYear1"); var spnCurHour = document.getElementById("spnCurYear2"); var spnCurHalf = document.getElementById("spnCurYear3"); var cur_day = document.getElementById("cur_day"); var cur_hour = document.getElementById("cur_hour"); var spnNextDay = document.getElementById("spnNextYear1"); var spnNextHour = document.getElementById("spnNextYear2"); var spnNextHalf = document.getElementById("spnNextYear3"); var next_day = document.getElementById("next_day"); var next_hour = document.getElementById("next_hour"); var obj1 = document.getElementsByName("__wf__format_leave"); setZeroHourValue(prv_hour); setZeroHourValue(cur_hour); setZeroHourValue(next_hour); if(isPastOverAvailable()){ spnPrevDay.style.display = ""; spnCurDay.style.display = ""; spnNextDay.style.display = ""; spnPrevHalf.style.display = "none"; spnCurHalf.style.display = "none"; spnNextHalf.style.display = "none"; spnPrevHour.style.display = ""; spnCurHour.style.display = ""; spnNextHour.style.display = ""; }else{ spnPrevDay.style.display = "none"; spnCurDay.style.display = "none"; spnNextDay.style.display = "none"; spnPrevHalf.style.display = "none"; spnCurHalf.style.display = "none"; spnNextHalf.style.display = "none"; spnPrevHour.style.display = "none"; spnCurHour.style.display = "none"; spnNextHour.style.display = "none"; } } function showUserDefineOption(){ var obj = document.getElementById("leave_format0"); setUserDefineOption(obj); } function initLeaveUsed(){ var lvused = document.getElementById("__wf__leaveused"); //if(lvused == ""){ var prv_year = document.getElementById("prev_year"); var prv_day = document.getElementById("prev_day"); var prv_hour = document.getElementById("prev_hour"); var cur_year = document.getElementById("cur_year"); var cur_day = document.getElementById("cur_day"); var cur_hour = document.getElementById("cur_hour"); var next_year = document.getElementById("next_year"); var next_day = document.getElementById("next_day"); var next_hour = document.getElementById("next_hour"); lvused.value = (prv_year.value + ":" + prv_day.value + ":" + prv_hour.value) + "," + (cur_year.value + ":" + cur_day.value + ":" + cur_hour.value) + "," + (next_year.value + ":" + next_day.value + ":" + next_hour.value) ; //} } function validateUserDefinedLeave(){ var comp = true ; var sum = 0; var f_day = document.getElementById("leave_format0") ; var f_fhalf = document.getElementById("leave_format2") ; var f_shalf = document.getElementById("leave_format3") ; var f_hour = document.getElementById("leave_format1") ; var prev_day = document.getElementById("prev_day"); var prev_hour = document.getElementById("prev_hour"); var prev_half = document.getElementsByName("prev_half"); var chk = f_day.checked ; if(chk == true){ var f_day = document.getElementById("leave_day"); var cur_day = document.getElementById("cur_day"); var next_day = document.getElementById("next_day"); if(prev_day.value != ""){ sum += parseInt(prev_day.value); } if(cur_day.value != ""){ sum += parseInt(cur_day.value); } if(next_day.value != ""){ sum += parseInt(next_day.value); } if(sum > 0){ if(parseInt(f_day.value) != sum){ comp = false ; } } } if(!comp){ alert(getErrMsg(msgError, 7)); /* if(document.cscform.__language.value != "eng"){ alert("!! ระบุจำนวนวันลาไม่ถูกต้อง !!"); }else{ alert("!! Incorrect amount leave !!"); }*/ if(chk == true){ if(prev_day.value != ""){ prev_day.select(); }else if(cur_day.value != ""){ cur_day.select(); }else{ next_day.select(); } }else{ prev_hour.select(); } return false ; }else{ return true ; } } function isUsingLastYearLimit(){ var prev_day = document.getElementById("prev_day"); if(!prev_day.value == ""){ return true ; }else{ return false ; } } function passLastYearLimitUsed(){ var dateid = document.getElementsByName("__wf__start_date"); var prv_late = document.getElementById("__wf__type_absent"); var lastlong = prv_late.options[prv_late.selectedIndex].getAttribute('prev_last'); var period = getBudgetPeriod(); var d_prv_late = getDateObject(lastlong + "-" + period[0].getFullYear().toString(), "0.00"); var d_dateid = getDateObject(dateid[0].value, "0.00"); if(d_prv_late.getTime() >= period[0].getTime() && d_prv_late.getTime() <= period[1].getTime()){ /* on period */ }else if(d_prv_late.getTime < period[0].getTime()) { d_prv_late.setFullYear(d_prv_late.getFullYear() + 1); } if(d_prv_late.getTime() < d_dateid.getTime()){ /* if(document.cscform.__language.value != "eng"){ alert("!! เลยช่วงเวลาที่สามารถใช้้สิทธิปีก่อน !!"); }else{ alert("!! Last year balance not available due to exceed allowance period !!"); }*/ alert(getErrMsg(msgError, 9)); return true ; }else{ return false ; } } function setUserDefineHalfHourLeave(){ var f_hour = document.getElementById("leave_format1") ; var f_fhalf = document.getElementById("leave_format2") ; var f_shalf = document.getElementById("leave_format3") ; var f_hr = document.getElementById("__wf__leave_hours"); var lhour = document.getElementById("half_day_hour"); var prev_hour = document.getElementById("prev_hour"); var cur_hour = document.getElementById("cur_hour"); var next_hour = document.getElementById("next_hour"); var prev_half = document.getElementsByName("prev_half"); var hr = f_hr.value ; if(f_hour.checked == true){ if(isZeroValueTextBox(f_hr)){ f_hr.value = "1.00"; } if(prev_half[0].checked == true){ prev_hour.value = hr ; setZeroHourValue(cur_hour); setZeroHourValue(next_hour); }else if(prev_half[1].checked){ setZeroHourValue(prev_hour); cur_hour.value = hr; setZeroHourValue(next_hour); }else{ setZeroHourValue(prev_hour); setZeroHourValue(cur_hour); next_hour.value = hr; } }else if(f_fhalf.checked == true || f_shalf.checked == true){ hr = lhour.value ; if(hr == "") hr = "4.00"; if(prev_half[0].checked == true){ prev_hour.value = hr ; setZeroHourValue(cur_hour); setZeroHourValue(next_hour); }else if(prev_half[1].checked){ setZeroHourValue(prev_hour); cur_hour.value = hr; setZeroHourValue(next_hour); }else{ setZeroHourValue(prev_hour); setZeroHourValue(cur_hour); next_hour.value = hr; } } } function setZeroHourValue(obj){ if(isObjectExist(obj)){ obj.value = "0.00"; } } function isObjectExist(obj){ if(obj != "undefined"){ return true ; }else{ return false ; } } function hideEmptyObject(){ /*previous year*/ var prevcaption = document.getElementById("spnPreYearCaption"); var nday = document.getElementById("prev_day"); var nhour = document.getElementById("prev_hour"); if(isObjectExist(nday) && isZeroValueTextBox(nday) && isObjectExist(nhour) && isZeroValueTextBox(nhour)){ if(isObjectExist(prevcaption)){ showObject(prevcaption, false); }else{ showObject(prevcaption, true); } } /*cur year*/ var curcaption = document.getElementById("spnCurYearCaption"); var cnday = document.getElementById("cur_day"); var cnhour = document.getElementById("cur_hour"); if(isObjectExist(cnday) && isZeroValueTextBox(cnday) && isObjectExist(cnhour) && isZeroValueTextBox(cnhour)){ if(isObjectExist(curcaption)){ showObject(curcaption, false); }else{ showObject(curcaption, true); } } /*next year*/ var nextcaption = document.getElementById("spnNextYearCaption"); var nnday = document.getElementById("next_day"); var nnhour = document.getElementById("next_hour"); if(isObjectExist(nnday) && isZeroValueTextBox(nnday) && isObjectExist(nnhour) && isZeroValueTextBox(nnhour)){ if(isObjectExist(nextcaption)){ showObject(nextcaption, false); }else{ showObject(nextcaption, true); } } } function getBudgetPeriod(){ var period = new Array(); var dateid = document.getElementsByName("__wf__start_date"); var c_st = document.getElementById("budget_start"); var c_en = document.getElementById("budget_end"); var d_c_st = getDateFromObject(c_st.value, "0.00"); var d_c_en = getDateFromObject(c_en.value, "0.00"); var d_dateid = getDateFromObject(dateid[0].value, "0.00"); /* set year follow by leave date */ d_c_st.setFullYear(d_dateid.getFullYear()); d_c_en.setFullYear(d_dateid.getFullYear()); if(d_c_en.getTime() <= d_c_st.getTime()){ d_c_st.setFullYear(d_c_st.getFullYear() - 1); } if(d_dateid.getTime() >= d_c_st.getTime() && d_dateid.getTime() <= d_c_en.getTime()){ /* do notthing */ }else if(d_dateid.getTime() < d_c_st.getTime()){ d_c_st.setFullYear(d_c_st.getFullYear() - 1); d_c_en.setFullYear(d_c_en.getFullYear() - 1); }else{ d_c_st.setFullYear(d_c_st.getFullYear() + 1); d_c_en.setFullYear(d_c_en.getFullYear() + 1); } period[0] = d_c_st ; period[1] = d_c_en ; return period ; } function setValueOnViewMode(){ if(isUserDefineLeaveUsed()){ var prv_year = document.getElementById("prev_year"); var prv_day = document.getElementById("prev_day"); var prv_hour = document.getElementById("prev_hour"); var cur_year = document.getElementById("cur_year"); var cur_day = document.getElementById("cur_day"); var cur_hour = document.getElementById("cur_hour"); var next_year = document.getElementById("next_year"); var next_day = document.getElementById("next_day"); var next_hour = document.getElementById("next_hour"); prv_year.value = getLeaveUsedByYear(0,0); prv_day.value = getLeaveUsedByYear(0,1); prv_hour.value = getLeaveUsedByYear(0,2); cur_year.value = getLeaveUsedByYear(1,0); cur_day.value = getLeaveUsedByYear(1,1); cur_hour.value = getLeaveUsedByYear(1,2); next_year.value = getLeaveUsedByYear(2,0); next_day.value = getLeaveUsedByYear(2,1); next_hour.value = getLeaveUsedByYear(2,2); } } function isUserDefineLeaveUsed(){ var lvused = document.getElementById("__wf__leaveused"); var tmp = lvused.value.split(","); if(!lvused.value == ""){ for(i=0; i < tmp.length; i++){ var tmp1 = tmp[i].split(":"); if(tmp1.length == 3){ if(!isNaN(tmp1[1]) || !isNaN(tmp1[2])){ if(parseInt(tmp1[1]) > 0) return true ; if(parseInt(tmp1[2]) > 0) return true ; } }else if(tmp1.length == 2){ if(IsNumeric(tmp1[1]) == true){ if(parseInt(tmp1[1]) > 0) return true ; } } } } return false ; } function getLeaveUsedByYear(idx, item){ var lvusedlist = document.getElementById("__wf__leaveused"); if(lvusedlist != null){ var ls = lvusedlist.value ; if(ls.length > 0){ var tmp = ls.split(","); if(tmp.length >= idx){ var tmp1 = tmp[idx].split(":"); if(tmp1.length >= item){ if(tmp1[item] == 0){ return ""; }else{ return tmp1[item] ; } } } } } return ""; } /* function setRadioLeaveUsedYearCheckbox(leaveused){ let yearleaveused = leaveused.split(","); yearleaveused.forEach((i, index) => { let data = i.split("::"); if(data[1] !== "0.00"){ let eleid = "sel_half"+index; document.getElementById(eleid).checked = true; } }); } */ // แก้ไขเพราะ forEach ไม่สามารถ run บน IE ได้ function setRadioLeaveUsedYearCheckbox(leaveused){ var yearleaveused = leaveused.split(","); for(var i=0 ; i<yearleaveused.length ; i++){ var data = yearleaveused[i].split("::"); if(data[1] !== "0.00"){ var eleid = "sel_half"+i; document.getElementById(eleid).checked = true; } } } function isZeroValueTextBox(obj){ if(obj.value == "" || Number(obj.value) == 0){ if(obj.value == "") obj.value = "0"; return true ; }else{ return false ; } } function clearUserDefineValue(){ var nday = document.getElementById("prev_day"); var nhour = document.getElementById("prev_hour"); nday.value = "0"; nhour.value = "0.00"; var cnday = document.getElementById("cur_day"); var cnhour = document.getElementById("cur_hour"); cnday.value = "0"; cnhour.value = "0.00"; var nnday = document.getElementById("next_day"); var nnhour = document.getElementById("next_hour"); nnday.value = "0"; nnhour.value = "0.00"; } function showObject(obj, status){ if(isObjectExist(obj)){ if(status){ obj.style.display = ""; }else{ obj.style.display = "none"; } } } function isBranchIDNull(){ var empid = "<%=cur_empid%>"; var empbranchid = "<%=empbranchid%>"; var branchiddesc = "<%=empbranchiddesc%>"; if(empbranchid === ""){ var msg = getLang() === "THA" ? "คุณไม่สามารถลาได้ เนื่องจาก\nไม่มีข้อมูล '" + branchiddesc + "'\n*** กรุณาตรวจสอบที่เจ้าหน้าที่ HR staff เรื่องข้อมูลพนักงาน ***" : "You can not take leave because\nYour " + branchiddesc + " is empty.\n*** Please check with HR staff for employee information ***"; alert(msg); return true; } return false; } //--> </SCRIPT> <script type="text/javascript" src="../JS/jquery-1.11.1.min.js" ></script> <script type="text/javascript"> $(function(){ $(".column-label").css("width","25%"); $("#imgSubmit").click(function(){ $("#__wf__absent_tdesc").val($("#__wf__type_absent option:selected").attr("tdesc")); $("#__wf__absent_edesc").val($("#__wf__type_absent option:selected").attr("edesc")); }); $('select[name="__wf__type_absent"]').on('change',function(){ setShowFuneralDesc(); }); setShowFuneralDesc(); function setShowFuneralDesc(){ var type_absent = $('select[name="__wf__type_absent"]').val(); if(type_absent === "LFR"){ $('.funeral_desc').show(); $('.cause_absent_desc').hide(); } else { $('.funeral_desc').hide(); $('.cause_absent_desc').show(); } } }); function setFuneralDesc(){ var type_absent = $('select[name="__wf__type_absent"]').val(); if(type_absent === "LFR"){ var funeral_name = $('input[name="__wf__funeral_name"]').val(); var funeral_relation = $('input[name="__wf__funeral_relation"]').val(); var result = "ลาเพื่อจัดงานศพ " + funeral_name + " มีความสัมพันธ์เป็น " + funeral_relation; $('input[name="__wf__cause_absent"]').val(result); } } function chkFuneralInput(){ var chk = true; var type_absent = $('select[name="__wf__type_absent"]').val(); if(type_absent === "LFR"){ var $funeral_name = $('input[name="__wf__funeral_name"]'); var $funeral_relation = $('input[name="__wf__funeral_relation"]'); if($funeral_name.val() === "") { chk = false; alert("กรุณากรอกชื่อผู้เสียชีวิต"); $funeral_name.focus(); } else if($funeral_relation.val() === "") { chk = false; alert("กรุณากรอกความสัมพันธ์กับผู้เสียชีวิต"); $funeral_relation.focus(); } } return chk; } </script> </HEAD> <BODY> <jsp:include page="../MYNOTE_HEAD.jsp" flush="true"/> <!--<div align="center" name="wf_detail">--> <DIV ALIGN="center"> <div id="loading_leave" class="popup" align="center"> <IMG SRC="../IMAGES/loading.gif"> </div> <!-- ImageReady Slices (02.psd) --> <FORM NAME="cscform" METHOD="post" ACTION="TAU_CSCWF_001.jsp"> <INPUT TYPE="hidden" NAME="__screen" VALUE="TAU_CSCWF_001"> <INPUT TYPE="hidden" NAME="__cmd" VALUE=""> <INPUT TYPE="hidden" NAME="__help" VALUE=""> <INPUT TYPE="hidden" NAME="__fixCon" VALUE=""> <INPUT TYPE="hidden" NAME="__notNull" VALUE="<%=screenSingle.getRequire()%>"> <INPUT TYPE="hidden" NAME="__language" VALUE="<%=screenSingle.getUProfile().get("lang")%>"> <INPUT TYPE="hidden" NAME="__companyid" VALUE="<%=screenSingle.getUProfile().get("companyid")%>"> <INPUT TYPE="hidden" NAME="__calendar" VALUE=""> <SCRIPT LANGUAGE="JavaScript">getInputFormatDate();</SCRIPT> <INPUT TYPE="hidden" NAME="wf_id" VALUE="8001"> <INPUT TYPE="hidden" NAME="__wf_id" VALUE="8001"> <INPUT TYPE="hidden" NAME="wf_ver" VALUE="<%=chkNull.chkNullString(request.getParameter("wf_ver"),"1")%>"> <INPUT TYPE="hidden" NAME="__wf_ver" VALUE="<%=chkNull.chkNullString(request.getParameter("__wf_ver"),"1")%>"> <INPUT TYPE="hidden" NAME="wf_seq_no" VALUE="<%=chkNull.chkNullString(request.getParameter("wf_seq_no"),"0")%>"> <INPUT TYPE="hidden" NAME="step_id" VALUE="<%=chkNull.chkNullString(request.getParameter("step_id"),"0")%>"> <INPUT TYPE="hidden" NAME="step_seq_no" VALUE="<%=chkNull.chkNullString(request.getParameter("step_seq_no"),"0")%>"> <INPUT TYPE="hidden" NAME="wf_return_actor" VALUE="IINIT"> <!--INPUT TYPE="hidden" NAME="__oldDocumentID" VALUE="<%=screenSingle.getDataLabel("DOC_NO")%>"> <INPUT TYPE="hidden" NAME="__oldWF" VALUE="<%=screenSingle.getDataLabel("WF_STATUS")%>"--> <input type="hidden" name="__oldDocumentID" value="<%=(!screenSingle.getDataLabel("DOC_NO").equals("0")?screenSingle.getDataLabel("DOC_NO"):chkNull.chkNullString(request.getParameter("__oldDocumentID"),"0"))%>"> <input type="hidden" name="__oldWF" value="<%=(!screenSingle.getDataLabel("DOC_NO").equals("0")?screenSingle.getDataLabel("WF_STATUS"):chkNull.chkNullString(request.getParameter("__oldWF"),"0"))%>"> <INPUT TYPE="hidden" NAME="__wf" VALUE="<%=wf%>"> <INPUT TYPE="hidden" NAME="__wfcmd" VALUE="false"> <INPUT TYPE="hidden" NAME="used" VALUE=""> <INPUT TYPE="hidden" NAME="__wf__limitleave" VALUE=""> <INPUT TYPE="hidden" NAME="remark" VALUE="<%=remark%>"> <INPUT TYPE="hidden" NAME="type_absent" VALUE=""> <INPUT TYPE="hidden" NAME="__employeeid" VALUE="<%=TEMPLATE_WORKFLOW.getUProfile().get("employeeid") %>"> <INPUT TYPE="hidden" NAME="__attach_value" VALUE="0"> <INPUT TYPE="hidden" NAME="__guarantee_date" VALUE="0"> <INPUT TYPE="hidden" NAME="__type_holiday" VALUE=""> <INPUT TYPE="hidden" NAME="__absentid" VALUE="0"> <INPUT TYPE="hidden" NAME="__wf__chkdaterequest" VALUE=""> <INPUT TYPE="hidden" NAME="__wf__emp_every" VALUE=""> <INPUT TYPE="hidden" NAME="__chkdaterequest" VALUE=""> <INPUT TYPE="hidden" NAME="__leave_desc" VALUE=""> <INPUT TYPE="hidden" NAME="wf_default_actor" VALUE="true"> <INPUT TYPE="hidden" NAME="__flag" VALUE="<%=chkNull.chkNullString(request.getParameter("__flag"), "0")%>"> <INPUT TYPE="hidden" NAME="__field_list" VALUE="__wf__employeeid,__wf__type_absent,__wf__start_date,__wf__start_time,__wf__start_date,__wf__end_time,__wf__leave_day,__wf__format_leave"> <INPUT TYPE="hidden" NAME="__temp_value" VALUE="<%=chkNull.chkNullString(request.getParameter("__temp_value"))%>"> <INPUT TYPE="hidden" NAME="draft_cmd" VALUE=""> <INPUT TYPE="hidden" NAME="draft_no" VALUE="<%=chkNull.chkNullString(request.getParameter("draft_no"),"0")%>"> <INPUT TYPE="hidden" NAME="admin_cmd" VALUE=""> <INPUT TYPE="hidden" NAME="__checkPage" VALUE="true"> <INPUT TYPE="hidden" NAME="wf_default_actor" VALUE="true"> <INPUT TYPE="hidden" NAME="__wf__absent_tdesc" ID="__wf__absent_tdesc" VALUE=""> <INPUT TYPE="hidden" NAME="__wf__absent_edesc" ID="__wf__absent_edesc" VALUE=""> <INPUT TYPE="hidden" NAME="tha_subject" ID="tha_subject" VALUE=""> <INPUT TYPE="hidden" NAME="eng_subject" ID="eng_subject" VALUE=""> <!-- specify using year balance --> <input type="hidden" id="budget_start" name="budget_start" value="<%=getStartBudgetYear(screenSingle.getUProfile())%>"> <input type="hidden" id="budget_end" name="budget_end" value="<%=getEndBudgetYear(screenSingle.getUProfile())%>"> <input type="hidden" id="__allleave_limit" name="__allleave_limit" value=""> <input type="hidden" id="half_day_hour" name="half_day_hour" value=""> <!-- Redirect Page --> <INPUT TYPE="hidden" NAME="isAdminEdit" VALUE="<%=chkNull.chkNullString(request.getParameter("isAdminEdit"))%>"> <INPUT TYPE="hidden" NAME="isAdminCancel" VALUE="<%=chkNull.chkNullString(request.getParameter("isAdminCancel"))%>"> <INPUT TYPE="hidden" NAME="isAdminClean" VALUE="<%=chkNull.chkNullString(request.getParameter("isAdminClean"))%>"> <INPUT TYPE="hidden" NAME="isAdminDelete" VALUE="<%=chkNull.chkNullString(request.getParameter("isAdminDelete"))%>"> <INPUT TYPE="hidden" id="__leaveused" NAME="__leaveused" VALUE="<%=chkNull.chkNullString(request.getParameter("__leaveused"))%>"> <%=screenSingle.InitialVariable()%> <DIV ID="toolTipLayer" STYLE="position:absolute; visibility: hidden"></DIV> <SCRIPT LANGUAGE="JavaScript">initToolTips();</SCRIPT> <TABLE WIDTH="950" BORDER="0" ALIGN="center" CELLPADDING=0 CELLSPACING=0 ID="wrapper"> <DIV ALIGN="center"> <!-- Begin Step1 --> <%=md.getStepDocument("8001","1")%> <%=md.getHeadDocument()%> <br> <%=md.getHelpDocument("WF8001")%> <br> <%=md.getSendToDocument("WF8001")%> <br> <!-- Begin Code --> <TABLE WIDTH="95%" BORDER="0" ALIGN="center" CELLPADDING="0" CELLSPACING="0"> <TR> <TD WIDTH="5" HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/C-T-L.gif" WIDTH="5" HEIGHT="5"></TD> <TD HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/T.gif" WIDTH="100%" HEIGHT="5"></TD> <TD WIDTH="5" HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/C-T-R.gif" WIDTH="5" HEIGHT="5"></TD> </TR> <TR> <TD WIDTH="5" BACKGROUND="../IMAGES/MYNOTE/L2.gif"></TD> <TD VALIGN="middle"> <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="1"> <!-- Begin User Code --> <tr> <td colspan="2" class="column-title" ><span swlang code="SW001141">Employee Details</span></td> </tr> <tr> <INPUT TYPE="hidden" NAME="__subordinate" VALUE="<%=screenSingle.getUProfile().get("subordinateall")%>"> <INPUT TYPE="hidden" NAME="__wf__request_date" VALUE="<%=chkNull.chkNullString(request.getParameter("__wf__request_date"))%>"> <INPUT TYPE="hidden" NAME="__wf__request_time" VALUE="<%=chkNull.chkNullString(request.getParameter("__wf__request_time"))%>"> <INPUT TYPE="hidden" NAME="chk_calculate" VALUE=""> <td class="column-label"><span swlang code="SW011939">Employee Code</span></td> <td class="column-input"> <input name="__wf__employeeid" type="text" size="15" value="<%=cur_empid%>" <%if(md.isStep1){%>onBlur="javascript:searchEmp()"<%}%> CLASS="" READONLY> <%//if(md.isStep1){%> <!-- <A HREF="JavaScript:goHelp('MEMPLOYEEHELP2','__wf__employeeid');" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('emp_image','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"> <IMG SRC="../IMAGES/BUTTON/MAIN/SEARCH20.gif" ALT="SEARCH" NAME="emp_image" WIDTH="20" HEIGHT="20" BORDER="0" ALIGN="absmiddle"></A> --> <%//}%> <input name="MEMPLOYEE@FULLNAME" type="text" size="40" value="<%= chkNull.chkNullString(request.getParameter("MEMPLOYEE@FULLNAME"),"") %>" readonly class=""></td> </tr> <tr> <td width="25%" class="column-label"><span swlang code="SW000057">Position</span></td> <td class="column-input"><input type="text" name="__position" value="<%= chkNull.chkNullString(request.getParameter("__position"),"") %>" size="52" readonly class=""></td> </tr> <% DbInquiry memployee = new InitialInquiry(screenSingle.getUProfile()).getDbInquiry("memployee"); memployee.setColumn("employeeid,companyid,bu1,bu2,bu3,bu4,bu5"); memployee.refresh(); DbRecord mbu = memployee.getCurrentDbRecord(); %> <tr> <td class="column-label"><%=mbu.getField("bu1").getDescription()%></td> <td class="column-input"><input type="text" name="__bu1" value="<%= chkNull.chkNullString(request.getParameter("__bu1"),"") %>" size="52" readonly class=""></td> </tr> <tr> <td class="column-label"><%=mbu.getField("bu2").getDescription()%></td> <td class="column-input"><input type="text" name="__bu2" value="<%= chkNull.chkNullString(request.getParameter("__bu2"),"") %>" size="52" readonly class=""></td> </tr> <tr> <td class="column-label"><%=mbu.getField("bu3").getDescription()%></td> <td class="column-input"><input type="text" name="__bu3" value="<%= chkNull.chkNullString(request.getParameter("__bu3"),"") %>" size="52" readonly class=""></td> </tr> <tr> <td class="column-label"><%=mbu.getField("bu4").getDescription()%></td> <td class="column-input"><input type="text" name="__bu4" value="<%= chkNull.chkNullString(request.getParameter("__bu4"),"") %>" size="52" readonly class=""></td> </tr> <tr> <td class="column-label"><%=mbu.getField("bu5").getDescription()%></td> <td class="column-input"><input type="text" name="__bu5" value="<%= chkNull.chkNullString(request.getParameter("__bu5"),"") %>" size="52" readonly class=""></td> </tr> <!--tr> <td class="column-label"><script language="javascript">swapLang('Start Date')</script></td> <td class="column-input"><input type="text" name="__startdate" value="<%= chkNull.chkNullString(request.getParameter("__startdate"),"") %>" size="52" readonly class="disabled"></td> </tr> <tr> <td class="column-label"><script language="javascript">swapLang('Ext')</script></td> <td class="column-input"> <input type="text" name="__tel_ext" value="<%= chkNull.chkNullString(request.getParameter("__tel_ext"),"") %>" size="5" readonly class="disabled"></td> </tr--> <input type="hidden" name="__startdate" value="<%= chkNull.chkNullString(request.getParameter("__startdate"),"") %>"> <input type="hidden" name="__tel_ext" value="<%= chkNull.chkNullString(request.getParameter("__tel_ext"),"") %>"> <tr> <td colspan="2" class="column-title" ><span swlang code="SW008825">Leave Details</span></td> </tr> <tr> <td class="column-label"><span id="__type_absent"><span swlang code="SW000300">Leave Type</span></td> <td class="column-input"><span id="__eventgrp"> <select name="__wf__type_absent" id="__wf__type_absent" onChange="setLeaveTypeActivation();showLeaveOnPage();setLimitLeave();chkLeaveTime(this);chkGuarantee(this);setLeaveDescritption_withoutDelay();setReasonLeave(this);"> <% String ev = ""; String filter = "display = '1' and daytype!='1' and daytype !='5' and daytype !='6' and daytype !='9' and (eventgrpid<>'J') and BRANCHID = (select BRANCHID from MEMPLOYEE where EMPLOYEEID = '" + cur_empid + "')"; String lang = "edesc"; String remark_mevnt = ""; if(screenSingle.getUProfile().get("lang").equals("tha")){ lang = "tdesc"; } DbInquiry mevent = new InitialInquiry(screenSingle.getUProfile()).getDbInquiry(); mevent.setSchemaName(screenSingle.getUProfile().getSchemaName()); mevent.initMyTable("meventgrp1", filter, ""); mevent.setColumn("eventgrpid,daytype,companyid,tdesc,edesc,daytype,privilege_event,guarantee,guarantee_date,day_leave_stat,fhalf_leave_stat,shalf_leave_stat,hour_leave_stat,remarks,ps_over_avi"); mevent.referLangOff(); mevent.refresh(); while(mevent.next()){ if(chkNull.chkNullString(request.getParameter("__wf__type_absent"),"").equals(mevent.getString("eventgrpid"))){ ev = "selected"; }else{ ev = ""; } //if(!mevent.getString("privilege_event").equals("") && md.isStep1){ /* ต้องเช็คการใช้สิทธิการลาที่เกี่ยวข้อง */ //if(isEventActive(cur_empid, mevent.getString("privilege_event"), screenSingle.getUProfile())){ //System.out.print("Event : " + mevent.getString("eventgrpid") + " is still active "); //}else{ %> <!--<option <%//=ev%> guarantee="<%//=mevent.getString("guarantee")%>" guarantee_date="<%//=mevent.getString("guarantee_date")%>" value="<%//=mevent.getString("eventgrpid")%>" tdesc="<%//=mevent.getString("tdesc")%>" edesc="<%//=mevent.getString("edesc")%>" day_leave_stat="<%//=mevent.getString("day_leave_stat")%>" fhalf_leave_stat="<%//=mevent.getString("fhalf_leave_stat")%>" shalf_leave_stat="<%//=mevent.getString("shalf_leave_stat")%>" hour_leave_stat="<%//=mevent.getString("hour_leave_stat")%>" daytype="<%//=mevent.getString("daytype")%>"><%//=mevent.getString(lang)%></option>--> <% //} //}else{ %> <option <%=ev%> guarantee="<%=mevent.getString("guarantee")%>" guarantee_date="<%=mevent.getString("guarantee_date")%>" value="<%=mevent.getString("eventgrpid")%>" <%=ev%> tdesc="<%=mevent.getString("tdesc")%>" edesc="<%=mevent.getString("edesc")%>" day_leave_stat="<%=mevent.getString("day_leave_stat")%>" fhalf_leave_stat="<%=mevent.getString("fhalf_leave_stat")%>" shalf_leave_stat="<%=mevent.getString("shalf_leave_stat")%>" hour_leave_stat="<%=mevent.getString("hour_leave_stat")%>" daytype="<%=mevent.getString("daytype")%>" ps_over_avi="<%=chkNull.chkNullString(mevent.getString("ps_over_avi"),"0")%>"><%=mevent.getString(lang)%></option> <% //} remark_mevnt = mevent.getString("remarks"); } %> </select> <INPUT TYPE="hidden" NAME="remark_mevnt" ID="remark_mevnt" VALUE="<%=remark_mevnt%>"> </span><div id='leaveDescription' style='color:red'></div><input name="__wf__emp_request" type="hidden" value="<%=screenSingle.getUProfile().get("actor")%>"><INPUT NAME="__wf__absentid" VALUE="0" TYPE="hidden"></td></tr> <tr> <td rowspan="3" class="column-label"><span swlang code="SW008688">Leave Format</span></td> <td class="column-input"><%String fl = chkNull.chkNullString(request.getParameter("__wf__format_leave"),"0");%> <div id="menu1"> <input type="radio" ID="leave_format0" name="__wf__format_leave" value="0" onClick="LeaveTime();setUserDefineOption(this);" <%if(fl.equals("0"))out.print("checked");%>> <span swlang code="SW011666">Full Day</span> <!-- <script language="javascript">swapLang('Total Days')</script> --> <input type="text" ID="leave_day" name="__wf__leave_day" size="3" maxlength="3" value="<%=chkNull.chkNullString(request.getParameter("__wf__leave_day"), "1")%>" onKeyPress="chkInteger()" onBlur="overZero(this)" dir="rtl"> <span swlang code="SW011931">Days</span> </div></td> </tr> <tr> <td class="column-input"><div id="menu3"> <input type="radio" id="leave_format2" name="__wf__format_leave" value="2" onClick="LeaveTime();setUserDefineOption(this);" <%if(fl.equals("2"))out.print("checked");%>> <span swlang code="SW011613">First Half</span> <input type="radio" id="leave_format3" name="__wf__format_leave" value="3" onClick="LeaveTime();setUserDefineOption(this);" <%if(fl.equals("3"))out.print("checked");%>> <span swlang code="SW011614">Second Half</span> </div></td> </tr> <tr> <td class="column-input"><div id="menu2"> <input type="radio" id="leave_format1" name="__wf__format_leave" value="1" onClick="LeaveTime();setUserDefineOption(this);" <%if(fl.equals("1"))out.print("checked");%> > <span swlang code="SW012494">Partial</span> <INPUT TYPE="text" id="__wf__leave_hours" NAME="__wf__leave_hours" SIZE="4" MAXLENGTH="4" onFocus="this.select();" onBlur="chkTime(this);" onKeyUp="sysIsEdit();" onKeyPress="chkInteger(event);" class="numeric" value="<%=chkNull.chkNullString(request.getParameter("__wf__leave_hours"), "0.00")%>" dir="rtl" disabled> <!-- <select name="__wf__list_hours" id="__wf__list_hours" onChange="setHidHours();" disabled> <% for(int i = 0;i<=8;i++){ String sel = ""; if(chkNull.chkNullString(request.getParameter("__wf__list_hours")).equals(Integer.toString(i))){ sel = "selected"; } %> <option value="<%=i%>" <%=sel%>><%=i%></option> <% } %> </select> <script language="javascript">swapLang('Hours')</script> <select name="__wf__list_min" id="__wf__list_min" onChange="setHidHours();" disabled> <% String sel_min = ""; if(chkNull.chkNullString(request.getParameter("__wf__list_min")).equals("00")){ sel_min = "selected"; } %> <option value="00" <% if(chkNull.chkNullString(request.getParameter("__wf__list_min")).equals("00")){ out.print("selected"); } %>>00</option> <option value="30" <% if(chkNull.chkNullString(request.getParameter("__wf__list_min")).equals("30")){ out.print("selected"); } %>>30</option> </select> <script language="javascript">swapLang('Minute')</script> --> </div></td> </tr> <!-- specify leave used --> <tr id="trAllLeave" style="display:none"> <td align="right" class="column-label"> </td> <td class="column-input"> <div> </div> <div align="left"> <input type="hidden" id="__wf__leaveused" name="__wf__leaveused" value="<%=val_leaveused%>"> <strong><%=screenSingle.getUProfile().get("lang").equalsIgnoreCase("tha")?"ปีที่ใช้สิทธิการลา":"Advance options ..."%></strong> <br><br> <span id="spnPreYearCaption"> <span id="spnPrevYear3"> <input type="radio" id="sel_half0" name="prev_half" value="0" > </span> <strong>[<span id="spnPrevYearId"></span>]</strong> <span id="spnPrevYear1"> <input type="hidden" id="prev_year" name="prev_year" value=""> <span swlang code="SW000262">Day</span> <input type="text" id="prev_day" name="prev_day" value="" onkeypress="chkInteger(event)" onfocus="this.select();" class="numeric txtbalance" readonly> </span> <span id="spnPrevYear2"> <span swlang code="SW002186">Hour</span> <input type="text" id="prev_hour" name="prev_hour" value="" onkeypress="chkInteger(event)" onfocus="this.select()" onblur="chkTime(this)" class="numeric txtbalance" readonly> </span> </span> <span id="spnCurYearCaption"> <span id="spnCurYear3"> <input type="radio" id="sel_half1" name="prev_half" value="1" checked> </span> <strong>[<span id="spnCurYearId"></span>]</strong> <span id="spnCurYear1"> <span swlang code="SW000262">Day</span> <input type="text" id="cur_day" name="cur_day" value="" size="2" onfocus="this.select()" onkeypress="chkInteger(event)" class="numeric txtbalance" readonly> </span> <span id="spnCurYear2"> <span swlang code="SW002186">Hour</span> <input type="text" id="cur_hour" name="cur_hour" value="" onkeypress="chkInteger(event)" onfocus="this.select()" onblur="chkTime(this)" class="numeric txtbalance" readonly> <input type="hidden" id="cur_year" name="cur_year" value=""> </span> </span> <span id="spnNextYearCaption"> <span id="spnNextYear3"> <input type="radio" id="sel_half2" name="prev_half" value="2"> </span> <strong>[<span id="spnNextYearId"></span>]</strong> <span id="spnNextYear1"> <span swlang code="SW000262">Day</span> <input type="text" id="next_day" name="next_day" value="" size="2" onfocus="this.select()" onkeypress="chkInteger(event)" class="numeric txtbalance" readonly> </span> <span id="spnNextYear2"> <span swlang code="SW002186">Hour</span> <input type="text" id="next_hour" name="next_hour" value="" onkeypress="chkInteger(event)" onfocus="this.select()" onblur="chkTime(this)" class="numeric txtbalance" readonly> <input type="hidden" id="next_year" name="next_year" value=""> </span> </span> </div> <br> </td> </tr> <!-- end --> <tr style="display:none" class="funeral_desc"> <td class="column-label">ชื่อผู้เสียชีวิต *</td> <td class="column-input"> <input name="__wf__funeral_name" type="text" value="<%=chkNull.chkNullString(request.getParameter("__wf__funeral_name"))%>" size="50"/> </td> </tr> <tr style="display:none" class="funeral_desc"> <td class="column-label">มีความสัมพันธ์เป็น *</td> <td class="column-input"> <input name="__wf__funeral_relation" type="text" value="<%=chkNull.chkNullString(request.getParameter("__wf__funeral_relation"))%>" size="50"/> </td> </tr> <tr class="cause_absent_desc"> <td class="column-label"><span swlang code="SW008605">Leave Cause</span></td> <!-- here1 --> <td class="column-input"> <input name="__wf__cause_absent" type="text" value="<%=chkNull.chkNullString(request.getParameter("__wf__cause_absent"))%>" size="50"/> </td> </tr> <tr> <td class="column-label"><span swlang code="SW000306">Start Date</span></td> <td class="column-input"><span class="desc"> <input type="text" size="10" name="__wf__start_date" maxlength="10" value="<%=chkNull.chkNullString(request.getParameter("__wf__start_date"),new CscCalendar().getDDMMYYYY()) %>" class="txt01" onKeyup = "formatDate(this)" onBlur = "setValueEnddate(this);" onKeypress = "chkIntegerOfDate(this.value)"> </span><span class="desc"> <%if(md.isStep1){%> <a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1311','','../IMAGES/BUTTON/SWAP/CALENDAR_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/CALENDAR20.gif" alt="Calendar" name="Image1311" width="20" border="0" align="absmiddle" id="Image1311" onClick="viewCal('__wf__start_date')"></a> <%}%> </span></td> </tr> <tr> <td class="column-label"><span swlang code="SW000296">Start Time</span></td> <td class="column-input"><div align=left> <input class="txt01" maxlength=4 size=5 name="__wf__start_time" value="<%=chkNull.chkNullString(request.getParameter("__wf__start_time"),"0.00") %>" onFocus="this.select()" onKeyPress="chkInteger()" onBlur="chkTime(this)" readonly="true"> </div></td> </tr> <%if(md.isStep1 && !empbranchid.equals("")){%> <tr> <td class="column-label"> </td> <td class="column-input"><a href="javascript:calculateEDate()"><img src="../IMAGES/MYNOTE/BUTTON/BUTTON_CALCULATE.gif" id="imgCalc" border="0" style="display:none"></a></td> </tr><%}%> <tr> <td class="column-label"><span swlang code="SW005499">To Date</span></td> <td class="column-input"><span class="desc"> <input type="text" size="10" name="__wf__end_date" maxlength=10 value="<%=chkNull.chkNullString(request.getParameter("__wf__end_date"),new CscCalendar().getDDMMYYYY()) %>" class="txt01" onKeyup = "formatDate(this)" onBlur = "chkInputDate2(__wf__start_date,this)" onKeypress = "chkIntegerOfDate(this.value)" readonly> </span><span class="desc"> <a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1312','','../IMAGES/BUTTON/SWAP/CALENDAR_SWAP20.gif',1)"> <!-- <img src="../IMAGES/BUTTON/MAIN/CALENDAR20.gif" alt="Calendar" name="Image1312" width="20" border="0" align="absmiddle" id="Image1312" <%if(md.isStep1){%>onClick="viewCal('__wf__end_date')"<%}%>>--> </a></span></td> </tr> <tr> <td class="column-label"><span swlang code="SW003527">To Time</span></td> <td class="column-input"> <input class="txt01" maxlength=4 size=5 name="__wf__end_time" value="<%=chkNull.chkNullString(request.getParameter("__wf__end_time"),"23.59") %>" onFocus="this.select()" onKeyPress="chkInteger()" onBlur="chkTime(this)" readonly></td> </tr> <tr> <td class="column-label"><span swlang code="SW012640">Leave - Event Description</span></td> <td class="column-input"> <span name="__remarks"><%=mevent.getString("remarks")%></span> </td> </tr> <%=md.getWF_Remark("8001",screenSingle.getUProfile().get("companyid"))%> <tr> <td class="column-label"><span swlang code="SW000997">Total</span></td> <td class="column-input"><div align="right"><a href="javascript:goView();"><img height=37 src="../IMAGES/MYNOTE/BUTTON/BUTTON_VIEW.gif" width=89 border=0></a></div></td> </tr> <!-- End User Code --> <!-- <tr> <td class="column-label"><span swlang code="SW001105">Priority</span></td> <td class="column-data"><div> <label><input type="radio" name="priority" value="0" checked /> <span swlang code="SW012495">Low</span></label> <label><input type="radio" name="priority" value="1" /> <span swlang code="SW001106">Normal</span></label> <label><input type="radio" name="priority" value="2" /> <span swlang code="SW001107">High</span></label> </div></td> </tr> --> <input type="hidden" name="priority" value="0"> </TABLE> </TD> <TD WIDTH="5" BACKGROUND="../IMAGES/MYNOTE/R2.gif"></TD> </TR> <TR> <TD WIDTH="5" HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/C-B-L.gif" WIDTH="5" HEIGHT="5"></TD> <TD HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/B.gif" WIDTH="100%" HEIGHT="5"></TD> <TD WIDTH="5" HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/C-B-R.gif" WIDTH="5" HEIGHT="5"></TD> </TR> </TABLE> <BR> <!----- SHOW LEAVE ----> <TABLE WIDTH="95%" BORDER="0" ALIGN="center" CELLPADDING="0" CELLSPACING="0"> <TR> <TD WIDTH="5" HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/C-T-L.gif" WIDTH="5" HEIGHT="5"></TD> <TD HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/T.gif" WIDTH="100%" HEIGHT="5"></TD> <TD WIDTH="5" HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/C-T-R.gif" WIDTH="5" HEIGHT="5"></TD> </TR> <TR> <TD WIDTH="5" BACKGROUND="../IMAGES/MYNOTE/L2.gif"></TD> <TD VALIGN="middle"> <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="1" > <TR > <TD nowrap><iframe id="viewframe" src="" width="100%" height="300" name="detail1" onload="getLeaveLimit();initLimitLeaveObj();showLeaveOnPage();showUserDefineOption();setValueOnViewMode();hideLoadPopup();"></iframe></TD> </TR> </TABLE> </TD> <TD WIDTH="5" BACKGROUND="../IMAGES/MYNOTE/R2.gif"></TD> </TR> <TR> <TD WIDTH="5" HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/C-B-L.gif" WIDTH="5" HEIGHT="5"></TD> <TD HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/B.gif" WIDTH="100%" HEIGHT="5"></TD> <TD WIDTH="5" HEIGHT="5"><IMG SRC="../IMAGES/MYNOTE/C-B-R.gif" WIDTH="5" HEIGHT="5"></TD> </TR> </TABLE> <!----- SHOW VIEW ----> <BR> <span id="view_leave"></span> <!-- End Code --> <br> <%=md.getRemarkDocument()%> <br> <%=md.getWorkflowCommandDocument()%> <br> <%=md.getReferenceNoteDocument()%> <br> <%=md.getAttachFileDocument()%> <br> <!-- Begin Workflow Button --> <% if( !md.isStep3 ){ %> <table width="95%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <% if(md.isStep1 || md.isDraft){ %> <td><div align="right"> <!-- <A HREF="JavaScript:SaveDraft();"> <IMG SRC="../IMAGES/MYNOTE/BUTTON/BUTTON_SAVE.gif" WIDTH="89" HEIGHT="37" BORDER="0"></A> <A HREF="JavaScript:DelDraft();"> <IMG SRC="../IMAGES/MYNOTE/BUTTON/BUTTON_CANCEL.gif" WIDTH="89" HEIGHT="37" BORDER="0"></A> --> <a href="JavaScript:preGoWF();"> <img src="../IMAGES/MYNOTE/BUTTON/BUTTON_SUBMIT.gif" width="89" height="37" border="0" id="imgSubmit" style="display:none"></a></div></td> <% }else if( md.isStepCancel || md.isAdminCancel){ %> <td><div align="right"><!-- <a href="JavaScript:DelWF();"><img src="../IMAGES/MYNOTE/BUTTON/BUTTON_EDIT.gif" width="89" height="37" border="0"></a> --><a href="JavaScript:DelWF();"><img src="../IMAGES/MYNOTE/BUTTON/BUTTON_CANCEL.gif" width="89" height="37" border="0"></a></div></td> <% }else if( md.isStep2 || md.isStepComment ){ %> <td><div align="right"><a href="JavaScript:preSubmit();"><img id="btnsubmit" src="../IMAGES/MYNOTE/BUTTON/BUTTON_SUBMIT.gif" width="89" height="37" border="0" style="display:none"></a></div></td> <% }else if( md.isStepReturn ){ %> <TD><DIV ALIGN="right"><A HREF="JavaScript:EditWF();"><IMG SRC="../IMAGES/MYNOTE/BUTTON/BUTTON_EDIT.gif" WIDTH="89" HEIGHT="37" BORDER="0"></A><A HREF="JavaScript:DelWF();"><IMG SRC="../IMAGES/MYNOTE/BUTTON/BUTTON_CANCEL.gif" WIDTH="89" HEIGHT="37" BORDER="0"></A></DIV></TD> <% }else if( md.isStepCopy ){ %> <TD><DIV ALIGN="right"><A HREF="JavaScript:CopyWF();"><IMG SRC="../IMAGES/MYNOTE/BUTTON/BUTTON_EDIT.gif" WIDTH="89" HEIGHT="37" BORDER="0"></A></DIV></TD> <% }else if( md.isAdminEdit ){ %> <TD><DIV ALIGN="right"><A HREF="JavaScript:AdminEditWF();"><IMG SRC="../IMAGES/MYNOTE/BUTTON/BUTTON_SAVE.gif" WIDTH="89" HEIGHT="37" BORDER="0"></A></DIV></TD> <% }else if( md.isAdminDelete ){ %> <TD><DIV ALIGN="right"><A HREF="JavaScript:AdminDeleteWF();"><IMG SRC="../IMAGES/MYNOTE/BUTTON/BUTTON_DELETE.gif" WIDTH="89" HEIGHT="37" BORDER="0"></A></DIV></TD> <% }else if( md.isAdminClean ){ %> <TD><DIV ALIGN="right"><A HREF="JavaScript:AdminCleanWF();"><IMG SRC="../IMAGES/MYNOTE/BUTTON/BUTTON_CLEAN.gif" WIDTH="89" HEIGHT="37" BORDER="0"></A></DIV></TD> <% } %> </tr> </table> <%}%> <br> <!-- End Workflow Button --> <%=md.getRoutingDocument()%> <br> <%=md.getCommentDocument()%> <!-- Begin Set Value --> <% if(md.isStep1){ %> <!-- Begin Set Value Step1 --> <SCRIPT LANGUAGE="JavaScript"> isBranchIDNull(); getInitiatorLevel(); initiframe("<%=chkNull.chkNullString(request.getParameter("__wf__employeeid"))%>"); setValue('priority','<%=chkNull.chkNullString(request.getParameter("priority"),"0")%>'); setValue('comments','<%=chkNull.chkNullString(request.getParameter("comments"))%>'); setValue('chk_calculate','<%=chkNull.chkNullString(request.getParameter("chk_calculate"))%>'); setValue('__wf__emp_every','<%=chkNull.chkNullString(request.getParameter("__wf__emp_every"))%>'); setValue('__wf__absent_tdesc','<%=chkNull.chkNullString(request.getParameter("__wf__absent_tdesc"))%>'); setValue('__wf__absent_edesc','<%=chkNull.chkNullString(request.getParameter("__wf__absent_edesc"))%>'); setValue('__wf__leaveused','<%=chkNull.chkNullString(request.getParameter("__wf__leaveused"))%>'); chkGuarantee(document.getElementById("__wf__type_absent")); //getListTypeAbsent('<%=chkNull.chkNullString(request.getParameter("__wf__type_absent"))%>',''); searchEmp(); setLeaveTypeActivation(); chkLeaveTime(eval("document.cscform.__wf__type_absent")); setReasonLeave(eval("document.cscform.__wf__type_absent")); </SCRIPT> <!-- End Set Value Step1 --> <% }else if(md.isStep2 || md.isStepCancel || md.isStepComment || md.isStepReturn || md.isStepCopy || md.isDraft){ //out.print(md.isStep2+""+md.isStepCancel+""+md.isStepComment+""+md.isStepReturn+""+md.isStepCopy+""+md.isDraft); %> <!-- Begin Set Value Step2 --> <SCRIPT LANGUAGE="JavaScript"> hideSendTo('<%=step_type%>'); visibleObj(document.getElementById("btnsubmit"), "hidden"); //getInputEventgrp("<%=md.getWFDataValue("__wf__type_absent")%>", true); //getListTypeAbsent('<%=md.getWFDataValue("__wf__type_absent")%>','disabled'); setValue('priority','<%=screenSingle.getDataLabel("VW_INCIDENT","PRIORITY")%>'); setValue('__wf__employeeid','<%=md.getWFDataValue("__wf__employeeid")%>'); setValue('__wf__absentid','<%=md.getWFDataValue("__wf__absentid")%>'); setValue('__wf__emp_request','<%=md.getWFDataValue("__wf__emp_request")%>'); setValue('__wf__type_absent','<%=md.getWFDataValue("__wf__type_absent")%>'); setValue('__wf__funeral_name','<%=md.getWFDataValue("__wf__funeral_name")%>'); setValue('__wf__funeral_relation','<%=md.getWFDataValue("__wf__funeral_relation")%>'); setValue('__wf__cause_absent','<%=md.getWFDataValue("__wf__cause_absent")%>'); setValue('__wf__start_date','<%=md.getWFDataValue("__wf__start_date")%>'); setValue('__wf__end_date','<%=md.getWFDataValue("__wf__end_date")%>'); setValue('__wf__start_time','<%=md.getWFDataValue("__wf__start_time")%>'); setValue('__wf__end_time','<%=md.getWFDataValue("__wf__end_time")%>'); setValue('__wf__format_leave','<%=md.getWFDataValue("__wf__format_leave")%>'); setValue('__wf__leave_hours','<%=md.getWFDataValue("__wf__leave_hours")%>'); //setValue('__wf__leave_minute','<%=md.getWFDataValue("__wf__leave_minute")%>') setValue('__wf__leave_day','<%=md.getWFDataValue("__wf__leave_day")%>'); setValue('__wf__limitleave','<%=md.getWFDataValue("__wf__limitleave")%>'); setValue('__wf__list_min','<%=md.getWFDataValue("__wf__list_min")%>'); setValue('__wf__list_hours','<%=md.getWFDataValue("__wf__list_hours")%>'); setValue('__wf__emp_every','<%=md.getWFDataValue("__wf__emp_every")%>'); setValue('__wf__absent_tdesc','<%=md.getWFDataValue("__wf__absent_tdesc")%>'); setValue('__wf__absent_edesc','<%=md.getWFDataValue("__wf__absent_edesc")%>'); setValue('__wf__leaveused','<%=md.getWFDataValue("__wf__leaveused")%>'); setRadioLeaveUsedYearCheckbox('<%=md.getWFDataValue("__wf__leaveused")%>'); setValue('chk_calculate','cal'); initiframe("<%=md.getWFDataValue("__wf__employeeid")%>"); searchDescEmp(document.cscform.__wf__employeeid, 'memployee.fullname:MEMPLOYEE@FULLNAME,mposition.tdesc:__position,mbu1.tdesc:__bu1,mbu2.tdesc:__bu2,mbu3.tdesc:__bu3,mbu4.tdesc:__bu4,mbu5.tdesc:__bu5,memployee.startdate:__startdate,memployee.tel_ext:__tel_ext,memployee.emp_every:__wf__emp_every', ""); setValueOnViewMode(); /* show leave used */ <% if(!md.isDraft){ %> setDisabled(true); <% }else{ %> setValue('__checkPage','false'); <% } %> setReadOnlyOn('__remark'); setTimeout( function() { visibleObj(document.getElementById("btnsubmit"), "visible"); }, 4000 ); setReasonLeave(eval("document.cscform.__wf__type_absent")); </SCRIPT> <!-- End Set Value Step2 --> <% }else if(md.isStep3 || md.isAdminEdit || md.isAdminCancel || md.isAdminDelete || md.isAdminClean || md.isArchive){ %> <!-- Begin Set Value Step3 --> <SCRIPT LANGUAGE="JavaScript"> isNoSebject = true; //getListTypeAbsent('<%=md.getWFDataValue("__wf__type_absent")%>','disabled'); setValue('__wf__employeeid','<%=md.getWFDataValue("__wf__employeeid")%>'); setValue('__wf__absentid','<%=md.getWFDataValue("__wf__absentid")%>'); setValue('__wf__emp_request','<%=md.getWFDataValue("__wf__emp_request")%>'); setValue('__wf__funeral_name','<%=md.getWFDataValue("__wf__funeral_name")%>'); setValue('__wf__funeral_relation','<%=md.getWFDataValue("__wf__funeral_relation")%>'); setValue('__wf__cause_absent','<%=md.getWFDataValue("__wf__cause_absent")%>'); setValue('__wf__start_date','<%=md.getWFDataValue("__wf__start_date")%>'); setValue('__wf__end_date','<%=md.getWFDataValue("__wf__end_date")%>'); setValue('__wf__start_time','<%=md.getWFDataValue("__wf__start_time")%>'); setValue('__wf__end_time','<%=md.getWFDataValue("__wf__end_time")%>'); setValue('__wf__format_leave','<%=md.getWFDataValue("__wf__format_leave")%>'); setValue('__wf__leave_hours','<%=md.getWFDataValue("__wf__leave_hours")%>'); // setValue('__wf__leave_minute','<%=md.getWFDataValue("__wf__leave_minute")%>') setValue('__wf__leave_day','<%=md.getWFDataValue("__wf__leave_day")%>'); setValue('__wf__limitleave','<%=md.getWFDataValue("__wf__limitleave")%>'); setValue('__wf__type_absent','<%=md.getWFDataValue("__wf__type_absent")%>'); setValue('__wf__list_min','<%=md.getWFDataValue("__wf__list_min")%>'); setValue('__wf__list_hours','<%=md.getWFDataValue("__wf__list_hours")%>'); setValue('__wf__emp_every','<%=md.getWFDataValue("__wf__emp_every")%>'); setValue('__wf__absent_tdesc','<%=md.getWFDataValue("__wf__absent_tdesc")%>'); setValue('__wf__absent_edesc','<%=md.getWFDataValue("__wf__absent_edesc")%>'); setValue('__wf__leaveused','<%=md.getWFDataValue("__wf__leaveused")%>'); setRadioLeaveUsedYearCheckbox('<%=md.getWFDataValue("__wf__leaveused")%>'); setValue('__checkPage','false'); setValue('priority','<%=screenSingle.getDataLabel("VW_INCIDENT","PRIORITY")%>'); initiframe("<%=md.getWFDataValue("__wf__employeeid")%>"); searchDescEmp(document.cscform.__wf__employeeid, 'memployee.fullname:MEMPLOYEE@FULLNAME,mposition.tdesc:__position,mbu1.tdesc:__bu1,mbu2.tdesc:__bu2,mbu3.tdesc:__bu3,mbu4.tdesc:__bu4,mbu5.tdesc:__bu5,memployee.startdate:__startdate,memployee.tel_ext:__tel_ext,memployee.emp_every:__wf__emp_every', ""); setValueOnViewMode(); /* show leave used */ <% if(!md.isAdminEdit){ %> setDisabled(true); <% } %> setReasonLeave(eval("document.cscform.__wf__type_absent")); </SCRIPT> <!-- End Set Value Step3 --> <% } %> <!-- End Set Value --> </DIV> </TD> <TD VALIGN="top" BACKGROUND="../IMAGES/MYNOTE/BPM_07.jpg"> </TD> </TR> <TR> <TD COLSPAN="2" HEIGHT="20" BACKGROUND="../IMAGES/MYNOTE/BPM_09.jpg"><DIV ALIGN="center"><SPAN CLASS="txt02"> </SPAN></DIV></TD> </TR> </TABLE> <%=screenSingle.endJSP()%> <SCRIPT LANGUAGE="JavaScript"> setLeaveDescritption_withDelay(); </SCRIPT> <% //out.println(md.getWFDataValue("__wf__initiator_level"));%> <INPUT TYPE="hidden" NAME="__wf__initiator_level" ID ="__wf__initiator_level" VALUE="<%=(!md.getWFDataValue("__wf__initiator_level").equals(""))?md.getWFDataValue("__wf__initiator_level"):request.getParameter("__wf__initiator_level")%>"> <INPUT TYPE="hidden" NAME="__wf__start_doc_date" ID ="__wf__start_doc_date" VALUE="<%=(!md.getWFDataValue("__wf__start_doc_date").equals(""))?md.getWFDataValue("__wf__start_doc_date"):request.getParameter("__wf__start_doc_date")%>"> </FORM> </div> </BODY> </HTML> <%}%> <%! public String getMConfigValue(UProfile upf, String filed){ String srt = ""; try { srt = (String) StaticConfig.getConfigCompany(upf, filed) ; }catch(Exception e){ e.printStackTrace(); } return srt ; } /* check available leave */ public boolean isEventActive(String empid, String event, UProfile upf){ try { DHMConvert dhm = new DHMConvert(); ManageEmpLeaveStat mels = new ManageEmpLeaveStat(upf, empid, event); float rm = dhm.DHMToMin(mels.getRemainLeave(event), Float.toString(mels.getHour_Day(mels))); if(rm > 0){ return true; }else{ return false; } }catch(Exception e){ e.printStackTrace(); } return true; } public String getLeaveUsedByYear(String lvusedlist, int idx, int item){ try { if(lvusedlist != null && lvusedlist.length() > 0){ String tmp[] = lvusedlist.split(","); if(tmp.length >= idx){ String tmp1[] = tmp[idx].split(":"); if(tmp1.length >= item){ return tmp1[item] ; } } } }catch(Exception e){ e.printStackTrace(); } return ""; } public String getStartBudgetYear(UProfile upf){ String str = ""; try { str = getMConfigValue(upf, "TA1001"); CscCalendar cs = new CscCalendar(str); str = cs.getDDMMYYYY(); }catch(Exception e){ e.printStackTrace(); } return str ; } public String getEndBudgetYear(UProfile upf){ String end = ""; try { end = getMConfigValue(upf, "TA1002"); CscCalendar cs = new CscCalendar(end); end = cs.getDDMMYYYY(); }catch(Exception e){ e.printStackTrace(); } return end ; } %>