<!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.*,java.sql.*"%> <%@ include file="../CHECKPROFILE.jsp" %> <% CheckNull chk = new CheckNull(); CscCalendar c = new CscCalendar(); String cmd = chk.chkNullString(request.getParameter("__cmd")); String branch = chk.chkNullString(request.getParameter("__comid")); String start_date = chk.chkNullString(request.getParameter("__start_date"),c.getDDMMYYYY()); String end_date = chk.chkNullString(request.getParameter("__end_date"),c.getDDMMYYYY()); CscCalendar start_date2 = new CscCalendar(start_date); CscCalendar end_date2 = new CscCalendar(end_date); String now = chk.chkNullString(request.getParameter("__nowyear")); String after = chk.chkNullString(request.getParameter("__afteryear")); String position = chk.chkNullString(request.getParameter("__position")); String planid = chk.chkNullString(request.getParameter("__planid")); String bu1id = chk.chkNullString(request.getParameter("__bu1")); String bu2id = chk.chkNullString(request.getParameter("__bu2")); String bu3id = chk.chkNullString(request.getParameter("__bu3")); String bu4id = chk.chkNullString(request.getParameter("__bu4")); String plan_type = chk.chkNullString(request.getParameter("MMANPOWER0@PLAN_TYPE")); String jobdesc = chk.chkNullString(request.getParameter("MJOBCODE@TDESC")); String mbudesc1 = chk.chkNullString(request.getParameter("MBU1@TDESC")); String mbudesc2 = chk.chkNullString(request.getParameter("MBU2@TDESC")); String mbudesc3 = chk.chkNullString(request.getParameter("MBU3@TDESC")); String mbudesc4 = chk.chkNullString(request.getParameter("MBU4@TDESC")); String f_start_date = start_date2.getYYYYMMDD(); String f_end_date = end_date2.getYYYYMMDD(); String filter = "where 1=1 "; if(!planid.equals("")){ filter += "and t1.planid = '"+planid+"' "; } if(!position.equals("")){ filter += "and t1.jobcodeid='"+position+"' "; } if(!bu1id.equals("")){ filter += "and t1.bid1='"+bu1id+"' "; } if(!bu2id.equals("")){ filter += "and t1.bid2='"+bu2id+"' "; } if(!bu3id.equals("")){ filter += "and t1.bid3='"+bu3id+"' "; } if(!bu4id.equals("")){ filter += "and t1.bid4='"+bu4id+"' "; } %> <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"> <script 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' SRC='../JS/DATEINPUT.js'></SCRIPT> <SCRIPT TYPE='text/JavaScript' SRC='../JS/VIEWCALENDAR.js'></SCRIPT> <script language="javascript">setLang('<%=uprofile.get("lang")%>');</script> <script language="JavaScript" type="text/JavaScript"> function goHelp(helpName,inputName){ if (inputName=="__position" ) { helpReturn="__position:jobcodeid,MJOBCODE@TDESC"; }else if (inputName=="__planid" ){ helpReturn="__planid:planid,MMANPOWER0@PLAN_TYPE"; }else if (inputName=="__bu1" ){ helpReturn="__bu1:bu1id,MBU1@TDESC"; }else if (inputName=="__bu2" ){ helpReturn="__bu2:bu2id,MBU2@TDESC"; }else if (inputName=="__bu3" ){ helpReturn="__bu3:bu3id,MBU3@TDESC"; }else if (inputName=="__bu4" ){ helpReturn="__bu4:bu4id,MBU4@TDESC"; } linkHelp_Return(helpName, helpReturn); } function back(unit){ with(window.opener.document.cscform){ locateId.value =unit; } window.close(); } function GoExport(){ var con =getCondition(); window.open("MANPOWER_REPORT_EXP.jsp?&"+con); } function getCondition(){ return "nowyear="+document.cscform.__nowyear.value+ "&afteryear="+document.cscform.__afterYear.value+ "&filter="+document.cscform.__filter.value; } function GoProcess(){ with( document.cscform){ __cmd.value = "search" submit(); } } </script> </head> <style> td.rowex { background: #3399cc; border: #cccccc; color: #000000; font-weight: bold; height: 45px; } </style> <% 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="MANPOWER_REPORT.jsp"> <!----------BEGIN CSC INITIAL ZONE ------------------------> <%//=screen.InitialVariable()%> <!----------END CSC INITIAL ZONE --------------------------> <input type="hidden" name="__cmd" value=""> <input type="hidden" name="__screen" value="MANPOWER_REPORT"> <input type="hidden" name="__help" value=""> <input type="hidden" name="__goPage" value=""> <input type="hidden" name="__language" value="<%=uprofile.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=""> <input type="hidden" name="__calendar" value=""> <input type="hidden" name="__filter" value="<%=filter%>"> <script language="javascript">getInputFormatDate()</script> <br> <div align="center"> <table class="large" cellpadding="0" cellspacing="1" > <tr> <td colspan=2 class="header">MANPOWER_REPORT, <span swlang code="SW002045">Manpower Report</span></td> </tr> <tr> <td colspan=2> <table border="0" cellpadding="0" cellspacing="1" align="center" class="largest"> <tr> <td colspan=2 class="blankspace"></td> </tr> <% DbInquiry memployee = new InitialInquiry(uprofile).getDbInquiry("memployee"); memployee.setColumn("employeeid,companyid,bu1,bu2,bu3,bu4,bu5"); memployee.refresh(); DbRecord mbu = memployee.getCurrentDbRecord(); %> <tr> <td width="40%" align="right"><span swlang code="SW012520">Manpower Plan ID</span> </td> <td width="60%" ><input type="text" size="10" name="__planid" value="<%=planid%>"> <a href="javascript:goHelp('MMANPOWER0HELP','__planid')" 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" width="20" height="20" border="0" align="absmiddle"></a> <input type="text" size="30" name="MMANPOWER0@PLAN_TYPE" value="<%=plan_type%>" readonly="true"></td> </tr> <tr> <td width="40%" align="right"><span swlang code="SW000057">Position</span> </td> <td width="60%" ><input type="text" size="10" name="__position" value="<%=position%>"> <a href="javascript:goHelp('MJOBCODEHELP','__position')" 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" width="20" height="20" border="0" align="absmiddle"></a> <input type="text" size="30" name="MJOBCODE@TDESC" value="<%=jobdesc%>" readonly="true"></td> </tr> <tr> <td width="40%" align="right"><%=mbu.getField("bu1").getDescription()%> </td> <td width="60%" ><input type="text" size="10" name="__bu1" value="<%=bu1id%>"> <a href="javascript:goHelp('MBU1HELP','__bu1')" 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" width="20" height="20" border="0" align="absmiddle"></a> <input type="text" size="30" name="MBU1@TDESC" value="<%=mbudesc1%>" readonly="true"></td> </tr> <tr> <td width="40%" align="right"><%=mbu.getField("bu2").getDescription()%> </td> <td width="60%" ><input type="text" size="10" name="__bu2" value="<%=bu2id%>"> <a href="javascript:goHelp('MBU2HELP','__bu2')" 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" width="20" height="20" border="0" align="absmiddle"></a> <input type="text" size="30" name="MBU2@TDESC" value="<%=mbudesc2%>" readonly="true"></td> </tr> <tr> <td width="40%" align="right"><%=mbu.getField("bu3").getDescription()%> </td> <td width="60%" ><input type="text" size="10" name="__bu3" value="<%=bu3id%>"> <a href="javascript:goHelp('MBU3HELP','__bu3')" 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" width="20" height="20" border="0" align="absmiddle"></a> <input type="text" size="30" name="MBU3@TDESC" value="<%=mbudesc3%>" readonly="true"></td> </tr> <tr> <td width="40%" align="right"><%=mbu.getField("bu4").getDescription()%> </td> <td width="60%" ><input type="text" size="10" name="__bu4" value="<%=bu4id%>"> <a href="javascript:goHelp('MBU4HELP','__bu4')" 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" width="20" height="20" border="0" align="absmiddle"></a> <input type="text" size="30" name="MBU4@TDESC" value="<%=mbudesc4%>" readonly="true"></td> </tr> <tr> <td colspan=2 align="center"> <a href="javascript:GoProcess();"><img src="../IMAGES/BUTTON/SEARCH.gif"border=0/></a> </td> </tr> </tr> <%if(cmd.equals("search")){%> <% int i=1; String bu1tdesc =""; String bu2tdesc =""; String bu3tdesc =""; String bu4tdesc =""; String bu1edesc =""; String bu2edesc =""; String bu3edesc =""; String bu4edesc =""; String remark = ""; int cur_man = 0; int userman = 0; int totalman = 0; int lastcur_man = 0; int nowyear = c.getYear(); int afteryear = nowyear-1; int sum_lastcur_man = 0; int sum_cur_man = 0; int sum_userman = 0; int sum_totalman = 0; if(!planid.equals("")){ DbInquiry plandate = new InitialInquiry(uprofile).getDbInquiry("mmanpower0"); plandate.setColumn("*"); plandate.refresh(); if(plandate.next()){ nowyear = new CscCalendar(plandate.getString("plan_startdate")).getYear() ; afteryear = new CscCalendar(plandate.getString("plan_startdate")).getYear() - 1; } } StringBuffer sql = new StringBuffer(); sql.append("WITH t1 as ( "); sql.append("select m.jobcodeid "); sql.append(",SUBSTRING(m0.plan_startdate,1,4)years "); sql.append(",m0.planid ,m0.plan_startdate ,m0.plan_enddate "); sql.append(",j.bu1 bid1,b1.tdesc bu1tdesc ,b1.edesc bu1edesc"); sql.append(",j.bu2 bid2,b2.tdesc bu2tdesc ,b2.edesc bu2edesc"); sql.append(",j.bu3 bid3,b3.tdesc bu3tdesc ,b3.edesc bu3edesc"); sql.append(",j.bu4 bid4,b4.tdesc bu4tdesc ,b4.edesc bu4edesc"); sql.append(",SUM(CAST(m.currentman as int))currentman "); sql.append(",SUM(CAST(m.usedman as int))usedman "); sql.append(",SUM(CAST(m.totalman as int))totalman "); sql.append(",m.remarks "); sql.append("from mmanpower1 m "); sql.append("left join mmanpower0 m0 on m.planid=m0.planid "); sql.append("left join mjobcode j on m.jobcodeid=j.jobcodeid "); sql.append("left join mbu1 b1 on j.bu1=b1.bu1id "); sql.append("left join mbu2 b2 on j.bu2=b2.bu2id "); sql.append("left join mbu3 b3 on j.bu3=b3.bu3id "); sql.append("left join mbu4 b4 on j.bu4=b4.bu4id "); sql.append("where SUBSTRING(m0.plan_startdate,1,4)='"+nowyear+"' "); sql.append("group by m.jobcodeid,SUBSTRING(m0.plan_startdate,1,4) "); sql.append(",j.bu1,b1.tdesc,b1.edesc,j.bu2,b2.tdesc,b2.edesc,j.bu3,b3.tdesc,b3.edesc,j.bu4,b4.tdesc,b4.edesc,m.remarks "); sql.append(",m0.planid ,m0.plan_startdate ,m0.plan_enddate )"); sql.append(", t2 as ( "); sql.append("select m.jobcodeid "); sql.append(",SUBSTRING(m0.plan_startdate,1,4)years2 "); sql.append(",m0.planid ,m0.plan_startdate ,m0.plan_enddate "); sql.append(",j.bu1 bid1,b1.tdesc bu1desc "); sql.append(",j.bu2 bid2,b2.tdesc bu2desc "); sql.append(",j.bu3 bid3,b3.tdesc bu3desc "); sql.append(",j.bu4 bid4,b4.tdesc bu4desc "); sql.append(",SUM(CAST(m.currentman as int))currentman "); sql.append(",SUM(CAST(m.usedman as int))usedman "); sql.append(",SUM(CAST(m.totalman as int))totalman "); sql.append(",m.remarks "); sql.append("from mmanpower1 m "); sql.append("left join mmanpower0 m0 on m.planid=m0.planid "); sql.append("left join mjobcode j on m.jobcodeid=j.jobcodeid "); sql.append("left join mbu1 b1 on j.bu1=b1.bu1id "); sql.append("left join mbu2 b2 on j.bu2=b2.bu2id "); sql.append("left join mbu3 b3 on j.bu3=b3.bu3id "); sql.append("left join mbu4 b4 on j.bu4=b4.bu4id "); sql.append("where SUBSTRING(m0.plan_startdate,1,4)='"+afteryear+"' "); sql.append("group by m.jobcodeid,SUBSTRING(m0.plan_startdate,1,4),j.bu1,b1.tdesc,j.bu2,b2.tdesc,j.bu3,b3.tdesc,j.bu4,b4.tdesc,m.remarks,m0.planid,m0.plan_startdate ,m0.plan_enddate ) "); sql.append("select t1.years as years,t1.planid ,t1.plan_startdate ,t1.plan_enddate ,t1.bu1edesc as e1,t1.bu2edesc as e2,t1.bu3edesc as e3,t1.bu4edesc as e4"); sql.append(",t1.bu1tdesc as t1,t1.bu2tdesc as t2,t1.bu3tdesc as t3,t1.bu4edesc as t4"); sql.append(",t2.currentman as lastcurrentman,t1.currentman as cur1,t1.usedman as userm,t1.totalman as total,t1.remarks as rem,t1.bid1,t1.bid2,t1.bid3,t1.bid4 "); sql.append("from t1 left join t2 on t1.jobcodeid=t2.jobcodeid "+filter+" ORDER BY bid1,bid2,bid3,bid4 "); //out.print(sql); String dbName = uprofile.getDbName(); String tableName = "mmanpower1"; HashMap hm_bu1 = new HashMap(); HashMap hm_bu2 = new HashMap(); HashMap hm_bu3 = new HashMap(); HashMap hm_bu4 = new HashMap(); String bu1 = ""; String bu2 = ""; String bu3 = ""; String bu4 = ""; String years = ""; DataSet dsdate = new DataSet(sql.toString(), dbName, tableName ); dsdate.initConnection(uprofile); if(dsdate.next()){ years = chk.chkNullString(dsdate.getString("years")) +"-01-01"; } dsdate.closeConnection(); %> <table height="" align="center" cellpadding="0" cellspacing="1" class="maxsize" border="0" width="100%"> <tr bgcolor="#3366CC"> <td colspan=2> <table class="maxsize" border="1" cellpadding="0" cellspacing="1" cols=11 bgcolor="#CCCCCC"> <tr> <td class="rowex" width="18%"><div align="center"><b><%=mbu.getField("bu1").getDescription()%></b></div></td> <td class="rowex" width="18%"><div align="center"><b><%=mbu.getField("bu2").getDescription()%></b></div></td> <td class="rowex" width="17%"><div align="center"><b><%=mbu.getField("bu3").getDescription()%></b></div></td> <td class="rowex" width="17%"><div align="center"><b><%=mbu.getField("bu4").getDescription()%></b></div></td> <td class="rowex" width="5%"><div align="center"><b><span swlang code="SW012521">Manpower</span> <%=new CscCalendar(years).getYear()-1%></b></div></td> <td class="rowex" width="5%"><div align="center"><b><span swlang code="SW012522">Manpower Need'</span> <%=String.valueOf(new CscCalendar(years).getYear()).substring(2)%></b></div></td> <td class="rowex" width="5%"><div align="center"><b><span swlang code="SW012523">Actual</span> <%=new CscCalendar(years).getYear()%></b></div></td> <td class="rowex" width="5%"><div align="center"><b><span swlang code="SW012524">Vacancy</span></b></div></td> <td class="rowex" width="10%" ><div align="center"><b><span swlang code="SW000302">Remark</span></b></div></td> <input type="hidden" name="__nowyear" value="<%=new CscCalendar(years).getYear()%>"> <input type="hidden" name="__afterYear" value="<%=new CscCalendar(years).getYear()-1%>"> </tr> <% DataSet ds = new DataSet(sql.toString(), dbName, tableName ); ds.initConnection(uprofile); while(ds.next()){ bu1 = chk.chkNullString(ds.getString("bid1")); bu2 = bu1+","+chk.chkNullString(ds.getString("bid2")); bu3 = bu2+","+chk.chkNullString(ds.getString("bid3")); bu4 = bu3+","+chk.chkNullString(ds.getString("bid4")); int row_bu1 = 1; if(hm_bu1.containsKey(bu1)){ row_bu1 = (Integer)hm_bu1.get(bu1); row_bu1++; } hm_bu1.put(bu1,row_bu1); /////////////////////////// int row_bu2 = 1; if(hm_bu2.containsKey(bu2)){ row_bu2 = (Integer)hm_bu2.get(bu2); row_bu2++; } hm_bu2.put(bu2,row_bu2); /////////////////////////// int row_bu3 = 1; if(hm_bu3.containsKey(bu3)){ row_bu3 = (Integer)hm_bu3.get(bu3); row_bu3++; } hm_bu3.put(bu3,row_bu3); /////////////////////////// int row_bu4 = 1; if(hm_bu4.containsKey(bu4)){ row_bu4 = (Integer)hm_bu4.get(bu4); row_bu4++; } hm_bu4.put(bu4,row_bu4); /////////////////////////// } ds.closeConnection(); String d1=null; String d2=null; String d3=null; String d4=null; ds.initConnection(uprofile); while(ds.next()){ bu1 = chk.chkNullString(ds.getString("bid1")); bu2 = bu1+","+chk.chkNullString(ds.getString("bid2")); bu3 = bu2+","+chk.chkNullString(ds.getString("bid3")); bu4 = bu3+","+chk.chkNullString(ds.getString("bid4")); bu1edesc = chk.chkNullString(ds.getString("e1")); bu2edesc = chk.chkNullString(ds.getString("e2")); bu3edesc = chk.chkNullString(ds.getString("e3")); bu4edesc = chk.chkNullString(ds.getString("e4")); bu1tdesc = chk.chkNullString(ds.getString("t1")); bu2tdesc = chk.chkNullString(ds.getString("t2")); bu3tdesc = chk.chkNullString(ds.getString("t3")); bu4tdesc = chk.chkNullString(ds.getString("t4")); cur_man = Integer.parseInt(chk.chkNullString(ds.getString("cur1"),"0")); lastcur_man = Integer.parseInt(chk.chkNullString(ds.getString("lastcurrentman"),"0")); userman = Integer.parseInt(chk.chkNullString(ds.getString("userm"),"0")); totalman = Integer.parseInt(chk.chkNullString(ds.getString("total"),"0")); remark = chk.chkNullString(ds.getString("rem")); %> <tr> <% if(!bu1.equals(d1)){ %> <td align="top" nowrap rowspan="<%=hm_bu1.get(bu1)%>" style="vertical-align: text-top;"><div> <%=uprofile.get("lang").equalsIgnoreCase("tha")?bu1tdesc:bu1edesc%></div></td> <% } if(!bu2.equals(d2)){ %> <td align="top" nowrap rowspan="<%=hm_bu2.get(bu2)%>" style="vertical-align: text-top;"><div> <%=uprofile.get("lang").equalsIgnoreCase("tha")?bu2tdesc:bu2edesc%></div></td> <% } if(!bu3.equals(d3)){ %> <td align="top" nowrap rowspan="<%=hm_bu3.get(bu3)%>" style="vertical-align: text-top;"><div> <%=uprofile.get("lang").equalsIgnoreCase("tha")?bu3tdesc:bu3edesc%></div></td> <% } if(!bu4.equals(d4)){ %> <td align="top" nowrap rowspan="<%=hm_bu4.get(bu4)%>" style="vertical-align: text-top;"><div> <%=uprofile.get("lang").equalsIgnoreCase("tha")?bu4tdesc:bu4edesc%></div></td> <% } %> <td nowrap ><div align="center"><%=(lastcur_man != 0)?lastcur_man:""%></div></td> <td nowrap ><div align="center"><%=cur_man%></div></td> <td nowrap ><div align="center"><%=userman%></div></td> <td nowrap ><div align="center"><%=totalman%></div></td> <td nowrap ><div align="center"><%=remark%></div></td> </tr> <% d1 = bu1; d2 = bu2; d3 = bu3; d4 = bu4; sum_lastcur_man += lastcur_man; sum_cur_man += cur_man; sum_userman += userman; sum_totalman += totalman; } ds.closeConnection(); String sum = ""; %> <tr HSIDES="5"> <td nowrap colspan="4"> <b><span swlang code="SW000997">Total</span></b></td> <td nowrap ><div align="center"><b><%=sum_lastcur_man%></b></div></td> <td nowrap ><div align="center"><b><%=sum_cur_man%></b></div></td> <td nowrap ><div align="center"><b><%=sum_userman%></b></div></td> <td nowrap ><div align="center"><b><%=sum_totalman%></b></div></td> <td nowrap ><div align="center"><%=remark%></div></td> </tr> </table> </td> </tr> </table></td></tr> <tr> <td colspan=2 class="blankspace"></td> </tr> <tr> <td colspan=2> <table class="maxsize" align="center" cellpadding="0" cellspacing="0" class="large"> <tr> <td align="center"><div class="button"><a href="javascript:GoExport();"><img src="../IMAGES/BUTTON/EXPORT.gif" border=0 /></a></div></td> </tr> </table> </td> </tr> <tr> <td colspan=2 class="blankspace"></td> </tr> <tr bordercolor="0069B3"> <td colspan=2 class="bottom"></td> </tr> <%}%> </table> <tr bordercolor="0069B3"> <td colspan=2 class="bottom"></td> </tr> </form> </body> </html>