<%@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.*" %> <%@ page import="com.csc.library.databean.*" %> <%@ page import="com.csc.library.report.ReportUDF"%> <%@ page import="java.util.*"%> <jsp:useBean id="TRA0130_PHATRA" class="com.csc.library.system.Task" scope="page"/> <% TRA0130_PHATRA.setChannel(request,response); UIManager screen = (UIManager) TRA0130_PHATRA.process("MultiEntry","TRA012_PHATRA"); CheckNull chk = new CheckNull(); CscCalendar car = new CscCalendar(); String chkDelCmd = chk.chkNullString(request.getParameter("__cmd")); screen.referLangOn(); String changetrntype = chk.chkNullString(request.getParameter("__chgtrntype")); String trainingid = chk.chkNullString(request.getParameter("__trainingid")); String courseid = chk.chkNullString(request.getParameter("__crsid")); String refready = chk.chkNullString(request.getParameter("__refreshReady"),"1"); String jobneed = chk.chkNullString(request.getParameter("__jobneed"),"0"); MultiLine multi = screen.getMultiLine("TRESERVER"); if(jobneed.equals("1")){ HashMap his_reserver = getHisReserver(screen.getUProfile(),courseid); String colTmp[] = new String[]{"bu1","bu2","bu3","bu4","bu5","job","emp_group","emp_level","emp_position","branch","bossid","salatype"}; DbInquiry dbemp = new InitialInquiry(screen.getUProfile()).getDbInquiry("Memployee"); DbInquiry dbtre = new InitialInquiry(screen.getUProfile()).getDbInquiry("Trequest"); dbemp.setColumn("employeeid,bu1,bu2,bu3,bu4,bu5,job,emp_group,emp_level,emp_position,branch,bossid,salatype,companyid"); dbtre.setColumn("*"); dbtre.setFilter("courseid ='"+courseid+"' and status = '1'"); dbtre.putChild(dbemp); dbtre.refresh(); while(dbtre.next()){ screen.getTable("TRESERVER").goRec(screen.getTable("TRESERVER").recCount(),false); DbRecord Treservrec=screen.getTable("TRESERVER").getNewRecord(); Treservrec.set("trainingid",trainingid); Treservrec.set("companyid", screen.getUProfile().get("companyid")); Treservrec.set("reserverid", dbtre.getString("traineeid")); if (his_reserver.containsKey(dbtre.getString("traineeid"))){ Treservrec.set("ressource","3"); }else{ Treservrec.set("ressource","1"); } if ( chkReserver(dbtre.getString("traineeid"),trainingid,screen.getUProfile()) ){ Treservrec.set("status","1"); } for (int i=0;i<colTmp.length;i++){ Treservrec.set(colTmp[i],dbtre.getString("memployee",colTmp[i])); } screen.getTable("TRESERVER").putNewRecord(Treservrec); } } %> <%! private boolean chkReserver(String empid, String trainingid, UProfile uProfile){ boolean streserv = true; DbInquiry dbtreserv = new InitialInquiry(uProfile).getDbInquiry("Treserver"); try{ dbtreserv.setColumn("*"); dbtreserv.setFilter("trainingid ='"+trainingid+"' AND reserverid ='"+empid+"'"); dbtreserv.refresh(); while(dbtreserv.next()){ streserv = false; } }catch(Exception ex){ MyLog.error(this,ex); } return streserv; } private HashMap getHisReserver(UProfile uProfile, String courseid) { HashMap his_reserver = new HashMap(); try{ DbInquiry inqhistraining = new InitialInquiry(uProfile).getDbInquiry("htraining"); DbInquiry inqhistrnee = new InitialInquiry(uProfile).getDbInquiry("htraintrnee"); inqhistraining.setColumn("trainingid,crsid"); inqhistraining.setFilter("crsid ='"+courseid+"'"); inqhistraining.refresh(); while (inqhistraining.next()){ inqhistrnee.setFilter("trainingid = '"+inqhistraining.getString("trainingid")+"'"); inqhistrnee.refresh(); while (inqhistrnee.next()){ his_reserver.put( inqhistrnee.getString("traineeid"), true); } } }catch(Exception ex){ MyLog.error(this,ex); } return his_reserver; } %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html ng-app='myHR'> <head> <title>Untitled Document</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/jquery-ui-1.11.4.js'></script> <script type='text/javascript' src="../JS/bootstrap.js"></script> <script type='text/javascript' src='../JS/SCREEN.js'></script> <script type="text/javascript" src="../public/lib/angular/angular.min.js"></script> <script type="text/javascript" src="../JS/ANGULAR/SCREEN_ANGULAR.js"></script> <style> .right-page{ float: right; margin: 10px 0px; } .label-right{ padding-left: 5px; font-size: 20px; } .checkbox-trn{ display: block; width: 100%; float: left; height: 100%; } .reserved .inframe{ background-color: #fcff80; } </style> <script type='text/javascript'> setLang('<%=screen.getUProfile().get("lang")%>'); function goSave() {confirmSave();} function goSearch() {search();} function goDelete() {edelete();} function goUpdate() {update();} function checkCF() {checkConfirm();} function childMulti(record){ with(document.cscform){ window.open(__childMulti.value+".jsp?__cmd=&__gorec="+record+"&__ack=edit"+ "&__trainingid="+__trainingid.value+ "&__headMulti="+__screen.value+ "&__companyid="+__companyid.value,"TrainResponse","left=150,top=150,width=700,height=280,toolbar=no,status=yes,scrollbars=yes,resizable=yes"); } } function addMulti1(){ with(document.cscform){ setEmpList(); window.open("TRA0130H_PHATRA.jsp?__chkEmpOld="+__chkEmp.value+"&__trainingid="+__trainingid.value+"&__crsid="+__crsid.value,"Trainee","left=150,top=150,width=900,height=700,toolbar=no,status=yes,scrollbars=yes,resizable=yes"); } } function setEmpList(){ with(document.cscform){ __chkEmp.value = "$"; for(i=0;i<elements.length;i++){ if(elements[i].type=="checkbox"){ __chkEmp.value += elements[i].value+"$"; } } } } function sentMail() { var emp_id = ""; with(document.cscform){ for(i=0;i<elements.length;i++){ if(elements[i].type=="checkbox"&&elements[i].checked&&elements[i].name.indexOf("__treserver")>-1){ if(emp_id!=""){ emp_id += ","; } emp_id += elements[i].value; } } } if(emp_id!=""){ var crs = ""; var loc_name = ""; with(window.parent.document.cscform){ for(i=0;i<elements.length;i++){ if(elements[i].name=="MCOURSE@CRSEDESC"){ crs = elements[i].value; } if(elements[i].name=="MTRLOCATION@LOCEDESC"){ loc_name = elements[i].value; } } } var user = '<%=screen.getUProfile().getUserId()%>'; var trn = window.parent.cscform.__trtitle.value; var oclassfrm = window.parent.cscform.__classdatefrm.value; var oclassto = window.parent.cscform.__classdateto.value; var start_time = window.parent.cscform.__timestart.value; var stop_time = window.parent.cscform.__timestop.value; window.open("TRA0126M.jsp?emp_id="+emp_id+"&crs="+crs+"&trn="+trn+"&oclassfrm="+oclassfrm+"&oclassto="+oclassto+"&start_time="+start_time+"&stop_time="+stop_time+"&loc_name="+loc_name+"&__language="+document.cscform.__language.value+"&__companyid="+document.cscform.__companyid.value+"&__user="+user,"","left=150,top=20,width=650,height=650,toolbar=no,status=yes,scrollbars=yes,resizable=yes"); }else{ if(getLang()=="tha"){ alert("ไม่มีอีเมล์ที่จะส่ง"); }else{ alert("not have email for send."); } } } function setSelectAll(obj,ele){ var traineeid = document.cscform.list_traineeid.value.split(","); for(index=0; index<traineeid.length; index++){ var listbox = eval("document.cscform.__TTRAINTRNEE$"+ele+"$"+traineeid[index]); if(listbox != null){ listbox.options[obj.selectedIndex].selected = true; } } } function transferToTrnee(){ //alert("transferToTrnee"); var empid = ""; with(document.cscform){ for(i=0; i<elements.length; i++){ if(elements[i].type == "checkbox" && elements[i].checked){ empid += "$" + elements[i].value; } if(empid != ""){ empid += "$"; } } } with(document.cscform){ //setEmp(); window.open("TRA0126T_PHATRA.jsp?__chkEmp="+empid+"&__trainingid="+__trainingid.value+"&status=1&__transfer2trnee=1","Trainee","left=150,top=150,width=500,height=350,toolbar=no,status=yes,scrollbars=yes,resizable=yes"); } } function addMulti2(){ with(document.cscform){ setEmpList(); window.open("TRA0131H_PHATRA.jsp?__cmd=&__gorec=&__ack=add"+ "&__fixCon=courseid='"+window.parent.document.forms[0].__crsid.value+"' and status='1'"+ "&__trainingid="+__trainingid.value+ "&__chkEmpOld="+__chkEmp.value+ "&__RecNo="+__maxrec.value+ "&__headMulti="+cscform.__screen.value+ "&__companyid="+window.parent.cscform.__companyid.value,"Trainee","left=1,top=1,width=1,height=1,toolbar=no,status=yes,scrollbars=yes,resizable=yes"); } } function getJobNeed(){ with(document.cscform){ if (__getFirst.value == ''){ __getFirst.value = '1'; addMulti2(); } } } function checkAll(){ $('input[name*="__treserver"]:checkbox').prop("checked",true); } function decheckAll(){ $('input[name*="__treserver"]:checkbox').prop("checked",false); } </script> </head> <body leftmargin="0" topmargin="0" onLoad="" > <div id="toolTipLayer" style="position:absolute; visibility: hidden"></div> <script language="javascript">initToolTips();</script> <form name="cscform" method="post" action="?"> <!----------BEGIN CSC INITIAL ZONE ------------------------> <%=screen.InitialVariable()%> <!----------END CSC INITIAL ZONE --------------------------> <input type="hidden" name="__confirm" value=""/> <input type="hidden" name="__help" value=""/> <input type="hidden" name="__cmd" value="multi"/> <input type="hidden" name="__screen" value="TRA012_PHATRA"/> <input type="hidden" name="__childMulti" value="TRA0130E_PHATRA"/> <input type="hidden" name="__gorec" value=""/> <input type="hidden" name="__ack" value=""/> <input type="hidden" name="__trainingid" value="<%=chk.chkNullString(request.getParameter("__trainingid"))%>"> <input type="hidden" name="__crsid" value="<%=chk.chkNullString(request.getParameter("__crsid"))%>"> <input type="hidden" name="__multiTable" value="TRESERVER"/> <input type="hidden" name="__companyid" value="<%=screen.getUProfile().get("companyid")%>"> <input type="hidden" name="__maxrec" value="<%=screen.getTable("TRESERVER").recCount()%>"> <input type="hidden" name="__notNull" value="<%=screen.getRequire()%>"> <input type="hidden" name="__chkEmp" value=""/> <input type="hidden" name="__cmdSave" value=""/> <input type="hidden" name="__jobneed" value="0"/> <input type="hidden" name="__language" value="<%=screen.getUProfile().get("lang")%>"> <input type="hidden" name="__getFirst" value="<%=chk.chkNullString(request.getParameter("__getFirst"),"1")%>"> <input type='hidden' name='__refreshReady' value="<%=chk.chkNullString(request.getParameter("__refreshReady"),"1")%>"> <table cellpadding="0" cellspacing="0" class="maxsize"> <tr> <td class="header">TRA0130_PHATRA, <script language="javascript">swapLang('List of rigth to training');</script> </td> </tr> <tr> <td class='right-page'> <input type='checkbox' name='showReserved' class='showTaken' value='1'/> <span class='label-right' swlang code='SW012903'>Taken</span> </td> </tr> <tr> <td> <table border="0" cellpadding="0" cellspacing="1" id="rsTable" name="rsTable" bgcolor="#333333" class="maxsize tablewithborder" cols="9"> <tr> <td width="4%" class="row3"><div align="center"><script language='javascript'>swapLang('Del');</script>/<script language='javascript'>swapLang('Send Mail');</script></div></td> <td width="4%" class="row3"><div align="center" swlang code='SW001393'>no. </div></td> <td width="8%" class="row3"><div align="center"><%=screen.getUProfile().get("lang").equalsIgnoreCase("THA")?"รหัสพนักงาน":"Employee ID"%></div></td> <td width="18%" class="row3"><div align="center"><%=screen.getUProfile().get("lang").equalsIgnoreCase("THA")?"ชื่อ-นามสกุล":"Name-Surname"%></div></td> <td width="13%" class="row3"><div align="center"><script language='javascript'>swapLang('Position');</script></div></td> <td width="13%" class="row3"><div align="center"><%=screen.getRecord("mbu1").getDescription()%></div></td> <td width="13%" class="row3"><div align="center"><%=screen.getRecord("mbu2").getDescription()%></div></td> <td width="13%" class="row3"><div align="center"><script language='javascript'>swapLang('Supervisor');</script></div></td> <td width="9%" class="row3"><div align="center"><script language='javascript'>swapLang('Status');</script></div></td> <td width="9%" class="row3"><div align="center"><%=screen.getUProfile().get("lang").equalsIgnoreCase("THA")?"แหล่งที่มา":"Source"%></div></td> </tr> <% int rec=0; String reservedclass = ""; multi.setLabelBox("check box"); multi.goFirst(); for (;!multi.eof();multi.next(),rec++){ if (multi.getData("TRESERVER", "RESSOURCE").equalsIgnoreCase("3")){ reservedclass = "reserved"; } else if (!multi.getData("TRESERVER", "RESSOURCE").equalsIgnoreCase("3")){ reservedclass = ""; } %> <tr class='<%=reservedclass%>'> <td class="inframe" align="center"> <% if (multi.getTable().getCurrentRecordManager().getString("STATUS").equalsIgnoreCase("1") && !reservedclass.equalsIgnoreCase("")){ %> <input type='checkbox' name="__treserver:<%=multi.getData("TRESERVER","RESERVERID")%>" value="<%=multi.getData("TRESERVER","RESERVERID")%>" class='checkbox-reserved'/> <% } else { out.print( multi.getInputCheckBox() ); } %> </td> <td class="inframe"><div align="center"><%=rec+1%></div></td> <td class="inframe"><div align="center"><%=multi.getScript("childMulti", multi.getData("TRESERVER","RESERVERID"))%></div></td> <td class="inframe"><div align="left"> <%=multi.getData("MEMPLOYEE","FULLNAME")%></div></td> <td class="inframe"><div align="left"> <%=multi.getData("MPOSITION","TDESC")%></div></td> <td class="inframe"><div align="left"> <%=multi.getData("MBU1","TDESC")%></div></td> <td class="inframe"><div align="left"><%=multi.getData("MBU2","TDESC")%></div></td> <td class="inframe"><div align="left"><%=multi.getData("V3MEMPLOYEE","FULLNAME")%></div></td> <td class="inframe"><div align="center"><%=multi.getTable().getCurrentRecordManager().getSystemCode("STATUS")%></div></td> <td class="inframe"><div align="center"><%=multi.getTable().getCurrentRecordManager().getSystemCode("RESSOURCE")%></div></td> <%-- <td class="inframe"><div align="center"><input type="text" readonly name="__TRESERVER$RESDATE$<%=multi.getData("TRESERVER","RESERVERID")%>" size="10" maxlength="10" value="<%=multi.getData("TRESERVER","RESDATE")%>" onkeypress="chkIntegerOfDate(this.value,event);" onkeyup="sysIsEdit();formatDate(this);" onblur="chkInputDate(this);" onfocus="this.select();" alt="วันที่จอง" onmousemver="toolTip('วันที่จอง(DDMMYYYY)')" onmouseout="toolTip()"></div> </td> --%> </tr> <% } %> </table> </td> </tr> <input type="hidden" name="rec" value="<%=rec%>"> <tr> <td class="blankspace"></td> </tr> <tr> <td class="buttonline"> <div align="center"> <button type="button" class="btn btn-primary width100" swlang code="SW013176" onClick="genjobneed();">GENDATA</button> <button type="button" class="btn btn-primary width100" swlang code="SW002185" onClick="checkAll();">SELECT ALL</button> <button type="button" class="btn btn-primary width100" swlang code="SW013164" onClick="decheckAll();">DESELECT ALL</button> <button type="button" class="btn btn-primary width100" swlang code="SW013165" onClick="addMulti1();">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="SW000971" onClick="sentMail();">MAIL</button> <button type="button" class="btn btn-primary width100" swlang code="SW005155" onClick="transferToTrnee();">TRANSFER</button> </div> </td> </tr> <tr> <td></td> </tr> <tr> <td class="blankspace"></td> </tr> </table> <div id="tse"></div> <script type='text/javascript'> $(document).ready(function(){ $('.showTaken').attr('checked', false); $('.reserved').css('display', 'none'); $('.showTaken').click(function(){ if ($(this).is(':checked')){ $('.reserved').css('display', 'table-row'); }else{ $('.reserved').css('display', 'none'); $('.checkbox-reserved').attr('checked', false); console.log($('.reserved').find('input[type="checkbox"]').attr('name')); } }); }); function genjobneed(){ waitingDialog.show(new swaplang().swap2String("SW013176")); $('input[name="__jobneed"]').val("1"); $('input[name="__refreshReady"]').val("1"); $('form[name="cscform"]').attr('action', 'TRA0130_PHATRA.jsp'); $('input[name="__help"]').val('__trainingid#'+$('input[name="__trainingid"]').val()); $('form[name="cscform"]').submit(); } </script> <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> </form> <script language="javascript"> window.parent.setTabPages(); </script> </body> </html>