employee_salary_count_manage.jsp
上传用户:guhaomin
上传日期:2007-06-10
资源大小:23203k
文件大小:10k
源码类别:

电子政务应用

开发平台:

Java

  1. <%
  2. /**
  3.  * $RCSfile: employee_salary_count_manage.jsp,v $
  4.  * $Revision: 1.0 $
  5.  * $Date: 2001/05/17 20:57:46 $
  6.  * /mainctrl/intranet/hr/employee_salary_count_manage
  7.  */
  8. %>
  9. <%@ page errorPage="/vnex/ErrorPage.jsp" %>
  10. <%@ page import="com.vnex.intranet.hr.employer_info.value.*" %>
  11. <%@ page import="com.vnex.intranet.hr.employer_info.process.*" %>
  12. <%@ page import="com.vnex.intranet.hr.util.*" %>
  13. <%@ page import="java.util.*" %>
  14. <%@ page import="java.text.DecimalFormat" %>
  15. <jsp:useBean id="salaryProxyBean" class="com.vnex.intranet.hr.employer_info.proxy.SalaryProxyBean" scope="application" />
  16. <%
  17.     int emp_id = -1;
  18.     emp_id = Integer.parseInt( request.getParameter("emp_id") );
  19.     DecimalFormat dFormat = new DecimalFormat("##.##");
  20.     String emp_name = request.getParameter("emp_name");
  21.     String start = request.getParameter("start");
  22.     Collection pageColl = new ArrayList();
  23.     if ( request.getParameter("doSave") != null && request.getParameterValues("emp_id") != null)
  24.     {
  25.         String[] comId = request.getParameterValues("component_id");
  26.         String[] comCount = request.getParameterValues("component_count");
  27.         if ( comId.length == comCount.length )
  28.         {
  29.             for ( int i=0; i<comId.length; i++ )
  30.             {
  31.                 SalaryCountBean scb = new SalaryCountBean();
  32.                 scb.setComId( Integer.parseInt( comId[i] ) );
  33.                 scb.setEmpId( emp_id );
  34.                 scb.setCount( Double.parseDouble( comCount[i] ) );
  35.                 scb.setComType( MemberDbTable.SALARY_TYPE );
  36.                 salaryProxyBean.salaryStore( scb );
  37.             }
  38.         }
  39.         response.sendRedirect("/mainctrl/intranet/hr/search_result");
  40.     }
  41.     if ( request.getParameter("doCreate") != null && request.getParameterValues("emp_id") != null)
  42.     {
  43.         String[] comId = request.getParameterValues("component_id");
  44.         String[] comCount = request.getParameterValues("component_count");
  45.         String[] comName = request.getParameterValues("component_name");
  46.         String[] countType = request.getParameterValues("count_type");
  47.         MemberDateSalary mds = new MemberDateSalary();
  48.         mds.setEmpId( emp_id );
  49.         if ( comId.length == comCount.length && comCount.length == comName.length )
  50.         {
  51.             for ( int i=0; i<comId.length; i++ )
  52.             {
  53.                 DateComponentBean dcb = new DateComponentBean();
  54.                 dcb.setId( Integer.parseInt(comId[i]) );
  55.                 dcb.setName( comName[i] );
  56.                 double tcount = Double.parseDouble(comCount[i])*Integer.parseInt(countType[i]);
  57.                 dcb.setCount( tcount );
  58.                 mds.getComponent().add(dcb);
  59.             }
  60.         }
  61.         salaryProxyBean.dateCreate(mds);
  62.         response.sendRedirect("/mainctrl/intranet/hr/search_result");
  63.     }
  64.     if ( request.getParameter("doEmpSalary") != null && emp_id > 0 )
  65.     {
  66.         salaryProxyBean.salaryCreateEmpSalary( emp_id );
  67.     }
  68.     pageColl = salaryProxyBean.salaryFindAll( emp_id, MemberDbTable.SALARY_TYPE );
  69.     int salaryCollCount = pageColl.size();
  70. %>
  71. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  72. <HTML>
  73. <jsp:include page="/vnex/page/FORM_HEAD.jsp" />
  74. <script language="JavaScript1.2" src="/vnex/menu/dockmenu_hr.js"></script>
  75. <script language="JavaScript" src="/vnex/menu/dockmenu.js"></script>
  76. <script language="JavaScript" src="/vnex/validate.js"></script>
  77. <script language=JavaScript>
  78. function submitSave()
  79. {
  80.     for (var i = 0; i < form1.component_count.length; i++)
  81.     {
  82.         if ( !checkSalaryNum( form1.component_count[i] ) )
  83.         {
  84.             form1.component_count[i].focus();
  85.             return false;
  86.         }
  87.     }
  88.     form1.action= "/mainctrl/intranet/hr/employee_salary_count_manage?emp_id=<%= emp_id %>&emp_name=<%= emp_name %>&doSave=1";
  89.     form1.submit();
  90. }
  91. function submitCreate()
  92. {
  93.     if ( confirm("你确认要生成此职员的本月工资单吗?") )
  94.     {
  95.         form1.action= "/mainctrl/intranet/hr/employee_salary_count_manage?emp_id=<%= emp_id %>&emp_name=<%= emp_name %>&doCreate=1";
  96.         form1.submit();
  97.     }
  98.     else return false;
  99. }
  100. function checkSalaryNum( thefield )
  101. {
  102.     if ( !isSignedFloat(thefield.value, false) )
  103.     {
  104.         alert("请输入正确的数字类型!");
  105.         thefield.focus();
  106.         thefield.select();
  107.         return false;
  108.     }
  109.     if ( thefield.value <0 )
  110.     {
  111.         alert("你输入的金额必须>0!");
  112.         thefield.focus();
  113.         thefield.select();
  114.         return false;
  115.     }
  116.     if ( thefield.value >999999 )
  117.     {
  118.         alert("你输入的金额不能大于999999.00!");
  119.         thefield.focus();
  120.         thefield.select();
  121.         return false;
  122.     }
  123.     return true;
  124. }
  125. function submitCreateEmpSalary()
  126. {
  127.     if ( confirm("你确认要生成此职员的工资组成项目吗?") )
  128.     {
  129.         form1.action= "/mainctrl/intranet/hr/employee_salary_count_manage?emp_id=<%= emp_id %>&emp_name=<%= emp_name %>&doEmpSalary=1";
  130.         form1.submit();
  131.     }
  132.     else return false;
  133. }
  134. </script>
  135. <BODY text=#000000 vLink=#000000 aLink=#000000 link=#000000 bgColor=#ffffff topMargin=20 leftmargin="0" marginwidth="0" marginheight="0">
  136. <DIV align=center>
  137. <form name="form1" method="post" action="/mainctrl/intranet/hr/employee_salary_count_manage?emp_id=<%= emp_id %>&emp_name=<%= emp_name %>">
  138.   <TABLE class=outter cellSpacing=0 cellPadding=0 width=600 border=0>
  139.     <TBODY>
  140.     <jsp:include page="/vnex/page/TTOA_TABLE_TOP.jsp" />
  141.     <TR> 
  142.         <TD colSpan=3 align="center"> 
  143.           <br>
  144.           <table width="600" border="1" cellspacing="1" bordercolor="#666666">
  145.             <tr>
  146.               <td bgcolor="#fafafa"> 
  147.                 <table width="600" border="0" cellspacing="0" >
  148.                   <tr> 
  149.                     <td bgcolor="#666666"><font class="strongw"><a href="/mainctrl/home/index"><font color="#FFFFFF">首页</font></a>&gt;&gt;<a href="/mainctrl/hr/main"><font color="#FFFFFF">人力资源</font></a>&gt;&gt;<a href="/mainctrl/intranet/hr/search_result"><font color="#FFFFFF">员工信息</font></a>&gt;&gt;<font color="#FFFFFF">薪酬设置</font></font></td>
  150.                   </tr>
  151.                 </table>
  152.                 <table class=title cellspacing=1 cellpadding=2 width="600" border=0>
  153.                   <tr> 
  154.                     <td width="153" align="center"><font class=strong>名称</font></td>
  155.                     <td width="76" align="center"><font class=strong>方式</font></td>
  156.                     <td width="105" align="center"><font class=strong>类型</font></td>
  157.                     <td width="193" align="center"><font class=strong>金额</font></td>
  158.                   </tr>
  159.     <%
  160.         String bgcolor = null;
  161.         int color_i = 0;
  162.         Iterator iter = pageColl.iterator();
  163.         double sum=0;
  164.         while ( iter.hasNext() )
  165.         {
  166.             MemberSalary sc = (MemberSalary)iter.next();
  167.             sum += sc.getCount()*sc.getComponent().getCalcType()*sc.getComponent().getState();
  168.             color_i++;
  169.             if( color_i%2==0 )
  170.             {
  171.                 bgcolor = "#e0e0e0";
  172.             }
  173.             else
  174.             {
  175.                 bgcolor = "#fafafa";
  176.             }
  177.     %>
  178.                   <tr bgcolor="<%= bgcolor %>"> 
  179.                     <td width="153" align="center"><%= sc.getComponent().getName() %></td>
  180.                     <td width="76" align="center"><% if ( sc.getComponent().getCalcType() == MemberDbTable.DECREASE_TYPE ) out.print("减项"); else out.print("增项"); %></td>
  181.                     <td width="105" align="center"><% if ( sc.getComponent().getType() == MemberDbTable.SALARY_TYPE ) out.print("工资"); else if ( sc.getComponent().getType() == MemberDbTable.INSURANCE_TYPE ) out.print("保险"); else out.print("福利"); %></td>
  182.                     <td width="193" align="center"> 
  183.                       <input type="text" name="component_count" class=text onChange="checkSalaryNum(this)" size="24" value="<%= sc.getCount() %>">&nbsp;元
  184.                     <input type="hidden" name="component_id" class=text size="20" value=<%= sc.getComponent().getId() %>>
  185.                     <input type="hidden" name="component_name" class=text size="20" value=<%= sc.getComponent().getName() %>>
  186.                     <input type="hidden" name="count_type" class=text size="20" value=<%= sc.getComponent().getCalcType() %>>
  187.                     </td>
  188.                   </tr>
  189.     <%
  190.         }
  191.     %>
  192.                   <tr> 
  193.                     <td width="153" bgcolor="#e0e0e0" align="center">实发金额</td>
  194.                     <td width="76" bgcolor="#e0e0e0" align="center">&nbsp;</td>
  195.                     <td width="105" bgcolor="#e0e0e0" align="center">&nbsp;</td>
  196.                     <td width="193" bgcolor="#e0e0e0" align="center"><%= dFormat.format(sum) %>&nbsp;&nbsp;(元)</td>
  197.                   </tr>
  198.                   <tr bgcolor="#fafafa"> 
  199.                     <td colspan="5" height="30" align="center"> 
  200.           <%
  201.             if ( salaryCollCount >0 )
  202.             {
  203.           %>
  204.                       <input type="button" value="保存" name="B3" class=text onclick="return submitSave()">&nbsp;&nbsp; 
  205.           <%
  206.             }
  207.           %>
  208.           <%
  209.             if ( !salaryProxyBean.dateCheckList(emp_id) && salaryCollCount >0 )
  210.             {
  211.           %>
  212.                       <input type="button" style="width:95px" value="生成本月工资单" name="B32" class=text onclick="return submitCreate()">&nbsp;&nbsp;
  213.           <%
  214.             }
  215.           %>
  216.           <%
  217.             if ( salaryCollCount <1 )
  218.             {
  219.           %>
  220.                       <input type="button" style="width:80px" value="生成工资选项" name="B33" class=text onclick="return submitCreateEmpSalary()">&nbsp;&nbsp;
  221.           <%
  222.             }
  223.           %>
  224.                       <input type="reset" value="放弃" onClick="location='/mainctrl/intranet/hr/search_result?start=<%= start %>'" name="B2" class=text>
  225.                     </td>
  226.                   </tr>
  227.                 </table>
  228.               </td>
  229.             </tr></table> 
  230.           <br>
  231.           <br>
  232.           <jsp:include page="/vnex/page/TTOA_HELP.jsp" />
  233.         </TD>
  234.     </TR>
  235.      <jsp:include page="/vnex/page/TTOA_TABLE_BOTTOM.jsp" />
  236.     </TBODY> 
  237.     </TABLE>
  238.     <BR>
  239.   <jsp:include page="/vnex/page/TTOA_PRODUCER_LOGO.jsp" />
  240.     <input type=hidden name=start value=<%= start %> >
  241.   </form></DIV>
  242. </BODY></HTML>