<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%@page contentType="text/html; charset=UTF-8"%> <%@page import="com.csc.library.entry.*,com.csc.library.system.*,com.csc.library.session.*,com.csc.library.utilities.*,java.text.DecimalFormat,com.csc.library.database.*"%> <%@page import="java.util.*,java.io.*"%> <jsp:useBean id="TRR010" class="com.csc.library.system.Task" scope="page" /> <% TRR010.setChannel(request, response); HelpEntry screen = (HelpEntry) TRR010.process("HelpEntry","TRR010HELP"); CheckNull chk = new CheckNull(); CscCalendar c = new CscCalendar(); String thisYearSTR1 = String.valueOf(c.getYear()+1); String thisYearSTR = String.valueOf(c.getYear()); String thisYearSTR_1 = String.valueOf(c.getYear()-1); String thisYearSTR_2 = String.valueOf(c.getYear()-2); String thisYearSTR_3 = String.valueOf(c.getYear()-3); String thisYearSTR_4 = String.valueOf(c.getYear()-4); String thisYearSTR_5 = String.valueOf(c.getYear()-5); String lastYearSTR = String.valueOf(c.getYear()-1); int thisYear = c.getYear()+543; int lastYear = c.getYear()+542; String startYear = chk.chkNullString(request.getParameter("__startYear")); String endYear = chk.chkNullString(request.getParameter("__endYear")); int[] show = new int[6] ; show[0]=0; show[1]=0; show[2]=0; show[3]=0; show[4]=0; show[5]=0; if(startYear.equals(thisYearSTR_5)){ if(endYear.equals(thisYearSTR_5)){ show[0]=1; }else if(endYear.equals(thisYearSTR_4)){ show[0]=1; show[1]=1; }else if(endYear.equals(thisYearSTR_3)){ show[0]=1; show[1]=1; show[2]=1; }else if(endYear.equals(thisYearSTR_2)){ show[0]=1; show[1]=1; show[2]=1; show[3]=1; }else if(endYear.equals(thisYearSTR_1)){ show[0]=1; show[1]=1; show[2]=1; show[3]=1; show[4]=1; }else if(endYear.equals(thisYearSTR)){ show[0]=1; show[1]=1; show[2]=1; show[3]=1; show[4]=1; show[5]=1; } }else if(startYear.equals(thisYearSTR_4)){ if(endYear.equals(thisYearSTR_4)){ show[1]=1; }else if(endYear.equals(thisYearSTR_3)){ show[1]=1; show[2]=1; }else if(endYear.equals(thisYearSTR_2)){ show[1]=1; show[2]=1; show[3]=1; }else if(endYear.equals(thisYearSTR_1)){ show[1]=1; show[2]=1; show[3]=1; show[4]=1; }else if(endYear.equals(thisYearSTR)){ show[1]=1; show[2]=1; show[3]=1; show[4]=1; show[5]=1; } }else if(startYear.equals(thisYearSTR_3)){ if(endYear.equals(thisYearSTR_3)){ show[2]=1; }else if(endYear.equals(thisYearSTR_2)){ show[2]=1; show[3]=1; }else if(endYear.equals(thisYearSTR_1)){ show[2]=1; show[3]=1; show[4]=1; }else if(endYear.equals(thisYearSTR)){ show[2]=1; show[3]=1; show[4]=1; show[5]=1; } }else if(startYear.equals(thisYearSTR_2)){ if(endYear.equals(thisYearSTR_2)){ show[3]=1; }else if(endYear.equals(thisYearSTR_1)){ show[3]=1; show[4]=1; }else if(endYear.equals(thisYearSTR)){ show[3]=1; show[4]=1; show[5]=1; } }else if(startYear.equals(thisYearSTR_1)){ if(endYear.equals(thisYearSTR_1)){ show[4]=1; }else if(endYear.equals(thisYearSTR)){ show[4]=1; show[5]=1; } }else if(startYear.equals(thisYearSTR)){ if(endYear.equals(thisYearSTR)){ show[5]=1; } } DecimalFormat dmfm1 = new DecimalFormat("#,##0.00"); DecimalFormat dmfm2 = new DecimalFormat("#,###"); String sql_count = "select count(*) as count from mposition"; String sql = "SELECT PL.TDESC,P.TDESC, CAST(SUM(CASE WHEN T.TRAINDATE >='"+thisYearSTR_5+"-01-01' AND T.TRAINDATE<'"+thisYearSTR_4+"-01-01' THEN T.T_HOUR ELSE 0 END)/COUNT(T.TRAINEEID) AS DECIMAL(15,2)) AS \""+thisYearSTR_5+"\", CAST(SUM(CASE WHEN T.TRAINDATE >='"+thisYearSTR_4+"-01-01' AND T.TRAINDATE<'"+thisYearSTR_3+"-01-01' THEN T.T_HOUR ELSE 0 END)/COUNT(T.TRAINEEID) AS DECIMAL(15,2)) AS \""+thisYearSTR_4+"\", CAST(SUM(CASE WHEN T.TRAINDATE >='"+thisYearSTR_3+"-01-01' AND T.TRAINDATE<'"+thisYearSTR_2+"-01-01' THEN T.T_HOUR ELSE 0 END)/COUNT(T.TRAINEEID) AS DECIMAL(15,2)) AS \""+thisYearSTR_3+"\", CAST(SUM(CASE WHEN T.TRAINDATE >='"+thisYearSTR_2+"-01-01' AND T.TRAINDATE<'"+thisYearSTR_1+"-01-01' THEN T.T_HOUR ELSE 0 END)/COUNT(T.TRAINEEID) AS DECIMAL(15,2)) AS \""+thisYearSTR_2+"\", CAST(SUM(CASE WHEN T.TRAINDATE >='"+thisYearSTR_1+"-01-01' AND T.TRAINDATE<'"+thisYearSTR+"-01-01' THEN T.T_HOUR ELSE 0 END)/COUNT(T.TRAINEEID) AS DECIMAL(15,2)) AS \""+thisYearSTR_1+"\", CAST(SUM(CASE WHEN T.TRAINDATE >='"+thisYearSTR+"-01-01' AND T.TRAINDATE<'"+thisYearSTR1+"-01-01' THEN T.T_HOUR ELSE 0 END)/COUNT(T.TRAINEEID) AS DECIMAL(15,2)) AS \""+thisYearSTR+"\", CAST(SUM(CASE WHEN T.TRAINDATE >='"+thisYearSTR_5+"-01-01' AND T.TRAINDATE<'"+thisYearSTR1+"-01-01' THEN T.T_HOUR ELSE 0 END)/COUNT(T.TRAINEEID) AS DECIMAL(15,2)) AS \"TOTAL\" FROM TTRAINEETIME T INNER JOIN MEMPLOYEE M ON (T.TRAINEEID = M.EMPLOYEEID) INNER JOIN MPOSITION P ON (M.EMP_POSITION = P.POSITIONID) INNER JOIN MPERSONALLEVEL PL ON(M.PL = PL.PLID) GROUP BY PL.TDESC, M.EMP_POSITION,P.TDESC ORDER BY PL.TDESC"; String dbName = screen.getUProfile().getDbName(); String tableName = "mempl_movement"; DataSet dataset1 = new DataSet(sql_count, dbName, tableName ); //หาจำนวนบรรทัด dataset1.initConnection(screen.getUProfile()); dataset1.next(); int index1 = chk.chkNullStringToInt(dataset1.getString("count")); dataset1.closeConnection(); dataset1.setSql(sql); // หา Record dataset1.initConnection(screen.getUProfile()); int row = 0; Double[][] data1 = new Double[index1][12]; Double[] lastYearAVR = new Double[index1]; Double[] thisYearAVR = new Double[index1]; int[] total = new int[25]; int notSum = 0; int month = c.getMonth(); Double[] average = new Double[index1] ; Double[] percent = new Double[index1] ; Double sumIn = 0.0; Double sumOut = 0.0; Double sumAVR = 0.0; Double TurnOverRate = 0.0; while(dataset1.next()){ data1[row][0] = Double.parseDouble(chk.chkNullString(dataset1.getString("jan"),"0")); data1[row][1] = Double.parseDouble(chk.chkNullString(dataset1.getString("feb"),"0")); data1[row][2] = Double.parseDouble(chk.chkNullString(dataset1.getString("mar"),"0")); data1[row][3] = Double.parseDouble(chk.chkNullString(dataset1.getString("apr"),"0")); data1[row][4] = Double.parseDouble(chk.chkNullString(dataset1.getString("may"),"0")); data1[row][5] = Double.parseDouble(chk.chkNullString(dataset1.getString("jun"),"0")); data1[row][6] = Double.parseDouble(chk.chkNullString(dataset1.getString("jul"),"0")); data1[row][7] = Double.parseDouble(chk.chkNullString(dataset1.getString("aug"),"0")); data1[row][8] = Double.parseDouble(chk.chkNullString(dataset1.getString("sep"),"0")); data1[row][9] = Double.parseDouble(chk.chkNullString(dataset1.getString("oct"),"0")); data1[row][10] = Double.parseDouble(chk.chkNullString(dataset1.getString("nov"),"0")); data1[row][11] = Double.parseDouble(chk.chkNullString(dataset1.getString("dec"),"0")); row++; } sumAVR = sumAVR/12; TurnOverRate = (sumOut/sumAVR)*100; dataset1.closeConnection(); %> <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"> <script language="JavaScript" src="../JS/SCREEN.js"></script> <script language="javascript">setLang('<%=screen.getUProfile().get("lang")%>');</script> <script language="JavaScript" type="text/JavaScript"> <!-- //--> function back(unit){ with(window.opener.document.cscform){ locateId.value =unit; } window.close(); } //--> function GoExport() { with( document.cscform) { //alert("Export"); __export.value = "1"; //target="_blank" action = "TRR010_EXP.jsp"; submit(); action = "TRR010.jsp"; } } function GoProcess(){ with( document.cscform){ if(__startYear.value > __endYear.value){ alert("เงื่อนไขไม่ถูกต้อง"); }else{ submit(); } } } </script> </head> <% String helpReturn=""; if(request.getParameter("__helpReturn")!=null){ helpReturn=request.getParameter("__helpReturn"); } String fieldSearch=""; if(request.getParameter("__fieldSearch")!=null){ fieldSearch=request.getParameter("__fieldSearch"); } %> <body leftmargin="0" topmargin="0"> <form name="cscform" method="post" action="TRR010.jsp"> <!----------BEGIN CSC INITIAL ZONE ------------------------> <%=screen.InitialVariable()%> <!----------END CSC INITIAL ZONE --------------------------> <input type="hidden" name="__cmd" value=""> <input type="hidden" name="__help" value=""> <input type="hidden" name="__goPage" 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="<%=helpReturn%>"> <input type="hidden" name="__fieldSearch" value="<%=fieldSearch%>"> <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")%>"> <input type="hidden" name="__export" value=""> <br> <div align="center"> <table class="large" cellpadding="0" cellspacing="0" > <tr> <td class="header">TRR010, <SCRIPT language="JavaScript">swapLang('Report Employee GPF');</SCRIPT> </td> </tr> <tr> <td> <table border="0" cellpadding="0" cellspacing="0" align="center" class="largest"> <tr> <td class="blankspace"></td> </tr> <tr> <td align="right" width="500">ปีเริ่มต้น <select name="__startYear" id="__startYear"> <option value="<%=c.getYear()%>" <%if(String.valueOf(c.getYear()).equals(startYear)){ out.println(" selected "); }%>><%=c.getYear()+543%></option> <option value="<%=c.getYear()-1%>" <%if(String.valueOf(c.getYear()-1).equals(startYear)){ out.println(" selected "); }%>><%=c.getYear()+542%></option> <option value="<%=c.getYear()-2%>" <%if(String.valueOf(c.getYear()-2).equals(startYear)){ out.println(" selected "); }%>><%=c.getYear()+541%></option> <option value="<%=c.getYear()-3%>" <%if(String.valueOf(c.getYear()-3).equals(startYear)){ out.println(" selected "); }%>><%=c.getYear()+540%></option> <option value="<%=c.getYear()-4%>" <%if(String.valueOf(c.getYear()-4).equals(startYear)){ out.println(" selected "); }%>><%=c.getYear()+539%></option> <option value="<%=c.getYear()-5%>" <%if(String.valueOf(c.getYear()-5).equals(startYear)){ out.println(" selected "); }%>><%=c.getYear()+538%></option> </select> </td> <td align="right" width="120">ปีสิ้นสุด <select name="__endYear" id="__endYear"> <option value="<%=c.getYear()%>" <%if(String.valueOf(c.getYear()).equals(endYear)){ out.println(" selected "); }%>><%=c.getYear()+543%></option> <option value="<%=c.getYear()-1%>" <%if(String.valueOf(c.getYear()-1).equals(endYear)){ out.println(" selected "); }%>><%=c.getYear()+542%></option> <option value="<%=c.getYear()-2%>" <%if(String.valueOf(c.getYear()-2).equals(endYear)){ out.println(" selected "); }%>><%=c.getYear()+541%></option> <option value="<%=c.getYear()-3%>" <%if(String.valueOf(c.getYear()-3).equals(endYear)){ out.println(" selected "); }%>><%=c.getYear()+540%></option> <option value="<%=c.getYear()-4%>" <%if(String.valueOf(c.getYear()-4).equals(endYear)){ out.println(" selected "); }%>><%=c.getYear()+539%></option> <option value="<%=c.getYear()-5%>" <%if(String.valueOf(c.getYear()-5).equals(endYear)){ out.println(" selected "); }%>><%=c.getYear()+538%></option> </select> </td> <td> <a href="javascript:GoProcess();"><img src="../IMAGES/BUTTON/PROCESS.gif"/></a> </td> </tr> <tr> <td class="blankspace"></td> </tr> <table height="" align="center" cellpadding="0" cellspacing="0" class="maxsize" border="1" width="100%"> <tr bgcolor="#3366CC"> <td> <table class="maxsize" border="0" cellpadding="0" cellspacing="1" cols=11 bgcolor="#CCCCCC"> <tr> <td class="row1"><div align="center">ปี</div></td> <td class="row1"><div align="center">มกราคม</div></td> <td class="row1"><div align="center">กุมภาพันธ์</div></td> <td class="row1"><div align="center">มีนาคม</div></td> <td class="row1"><div align="center">เมษายน</div></td> <td class="row1"><div align="center">พฤษภาคม</div></td> <td class="row1"><div align="center">มิถุนายน</div></td> <td class="row1"><div align="center">กรกฎาคม</div></td> <td class="row1"><div align="center">สิงหาคม</div></td> <td class="row1"><div align="center">กันยายน</div></td> <td class="row1"><div align="center">ตุลาคม</div></td> <td class="row1"><div align="center">พฤศจิกายน</div></td> <td class="row1"><div align="center">ธันวาคม</div></td> <td class="row1"><div align="center">เฉลี่ย</div></td> </tr> <% if(show[0]==1){ average[0] = 0.0; for(int i=0 ; i<=11 ; i++){ average[0] += data1[0][i] ; } average[0] = average[0]/12; %> <tr> <td><div align="center">2551</div></td> <td><div align="center"><%=dmfm2.format(data1[0][0])%></div></td> <td><div align="center"><%=dmfm2.format(data1[0][1])%></div></td> <td><div align="center"><%=dmfm2.format(data1[0][2])%></div></td> <td><div align="center"><%=dmfm2.format(data1[0][3])%></div></td> <td><div align="center"><%=dmfm2.format(data1[0][4])%></div></td> <td><div align="center"><%=dmfm2.format(data1[0][5])%></div></td> <td><div align="center"><%=dmfm2.format(data1[0][6])%></div></td> <td><div align="center"><%=dmfm2.format(data1[0][7])%></div></td> <td><div align="center"><%=dmfm2.format(data1[0][8])%></div></td> <td><div align="center"><%=dmfm2.format(data1[0][9])%></div></td> <td><div align="center"><%=dmfm2.format(data1[0][10])%></div></td> <td><div align="center"><%=dmfm2.format(data1[0][11])%></div></td> <td><div align="center"><%=dmfm1.format(average[0])%> %</div></td> </tr> <%} if(show[1]==1){ average[1] = 0.0; for(int i=0 ; i<=11 ; i++){ average[1] += data1[1][i] ; } average[1] = average[1]/12; %> <tr> <td><div align="center">2552</div></td> <td><div align="center"><%=dmfm2.format(data1[1][0])%></div></td> <td><div align="center"><%=dmfm2.format(data1[1][1])%></div></td> <td><div align="center"><%=dmfm2.format(data1[1][2])%></div></td> <td><div align="center"><%=dmfm2.format(data1[1][3])%></div></td> <td><div align="center"><%=dmfm2.format(data1[1][4])%></div></td> <td><div align="center"><%=dmfm2.format(data1[1][5])%></div></td> <td><div align="center"><%=dmfm2.format(data1[1][6])%></div></td> <td><div align="center"><%=dmfm2.format(data1[1][7])%></div></td> <td><div align="center"><%=dmfm2.format(data1[1][8])%></div></td> <td><div align="center"><%=dmfm2.format(data1[1][9])%></div></td> <td><div align="center"><%=dmfm2.format(data1[1][10])%></div></td> <td><div align="center"><%=dmfm2.format(data1[1][11])%></div></td> <td><div align="center"><%=dmfm1.format(average[1])%> %</div></td> </tr> <%} if(show[2]==1){ average[2] = 0.0; for(int i=0 ; i<=11 ; i++){ average[2] += data1[2][i] ; } average[2] = average[2]/12; %> <tr> <td><div align="center">2553</div></td> <td><div align="center"><%=dmfm2.format(data1[2][0])%></div></td> <td><div align="center"><%=dmfm2.format(data1[2][1])%></div></td> <td><div align="center"><%=dmfm2.format(data1[2][2])%></div></td> <td><div align="center"><%=dmfm2.format(data1[2][3])%></div></td> <td><div align="center"><%=dmfm2.format(data1[2][4])%></div></td> <td><div align="center"><%=dmfm2.format(data1[2][5])%></div></td> <td><div align="center"><%=dmfm2.format(data1[2][6])%></div></td> <td><div align="center"><%=dmfm2.format(data1[2][7])%></div></td> <td><div align="center"><%=dmfm2.format(data1[2][8])%></div></td> <td><div align="center"><%=dmfm2.format(data1[2][9])%></div></td> <td><div align="center"><%=dmfm2.format(data1[2][10])%></div></td> <td><div align="center"><%=dmfm2.format(data1[2][11])%></div></td> <td><div align="center"><%=dmfm1.format(average[2])%> %</div></td> </tr> <%} if(show[3]==1){ average[3] = 0.0; for(int i=0 ; i<=11 ; i++){ average[3] += data1[3][i] ; } average[3] = average[3]/12; %> <tr> <td><div align="center">2554</div></td> <td><div align="center"><%=dmfm2.format(data1[3][0])%></div></td> <td><div align="center"><%=dmfm2.format(data1[3][1])%></div></td> <td><div align="center"><%=dmfm2.format(data1[3][2])%></div></td> <td><div align="center"><%=dmfm2.format(data1[3][3])%></div></td> <td><div align="center"><%=dmfm2.format(data1[3][4])%></div></td> <td><div align="center"><%=dmfm2.format(data1[3][5])%></div></td> <td><div align="center"><%=dmfm2.format(data1[3][6])%></div></td> <td><div align="center"><%=dmfm2.format(data1[3][7])%></div></td> <td><div align="center"><%=dmfm2.format(data1[3][8])%></div></td> <td><div align="center"><%=dmfm2.format(data1[3][9])%></div></td> <td><div align="center"><%=dmfm2.format(data1[3][10])%></div></td> <td><div align="center"><%=dmfm2.format(data1[3][11])%></div></td> <td><div align="center"><%=dmfm1.format(average[3])%> %</div></td> </tr> <%} if(show[4]==1){ average[4] = 0.0; for(int i=0 ; i<=11 ; i++){ average[4] += data1[4][i] ; } average[4] = average[4]/12; %> <tr> <td><div align="center">2555</div></td> <td><div align="center"><%=dmfm2.format(data1[4][0])%></div></td> <td><div align="center"><%=dmfm2.format(data1[4][1])%></div></td> <td><div align="center"><%=dmfm2.format(data1[4][2])%></div></td> <td><div align="center"><%=dmfm2.format(data1[4][3])%></div></td> <td><div align="center"><%=dmfm2.format(data1[4][4])%></div></td> <td><div align="center"><%=dmfm2.format(data1[4][5])%></div></td> <td><div align="center"><%=dmfm2.format(data1[4][6])%></div></td> <td><div align="center"><%=dmfm2.format(data1[4][7])%></div></td> <td><div align="center"><%=dmfm2.format(data1[4][8])%></div></td> <td><div align="center"><%=dmfm2.format(data1[4][9])%></div></td> <td><div align="center"><%=dmfm2.format(data1[4][10])%></div></td> <td><div align="center"><%=dmfm2.format(data1[4][11])%></div></td> <td><div align="center"><%=dmfm1.format(average[4])%> %</div></td> </tr> <%} if(show[5]==1){ int notShow = 0; %> <tr> <td><div align="center">2556</div></td> <td><div align="center"><%if(c.getMonth()>=0){out.print(dmfm2.format(data1[5][0])); notShow++;}%></div></td> <td><div align="center"><%if(c.getMonth()>=1){out.print(dmfm2.format(data1[5][1])); notShow++;}%></div></td> <td><div align="center"><%if(c.getMonth()>=2){out.print(dmfm2.format(data1[5][2])); notShow++;}%></div></td> <td><div align="center"><%if(c.getMonth()>=3){out.print(dmfm2.format(data1[5][3])); notShow++;}%></div></td> <td><div align="center"><%if(c.getMonth()>=4){out.print(dmfm2.format(data1[5][4])); notShow++;}%></div></td> <td><div align="center"><%if(c.getMonth()>=5){out.print(dmfm2.format(data1[5][5])); notShow++;}%></div></td> <td><div align="center"><%if(c.getMonth()>=6){out.print(dmfm2.format(data1[5][6])); notShow++;}%></div></td> <td><div align="center"><%if(c.getMonth()>=7){out.print(dmfm2.format(data1[5][7])); notShow++;}%></div></td> <td><div align="center"><%if(c.getMonth()>=8){out.print(dmfm2.format(data1[5][8])); notShow++;}%></div></td> <td><div align="center"><%if(c.getMonth()>=9){out.print(dmfm2.format(data1[5][9])); notShow++;}%></div></td> <td><div align="center"><%if(c.getMonth()>=10){out.print(dmfm2.format(data1[5][10])); notShow++;}%></div></td> <td><div align="center"><%if(c.getMonth()>=11){out.print(dmfm2.format(data1[5][11])); notShow++;}%></div></td> <% average[5] = 0.0; for(int i=0 ; i<notShow ; i++){ average[5] += data1[5][i] ; } average[5] = average[5]/notShow; %> <td><div align="center"><%=dmfm1.format(average[5])%> %</div></td> </tr> <%}%> </table> </td> </tr> </table></td></tr> <tr> <td class="blankspace"></td> </tr> <tr> <td> <table class="maxsize" align="center" cellpadding="0" cellspacing="0" class="large"> <tr> <td align="center"><div class="button"><a href="javascript:print();"><img src="../IMAGES/BUTTON/PRINT.gif" /></a> <a href="javascript:GoExport();"><img src="../IMAGES/BUTTON/EXPORT.gif" /></a></div></td> </tr> </table> </td> </tr> <tr> <td class="blankspace"></td> </tr> <tr bordercolor="0069B3"> <td class="bottom"></td> </tr> </table> </form> </body> </html>