<%@ page contentType="text/html; charset=UTF-8"%> <%@ page import="com.csc.library.entry.HelpEntry,com.csc.library.system.Task"%> <%@ page import="com.csc.library.database.*,com.csc.library.session.*" %> <%@ page import="com.csc.library.utilities.CheckNull"%> <%@ page import="com.csc.library.utilities.*"%> <%@ page import="java.util.*"%> <% request.setCharacterEncoding("UTF-8"); %> <jsp:useBean id="PSR002" class="com.csc.library.system.Task" scope="page"/> <% CheckNull chk = new CheckNull(); CscCalendar cc = new CscCalendar(); PSR002.setChannel(request, response); HelpEntry screen = (HelpEntry) PSR002.process("HelpEntry","MEMPLOYEEREPORTHELP"); screen.setMaxLine(20); screen.getInquiry().setParam("__active_on", "off"); String statusFirst = chk.chkNullString(request.getParameter("statusFirst"), "false"); String branch = chk.chkNullString(request.getParameter("branch")); String branchDesc = chk.chkNullString(request.getParameter("MBRANCH@TDESC")); String startdate = chk.chkNullString(request.getParameter("startdate"), cc.getDDMMYYYY()); String enddate = chk.chkNullString(request.getParameter("enddate"), cc.getDDMMYYYY()); String view = chk.chkNullString(request.getParameter("__view")); String bu1 = chk.chkNullString(request.getParameter("__bu1")); String bu2 = chk.chkNullString(request.getParameter("__bu2")); String bu3 = chk.chkNullString(request.getParameter("__bu3")); String bu4 = chk.chkNullString(request.getParameter("__bu4")); String bu5 = chk.chkNullString(request.getParameter("__bu5")); String workarea = chk.chkNullString(request.getParameter("__workarea")); String bu1_desc = chk.chkNullString(request.getParameter("__bu1_desc")); String bu2_desc = chk.chkNullString(request.getParameter("__bu2_desc")); String bu3_desc = chk.chkNullString(request.getParameter("__bu3_desc")); String bu4_desc = chk.chkNullString(request.getParameter("__bu4_desc")); String bu5_desc = chk.chkNullString(request.getParameter("__bu5_desc")); String workarea_desc = chk.chkNullString(request.getParameter("__workarea_desc")); String filter = chk.chkNullString(request.getParameter("__filter"),"1=1"); String allbranch = chk.chkNullString(request.getParameter("allbranch")); UProfile uprofile = screen.getUProfile(); CscCalendar st = new CscCalendar(startdate); CscCalendar en = new CscCalendar(enddate); screen.process(); if(!allbranch.equals("")){ filter += allbranch; } if(!branch.equals("")){ filter += " and branch = '"+branch+"'"; } if(!bu1.equals("")){ filter += " and bu1 = '"+bu1+"'"; } if(!bu2.equals("")){ filter += " and bu2 = '"+bu2+"'"; } if(!bu3.equals("")){ filter += " and bu3 = '"+bu3+"'"; } if(!bu4.equals("")){ filter += " and bu4 = '"+bu4+"'"; } if(!bu5.equals("")){ filter += " and bu5 = '"+bu5+"'"; } if(!workarea.equals("")){ filter += " and workarea = '"+workarea+"'"; } if(!startdate.equals("")){ filter += " and startdate between '"+st.getYYYYMMDD()+"' and '"+en.getYYYYMMDD()+"'"; } %> <%! public static int daysBetween(CscCalendar d1, CscCalendar d2) { return (int) ((d2.getTime() - d1.getTime()) / (1000 * 60 * 60 * 24))+1; } %> <%! private boolean chkZero(String val) { return val.equals("0000000")?true:false; } private boolean chkBlank(String val) { return val.equals("")?true:false; } private String getDescBu(String table, String bu, String buid,UProfile up) { String val = ""; try { DbInquiry mbu = new InitialInquiry(up).getDbInquiry(table); mbu.setColumn("tdesc"); mbu.clearOldCondition(); mbu.setFilter(bu + "='"+ buid +"'"); mbu.refresh(); if (mbu.next()) { val = mbu.getString("tdesc"); } } catch (Exception e) { e.printStackTrace(); } return val; } private String getDescPosition(String table, String po,UProfile up) { String val = ""; try { DbInquiry mbu = new InitialInquiry(up).getDbInquiry(table); mbu.setColumn("tdesc"); mbu.clearOldCondition(); mbu.setFilter("positionid='"+ po +"'"); mbu.refresh(); if (mbu.next()) { val = mbu.getString("tdesc"); } } catch (Exception e) { e.printStackTrace(); } return val; } %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <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" rel="stylesheet"> <script src="../JS/jquery-1.11.3.min.js"></script> <script src="../JS/bootstrap.min.js"></script> <script type="text/javascript" language="javascript" src="../JS/SCREEN.js"></script> <script src="../JS/angular-1.3.15/angular.js" type="text/javascript"></script> <script src="../JS/ANGULAR/SCREEN_ANGULAR.js" type="text/javascript"></script> <script type="text/javascript" language="javascript" src="../JS/VIEWCALENDAR.js"></script> <script language="javascript" src="../JS/DATEINPUT.js"></script> <script language="javascript">setLang("<%=screen.getUProfile().get("lang")%>");</script> <script language="JavaScript" type="text/JavaScript"> function goHelp(helpName,inputName) { var helpReturn = ""; helpReturn = inputName+":branchid,MBRANCH@TDESC"; linkHelp_Return(helpName,helpReturn); } function GoExport(){ with(document.cscform){ //alert(__filter.value); var param = "PSRN001_EXP.jsp?allbranch="+allbranch.value+"&branch="+branch.value+"&__bu1="+__bu1.value+"&__bu2="+__bu2.value+"&__bu3="+__bu3.value+"&__bu4="+__bu4.value+"&__bu5="+__bu5.value+"&__workarea="+__workarea.value+"&startdate="+startdate.value+"&enddate="+enddate.value; window.open(param); } } function GoPrint(){ with(document.cscform){ var param = "PSRN001_PDF.jsp?allbranch="+allbranch.value+"&branch="+branch.value+"&__bu1="+__bu1.value+"&__bu2="+__bu2.value+"&__bu3="+__bu3.value+"&__bu4="+__bu4.value+"&__bu5="+__bu5.value+"&__workarea="+__workarea.value+"&startdate="+startdate.value+"&enddate="+enddate.value; window.open(param); submit(); } } function GoView(){ with(document.cscform){ __view.value = "1" submit(); } } function checkBox(){ with(document.cscform){ if(allbranch.checked==true){ allbranch.value=" and BRANCH in (select branchid from MBRANCH) "; //alert(allbranch.value); }else{ allbranch.value=""; //alert(allbranch.value); } } } function GoOption(){ with(document.cscform){ var param = "PSRN001_OPTION.jsp?__screen="+__screenxml.value; window.open(param); } } $(function() { $('#export').click(function() { GoExport(); }); $('#option').click(function() { GoOption(); }); $('#preview').click(function() { GoView(); }); $('#print').click(function() { GoPrint(); }); }); 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 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"; }else if (inputName=="branch"){ helpReturn = inputName+":branchid,MBRANCH@TDESC"; } fixcon=""; linkHelp_Return(helpName,helpReturn,fixcon); } </script> <style> .table-condensed > tbody > tr > td { padding: 4px; border: 0px solid #ddd; } img[height="20"] { padding: 0px; } .table-bordered th { color: #ffffff; text-align: center; vertical-align: middle; background-color: #336699; } .eiei { overflow: scroll; height: 100%; } </style> </head> <body leftmargin="0" topmargin="0"> <form name="cscform" method="post"> <input type="hidden" name="__language" value="<%=screen.getUProfile().get("lang")%>"> <input type="hidden" name="__fixCon" value=""> <input type="hidden" name="__cmd" value=""> <input type="hidden" name="__view" value=""> <input type="hidden" name="__screen" value="PSRN001"> <input type="hidden" name="__screenxml" value="MEMPLOYEEREPORTHELP"> <input type="hidden" name="__goPage" value =""> <input type="hidden" name="__employeeid" value=""> <input type="hidden" name="__companyid" value="<%=screen.getUProfile().get("companyid")%>"> <input type="hidden" name="__orderBy" value=""> <input type="hidden" name="__empview" value=""> <input type="hidden" name="__calendar" value=""> <input type="hidden" name="__filter" value=""> <script language="javascript">getInputFormatDate();</script> <table class="table table-condensed maxsize"> <tbody> <tr> <td colspan="2" class="header"><span swlang code="SW012047">Report Probation</span> </td> </tr> <tr> <td colspan="2"> </td> </tr> <tr style="text-align: center; " > <td width="40%" style="text-align: right;"> </td> <td style="text-align: left;"> <input type="checkbox" name="allbranch" id="allbranch" onclick="checkBox()" value="<%=allbranch%>" <%=allbranch.equals("")?"":"checked"%>> <span swlang code="SW000131">Include All Branches</span></td> </tr> <tr style="text-align: center;"> <td width="40%" style="text-align: right;"><span swlang code="SW000314">Branch</span></td> <td style="text-align: left;"> <input type="text" id="branch" name="branch" value="<%=branch%>" size="10"> <a href ="javascript:goHelp('MBRANCHHELP','branch');" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('emp_image','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" ALT="SEARCH" name="emp_image" width="20" height="20" border="0" style="vertical-align: middle"></a> <input type="text" id="MBRANCH@TDESC" name="MBRANCH@TDESC" value="<%=branchDesc %>" size="35"> </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="<%=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="<%=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="<%=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="<%=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="<%=bu5_desc%>" size="50" readonly=""> </td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("workarea")%> </td> <td colspan="2"><input type="text" name="__workarea" size="10" maxlength="10" onkeypress="chkSpecialStr(event);" onkeyup="sysIsEdit();" onblur="trimValue(this);" onfocus="this.select();" alt="Workinq Area" onmousemver="toolTip('Workinq Area')" onmouseout="toolTip()" value="<%=workarea%>"> <a href="javascript:goHelp('MWORKAREAHELP','__workarea');" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('__workarea_image','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="SEARCH" name="__workarea_image" width="20" height="20" border="0" align="absmiddle"></a> <input name="__workarea_desc" type="text" disabled="" size="45" value="<%=workarea_desc%>"> </td> </tr> <tr style="text-align: center;"> <td width="40%" style="text-align: right;"><span swlang code="SW012379">Starting Date</span></td> <td style="text-align: left;"> <input type="text" id="startdate" name="startdate" value="<%=startdate %>" size="10" maxlength="10" onkeypress="chkIntegerOfDate(this.value,event);" onkeyup="sysIsEdit();formatDate(this);" onblur="chkInputDate(this);" onfocus="this.select();"> <a href="javascript:;" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image19','','../IMAGES/BUTTON/SWAP/CALENDAR_SWAP20.gif',1)" onClick="viewCal('startdate')"><img src="../IMAGES/BUTTON/MAIN/CALENDAR20.gif" alt="Calendar" name="Image19" width="20" height="20" border="0" style="vertical-align: middle"></a> - <input type="text" id="enddate" name="enddate" value="<%=enddate %>" size="10" maxlength="10" onkeypress="chkIntegerOfDate(this.value,event);" onkeyup="sysIsEdit();formatDate(this);" onblur="chkInputDate(this);" onfocus="this.select();"> <a href="javascript:;" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image19','','../IMAGES/BUTTON/SWAP/CALENDAR_SWAP20.gif',1)" onClick="viewCal('enddate')"><img src="../IMAGES/BUTTON/MAIN/CALENDAR20.gif" alt="Calendar" name="Image19" width="20" height="20" border="0" style="vertical-align: middle"></a> </td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2" style="text-align: center;"> <div id="option" class="btn btn-primary btn-sm" style="padding-top: 2px;"> Option </div> <div id="print" class="btn btn-primary btn-sm" style="padding-top: 2px;"> Print </div> <div id="export" class="btn btn-primary btn-sm" style="padding-top: 2px;"> Export </div> <div id="preview" class="btn btn-primary btn-sm" style="padding-top: 2px;"> Search </div> </td> </tr> <tr><td colspan="2"> </td></tr> <tr> <td colspan="2" class="bottom" style="padding-top: 0px; padding-bottom: 0px;"> </td> </tr> </tbody> </table> <% DbInquiry op = new InitialInquiry(screen.getUProfile()).getDbInquiry("COLOPTION"); op.setColumn("*"); op.setFilter("optionid = '22' "); op.refresh(); op.next(); Map<Integer, Integer> linkmap = new LinkedHashMap<Integer, Integer>(); for(int i=1;i<=6;i++){ String chknum = op.getString("chk"+i); if(chknum.equals("1")){ linkmap.put(i,Integer.valueOf(op.getString("col"+i))); } } %> <%if (view.equals("1")){ %> <img src="../IMAGES/loading2.gif" id="loading" style="margin-left: 40%"> <table class="table table-bordered maxsize"> <thead> <tr> <th rowspan="2" style="vertical-align: middle;"><span swlang code="SW000193">Seq</span></th> <th rowspan="2" style="vertical-align: middle;"><span swlang code="SW000274">Employee ID</span></th> <th rowspan="2" style="vertical-align: middle;"><span swlang code="SW012049">Name-Surname</span></th> <th rowspan="2" style="vertical-align: middle;"><%=screen.getLabel("bu1")%></th> <th rowspan="2" style="vertical-align: middle;"><%=screen.getLabel("bu2")%></th> <th rowspan="2" style="vertical-align: middle;"><%=screen.getLabel("bu3")%></th> <th rowspan="2" style="vertical-align: middle;"><span swlang code="SW002343">Start date</span></th> <% if(linkmap.size() != 0){ %> <th colspan="<%=linkmap.size()%>" class="span-control" style="vertical-align: middle;"><span swlang code="SW012050">Pass Probation Date</span></th> <% } %> </tr> <tr> <% for(Integer key : linkmap.keySet()){ %> <th style="vertical-align: middle;"> <span swlang code="SW012798">Completely</span> <%=linkmap.get(key)%> <span swlang code="SW000262">Day</span> </th> <% } %> </tr> </thead> <tbody> <% int no = 1; String DbType = screen.getUProfile().getDbType().toUpperCase(); String strJoiner = "+"; if(DbType.equals("PGSQL") || DbType.equals("ORACLE")){ strJoiner = "||"; } String sql=""; if(screen.getUProfile().get("lang").equals("eng")){ sql = "select me.EMPLOYEEID,pre.EDESC"+strJoiner+"me.EFNAME"+strJoiner+"' '"+strJoiner+"me.ELNAME as fullname,b1.EDESC as bu1,b2.EDESC as bu2,b3.EDESC as bu3,STARTDATE from MEMPLOYEE me left join MPREFIX pre on me.EMP_PREFIX = pre.PREFIXID left join MBU3 b3 on me.BU3 = b3.BU3ID left join MBU2 b2 on me.BU2 = b2.BU2ID left join MBU1 b1 on me.BU1 = b1.BU1ID where "+filter+" ORDER BY me.bu1,me.bu2,me.bu3,me.bu4,me.bu5"; }else{ sql = "select me.EMPLOYEEID,pre.TDESC"+strJoiner+"me.FNAME"+strJoiner+"' '"+strJoiner+"me.LNAME as fullname,b1.TDESC as bu1,b2.TDESC as bu2,b3.TDESC as bu3,STARTDATE from MEMPLOYEE me left join MPREFIX pre on me.EMP_PREFIX = pre.PREFIXID left join MBU3 b3 on me.BU3 = b3.BU3ID left join MBU2 b2 on me.BU2 = b2.BU2ID left join MBU1 b1 on me.BU1 = b1.BU1ID where "+filter+" ORDER BY me.bu1,me.bu2,me.bu3,me.bu4,me.bu5"; } //out.print(sql); try{ DataSet ds = new DataSet(sql,screen.getUProfile().get("dbname"),"Memployee"); ds.initConnection(screen.getUProfile()); while (ds.next()) { CscCalendar stDate = new CscCalendar(chk.chkNullString(ds.getString("startdate"))); %> <tr> <td align="center"><div style="width: 50px;"><%=no%></div></td> <td align="center"><div style="width: 150px;"><%=chk.chkNullString(ds.getString("employeeid"))%></div></td> <td align="left"><div style="width: 300px;"><%=chk.chkNullString(ds.getString("fullname"))%></div></td> <td align="left"><div style="width: 200px;"><%=chk.chkNullString(ds.getString("bu1"))%></div></td> <td align="left"><div style="width: 200px;"><%=chk.chkNullString(ds.getString("bu2"))%></div></td> <td align="left"><div style="width: 200px;"><%=chk.chkNullString(ds.getString("bu3"))%></div></td> <td align="center"><div style="width: 100px;"><%=stDate.getDDMMYYYY()%></div></td> <% for (Integer key : linkmap.keySet()){ %> <td align="center"><div style="width: 100px;"><%=new CscCalendar(chk.chkNullString(ds.getString("startdate"))).incDate(linkmap.get(key)).getDDMMYYYY()%></div></td> <% } %> </tr> <% no++; } } catch(Exception e) { e.printStackTrace(); } %> </tbody> </table> <%} else if (statusFirst.equals("true")) {%> <div align="center" style="color: red;">ไม่พบข้อมูล</div><% }%> <!----------BEGIN CSC ENDING ZONE ------------------------> <%=screen.endJSP()%> <!----------END CSC ENDING ZONE --------------------------> <script> $('#loading').hide(); </script> </form> </body> </html>