<%@ 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.text.SimpleDateFormat" %> <%@ page import="java.util.*"%> <% //request.setCharacterEncoding("UTF-8"); %> <jsp:useBean id="PSR002" class="com.csc.library.system.Task" scope="page"/> <% //response.setHeader("Cache-Control","must-revalidate"); response.setContentType("application/vnd.ms-excel; UTF-8"); response.setHeader("Content-Disposition", "inline; filename=" + "export.xls"); 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 filter = chk.chkNullString(request.getParameter("__filter"),"1=1"); String allbranch = chk.chkNullString(request.getParameter("allbranch")); 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")); 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> <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"> --> <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 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 = "PSR001_EXP.jsp"; window.open(param); } } function GoPrint(){ with(document.cscform){ var param = "PSR001_PDF.jsp"; 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() { $('#export').click(function() { GoExport(); }); $('#preview').click(function() { GoView(); }); $('#print').click(function() { GoPrint(); }); }); </script> <style> .table-condensed > tbody > tr > td { padding: 4px; border: 0px solid #ddd; } img[height="20"] { padding: 0px; } .table-bordered th { text-align: center; vertical-align: middle; } .eiei { overflow: scroll; height: 100%; } .format_text{ mso-number-format:"\@";/*force text*/ } </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="PSR020"> <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="<%=request.getParameter("__filter")%>"> <input type="hidden" name="branch" value="<%=request.getParameter("branch")%>"> <input type="hidden" name="startdate" value="<%=request.getParameter("startdate")%>"> <input type="hidden" name="startdate" value="<%=request.getParameter("enddate")%>"> <input type="hidden" name="allbranch" value="<%=request.getParameter("allbranch")%>"> <script language="javascript">getInputFormatDate();</script> <table class="table table-bordered maxsize" border="1"> <% DbRecord emp_rec = new InitialRecord(screen.getUProfile()).getDbRecord("memployee"); 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")){ //out.print(i+"</br>"); linkmap.put(i,Integer.valueOf(op.getString("col"+i))); } } int colspan = 5+linkmap.size() ; SimpleDateFormat df = new SimpleDateFormat("hh:mm a", Locale.ENGLISH); GregorianCalendar gc= new GregorianCalendar(); boolean langthai = screen.getUProfile().get("lang").equalsIgnoreCase("THA"); String str_reportname = "", str_perioddate = "", str_printdate = "", str_printby = "", str_refer = ""; if(langthai){ str_reportname = "รายงาน : รายงานรายชื่อพนักงานเข้าใหม่และการคำนวณ Probation"; str_perioddate = "ช่วงวันที่ : "+startdate+" ถึง "+enddate; str_printdate = "วันที่พิมพ์ : วัน"+cc.getLongThiDOW()+"ที่ "+cc.getDate()+ " " + cc.getThaiLongMonth() + " พ.ศ. "+ cc.getThaiYYYY() + " " +cc.getHHMM() + " น."; str_printby = "พิมพ์โดย : "+screen.getUProfile().get("tfullname"); str_refer = "อ้างอิง # RPI2100"; } else { str_reportname = "Report Name : New Employee List And Probation Calulation Report"; str_perioddate = "Period Date : "+startdate+" To "+enddate; str_printdate = "Print Date : "+cc.getEngFull()+ " " + df.format((Date)gc.getTime()); str_printby = "Print By : "+screen.getUProfile().get("efullname"); str_refer = "Ref # RPI2100"; } %> <thead> <tr> <td colspan="<%=colspan+2%>" style="font-size: 150%;"><b><%=screen.getUProfile().get("companyname") %></b></td> </tr> <tr> <td colspan="2"><b><%=langthai?"รายงาน :":"Report Name :"%></b></td> <td colspan="<%=colspan%>"><%=langthai?"รายงานรายชื่อพนักงานเข้าใหม่และการคำนวณ Probation":"New Employee List And Probation Calulation Report"%></td> </tr> <tr> <td colspan="2"><b><%=langthai?"ช่วงวันที่ :":"Period Date :"%></b></td> <td colspan="<%=colspan%>"><%=langthai?startdate+" ถึง "+enddate:startdate+" To "+enddate%></td> </tr> <tr> <td colspan="2"><b><%=langthai?"วันที่พิมพ์ :":"Print Date :"%></b></td> <td colspan="<%=colspan%>"><%=langthai?"วัน"+cc.getLongThiDOW()+"ที่ "+cc.getDate()+ " " + cc.getThaiLongMonth() + " พ.ศ. "+ cc.getThaiYYYY() + " " +cc.getHHMM() + " น.":cc.getEngFull()+ " " + df.format((Date)gc.getTime())%></td> </tr> <tr> <td colspan="2"><b><%=langthai?"พิมพ์โดย :":"Print By :"%></td> <td colspan="<%=colspan-2%>"><%=screen.getUProfile().get("fullname")%></td> <td colspan="2" style="vertical-align: right;"><%=langthai?"อ้างอิง # RPI2100":"Ref # RPI2100"%></td> </tr> <tr> <th rowspan="2" style="vertical-align: middle;"><%=langthai?"ลำดับ":"No."%></th> <th rowspan="2" style="vertical-align: middle;"><%=langthai?"รหัสพนักงาน":"Employee ID"%></th> <th rowspan="2" style="vertical-align: middle;"><%=langthai?"ชื่อ-นามสกุล":"Name-Surname"%></th> <th rowspan="2" style="vertical-align: middle;"><%=emp_rec.getField("bu1").getDescription()%></th> <th rowspan="2" style="vertical-align: middle;"><%=emp_rec.getField("bu2").getDescription()%></th> <th rowspan="2" style="vertical-align: middle;"><%=emp_rec.getField("bu3").getDescription()%></th> <th rowspan="2" style="vertical-align: middle;"><%=langthai?"วันที่เริ่มต้น":"Start Date"%></th> <% if(linkmap.size() != 0){ %> <th colspan="<%=linkmap.size()%>" style="vertical-align: middle;"><%=langthai?"วันที่ครบกำหนดทดลองงาน":"Probation Date"%></th> <% } %> </tr> <tr> <% for(Integer key : linkmap.keySet()){ %> <th style="vertical-align: middle;"> <%=langthai?"ครบ "+linkmap.get(key)+" วัน":linkmap.get(key)+" Day(s)"%> </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;" class="format_text"><%=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> <!----------BEGIN CSC ENDING ZONE ------------------------> <%=screen.endJSP()%> <!----------END CSC ENDING ZONE --------------------------> </form> </body> </html>