<%@page contentType="text/html; charset=UTF-8"%> <%@page import="com.csc.library.entry.HelpEntry,com.csc.library.system.*,com.csc.library.utilities.*"%> <%@ page import="com.csc.library.entry.*,com.csc.library.database.*,com.csc.library.session.*" %> <jsp:useBean id="TAU187_KKB_NEW" class="com.csc.library.system.Task" scope="page" /> <% TAU187_KKB_NEW.setChannel(request,response); UIManager screen = (UIManager) TAU187_KKB_NEW.process("MultiEntry","TAU187_KKB_NEW"); MultiLine multi = screen.getMultiLine("MVACATION1"); multi.setLabelBox("check box"); multi.goFirst(); if ((request.getParameter("__cmd")!=null)&&(request.getParameter("__cmd").equals("addChild"))){ screen.getTable("MVACATION1").last(); DbRecord rec=screen.getTable("MVACATION1").getCurrentRecordManager(); screen.getTable("MVACATION1").previous(); rec.set(screen.getTable("MVACATION1").getMinorKey(),screen.getTable("MVACATION1").getInt(screen.getTable("MVACATION1").getMinorKey())+1); rec.set("VACATIONID",screen.getTable("MVACATION1").getString("VACATIONID")); rec.set("COMPANYID",screen.getUProfile().get("companyid")); } if(screen.getTable("MVACATION1").recCount()==0){ DbRecord rec1=screen.getTable("MVACATION1").getNewRecord(); screen.getTable("MVACATION1").last(); rec1.set(screen.getTable("MVACATION1").getMinorKey(),"1"); rec1.set("COMPANYID",screen.getUProfile().get("companyid")); screen.getTable("MVACATION1").putNewRecord(rec1); } CheckNull chk=new CheckNull(); ThaiUtilities thatUtils = new ThaiUtilities(); %> <html ng-app="myHR"> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link href="../CSS/TISCO.css" rel="stylesheet" type="text/css"> <link href="../CSS/bootstrap.css" rel="stylesheet" type="text/css"> <link href="../CSS/bootstrap_csc_backend.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="../JS/jquery-2.1.3.min.js"></script> <script type='text/javascript' src="../JS/bootstrap.js"></script> <script language="JavaScript" src="../JS/SCREEN.js"></script> <script language="javascript">setLang('<%=screen.getUProfile().get("lang")%>');</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> <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='/hr/dwr/engine.js'></script> <script type='text/javascript' src='/hr/dwr/util.js'></script> <script type='text/javascript' src='/hr/dwr/interface/ValidateVacationCode.js'></script> <script language="JavaScript" type="text/JavaScript"> <!-- function deleteMulti(){ with(document.cscform){ bCon=confirm(MyCode[4]); if (bCon==true) { __cmd.value="DelChild"; submit(); } } } function saveChild() { with(document.cscform) { __cmd.value="addChild"; __ack.value="add"; action="TAU187_KKB_NEW.jsp"; submit(); } } function childMulti(record){ with(document.cscform){ window.open(__childMulti.value+".jsp?__cmd=&__gorec="+record+ "&__ack=edit&__codeid="+window.parent.cscform.__codeid.value+ "&__companyid="+window.parent.cscform.__companyid.value); } } <!-- function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> var error = new Array(); var isvalid = true; function GoSave(){ if(!chkNullMulti()){confirmSave();} } function GoUpdate(){update();} function GoDelete(){edelete();} function GoSearch(){search();} function chBox(){ with (document.cscform){ if(checkval.checked){ checkAll(); }else{ decheckAll(); } } } var index = 0; function validateScript(){ with(document.cscform) { for(i=0;i<elements.length;i++) { if(elements[i].name.indexOf("__MVACATION1$CONDITION$")>-1){ if(elements[i].value != ""){ index = i; ValidateVacationCode.validateCode(elements[i].value, rtndata); } } } } } var rtndata = function(data){ with(document.cscform) { if(data != "") { alert("[Error] " + data); } } } function chkNullMulti(){ with(document.cscform) { for(i=0;i<elements.length;i++) { if((elements[i].name.indexOf("__MVACATION1$COM_PRIVILEGE$")>-1 || elements[i].name.indexOf("__MVACATION1$LAST_PRIVILEGE$")>-1)&& elements[i].value == '') { alert(MyCode[0]); elements[i].select(); return true; } } } return false; } //================== Nuiss Code ================== /** *Author : Nuiss *Date : 26/01/2552 *Logic : set value to fields for update */ function checkSelectObj(objSelectID,targetID){ var objSelect = document.getElementById(objSelectID); var objValue =objSelect.options[objSelect.selectedIndex].value; document.getElementById(targetID).value=objValue; }//end function function checkTextObj(targetID,objId){ var tmpTargetID =""; if (targetID.indexOf("__MVACATION1$PRVLGCASE$") >=0){ tmpTargetID ="PRVLGCASE"; }else if (targetID.indexOf("__MVACATION1$PRVLGTYPE$") >=0){ tmpTargetID ="PRVLGTYPE"; }else if (targetID.indexOf("__MVACATION1$WORKAGE_ST$") >=0){ tmpTargetID ="WORKAGE_ST"; }else if (targetID.indexOf("__MVACATION1$WORKAGE_END$") >=0){ tmpTargetID ="WORKAGE_END"; }else{ tmpTargetID =targetID; }//end if switch (tmpTargetID){ case '__V0_USEBEFORE': var text1 = document.getElementById("V0_USEBEFORE_DATE").value; var text2 = document.getElementById("V0_USEBEFORE_MONTH").value; var objSelect1 = document.getElementById("objSelect1"); var objValue1 =objSelect1.options[objSelect1.selectedIndex].value; document.getElementById(targetID).value = text1+":"+text2+":"+objValue1; break; case '__V1_STDATE': var text3 = document.getElementById("V1_STDATE_DATE").value; var text4 = document.getElementById("V1_STDATE_MONTH").value; document.getElementById(targetID).value = text3+":"+text4; break; case '__V1_ENDDATE': var text5 = document.getElementById("V1_ENDDATE_DATE").value; var text6 = document.getElementById("V1_ENDDATE_MONTH").value; var objSelect2 = document.getElementById("objSelect2"); var objValue2 =objSelect2.options[objSelect2.selectedIndex].value; document.getElementById(targetID).value = text5+":"+text6+":"+objValue2; break; case 'PRVLGCASE': var objSelect3 = document.getElementById(objId); var objValue3 =objSelect3.options[objSelect3.selectedIndex].value; document.getElementById(targetID).value = objValue3; break; case 'PRVLGTYPE': var objSelect4 = document.getElementById(objId); var objValue4 =objSelect4.options[objSelect4.selectedIndex].value; document.getElementById(targetID).value = objValue4; //เปลี่ยน ช่วงเริ่มต้น-สิ้นสุด var row = new Array(); row = objId.split("_row"); //ทุกครั้งที่มันเปลี่ยน type ลบ element ทุก element ใน DIV ทิ้งก่อน แล้ว ค่อย Create ใหม่เอา document.getElementById('nCustomDIV1_row'+row[1]).innerText=""; document.getElementById('nCustomDIV2_row'+row[1]).innerText=""; switchPrvlgType(objValue4,row[1]); //set default value ตอนเปลี่ยน type switch (objValue4){ case '1': document.getElementById('__MVACATION1$WORKAGE_ST$'+row[1]).value ="00:00:00"; document.getElementById('__MVACATION1$WORKAGE_END$'+row[1]).value ="00:00:00"; break; case '2': document.getElementById('__MVACATION1$WORKAGE_ST$'+row[1]).value ="01:01"; document.getElementById('__MVACATION1$WORKAGE_END$'+row[1]).value ="01:01"; break; default:break; }//end switch break; case 'WORKAGE_ST': if(objId.indexOf("dayOfMonth")>=0){ var objSelect5 = document.getElementById(objId); var objValue5 =objSelect5.options[objSelect5.selectedIndex].value; var objIdByReplace1 = objId.replace("dayOfMonth","month"); var objSelect6 = document.getElementById(objIdByReplace1); var objValue6 =objSelect6.options[objSelect6.selectedIndex].value; document.getElementById(targetID).value = c2Digit(objValue5)+":"+c2Digit(objValue6); }else{ var objSelect5 = document.getElementById(objId); var objValue5 =objSelect5.options[objSelect5.selectedIndex].value; var objIdByReplace1 = objId.replace("month","dayOfMonth"); var objSelect6 = document.getElementById(objIdByReplace1); var objValue6 =objSelect6.options[objSelect6.selectedIndex].value; document.getElementById(targetID).value = c2Digit(objValue6)+":"+c2Digit(objValue5); }//end if break; case 'WORKAGE_END': if(objId.indexOf("dayOfMonth")>=0){ var objSelect5 = document.getElementById(objId); var objValue5 =objSelect5.options[objSelect5.selectedIndex].value; var objIdByReplace1 = objId.replace("dayOfMonth","month"); var objSelect6 = document.getElementById(objIdByReplace1); var objValue6 =objSelect6.options[objSelect6.selectedIndex].value; document.getElementById(targetID).value = c2Digit(objValue5)+":"+c2Digit(objValue6); }else{ var objSelect5 = document.getElementById(objId); var objValue5 =objSelect5.options[objSelect5.selectedIndex].value; var objIdByReplace1 = objId.replace("month","dayOfMonth"); var objSelect6 = document.getElementById(objIdByReplace1); var objValue6 =objSelect6.options[objSelect6.selectedIndex].value; document.getElementById(targetID).value = c2Digit(objValue6)+":"+c2Digit(objValue5); }//end if break; default:break; }//end switch }//end function function c2Digit(_value){ //alert("_value is:"+ _value + "leng is: "+_value.toString().length ); var valueRtn =""; if(_value.toString().length == 1) { valueRtn = "0" + _value; }else if (_value.toString().length <= 0){ valueRtn = "00"; }else if (_value.toString().length >= 2){ valueRtn = _value; }//end if return valueRtn; }//end function c2Digit function checkRadioObj(objId,_value){ document.getElementById(objId).value= _value; }//end function function switchPrvlgType(type,row){ switch (type){ case '1': if(document.getElementById('nCustomDIV1_row'+row)!=null){ if(document.getElementById('__MVACATION1$WORKAGE_ST$'+row)==null){ //มี element นี้ หรือไม่ ? มีแล้วก็ไม่ต้อง create อีก //for save and display WORKAGE_ST var workAgeStInput; workAgeStInput = document.createElement('input'); workAgeStInput.type='text'; workAgeStInput.setAttribute('id','__MVACATION1$WORKAGE_ST$'+row); workAgeStInput.setAttribute('name', '__MVACATION1$WORKAGE_ST$'+row); workAgeStInput.style.width='70px'; workAgeStInput.size ='10'; workAgeStInput.maxLength='6'; var workAgeStUnitSpan; workAgeStUnitSpan = document.createElement('span'); workAgeStUnitSpan.setAttribute('id', 'ageStUnitSpan_row'+row); workAgeStUnitSpan.innerText =' [ปี:เดือน:วัน]'; document.getElementById('nCustomDIV1_row'+row).appendChild(workAgeStInput); document.getElementById('nCustomDIV1_row'+row).appendChild(workAgeStUnitSpan); //add event listener ด้วย document.getElementById('__MVACATION1$WORKAGE_ST$'+row).onkeypress=function(){ chkSpecialStr(event); chkInteger(event); }//end add event onkeypress document.getElementById('__MVACATION1$WORKAGE_ST$'+row).onkeyup=function(){ sysIsEdit(); }//end add event onkeyup document.getElementById('__MVACATION1$WORKAGE_ST$'+row).onblur=function(){ trimValue(this); chkRest(this); }//end add event onblur document.getElementById('__MVACATION1$WORKAGE_ST$'+row).onfocus=function(){ delRest(this); }//end add event onfocus }//end if }//end if if(document.getElementById('nCustomDIV2_row'+row)!=null){ if(document.getElementById('__MVACATION1$WORKAGE_END$'+row)==null){ //มี element นี้ หรือไม่ ? มีแล้วก็ไม่ต้อง create อีก //for save and display WORKAGE_END var workAgeEndInput; workAgeEndInput = document.createElement('input'); workAgeEndInput.type='text'; workAgeEndInput.setAttribute('id','__MVACATION1$WORKAGE_END$'+row); workAgeEndInput.setAttribute('name', '__MVACATION1$WORKAGE_END$'+row); workAgeEndInput.style.width='70px'; workAgeEndInput.size ='10'; workAgeEndInput.maxLength='6'; var workAgeEndUnitSpan; workAgeEndUnitSpan = document.createElement('span'); workAgeEndUnitSpan.setAttribute('id', 'ageEndUnitSpan_row'+row); workAgeEndUnitSpan.innerText =' [ปี:เดือน:วัน]'; document.getElementById('nCustomDIV2_row'+row).appendChild(workAgeEndInput); document.getElementById('nCustomDIV2_row'+row).appendChild(workAgeEndUnitSpan); //add event listener ด้วย document.getElementById('__MVACATION1$WORKAGE_END$'+row).onkeypress=function(){ chkSpecialStr(event); chkInteger(event); }//end add event onkeypress document.getElementById('__MVACATION1$WORKAGE_END$'+row).onkeyup=function(){ sysIsEdit(); }//end add event onkeyup document.getElementById('__MVACATION1$WORKAGE_END$'+row).onblur=function(){ trimValue(this); chkRest(this); }//end add event onblur document.getElementById('__MVACATION1$WORKAGE_END$'+row).onfocus=function(){ delRest(this); }//end add event onfocus }//end if }//end if break; case '2': if(document.getElementById('nCustomDIV1_row'+row)!=null){ if(document.getElementById('__MVACATION1$WORKAGE_ST$'+row)==null){ var dateSpan; dateSpan = document.createElement('span'); dateSpan.setAttribute('id', 'dateStSpan_row'+row); dateSpan.innerText ='วันที่: '; var monthSpan; monthSpan = document.createElement('span'); monthSpan.setAttribute('id', 'monthStSpan_row'+row); monthSpan.innerText =' เดือน: '; document.getElementById('nCustomDIV1_row'+row).appendChild(dateSpan); createTAGSelect_DayOfMonth("dayOfMonthStSelect_row"+row,'nCustomDIV1_row'+row); document.getElementById('nCustomDIV1_row'+row).appendChild(monthSpan); createTAGSelect_Month("monthStSelect_row"+row,'nCustomDIV1_row'+row); //for save only var workAgeStInput; workAgeStInput = document.createElement('input'); workAgeStInput.type='hidden'; workAgeStInput.setAttribute('id','__MVACATION1$WORKAGE_ST$'+row); workAgeStInput.setAttribute('name','__MVACATION1$WORKAGE_ST$'+row); workAgeStInput.style.width='70px'; workAgeStInput.size ='10'; document.getElementById('nCustomDIV1_row'+row).appendChild(workAgeStInput); }//end if }//end if if(document.getElementById('nCustomDIV2_row'+row)!=null){ if(document.getElementById('__MVACATION1$WORKAGE_END$'+row)==null){ var dateSpan; dateSpan = document.createElement('span'); dateSpan.setAttribute('id', 'dateEndSpan_row'+row); dateSpan.innerText ='วันที่: '; var monthSpan; monthSpan = document.createElement('span'); monthSpan.setAttribute('id', 'monthEndSpan_row'+row); monthSpan.innerText =' เดือน: '; document.getElementById('nCustomDIV2_row'+row).appendChild(dateSpan); createTAGSelect_DayOfMonth("dayOfMonthEndSelect_row"+row,'nCustomDIV2_row'+row); document.getElementById('nCustomDIV2_row'+row).appendChild(monthSpan); createTAGSelect_Month("monthEndSelect_row"+row,'nCustomDIV2_row'+row); //for save only var workAgeEndInput; workAgeEndInput = document.createElement('input'); workAgeEndInput.type='hidden'; workAgeEndInput.setAttribute('id','__MVACATION1$WORKAGE_END$'+row); workAgeEndInput.setAttribute('name','__MVACATION1$WORKAGE_END$'+row); workAgeEndInput.style.width='70px'; workAgeEndInput.size ='10'; document.getElementById('nCustomDIV2_row'+row).appendChild(workAgeEndInput); }//end if }//end if break; default:break; }//end switch }//end function function createTAGSelect_DayOfMonth(selectObjId,DIVTargetId){ //create select TAG var customSelect; customSelect = document.createElement('select'); customSelect.setAttribute('id', selectObjId); document.getElementById(DIVTargetId).appendChild(customSelect); //create option list for(ii=1;ii<=31;ii++){ insertOption(selectObjId+'_day'+ii,selectObjId,ii,ii); }//end for //add event listener if(selectObjId.indexOf("dayOfMonthSt")>=0){ document.getElementById(selectObjId).onchange=function(){ var row = new Array(); row = selectObjId.split("_row"); checkTextObj('__MVACATION1$WORKAGE_ST$'+row[1],selectObjId); }//end add event onchange }else if(selectObjId.indexOf("dayOfMonthEnd")>=0){ document.getElementById(selectObjId).onchange=function(){ var row = new Array(); row = selectObjId.split("_row"); checkTextObj('__MVACATION1$WORKAGE_END$'+row[1],selectObjId); }//end add event onchange }//end if }//end function function createTAGSelect_Month(selectObjId,DIVTargetId,colPrefix){ //create select TAG var customSelect; customSelect = document.createElement('select'); customSelect.setAttribute('id', selectObjId); var monthList = new Array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน" ,"พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม" ,"กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"); document.getElementById(DIVTargetId).appendChild(customSelect); //create option list for(ii=1;ii<=12;ii++){ insertOption(selectObjId+'_month'+ii,selectObjId,monthList[ii-1],ii); }//end for //add event listener ด้วย if(selectObjId.indexOf("monthSt")>=0){ document.getElementById(selectObjId).onchange=function(){ var row = new Array(); row = selectObjId.split("_row"); checkTextObj('__MVACATION1$WORKAGE_ST$'+row[1],selectObjId); }//end add event onchange }else if(selectObjId.indexOf("monthEnd")>=0){ document.getElementById(selectObjId).onchange=function(){ var row = new Array(); row = selectObjId.split("_row"); checkTextObj('__MVACATION1$WORKAGE_END$'+row[1],selectObjId); }//end add event onchange }//end if }//end function function insertOption(optId,selectObjId,optText,optValue){ var optionTAG=document.createElement('option'); optionTAG.setAttribute('id',optId); optionTAG.value =optValue; optionTAG.text=optText; var selectTAG=document.getElementById(selectObjId); try{ selectTAG.add(optionTAG,null); // standards compliant }catch(ex){ selectTAG.add(optionTAG); // IE only }//end try }//end function function setDataFromDB(type,objId,dataFromDB,row){ switch (type){ case '1': //set value for save document.getElementById(objId).value =dataFromDB; break; case '2': var strData = new Array(); strData = dataFromDB.split(":"); var dayOfWeek = strData[0]; var month = strData[1]; //ถ้าไม่แปลงด้วย eval() id ของ element option จะไม่ตรง เพราะ //id มันเกิดจาก ค่า int เช่น dayOfMonthSelect_row1_day1 //แต่ data ที่ได้เป็น string มา เช่น 1 == 01 พอเอามาต่อ string มันจะได้ ต่างกัน เช่น //dayOfMonthSelect_row1_day1 กับ dayOfMonthSelect_row01_day01 จะทำให้ DOM หา obj ไม่เจอ if(objId.indexOf("__MVACATION1$WORKAGE_ST$")>=0){ document.getElementById("dayOfMonthStSelect_row"+eval(row)+"_day"+eval(dayOfWeek)).selected=true; document.getElementById("monthStSelect_row"+eval(row)+"_month"+eval(month)).selected=true; }else if(objId.indexOf("__MVACATION1$WORKAGE_END$")>=0){ document.getElementById("dayOfMonthEndSelect_row"+eval(row)+"_day"+eval(dayOfWeek)).selected=true; document.getElementById("monthEndSelect_row"+eval(row)+"_month"+eval(month)).selected=true; }//end if //set value for save document.getElementById(objId).value =dayOfWeek+":"+month; break; default:break; }//end switch }//end function //================== Nuiss Code ================== </script> <script type='text/css'> TD.columnlabel_nuiss{ font-family: "MS Sans Serif", Tahoma, sans-serif; font-size: 12px; color: #3366CC; background-color: #efefef; //text-align: right; white-space: nowrap; height: 20px; width: 250px; border: #CCCCCC; } </script> </head> <body leftmargin="0" topmargin="0" > <form name="cscform" method="post" action="#"> <!----------BEGIN CSC INITIAL ZONE ------------------------> <%=screen.InitialVariable()%> <!----------END CSC INITIAL ZONE --------------------------> <input type="hidden" name="__cmd" value=""> <input type="hidden" name="__calendar"> <script language="javascript">getInputFormatDate();</script> <input type="hidden" name="__language" value="<%=screen.getUProfile().get("lang")%>"> <input type="hidden" name="__notNull" value='<%=screen.getRequire()%>'> <input type="hidden" name="__screen" value="TAU187_KKB_NEW"> <input type="hidden" name="__help" value=""> <input type="hidden" name="__childMulti" value="TAU187_KKB_NEW"> <input type="hidden" name="__gorec" value=""> <input type="hidden" name="__ack" value=""> <input type="hidden" name="__multiTable" value="MVACATION1"> <input type="hidden" name="__helpReturn" value=""> <input type="hidden" name="__companyid" value="<%=screen.getUProfile().get("companyid")%>"> <input type="hidden" name="__cmdchild" value=""> <input type="hidden" name="__fixCon" value=""> <input type="hidden" name="__clean" value="1"> <div align="center"> <div id="toolTipLayer" style="position:absolute; visibility: hidden"></div> <script language="javascript">initToolTips();</script> <script src="../JS/HOTKEY.js"></script> <script language="javascript"> var swap = new swaplang(); var titlename = swap.swap2String("SW012732"); document.write(Icons("TAU187_KKB_NEW,"+titlename)); </script> <div align="center" style='border:1px solid white ; width:90%'> <br> <table cellpadding="0" cellspacing="0" style='width:100%'> <tr > <td class="header" colspan="2">TAU187_KKB_NEW, <span swlang code="SW012732">Vacation Table</span> </td> </tr> <tr> <td colspan="2"> <div align="center"> <table style='width:100%' cellpadding="0" cellspacing="0" > <tr> <td class="blankspace"></td> </tr> <tr> <td> <table border="0" style='width:100%' cellpadding="0" cellspacing="0" bgcolor="#666666"> <tr> <td class="columnlabel_nuiss" align="right"><%=screen.getLabel("vacationid")%> </td> <td><%=screen.getInput("vacationid")%></td> </tr> <tr> <td class="columnlabel_nuiss" align="right"><%=screen.getLabel("tdesc")%> </td> <td><%=screen.getInput("tdesc")%></td> </tr> <tr> <td class="columnlabel_nuiss" align="right"><%=screen.getLabel("edesc")%> </td> <td><%=screen.getInput("edesc")%></td> </tr> <tr> <td class="columnlabel_nuiss" align="right"><%=screen.getLabel("FIXOVERFLOW_V0")%> </td> <td><%=screen.getInput("FIXOVERFLOW_V0")%> วัน หรือตามจำนวนที่เหลืออยู่จริง</td> </tr> <tr> <td class="columnlabel_nuiss" align="right"><%=screen.getLabel("VACATION_LAST")%> </td> <td><%=screen.getInput("VACATION_LAST")%> [วัน-เดือน] ตัวอย่าง. 31-12</td> </tr> <tr> <td class="blankspace" colspan="2"></td> </tr> </table> <table style='width:100%' border="0" cellpadding="1" cellspacing="1" bgcolor="#666666" class="tablewithborder"> <tr> <td width="" align="center" valign="middle" class="title1"><input type="checkbox" name="checkval" value="all" onClick="chBox();" ></td> <td width="" class="title1" ><div align="center"><%=multi.getLabel("MVACATION1","PRVLGCASE")%></div></td> <td width="" class="title1" ><div align="center"><%=multi.getLabel("MVACATION1","PRVLGTYPE")%></div></td> <td width="" class="title1"><div align="center"><%=multi.getLabel("MVACATION1","COM_PRIVILEGE")%></div></td> <td width="" class="title1"><div align="center"><%=multi.getLabel("MVACATION1","COM_FORMULA")%></div></td> </tr> <% int linecount=0; screen.getTable("MVACATION1").first(); for(int i=1;!multi.eof();i++){ %> <tr> <td align="center" valign="middle" ><%=multi.getInputCheckBox()%> <input name="__MVACATION1$LINE_NO$<%=multi.getData(multi.getTable().getMinorKey())%>" type="hidden" value="<%=multi.getData(multi.getTable().getMinorKey())%>" > </td> <td> <div align="center"><%=multi.getInput("MVACATION1","CONDITION")%></div> </td> <td> <div align="center"> <% String prvlgCase = multi.getDataLabel("MVACATION1","PRVLGCASE"); StringBuffer prvlgCaseObj = new StringBuffer(); String isSelectedCase0 =""; String isSelectedCase1 =""; String isSelectedCase2 =""; if(prvlgCase.equals("0") || prvlgCase.trim().equals("") || prvlgCase==null ){ isSelectedCase0 ="selected"; isSelectedCase1 =""; isSelectedCase2 =""; }else if(prvlgCase.equals("1")){ isSelectedCase0 =""; isSelectedCase1 ="selected"; isSelectedCase2 =""; }else if(prvlgCase.equals("2")){ isSelectedCase0 =""; isSelectedCase1 =""; isSelectedCase2 ="selected"; } prvlgCaseObj.append("<select id='objSelect3_row"+multi.getData(multi.getTable().getMinorKey())+"' onChange=checkTextObj('__MVACATION1$PRVLGCASE$"+multi.getData(multi.getTable().getMinorKey())+"',"+"'objSelect3_row"+multi.getData(multi.getTable().getMinorKey())+"')>"); prvlgCaseObj.append(" <option value='0' "+isSelectedCase0+">ปกติ</option>"); prvlgCaseObj.append(" <option value='1' "+isSelectedCase1+">เพิ่มเติม</option>"); prvlgCaseObj.append(" <option value='2' "+isSelectedCase2+">สูตรยกยอด</option>"); out.print(prvlgCaseObj); %> <!--เอาไว้ save fields PRVLGCASE--> <input type="hidden" style='width:55px' id="__MVACATION1$PRVLGCASE$<%=multi.getData(multi.getTable().getMinorKey())%>" name="__MVACATION1$PRVLGCASE$<%=multi.getData(multi.getTable().getMinorKey())%>" value="<%=prvlgCase%>"> <!--เอาไว้ save--> </div> </td> <td><div align="center"><%=multi.getInput("MVACATION1","COM_PRIVILEGE")%></div></td> <td><div align="center"><%=multi.getInput("MVACATION1","COM_FORMULA")%></div></td> </tr> <% multi.next(); }//end for %> </table> </td> </tr> <tr> <td class="blankspace" colspan="2"></td> </tr> </table> </div> </td> </tr> <tr> <td class="buttonline" colspan="7"><div align="center"> <button type="button" class="btn btn-primary width100" swlang code="SW013165" onClick="saveChild();">ADD</button> <button type="button" class="btn btn-primary width100" swlang code="SW013166" onClick="deleteMulti();">DELETE</button> <button type="button" class="btn btn-primary width100" swlang code="SW013172" onClick="validateScript();">CHECK</button> </div> </td> </tr> <tr> <td class="blankspace" colspan="2"></td> </tr> <tr> <td align="left" colspan="2"> Parameter [Variables available]</td> </tr> <tr> <td align="left" colspan="2"> *วันที่เริ่มทำงาน : workstart [year, month, day] eg. workstart.year = ปีที่เข้าทำงาน,workstart.month = เดือนที่เข้าทำงาน</td> </tr> <tr> <td align="left" colspan="2"> *วันที่เริ่มทำงาน : empstartdate แบบ CscCalendar (ใช้เปรียบเทียบได้ง่ายกว่า เช่น empstartdate.afterDate(emp.getCscCalendar("approve_date"))) </td> </tr> <tr> <td align="left" colspan="2"> *อายุงาน : workage [year, month, day] eg. สมติอายุงาน 10:02:23, workage.year = 10,workage.month = 02</td> </tr> <tr> <td align="left" colspan="2"> *อายุงานเป็นวัน : dayofwork eg. สมมติเข้าทำงาน (ฟิลด์ startdate ในตาราง Memployee) วันที่ 01-01-2014 วันนี้วันที่ 15-01-2014 ดังนั้น อายุงานเป็นวันได้ 15 วัน</td> </tr> <tr> <td align="left" colspan="2"> *จำนวนปีที่ทำงาน : yearofwork eg. เข้างานวันที่ 10-08-2010 , yearofwork = 3 โดยนับปีที่เริ่มทำงาน 2010 ,2011 และ 2012 รวมเป็น 3 </td> </tr> <tr> <td align="left" colspan="2"> *วันที่ปัจจุบัน : today [year, month, day] </td> </tr> <tr> <td align="left" colspan="2"> *วันที่ปัจจุบัน : todaydate เป็น CscCalendar (ใช้เปรียบเทียบได้ง่ายกว่า เช่น todaydate.afterDate(emp.getCscCalendar("approve_date"))) </td> </tr> <tr> <td align="left" colspan="2"> *จำนวนวันในปีนั้น ๆ : dayofyear</td> </tr> <tr> <td align="left" colspan="2"> *รายละเอียดพนักงาน : emp (เก็บฟิลด์ในตาราง Memployee) eg. ต้องการดึงวันที่ผ่านทดลองงาน emp.getCscCalendar("approve_date") จะได้ CscCalendar เก็บวันที่ผ่านทดลองงาน หรือ emp.getString("pl") จะได้ level ของพนักงาน เป็นต้น</td> </tr> <tr> <td align="left" colspan="2"> *รายละเอียดงาน : empjob (เก็บฟิลด์จากตาราง Mjobcode) eg. ต้องการดึงเลเวลของงาน empjob.getString("jobcode_level") จะได้ จะได้เลเวลของงาน</td> </tr> <tr> <td align="left" colspan="2"> *จำนวนวันนับจากต้นปีถึงวันที่เข้างาน(ภายในปีนั้นๆ) : empstartdate</td> </tr> <tr> <td align="left" colspan="2"> *คำสั่งใช้ปัดเศษ : util.getRoudingValue(String, Double) eg. util.getRoudingValue("OT",3.65)</td> </tr> <tr> <td align="left" colspan="2"> *ชม.ทำงานต่อวัน :hour_s (เป็น Double) ถ้าต้องการเป็น String ให้แปลงค่าก่อน eg. Double.toString(hour_s)</td> </tr> <tr> <td align="left" colspan="2"> *คำสั่งใช้แปลงค่า วัน:ชม.:นาที : DHMConv eg. แปลงเป็นนาที DHMConv.DHMToMin("10:00:00", Double.toString(hour_s)) และ แปลงจากนาที เป็น วัน ชม. นาที eg. DHMConv.MinToDHM(1350, hour_s)</td> </tr> <tr> <td class="blankspace" colspan="2"></td> </tr> <tr> <td align="left" colspan="2"> *ปกติ หมายถึง สิทธิปีปัจจุบันจะได้ตามเงื่อนไขที่เข้าสูตร หากเข้าเงื่อนไขสูตรมากกว่า 1 สูตรจะได้ค่าจากสูตรล่าสุด</td> </tr> <tr> <td class="blankspace" colspan="2"></td> </tr> <tr> <td align="left" colspan="2"> *เพิ่มเติม หมายถึง สิทธิปีปัจจุบันจะได้เพิ่มจากเดิม (จากสูตรปกติ) ตามเงื่อนไขที่เข้าสูตร หากเข้าเงื่อนไขสูตรมากกว่า 1 สูตรจะบวกค่าสิทธิปีปัจจุบันไปเรื่อย ๆ เช่น สิทธิปีปัจจุบันจากสูตรปกติได้ 6 วัน แต่สูตรเพิ่มเติมกำหนดว่า ถ้าเข้างานช่วงเดือน 1 จะได้เพิ่มอีก 2 วัน ดังนั้น สิทธิปีปัจจุบันจะได้ 6 + 2 = 8 วัน</td> </tr> <tr> <td class="blankspace" colspan="2"></td> </tr> <tr> <td align="left" colspan="2"> *สูตรยกยอด หมายถึงค่ายกยอดที่ได้จากสูตรนี้ จะไปแทนที่ค่ายอดยกมาปัจจุบันที่คำนวณได้ปกติ เช่น ยอดยกมาจะได้ 5 วัน แต่เข้าสูตรยอดยอด ที่ได้ 2 วัน ดังนั้นค่ายอดยกมาจะได้แค่ 2 ตามสูตรยกยอด</td> </tr> <tr> <td class="blankspace" colspan="2"></td> </tr> <tr> <td class="bottom" colspan="2"></td> </tr> </table> </div> <!----------BEGIN CSC ENDING ZONE ------------------------> <%=screen.endJSP()%> <!----------END CSC ENDING ZONE --------------------------> </form> </body> </html>