<%@page contentType="text/html; charset=UTF-8"%> <%@page import="java.util.*,java.io.*"%> <%@page import="com.csc.library.utilities.CscCalendar,com.csc.library.entry.HelpEntry,com.csc.library.system.*,com.csc.library.utilities.*"%> <%@page import="com.csc.library.utilities.CscTime"%> <%@page import="com.csc.library.session.*"%> <%@page import="com.csc.library.database.*"%> <%@page import="com.csc.library.database.DataSet,java.util.HashMap,java.text.*"%> <jsp:useBean id="TAU134_DETAIL" class="com.csc.library.system.Task" scope="page" /> <% TAU134_DETAIL.setChannel(request, response); HelpEntry screen = (HelpEntry) TAU134_DETAIL.process("HelpEntry", "TAU134_DETAILHELP"); screen.setMaxLine(30); screen.process(); screen.referLangOn(); ThaiUtilities thai=new ThaiUtilities(); DecimalFormat df=new DecimalFormat("#0.00"); HashMap hmTime0id = new HashMap(); String cmd = request.getParameter("__cmd"); String goPage = request.getParameter("__goPage"); int RowCount = ((Integer.parseInt(screen.currentPage)-1)*screen.maxLine); String ev = ""; String fld = getMConfigValue(screen.getUProfile(), "TALVFD"); String filter = "display = '1' and daytype!='1' and daytype !='5' and daytype !='6' and daytype !='9' and (eventgrpid<>'J') and BRANCHID = (select " + fld + " from MEMPLOYEE where EMPLOYEEID = '" + ((screen.getDataLabel("employeeid").equals(""))?(String)screen.getUProfile().get("employeeid"):screen.getDataLabel("employeeid")) + "')"; /* leave on each branch */ DbInquiry eventgrp = new InitialInquiry(screen.getUProfile()).getDbInquiry(); eventgrp.setSchemaName(screen.getUProfile().getSchemaName()); eventgrp.initMyTable("meventgrp1", filter, ""); eventgrp.setColumn("eventgrpid,companyid,tdesc,edesc,daytype,display,display_order"); eventgrp.referLangOn(); eventgrp.setOrderBy("display_order"); eventgrp.refresh(); HashMap hmEvent = new HashMap(); while(eventgrp.next()){ HashMap m = new HashMap(); m.put("thai", eventgrp.getString("tdesc")); m.put("eng", eventgrp.getString("edesc")); hmEvent.put(eventgrp.getString("eventgrpid"), m); } /* standard event I,O,H,T,J */ DbInquiry eventgrp_std = new InitialInquiry(screen.getUProfile()).getDbInquiry(); eventgrp_std.setSchemaName(screen.getUProfile().getSchemaName()); eventgrp_std.initMyTable("meventgrp", "eventgrpid in('I','H','O','T','J')", ""); eventgrp_std.setColumn("eventgrpid,companyid,tdesc,edesc,tsdesc,esdesc,daytype,display,display_order"); eventgrp_std.referLangOn(); eventgrp_std.refresh(); HashMap hmEvent_std = new HashMap(); while(eventgrp_std.next()){ HashMap m = new HashMap(); m.put("thai", eventgrp_std.getString("tsdesc")); m.put("eng", eventgrp_std.getString("esdesc")); hmEvent_std.put(eventgrp_std.getString("eventgrpid"), m); } /* search early status from meventgr */ String Early = "EAL"; DbRecord dbEal = new InitialRecord(screen.getUProfile()).getDbRecord("Meventgrp"); dbEal.setColumn("*"); dbEal.set("eventgrpid", Early); int evgDbFound = dbEal.search(); %> <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> <link href="../CSS/Bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"> <script type='text/javascript' src='../JS/SCREEN.js'></script> <script type='text/javascript' src='../JS/jquery-1.11.1.min.js'></script> <script type='text/javascript' src='../JS/jquery-ui-1.11.4.js'></script> <script type='text/javascript' src='../JS/bootstrap.js'></script> <script type='text/javascript' src='../JS/angular-1.3.15/angular.js'></script> <script type='text/JavaScript' SRC='../JS/ANGULAR/SCREEN_ANGULAR.js'></script> <script language='javascript'>setLang('<%=screen.getUProfile().get("lang")%>');</script> <script type='text/javascript' src='../JS/DATEINPUT.js'></script> <script type='text/javascript' src='../JS/VIEWCALENDAR.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/SearchDWR.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/Daily_Attendance.js"></script> <script >getTitleName();</script> <STYLE type=text/css> font.holiday { FONT-FAMILY: "MS Sans Serif", sans-serif, "Microsoft Sans Serif"; font-size: 12px; color: #FF00FF; } font.absent { FONT-FAMILY: "MS Sans Serif", sans-serif, "Microsoft Sans Serif"; font-size: 12px; color: #FF0000; } td.tdholiday{ FONT-FAMILY: "MS Sans Serif", sans-serif, "Microsoft Sans Serif"; background-color: FF9999; font-size: 12px; color: #3366CC; height: 14px; border: 1px solid #CCCCCC; } table.rockSizeTable{ width: 1100px; cell-spacing:0; } a { text-decoration: underline; cursor:pointer; } .colorRow0 td{ background-color:#FFFFFF; border:1px solid #CCCCCC; color:#3366CC; font-size:12px; height:14px; text-align:center; padding:2px; } .colorRow1 td{ background-color:#EFEFEF; border:1px solid #CCCCCC; color:#3366CC; font-size:12px; height:14px; text-align:center; padding:2px; } .absent a { color: #FF0000; text-decoration: underline; } .absent td { color: #FF0000; } .day-off a { color: #FFA700; text-decoration: underline; } .day-off td { color: #FFA700; } .holiday a { color: #FF00FF; text-decoration: underline; } .holiday td { color: #FF00FF; } .change-punch { color: orange !important; text-decoration: underline; } .change-time0 { color: orange !important; text-decoration: underline; } .header_aga td{ -moz-background-clip:border; -moz-background-inline-policy:continuous; -moz-background-origin:padding; background:#BBBBBB none repeat scroll 0 0; border:1px solid #BBBBBB; font-size:12px; font-weight:bold; text-align:center; } #myModal .modal-dialog { width:1200px; height:500px; } .row{ padding:3px; } textarea { resize: none; } .hidetag { display : none; } </style> <script type="text/JavaScript"> function linkDetail(empid, dateid, time0id){ with (document.cscform){ location = "TAU122.jsp?__employeeid="+empid+"&__dateid="+dateid+"&__time0id="+time0id+"&__search=true"+getAllCondition()+"&__whereCuz="+__fixCon.value; } } function getAllCondition(){ var strReturn=""; with (document.cscform){ strReturn="&__emp1="+__emp1.value; strReturn+="&__emp2="+__emp2.value; strReturn+="&__bbu1="+__bu1.value; strReturn+="&__bbu2="+__bu2.value; strReturn+="&__bbu3="+__bu3.value; strReturn+="&__bbu4="+__bu4.value; strReturn+="&__bbu5="+__bu5.value; strReturn+="&__date1="+__date1.value; strReturn+="&__date2="+__date2.value; } return strReturn; } function linkHelp_Return(help,input,filter){ with(document.cscform){ if (__fixCon.value!="")//{ __fixCon.value=__fixCon.value var nInput = input; if(input.indexOf(":")>0){ nInput=input.substring(0,input.indexOf(":")); } obj = eval("document.cscform."+nInput); if(obj.value==""){ var param="PRU084.jsp?__helpName="+help+"&__helpReturn="+input+"&__pageCall="+__screen.value+"&__fixCon="+filter+"&__checkVerify=off"; }else{ var param="PRU084.jsp?__helpName="+help+"&__helpReturn="+input+"&__pageCall="+__screen.value+"&__fixCon="+filter+"&__checkVerify=off"+"&__valueSearch="+obj.value; } window.open(param,"Help","left=150,top=150,width=650,height=450,toolbar=no,status=yes,scrollbars=yes,resizable=yes"); } } function chkDateTime1(valueSearch){ var tmpval=""; with(document.cscform){ var valueSearch1=valueSearch.split("-"); if(valueSearch1.length==3){ if(valueSearch1[1].length==1){ valueSearch1[1]="0"+valueSearch1[1]; } if(valueSearch1[0].length==1){ valueSearch1[0]="0"+valueSearch1[0]; } valueSearch1[2]=parseInt(valueSearch1[2]); return valueSearch=valueSearch1[2]+"-"+valueSearch1[1]+"-"+valueSearch1[0]; } } } function goHelp(helpName,inputName,filter){ var helpReturn; var fixcon; if(inputName.indexOf("__emp") > -1){ helpReturn = inputName+":employeeid" }else if (inputName=="__time0"){ helpReturn = inputName+":time0id,"+inputName+"_desc:edesc"; }else if (inputName=="__reason"){ helpReturn = inputName+":reason_otid,"+inputName+"_desc:edesc"; }else if (inputName=="__workarea"){ helpReturn = inputName+":workareaid,"+inputName+"_desc:edesc"; }else if (inputName=="__costcenter0"){ helpReturn = inputName+":costcenterid,"+inputName+"_desc:edesc"; } fixcon=""; linkHelp_Return(helpName,helpReturn,fixcon); } function goHelpBu(helpName,inputName,filter){ var helpReturn; var fixcon; if(inputName=="__bu1"){ helpReturn = inputName+":bu1id,"+inputName+"_desc:edesc"; }else if(inputName=="__bu2"){ helpReturn = inputName+":bu2id,"+inputName+"_desc:edesc"; }else if(inputName=="__bu3"){ helpReturn = inputName+":bu3id,"+inputName+"_desc:edesc"; }else if(inputName=="__bu4"){ helpReturn = inputName+":bu4id,"+inputName+"_desc:edesc"; }else if(inputName=="__bu5"){ helpReturn = inputName+":bu5id,"+inputName+"_desc:edesc"; } fixcon=""; linkHelp_Return(helpName,helpReturn,fixcon); } function searchData(){ var searchBy = $('select[name="__searchBy"]').val(); var helpReturn = ""; var fixcon = ""; if(searchBy.indexOf("employeeid") > -1){ helpName = "MEMPLOYEEHELP"; helpReturn = "__valueSearch:employeeid"; } else if(searchBy.indexOf("fname") > -1){ helpName = "MEMPLOYEEHELP"; helpReturn = "__valueSearch:fname"; } else if(searchBy.indexOf("time0id") > -1){ helpName = "MTIME0HELP"; helpReturn = "__valueSearch:time0id"; } else if(searchBy.indexOf("status") > -1){ helpName = "MEMPL_STATUSHELP"; helpReturn = "__valueSearch:statuscode"; } else if(searchBy.indexOf("eventgrp") > -1){ helpName = "MEVENTGRPHELP"; helpReturn = "__valueSearch:eventgrpid"; } linkHelp_Return(helpName,helpReturn,fixcon); } function setSubmit(){ var altEmp="Please Insert Employee 1 Less Employee 2"; with(document.cscform){ if(__language.value=="tha") altEmp="กรุณากรอกข้อมูลพนักงาน 1 น้อยกว่าพนักงาน 2"; if(__emp1.value <= __emp2.value){ setFilter(); }else alert(MyCode[101]); } } function initSubmit(){ setSubmit(); } function setFilter(){ with(document.cscform){ __cmd.value="search"; var temp = __fixCon.value; var sqlEmp=""; var sqlDate=""; var sqlBu1=""; var sqlBu2=""; var sqlBu3=""; var sqlBu4=""; var sqlBu5=""; if(__emp1.value.length>0 && __emp2.value.length>0){ sqlEmp = " (employeeid between '"+__emp1.value+"' and '"+__emp2.value+"') "; }else if(__emp1.value.length>0 && __emp2.value.length==0){ sqlEmp = " employeeid='"+__emp1.value+"' "; }else if(__emp2.value.length>0 && __emp1.value.length==0){ sqlEmp = " employeeid='"+__emp2.value+"' "; } if(__date1.value.length>0 && __date2.value.length>0){ sqlDate = " (dateid between '"+chkDateTime1(__date1.value)+"' and '"+chkDateTime1(__date2.value)+"') "; }else if(__date1.value.length>0 && __date2.value.length==0){ sqlDate = " dateid='"+chkDateTime1(__date1.value)+"' "; }else if(__date2.value.length>0 && __date1.value.length==0){ sqlDate = " dateid='"+chkDateTime1(__date2.value)+"' "; } if(__bu1.value.length>0){ sqlBu1 = " bu1='"+__bu1.value+"' "; }else{ __bu1_desc.value=""; } if(__bu2.value.length>0){ sqlBu2 = " bu2='"+__bu2.value+"' "; }else{ __bu2_desc.value=""; } if (__bu3.value.length>0) sqlBu3 = " bu3='"+__bu3.value+"' "; else __bu3_desc.value=""; if (__bu4.value.length>0) sqlBu4 = " bu4='"+__bu4.value+"' "; else __bu4_desc.value=""; if (__bu5.value.length>0) sqlBu5 = " bu5='"+__bu5.value+"' "; else __bu5_desc.value=""; var setFixcon = new Array(sqlEmp,sqlDate,sqlBu1,sqlBu2,sqlBu3,sqlBu4,sqlBu5); __fixCon.value = ""; for(i=0; i<setFixcon.length; i++){ if(setFixcon[i] != ""){ __fixCon.value += setFixcon[i] + " and "; } } __fixCon.value = __fixCon.value.substring(0,__fixCon.value.length-5); submit(); } } function getObjEmp(action){ var emp_list=''; var i = 0; $("input[name^='emp$']:checked").each(function(){ i++; if(action == 'setPunch4'){ emp_list += '["' +$(this).attr('employeeid')+'","' +$(this).attr('dateid')+'","' +$(this).attr('name')+'",{"punchtime":["' +$(this).attr('punch_in')+'","' +$(this).attr('punch_L_out')+'","' +$(this).attr('punch_L_in')+'","' +$(this).attr('punch_out')+'"]},"' +$(this).attr('date_in')+'","' +$(this).attr('date_out')+'"' +'],'; }else if(action == 'setPunch2'){ emp_list += '["' +$(this).attr('employeeid')+'","' +$(this).attr('dateid')+'","' +$(this).attr('name')+'",{"punchtime":["' +$(this).attr('punch_in')+'","' +$(this).attr('punch_out')+'"]}"' +$(this).attr('date_in')+'","' +$(this).attr('date_out')+'"' +'],'; }else if(action == 'setPunch4com'){ emp_list += '["' +$(this).attr('employeeid')+'","' +$(this).attr('dateid')+'","' +$(this).attr('name')+'",{"punchtime":["' +$(this).attr('sh_tm_bg')+'","' +$(this).attr('tm_breakin')+'","' +$(this).attr('tm_breakout')+'","' +$(this).attr('sh_tm_en')+'"]},"' +$(this).attr('date_in')+'","' +$(this).attr('date_out')+'"' +'],'; }else if(action == 'setPunch2com'){ emp_list += '["' +$(this).attr('employeeid')+'","' +$(this).attr('dateid')+'","' +$(this).attr('name')+'",{"punchtime":["' +$(this).attr('sh_tm_bg')+'","' +$(this).attr('sh_tm_en')+'"]}"' +$(this).attr('date_in')+'","' +$(this).attr('date_out')+'"' +'],'; }else{ emp_list += '["' +$(this).attr('employeeid')+'","' +$(this).attr('dateid')+'","' +$(this).attr('name')+'"],'; } }); emp_list = emp_list.substr(0,emp_list.length-1); var result = '"emp_list":['+emp_list+'],"totalRow":"'+i+'"'; return result; } function getUniqueObjEmp(action){ var temp_employeeid=''; var dateid=''; var emp_list=''; var i = 0; $("input[name^='emp$']:checked").each(function(){ if(temp_employeeid!=$(this).attr('employeeid')||dateid!=$(this).attr('dateid')){ i++; temp_employeeid = $(this).attr('employeeid'); dateid = $(this).attr('dateid'); if(action == 'setPunch4'){ emp_list += '["' +$(this).attr('employeeid')+'","' +$(this).attr('dateid')+'","' +$(this).attr('name')+'",{"punchtime":["' +$(this).attr('punch_in')+'","' +$(this).attr('punch_L_out')+'","' +$(this).attr('punch_L_in')+'","' +$(this).attr('punch_out')+'"]},"' +$(this).attr('date_in')+'","' +$(this).attr('date_out')+'"' +'],'; }else if(action == 'setPunch2'){ emp_list += '["' +$(this).attr('employeeid')+'","' +$(this).attr('dateid')+'","' +$(this).attr('name')+'",{"punchtime":["' +$(this).attr('punch_in')+'","' +$(this).attr('punch_out')+'"]}"' +$(this).attr('date_in')+'","' +$(this).attr('date_out')+'"' +'],'; }else if(action == 'setPunch4com'){ emp_list += '["' +$(this).attr('employeeid')+'","' +$(this).attr('dateid')+'","' +$(this).attr('name')+'",{"punchtime":["' +$(this).attr('sh_tm_bg')+'","' +$(this).attr('tm_breakin')+'","' +$(this).attr('tm_breakout')+'","' +$(this).attr('sh_tm_en')+'"]},"' +$(this).attr('date_in')+'","' +$(this).attr('date_out')+'"' +'],'; }else if(action == 'setPunch2com'){ emp_list += '["' +$(this).attr('employeeid')+'","' +$(this).attr('dateid')+'","' +$(this).attr('name')+'",{"punchtime":["' +$(this).attr('sh_tm_bg')+'","' +$(this).attr('sh_tm_en')+'"]}"' +$(this).attr('date_in')+'","' +$(this).attr('date_out')+'"' +'],'; }else{ emp_list += '["' +$(this).attr('employeeid')+'","' +$(this).attr('dateid')+'","' +$(this).attr('name')+'","' +$(this).attr('sh_tm_bg')+'","' +$(this).attr('sh_tm_en')+'"],'; } } }); emp_list = emp_list.substr(0,emp_list.length-1); var result = '"emp_list":['+emp_list+'],"totalRow":"'+i+'"'; return result; } function IsEmpChecked(){ if($("input[name^='emp$']:checked").size()==0){ if(lang=='tha'){ alert("กรุณาเลือกข้อมูลตารางการทำงาน"); }else{ alert("Please select Daily Attendance Record"); } return false; }else{ return true; } } function goToDWR(action){ var json =''; if(action === 'setWorkOff'){ var $day_type = $("[name=__day_type]").val(); json ='{'+getObjEmp()+',"action":"'+action+'"'+ ',"day_type":"'+$day_type+'"'+ '}'; waitingDialog.show('Processing'); Daily_Attendance.process(json,callback); }else if(action === "setC-OFF"){ var $day_type = 'T'; var $format_type = $("[name=__posting_type_c_off]:checked").val(); var $leave_reason = $("[name=__c-off_reason]").text(); json ='{'+getObjEmp()+',"action":"'+action+'"'+ ',"day_type":"'+$day_type+'"'+ ',"format_type":"'+$format_type+'"'+ ',"leave_reason":"'+$leave_reason+'"'+ '}'; waitingDialog.show('Processing'); Daily_Attendance.process(json,callback); }else if(action === "setShift"){ var $time0id = $("[name=__time0]").val(); json ='{'+getObjEmp()+',"action":"'+action+'","time0id":"'+$time0id+'"}'; waitingDialog.show('Processing'); Daily_Attendance.process(json,callback_and_reload); }else if(action === "postLeave"){ var $leave_type = $("[name=__leave_type]").val(); var $posting_type = $("[name=__posting_type]:checked").val(); var $leave_reason = $("[name=__leave_reason]").val(); json ='{'+getUniqueObjEmp()+',"action":"'+action+'"'+ ',"leave_type":"'+$leave_type+'"'+ ',"posting_type":"'+$posting_type+'"'+ ',"leave_reason":"'+$leave_reason+'"'+ '}'; waitingDialog.show('Processing'); Daily_Attendance.process(json,callback_postLeave); }else if(action === 'process'){ if(IsEmpChecked()){ if(confirm(MyCode[168])==true){ $("input[name='__goPage']").val(<%=goPage%>); json ='{'+getObjEmp()+',"action":"'+action+'"'+ '}'; waitingDialog.show('Processing'); Daily_Attendance.process(json,callback_and_reload); } } } } var callback = function(data){ waitingDialog.hide(); } var callback_and_reload = function(data){ waitingDialog.hide(); setSubmit(); } var callback_postLeave = function(data){ waitingDialog.hide(); if(data!='[]'){ data = data.replace('[',''); data = data.replace(']',''); //data = data.replace(/,/g,'<BR>'); data = data.split(','); $('#postLeaveError').find(".modal-body").text(''); table = '<div class="row">'; table += '<div class="col-md-3" style="text-align:center;">Employeeid</div>'; table += '<div class="col-md-3" style="text-align:center;">Fullname</div>'; table += '<div class="col-md-3" style="text-align:center;">Dateid</div>'; table += '<div class="col-md-3" style="text-align:center;">Message</div>'; table += '</div>'; for(var i=0;i<data.length;i++){ employeedata = data[i].split('#'); table += '<div class="row">'; table += '<div class="col-md-3" style="text-align:center;">'+employeedata[0]+'</div>'; table += '<div class="col-md-3" style="text-align:center;">'+employeedata[1]+'</div>'; table += '<div class="col-md-3" style="text-align:center;">'+employeedata[2]+'</div>'; table += '<div class="col-md-3" style="text-align:center;">'+employeedata[3]+'</div>'; table += '</div>'; } $('#postLeaveError').find(".modal-body").append(table); $('#postLeaveError').modal('show'); } } $(function(){ $('button[action="setPunch"]').bind('click', function(e) { if(IsEmpChecked()){ e.preventDefault(); if($('[name="splitShift"]').attr("checked")=="true"){ json ='{'+getObjEmp('setPunch4')+',"action":"setPunch"}'; }else{ json ='{'+getObjEmp('setPunch2')+',"action":"setPunch"}'; } var url="TAU_BOSS_FORGETCARD.jsp?__cmd=daily_attendance&__json="+json; loadIframe('linkpopup',url); if(lang=='tha'){ $('#myModal').find(".modal-title").text("กำหนดข้อมูลการเข้างาน"); }else{ $('#myModal').find(".modal-title").text("Set Punch"); } $("#myModal").modal("show"); } }); $('button[action="setOT"]').bind('click', function(e) { if(IsEmpChecked()){ e.preventDefault(); json ='{'+getUniqueObjEmp()+',"action":"setOT","ot_type":"0"}'; var url = "TAU154.jsp?__cmd=daily_attendance&__json="+json; loadIframe('linkpopup',url); if(lang=='tha'){ $('#myModal').find(".modal-title").text("กำหนด OT"); }else{ $('#myModal').find(".modal-title").text("Set OT"); } $("#myModal").modal("show"); } }); $('button[action="setC-OT"]').bind('click', function(e) { if(IsEmpChecked()){ e.preventDefault(); if(lang=='tha'){ $('#myModal').find(".modal-title").text("กำหนด OT สะสม"); }else{ $('#myModal').find(".modal-title").text("Set Compensate OT"); } json ='{'+getUniqueObjEmp()+',"action":"setC-OT","ot_type":"2"}'; var url = "TAU154.jsp?__cmd=daily_attendance&__json="+json; loadIframe('linkpopup',url); $("#myModal").modal("show"); } }); $('button[action="setC-OFF"]').bind('click', function(e) { if(IsEmpChecked()){ if(checkEventgrp('H')==true || checkEventgrp('PH')==true){ $('#myModal_C-OFF').modal('show'); }else{ if(lang=="tha"){ alert("มีเรคอร์ดที่ไม่ใช่วันหยุดประจำสัปดาห์ \n ไม่สามารถขอสะสมวันหยุดได้"); }else{ alert("The record status is not Day Off ,\n cannot set C-OFF"); } } } }); $('button[action="postLeave"]').bind('click', function(e) { if(IsEmpChecked()){ if(checkEventgrp('T')==true||checkEventgrp('J')==true||checkEventgrp('NP')==true){ $('#myModal_leave').modal('show'); }else{ if(lang=="tha"){ alert("มีเรคอร์ดที่ไม่ใช่วันทำงาน \n ไม่สามารถกรอกใบลาได้"); }else{ alert("The record status is not Work ,\n cannot post leave"); } } } }); $('button[action="setWorkOff"]').bind('click', function(e) { if(IsEmpChecked()){ $('#myModal_WorkOff').modal('show'); } }); $('button[action="setShift"]').bind('click', function(e) { if(IsEmpChecked()){ $('#myModal_shift').modal('show'); } }); $('a[action="setShiftSelf"]').bind('click', function(e) { checkedSelf(this); $('button[action="setShift"]').click(); }); $('a[action="postLeaveSelf"]').bind('click', function(e) { var docno = getDocNo(this); checkedSelf(this) if(docno != ''){ var url = "TAU120_NSTDA.jsp?__cmd=search&__absentid="+docno; loadIframe('linkpopup',url); if(lang=='tha'){ $('#myModal').find(".modal-title").text("ใบลาหยุดงาน"); }else{ $('#myModal').find(".modal-title").text("Post Leave"); } $("#myModal").modal("show"); }else{ $('button[action="postLeave"]').click(); } }); $('a[action="setOTSelf"]').bind('click', function(e) { var docno = getDocNo(this); checkedSelf(this) if(docno != ''){ var url = "TAU154.jsp?__cmd=search&__otid="+docno; loadIframe('linkpopup',url); if(lang=='tha'){ $('#myModal').find(".modal-title").text("กำหนด OT"); }else{ $('#myModal').find(".modal-title").text("Set OT"); } $("#myModal").modal("show"); }else{ $('button[action="setOT"]').click(); } }); $('a[action="setC-OTSelf"]').bind('click', function(e) { var docno = getDocNo(this); checkedSelf(this) if(docno != ''){ var url = "TAU154.jsp?__cmd=search&__otid="+docno; loadIframe('linkpopup',url); if(lang=='tha'){ $('#myModal').find(".modal-title").text("กำหนด OT สะสม"); }else{ $('#myModal').find(".modal-title").text("Set Compensate OT"); } $("#myModal").modal("show"); }else{ $('button[action="setC-OT"]').click(); } }); $('a[action="setPunchSelf"]').bind('click', function(e) { checkedSelf(this); e.preventDefault(); var employeeid = $(this).attr("employeeid") || ""; var dateid = $(this).attr("dateid") || ""; var swipetype = $(this).attr("swipetype") || ""; Daily_Attendance.getDocnoFromTtimetemp( employeeid, dateid, swipetype , function(docid){ if(docid[0]){ var url = ""; if(docid[1]==5){ url="TAU223.jsp?__cmd=search&__fscardid="+docid[0]+"&__companyid=100"; }else{ url="TAU_BOSS_FORGETCARD.jsp?__cmd=search&__fscardid="+docid[0]+"&__companyid=100"; } loadIframe('linkpopup',url); if(lang=='tha'){ $('#myModal').find(".modal-title").text("กำหนดข้อมูลการเข้างาน"); }else{ $('#myModal').find(".modal-title").text("Set Punch"); } $("#myModal").modal("show"); }else{ $('button[action="setPunch"]').click(); } }); }); $('a[action="setC-OFFSelf"]').bind('click', function(e) { checkedSelf(this) $('button[action="setC-OFF"]').click(); }); $('a[action="setWorkOffSelf"]').bind('click', function(e) { checkedSelf(this) $('button[action="setWorkOff"]').click(); }); var clearChecked = function(){ $("input[name^='emp$']").prop("checked", false) } var checkedSelf = function(obj){ clearChecked(); $(obj).parent().parent().find("input[name^='emp$']").prop("checked", true); } var getDocNo = function(obj){ return $(obj).parent().parent().find("input[name^='emp$']").attr("docno"); } function checkEventgrp(eventgrp){ var result = true; $("input[name^='emp$']:checked").each(function(){ if($(this).attr("eventgrp")!=eventgrp){ result = false; return result; } }); return result; } $('.daily-modal-lg').on('show.bs.modal', function () { $(this).find('.modal-dialog').css({ width:'70%', height:'90%', 'padding':'0' }); $(this).find('.modal-content').css({ height:'100%', 'border-radius':'5', 'padding':'0' }); $(this).find('.modal-body').css({ width:'auto', height:'90%', 'padding':'0' }); }); $('.daily-modal-sm').on('show.bs.modal', function () { $(this).find('.modal-dialog').css({ width:'50%', height:'40%', 'padding':'0' }); $(this).find('.modal-content').css({ height:'100%', 'border-radius':'5', 'padding':'0' }); $(this).find('.modal-body').css({ width:'auto', height:'90%', 'padding':'0' }); }); $('#myModal_shift').on('hide.bs.modal', function () { $("[name=__time0]").val(''); $("[name=__time0_desc]").val(''); }); $('#myModal_leave').on('hide.bs.modal', function () { $("[name=__leave_reason]").val(''); $("#__posting_type1").prop("checked", true); $("select[name=__leave_type] option:eq(0)").prop("selected", true); }); $('#myModal_C-OFF').on('hide.bs.modal', function () { $("[name=__c-off_reason]").val(''); $("input[name=__posting_type_c_off]:eq(0)").prop("checked", true); }); $('select[name="__searchBy"]').on('change', function() { var searchvalue = $(this).val(); if(searchvalue.indexOf("dateid") > -1) { $('#searchDataBase').addClass('hidetag'); $('#searchDataCalendar').removeClass('hidetag'); } else { $('#searchDataBase').removeClass('hidetag'); $('#searchDataCalendar').addClass('hidetag'); } }); }); function loadIframe(iframeName, url) { var $iframe = $('#' + iframeName); if ( $iframe.length ) { $iframe.attr('src',url); return false; } return true; } function pageDesc(empid, dateid,seq){ with(document.cscform) { var d=chkDateTime1(dateid); var filterCon = "employeeid='"+empid+"' and (dateid='"+d+"') and sequence='"+seq+"'"; //alert(filterCon); window.open("TAU1212_DAILY.jsp?__cmd="+ "&__fixCon="+filterCon, "ShowWarning","left=150,top=100,width=750,height=450,toolbar=no,status=yes,scrollbars=yes,resizable=yes" ); } } </script> </head> <body leftmargin="0" topmargin="0" onLoad="MM_preloadImages('../IMAGES/BUTTON/SEARCH.gif')"> <div id="toolTipLayer" style="position:absolute; visibility: hidden"></div> <script >initToolTips();</script> <form name="cscform" method="post" action="TAU134_DAILY.jsp"> <%=screen.InitialVariable()%> <input type="hidden" name="__screen" value="TAU134_DAILY"> <input type="hidden" name="__cmd" value="search"> <input type="hidden" name="__help" value=""> <input type="hidden" name="__goPage" value=""> <input type="hidden" name="__calendar"> <input type="hidden" name="__employeeid" value=""> <input type="hidden" name="__dateid" value=""> <input type="hidden" name="__time0id" value=""> <input type="hidden" name="__language" value="<%=screen.getUProfile().get("lang")%>"> <input type="hidden" name="__orderBy" value="<%=request.getParameter("__orderBy")%>"> <input type="hidden" name="__helpReturn" value="<%=request.getParameter("__helpReturn")%>"> <input type="hidden" name="__helpName" value="<%=request.getParameter("__helpName")%>"> <input type="hidden" name="__pageCall" value="<%=request.getParameter("__screen")%>"> <input type="hidden" name="__fixCon" value="<%=request.getParameter("__fixCon")%>"> <script >getInputFormatDate();</script> <% String emp1="",emp2="",bu1="",bu2="",bu3="",bu4="",bu5="",date1="",date2="",bu1_desc="",bu2_desc="",bu3_desc="",bu4_desc="",bu5_desc=""; if (request.getParameter("__date1")!=null) date1=request.getParameter("__date1"); if (request.getParameter("__date2")!=null) date2=request.getParameter("__date2"); if (request.getParameter("__emp1")!=null) emp1=request.getParameter("__emp1"); if (request.getParameter("__emp2")!=null) emp2=request.getParameter("__emp2"); if (request.getParameter("__bu1")!=null) bu1=request.getParameter("__bu1"); if (request.getParameter("__bu2")!=null) bu2=request.getParameter("__bu2"); if (request.getParameter("__bu3")!=null) bu3=request.getParameter("__bu3"); if (request.getParameter("__bu4")!=null) bu4=request.getParameter("__bu4"); if (request.getParameter("__bu5")!=null) bu5=request.getParameter("__bu5"); if (request.getParameter("__bu1_desc")!=null) bu1_desc=request.getParameter("__bu1_desc"); if (request.getParameter("__bu2_desc")!=null) bu2_desc=request.getParameter("__bu2_desc"); if (request.getParameter("__bu3_desc")!=null) bu3_desc=request.getParameter("__bu3_desc"); if (request.getParameter("__bu4_desc")!=null) bu4_desc=request.getParameter("__bu4_desc"); if (request.getParameter("__bu5_desc")!=null) bu5_desc=request.getParameter("__bu5_desc"); %> <br/> <table height="" align="center" cellpadding="0" cellspacing="0" border="1" class="largest"> <tr bgcolor="#3366CC"> <td height="20" class="header" colspan="4">TAU134_DAILY, <script >swapLang("Time Current of Employee");</script> </td> </tr> <tr> <td class="blankspace" colspan="4"></td> </tr> <!-- old condition box place here --> <tr> <td colspan="4" align="center"> <table> <tr> <td align="right"><strong><script >swapLang("Employee ID");</script> </strong></td> <td colspan="3"><input type="text" name="__emp1" size="15" value="<%=emp1%>"> <a href="javascript:goHelp('MEMPLOYEEHELP','__emp1','')" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image2','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="Help" name="Image2" border="0" align="absmiddle"></a> - <input type="text" name="__emp2" size="15" value="<%=emp2%>"> <a href="javascript:goHelp('MEMPLOYEEHELP','__emp2','')" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image3','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="Help" name="Image3" border="0" align="absmiddle"></a></span> </td> </tr> <tr> <td align="right"><%=screen.getLabel("bu1")%> </td> <td colspan="3"><input type="text" name="__bu1" size="15" value="<%=bu1%>"> <a href="javascript:goHelpBu('MBU1HELP','__bu1','')" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('imgBu1','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="Help" name="imgBu1" border="0" align="absmiddle"></a> <input name="__bu1_desc" type="text" value="<%=thai.ASCII2Unicode(bu1_desc)%>" size="50" readonly=""> </td> </tr> <tr> <td align="right"><%=screen.getLabel("bu2")%> </td> <td colspan="3"><input type="text" name="__bu2" size="15" value="<%=bu2%>"> <a href="javascript:goHelpBu('MBU2HELP','__bu2','')" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('imgBu2','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="Help" name="imgBu2" border="0" align="absmiddle"></a> <input name="__bu2_desc" type="text" id="__bu2_desc" value="<%=thai.ASCII2Unicode(bu2_desc)%>" size="50" readonly=""> </td> </tr> <tr> <td align="right"><%=screen.getLabel("bu3")%> </td> <td colspan="3"><input type="text" name="__bu3" size="15" value="<%=bu3%>"> <a href="javascript:goHelpBu('MBU3HELP','__bu3','')" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('imgBu3','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="Help" name="imgBu3" border="0" align="absmiddle"></a> <input name="__bu3_desc" type="text" value="<%=thai.ASCII2Unicode(bu3_desc)%>" size="50" readonly=""> </td> </tr> <tr> <td align="right"><%=screen.getLabel("bu4")%> </td> <td colspan="3"><input type="text" name="__bu4" size="15" value="<%=bu4%>"> <a href="javascript:goHelpBu('MBU4HELP','__bu4','')" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('imgBu4','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="Help" name="imgBu4" border="0" align="absmiddle"></a> <input name="__bu4_desc" type="text" value="<%=thai.ASCII2Unicode(bu4_desc)%>" size="50" readonly=""> </td> </tr> <tr> <td align="right"><%=screen.getLabel("bu5")%> </td> <td colspan="3"><input type="text" name="__bu5" size="15" value="<%=bu5%>"> <a href="javascript:goHelpBu('MBU5HELP','__bu5','')" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('imgBu5','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="Help" name="imgBu5" border="0" align="absmiddle"></a> <input name="__bu5_desc" type="text" value="<%=thai.ASCII2Unicode(bu5_desc)%>" size="50" readonly=""> </td> </tr> <tr> <td align="right"><script >swapLang('Period Date');</script> </td> <td colspan="3"><span class="columnobject1"> <input type="text" name="__date1" size="10" maxlength="8" value="<%=date1%>" onKeyup = "formatDate(this)" onBlur = "chkInputDate2(this,__date2)" onKeypress = "chkIntegerOfDate(this.value)" onMouseOver="toolTip('DDMMYYYY')" onMouseOut="toolTip()"> <a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('calendar1','','../IMAGES/BUTTON/SWAP/CALENDAR_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/CALENDAR20.gif" name="calendar1" border="0" align="absmiddle" onClick="viewCal('__date1')" alt="Calendar"></a> - <input type="text" name="__date2" size="10" maxlength="8" value="<%=date2%>" onKeyup = "formatDate(this)" onBlur = "chkInputDate2(__date1,this)" onKeypress = "chkIntegerOfDate(this.value)" onMouseOver="toolTip('DDMMYYYY')" onMouseOut="toolTip()"> <a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('calendar2','','../IMAGES/BUTTON/SWAP/CALENDAR_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/CALENDAR20.gif" name="calendar2" border="0" align="absmiddle" onClick="viewCal('__date2')" alt="Calendar"></a></span> </td> </tr> <tr> <td><div align="right"><script >swapLang('Order By');</script> </div></td> <td colspan="3"><%=screen.getTagOrder()%>    <script >swapLang('Search By');</script> <%=screen.getTagSearchBy()%></td> </tr> <tr> <td><div align="right"><script >swapLang('Condition');</script> </div></td> <td colspan="3"> <%=screen.getTagConSearch()%>        <script >swapLang('Key Value');</script> <%=screen.getTagValueSearch()%> <a href="javascript:searchData();" id="searchDataBase"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif"></a> <a href="#" id="searchDataCalendar" class="hidetag" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('calendarKey','','../IMAGES/BUTTON/SWAP/CALENDAR_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/CALENDAR20.gif" name="calendarKey" border="0" align="absmiddle" onClick="viewCal('__valueSearch')" alt="Calendar"></a> </td> </tr> <tr> <td style="text-align:right;">Split shift </td> <td colspan="3"><input name="splitShift" type="checkbox" ng-model="checked"></td> </tr> <tr> <td class="buttonline" colspan="7"><div align="center"> <button type="button" class="btn btn-primary width100" swlang code="SW003537" onClick="setSubmit();">Search</button> </div> </td> </tr> </table> </td> </tr> <tr> <td class="blankspace" colspan="4"></td> </tr> <% if((cmd != null && cmd.equals("search")) || (goPage != null && !goPage.equals(""))){ %> <tr class="medium"> <td colspan="4"> <div align="center" > <div class="btn-group" role="group" aria-label="..."> <button type="button" class="btn btn-warning" class="external" href="#" action="setShift">Set Shift</button> <button type="button" class="btn btn-primary" class="external" href="#" action="setWorkOff">Set Work/Off</button> <button type="button" class="btn btn-primary" class="external" href="#" action="postLeave">Post Leave</button> <button type="button" class="btn btn-primary" class="external" href="#" action="setPunch">Set Punch</button> <button type="button" class="btn btn-primary" class="external" href="#" action="setOT">Set OT</button> <button type="button" class="btn btn-primary" class="external" href="#" action="setC-OT">Set C-OT</button> <button type="button" class="btn btn-primary" class="external" href="#" action="setC-OFF">Set C-OFF</button> </div> <button type="button" class="btn btn-success" class="external" onclick="goToDWR('process')">Process</button> </div> </td> </tr> <tr> <td colspan="4"><div align="right">< <%=screen.getPageTag()%> ></div></td> </tr> <tr> <td class="blankspace" colspan="4"></td> </tr> <tr> <td colspan="4"> <table height="" align="center" cellpadding="0" cellspacing="0" class="largest"> <tr class="header_aga" > <td width="2%" swlang code="SW001393">No.</td> <td width="5%" swlang code="SW011686">Emp. ID</td> <td width="10%" swlang code="SW000195">Name</td> <td width="5%" swlang code="SW001033">Date</td> <td width="1%"><input type='checkbox' ng-model="select_emp"/></td> <td width="3%" swlang code="SW000019">Status</td> <td width="1%" swlang code="SW008607">Shift</td> <td width="2%" swlang code="SW011689">Shift In</td> <td width="3%" ng-show="checked" swlang code="SW011690">Shift L-Out</td> <td width="3%" ng-show="checked" swlang code="SW011691">Shift L-In</td> <td width="3%" swlang code="SW011692">Shift Out</td> <td width="3%" swlang code="SW011693">Punch In</td> <td width="3%" ng-show="checked" swlang code="SW011694">Punch L-Out</td> <td width="3%" ng-show="checked" swlang code="SW011695">Punch L-In</td> <td width="3%" swlang code="SW011696">Punch Out</td> <td width="3%" swlang code="SW011697">Late/Early</td> <td width="3%" swlang code="SW000299">Leave</td> <td width="3%" swlang code="SW001880">Absent</td> <td width="3%" swlang code="SW008938">Hours</td> <td width="3%" swlang code="SW000301">OT</td> <td width="3%" swlang code="SW011687">C-OT</td> <td width="1%" swlang code="SW011688">C-OFF</td> </tr> <% int rowColor =1; // for swap row color CscCalendar today = new CscCalendar(); CscCalendar oldCsc = new CscCalendar(); while(screen.nextRec()){ if(screen.checkLinePage()){ String cFont = ""; String changeFontPunchIn = ""; String changeFontPunchOut = ""; String changeFontTime0 = ""; if( screen.getString("eventgrp").equalsIgnoreCase("J") ){ cFont ="absent"; } else if( screen.getString("eventgrp").equalsIgnoreCase("H") ){ cFont ="day-off"; } else if ( screen.getString("eventgrp").equalsIgnoreCase("I") ){ cFont ="holiday"; } if( screen.getString("source_in").equals("5") || screen.getString("source_in").equals("6") || screen.getString("source_in").equals("7") ){ changeFontPunchIn ="change-punch"; } if( screen.getString("source_out").equals("5") || screen.getString("source_out").equals("6") || screen.getString("source_out").equals("7") ){ changeFontPunchOut ="change-punch"; } if( !screen.getString("old_time0").equals(screen.getString("time0id")) && !screen.getString("old_time0").equals("") ){ changeFontTime0 ="change-time0"; } CscCalendar csc = new CscCalendar(screen.getString("dateid")); if(!csc.equals(oldCsc)){ rowColor++; oldCsc = csc; } RowCount++; /*inq_mtime1.setFilter("time0id",screen.getString("time0id")); inq_mtime1.setFilter("line_no","0"); inq_mtime1.setFilter("dayweekid",String.valueOf(new CscCalendar(screen.getString("dateid")).getDayOfWeek())); inq_mtime1.refresh(); inq_mtime1.next();*/ String punch_in = ( screen.getString("forget_in").equals("0") || screen.getString("source_in").equals("5") || screen.getString("source_in").equals("6") || screen.getString("source_in").equals("7") )?screen.getString("m_tm_bg"):screen.getString("doctype").equals("A")?screen.getString("c_tm_bg"):"-"; String punch_L_out = ( screen.getString("forget_in").equals("0") || screen.getString("source_out").equals("5") || screen.getString("source_out").equals("6") || screen.getString("source_out").equals("7") )?screen.getString("tm_breakin"):screen.getString("doctype").equals("A")?screen.getString("tm_breakin"):"-"; String punch_L_in = ( screen.getString("forget_out").equals("0") || screen.getString("source_in").equals("5") || screen.getString("source_in").equals("6") || screen.getString("source_in").equals("7") )?screen.getString("tm_breakout"):screen.getString("doctype").equals("A")?screen.getString("tm_breakout"):"-"; String punch_out = ( screen.getString("forget_out").equals("0") || screen.getString("source_out").equals("5") || screen.getString("source_out").equals("6") || screen.getString("source_out").equals("7") )?screen.getString("m_tm_en"):screen.getString("doctype").equals("A")?screen.getString("c_tm_en"):"-"; /* process date beyond today punch in-out will be replace with '-' */ if(screen.getString("source_in").equals("A")) punch_in = "-"; if(screen.getString("source_out").equals("A")) punch_out = "-"; /* punch in-out on holiday */ if((screen.getString("source_in").equals("0") || screen.getString("source_in").equals("1")) && (screen.getString("eventgrp").equals("H") || screen.getString("eventgrp").equals("I"))) { punch_in = screen.getString("m_tm_bg") ; } if((screen.getString("source_out").equals("0") || screen.getString("source_out").equals("1")) && (screen.getString("eventgrp").equals("H") || screen.getString("eventgrp").equals("I"))) { punch_out = screen.getString("m_tm_en") ; } /* no punch in-out on holiday */ if(screen.getString("source_in").equals("") && (screen.getString("eventgrp").equals("H") || screen.getString("eventgrp").equals("I")) && screen.getString("m_tm_bg").equals("0.00")) { punch_in = "-" ; } if(screen.getString("source_out").equals("") && (screen.getString("eventgrp").equals("H") || screen.getString("eventgrp").equals("I")) && screen.getString("m_tm_en").equals("0.00")) { punch_out = "-" ; } /* case leave, punch in - out will be set to blank on case on half day or hour */ if(screen.getString("doctype").equals("A") && screen.getString("sh_dt_bg").equals(screen.getString("c_dt_bg")) && screen.getString("sh_tm_bg").equals(screen.getString("c_tm_bg")) && screen.getString("sh_dt_en").equals(screen.getString("c_dt_en")) && screen.getString("sh_tm_en").equals(screen.getString("c_tm_en")) && (screen.getString("source_in").equals("0") || screen.getString("source_in").equals("1")) && (screen.getString("source_out").equals("0") || screen.getString("source_out").equals("1")) ) { /* need to show in - out */ punch_in = screen.getString("m_tm_bg") ; punch_out = screen.getString("m_tm_en") ; }else if(screen.getString("doctype").equals("A") || csc.afterDate(today)) { punch_in = "-"; punch_out = "-"; } /* early leave work */ String evtgrp = screen.getString("eventgrp") ; if(evtgrp.equals("J") && !screen.getString("warn05").equals("")){ if(evgDbFound == 1){ if(screen.getUProfile().get("lang").equalsIgnoreCase("eng")){ evtgrp = dbEal.getString("esdesc"); }else{ evtgrp = dbEal.getString("tsdesc"); } }else{ evtgrp = "Early"; /* default */ } }else if(evtgrp.equals("I") || evtgrp.equals("H") || evtgrp.equals("T")){ if(screen.getUProfile().get("lang").equalsIgnoreCase("eng")){ evtgrp = screen.getString("MEVENTGRP", "tsdesc") ; }else{ evtgrp = screen.getString("MEVENTGRP", "esdesc") ; } }else if(evtgrp.equals("PH") && !screen.getString("unused2").equals("0.00")){ punch_in = screen.getString("m_tm_bg") ; punch_out = screen.getString("m_tm_en") ; if(screen.getUProfile().get("lang").equalsIgnoreCase("eng")){ evtgrp = getEventDesc(hmEvent_std, "T", "thai") ; }else{ evtgrp = getEventDesc(hmEvent_std, "T", "eng") ; } }else{ if(isStandardEvent(hmEvent_std, evtgrp)){ if(screen.getUProfile().get("lang").equalsIgnoreCase("eng")){ evtgrp = getEventDesc(hmEvent_std, evtgrp, "thai") ; }else{ evtgrp = getEventDesc(hmEvent_std, evtgrp, "eng") ; } }else{ if(screen.getUProfile().get("lang").equalsIgnoreCase("eng")){ evtgrp = getEventDesc(hmEvent, evtgrp, "thai") ; }else{ evtgrp = getEventDesc(hmEvent, evtgrp, "eng") ; } } } %> <tr class="colorRow<%=(rowColor%2)%> <%=cFont%>"> <td width="2%" style="text-align:right;"><%=RowCount%></td> <td width="5%" style="text-align:right;"><%=screen.getString("employeeid")%></td> <td width="7%" style="text-align:left;"><%=screen.getString("memployee","fullname")%></td> <td width="5%" style="text-align:left;"> <a href="javascript:pageDesc('<%=screen.getString("employeeid")%>','<%=screen.getString("dateid")%>','<%=screen.getString("sequence")%>')"> <%=new CscCalendar(screen.getString("dateid")).getDDMMYYYYSHORTDAY(screen.getUProfile().get("lang"))%> </a> </td> <td width="1%"> <input name="emp$<%=RowCount%>" type="checkbox" ng-checked="select_emp" employeeid="<%=screen.getString("employeeid")%>" dateid="<%=screen.getString("dateid")%>" date_in="<%=screen.getString("c_dt_bg")%>" date_out="<%=screen.getString("c_dt_en")%>" punch_in="<%=punch_in%>" punch_L_out="<%=punch_L_out%>" punch_L_in="<%=punch_L_in%>" punch_out="<%=punch_out%>" sh_tm_bg="<%=screen.getString("sh_tm_bg")%>" tm_breakin="<%=screen.getString("tm_breakin")%>" tm_breakout="<%=screen.getString("tm_breakout")%>" sh_tm_en="<%=screen.getString("sh_tm_en")%>" eventgrp="<%=screen.getString("eventgrp")%>" hour_d="<%=screen.getString("hour_d")%>" docno="<%=screen.getString("docno")%>" /> </td> <td width="3%"><a href="#" action="setWorkOffSelf"><%=evtgrp/*screen.getString("MEVENTGRP", "tsdesc")*/%></a></td> <td width="1%"><a href="#" action="setShiftSelf" class="<%=changeFontTime0%>"><%=screen.getString("time0id")%></a></td> <td width="2%"><%=screen.getString("sh_tm_bg")%></td> <td width="3%" ng-show="checked"><%=screen.getString("tm_breakin")%></td> <td width="3%" ng-show="checked"><%=screen.getString("tm_breakout")%></td> <td width="3%"><%=screen.getString("sh_tm_en")%></td> <td width="3%"><a href="#" action="setPunchSelf" class="<%=changeFontPunchIn%>" employeeid="<%=screen.getString("employeeid")%>" dateid="<%=screen.getString("c_dt_bg")%>" swipetype="0" ><%=punch_in%></a></td> <td width="3%" ng-show="checked"><a href="#" action="setPunchSelf" employeeid="<%=screen.getString("employeeid")%>" dateid="<%=screen.getString("dateid")%>" swipetype="1"><%=punch_L_out%></a></td> <td width="3%" ng-show="checked"><a href="#" action="setPunchSelf" employeeid="<%=screen.getString("employeeid")%>" dateid="<%=screen.getString("dateid")%>" swipetype="0"><%=punch_L_in%></a></td> <td width="3%"><a href="#" action="setPunchSelf" class="<%=changeFontPunchOut%>" employeeid="<%=screen.getString("employeeid")%>" dateid="<%=screen.getString("c_dt_en")%>" swipetype="1"><%=punch_out%></a></td> <td width="3%"><%=screen.getString("lt")%></td> <!-- ขาดงาน ถ้า doctype เป็น A m_lv จะเป็นลา --> <td ><a href="#" action="postLeaveSelf"><%=(screen.getString("doctype").equals("A"))?screen.getString("m_lv"):"0.00"%></a></td> <!-- ขาดงาน ถ้า event เป็น J m_lv จะเป็นขาดงาน --> <td ><%=(screen.getString("eventgrp").equals("J"))?screen.getString("m_lv"):"0.00"%></td> <td width="3%"><%=screen.getString("hour_d")%></td> <td width="3%"><a href="#" action="setOTSelf"><%=(Double.valueOf(screen.getString("unused1"))>0)?"0.00":screen.getString("ac_ot")%></a></td> <td width="3%"><a href="#" action="setC-OTSelf"><%=screen.getString("unused1")%></a></td> <td width="1%"><a href="#" action="setC-OFFSelf"><%=screen.getString("unused2")%></a></td> </tr> <% } } %> </table> </td> </tr> <tr> <td class="blankspace" colspan="4"></td> </tr> <%}%> <tr> <td class="blankspace" colspan="4"></td> </tr> </table> <!-- Modal iframe --> <div class="modal fade daily-modal-lg" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel">Modal title</h4> </div> <div class="modal-body"> <iframe id='linkpopup' width="100%" height="100%" frameborder="0" scrolling="yes" allowtransparency="true" src="about:blank" style="padding:10px;"></iframe> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <!-- Modal setShift --> <div class="modal fade daily-modal-sm" id="myModal_shift" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel" swlang code="SW011663">กำหนดกะการทำงาน</h4> </div> <div class="modal-body"> <div class="row"> <div class="col-md-4" style="text-align:right;" swlang code="SW008607">กะ</div> <div class="col-md-8"> <input type="text" name="__time0" size="15" value=""> <a href="javascript:goHelp('MTIME0HELP','__time0','')" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('imgBu3','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="Help" name="imgBu3" border="0" align="absmiddle"></a> <input name="__time0_desc" type="text" value="" size="20" readonly=""></div> </div> <div class="row"> <div class="col-md-12" style="text-align:center;margin-top:20px;"> <button type="button" class="btn btn-primary" data-dismiss="modal" onclick="goToDWR('setShift')">Submit</button> </div> </div> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <!-- Modal setWorkOff --> <div class="modal fade daily-modal-sm" id="myModal_WorkOff" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel" swlang code="SW011661">กำหนดประเภทวัน</h4> </div> <div class="modal-body"> <div class="row"> <div class="col-md-6" style="text-align:right;" swlang code="SW011660">ประเภทวัน</div> <div class="col-md-6"> <select name="__day_type"> <option value="T" swlang code="SW001886">วันทำงาน</option> <option value="H" swlang code="SW011662">วันหยุด</option> </select> </div> </div> <div class="row"> <div class="col-md-12" style="text-align:center;margin-top:20px;"> <button type="button" class="btn btn-primary" data-dismiss="modal" onclick="goToDWR('setWorkOff')">Submit</button> </div> </div> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <!-- Modal Leave here --> <div class="modal fade daily-modal-sm" id="myModal_leave" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel" swlang code="SW011664">Post Leave</h4> </div> <div class="modal-body"> <div class="row"> <div class="col-md-5" style="text-align:right;" swlang code="SW000300">Leave Type</div> <div class="col-md-7"> <select name="__leave_type"> <% eventgrp.refresh(); while(eventgrp.next()){ %> <option value="<%=eventgrp.getString("eventgrpid")%>"><%=eventgrp.getString("tdesc")%></option> <%}%> </select> </div> </div> <div class="row"> <div class="col-md-5" style="text-align:right;" swlang code="SW011665">Posting Type</div> <div class="col-md-7"> <input type="radio" id="__posting_type1" name="__posting_type" value="0" checked><span swlang code="SW011666">Full Day</span> <input type="radio" id="__posting_type2" name="__posting_type" value="2" ><span swlang code="SW011613">First Half</span> <input type="radio" id="__posting_type3" name="__posting_type" value="3" ><span swlang code="SW011614">Second Half</span> </div> </div> <div class="row"> <div class="col-md-5" style="text-align:right;" swlang code="SW000049">Reason</div> <div class="col-md-7"> <textarea type="text" style="width:70%;height:25%;" name="__leave_reason"></textarea> </div> </div> <div class="row"> <div class="col-md-12" style="text-align:center;margin-top:20px;"> <button type="button" class="btn btn-primary" data-dismiss="modal" onclick="goToDWR('postLeave')">Submit</button> </div> </div> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <!-- Modal postLeaveError --> <div class="modal fade daily-modal-lg" id="postLeaveError" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel">รายชื่อพนักงานที่ไม่สามารถลาได้</h4> </div> <div class="modal-body"> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <!-- Modal C-OFF--> <div class="modal fade daily-modal-sm" id="myModal_C-OFF" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel" swlang code="SW011667">กำหนดวันหยุดสะสม</h4> </div> <div class="modal-body"> <div class="row"> <div class="col-md-5" style="text-align:right;" swlang code="SW011665">Posting Type</div> <div class="col-md-7"> <input type="radio" name="__posting_type_c_off" value="0" swlang code="SW011666" checked> Full Day <input type="radio" name="__posting_type_c_off" value="2" swlang code="SW011613"> First Half <input type="radio" name="__posting_type_c_off" value="3" swlang code="SW011614"> Second Half </div> </div> <div class="row"> <div class="col-md-5" style="text-align:right;" swlang code="SW000049">Reason</div> <div class="col-md-7"> <textarea type="text" style="width:70%;height:25%;" name="__c-off_reason"></textarea> </div> </div> <div class="row"> <div class="col-md-12" style="text-align:center;margin-top:20px;"> <button type="button" class="btn btn-primary" data-dismiss="modal" onclick="goToDWR('setC-OFF')">Submit</button> </div> </div> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> </form> <br> </body> <script> var waitingDialog = waitingDialog || (function ($) { 'use strict'; // Creating modal dialog's DOM var $dialog = $( '<div class="modal fade" data-backdrop="static" data-keyboard="false" tabindex="-1" role="dialog" aria-hidden="true" style="padding-top:15%; overflow-y:visible;">' + '<div class="modal-dialog modal-m">' + '<div class="modal-content">' + '<div class="modal-header"><h3 style="margin:0;"></h3></div>' + '<div class="modal-body">' + '<div class="progress progress-striped active" style="margin-bottom:0;"><div class="progress-bar" style="width: 100%"></div></div>' + '</div>' + '</div></div></div>'); return { show: function (message, options) { // Assigning defaults if (typeof options === 'undefined') { options = {}; } if (typeof message === 'undefined') { message = 'Loading'; } var settings = $.extend({ dialogSize: 'm', progressType: '', onHide: null // This callback runs after the dialog was hidden }, options); // Configuring dialog $dialog.find('.modal-dialog').attr('class', 'modal-dialog').addClass('modal-' + settings.dialogSize); $dialog.find('.progress-bar').attr('class', 'progress-bar'); if (settings.progressType) { $dialog.find('.progress-bar').addClass('progress-bar-' + settings.progressType); } $dialog.find('h3').text(message); // Adding callbacks if (typeof settings.onHide === 'function') { $dialog.off('hidden.bs.modal').on('hidden.bs.modal', function (e) { settings.onHide.call($dialog); }); } $dialog.modal(); }, hide: function () { $dialog.modal('hide'); } }; })(jQuery); </script> </html> <% eventgrp.closeConnection(); %> <%! public String getMConfigValue(UProfile upf, String filed){ String srt = ""; try { srt = (String) StaticConfig.getConfigCompany(upf, filed) ; }catch(Exception e){ e.printStackTrace(); } return srt ; } public String getEventDesc(HashMap hmEvent,String evt, String mode){ try { if(hmEvent.containsKey(evt)) { if(mode.equals("eng")){ HashMap hm = (HashMap) hmEvent.get(evt) ; return (String) hm.get("eng"); }else{ HashMap hm = (HashMap) hmEvent.get(evt) ; return (String) hm.get("thai"); } } }catch(Exception e){ e.printStackTrace(); } return evt; } public boolean isStandardEvent(HashMap hmEvent_std, String evt){ try { if(hmEvent_std.containsKey(evt)){ return true ; } }catch(Exception e){ e.printStackTrace(); } return false ; } %>