⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 regrantaction.java

📁 企业人力资源管理
💻 JAVA
字号:
package com.y2.hr.salary.grant.web.action;

import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import com.y2.hr.base.commom.Common;
import com.y2.hr.salary.grant.bean.SalaryGrant;
import com.y2.hr.salary.grant.bean.SalaryGrantDetails;
import com.y2.hr.salary.grant.biz.GrantBiz;
import com.y2.hr.salary.grant.web.form.GrantForm;

public class ReGrantAction extends DispatchAction {

	private GrantBiz grantBiz;

	public void setGrantBiz(GrantBiz grantBiz) {
		this.grantBiz = grantBiz;
	}

	/**
	 * 加载跳转到 薪酬发放的界面 的薪酬发放单 输入:薪酬发放管理主界面 执行: 获取I机构/II机构 的编号,名称,总人数,总的薪酬 以及
	 * 上次薪酬发放的信息,和生成新的 薪酬发放单编号 输出: 薪酬发放登记界面
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward reGrant(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		// 统计 最后一次的薪酬发放的次数
		int grandCount = grantBiz.getLastGrantCount();
		request.setAttribute("grantCounts", grandCount);
		// 获取最后一次薪酬发放时间
		Date grandLastTime = grantBiz.getLastGrantLastTime();
		request.setAttribute("grantLastTime", grandLastTime);
		// 根据发放方式获取机构的总人数,及总薪酬标准额
		List<?> humanList = grantBiz.getHumanCountsByKind(2);
		request.setAttribute("humanList", humanList);
		return mapping.findForward("reGrant");
	}

	/**
	 * 加载设置薪酬发放详细的一些信息 (薪酬标准的详细信息)
	 * 
	 * 输入:薪酬发放登记界面 参数:
	 * 
	 * 执行: 输入:
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward toGrantDate(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		GrantForm grantForm = (GrantForm) form;
		// 获取机构的人数
		int count = grantForm.getHumanAmount();
		int curPage = 1;
		String curPage_str = request.getParameter("curPage");
		if (null != curPage_str) {
			curPage = Integer.parseInt(curPage_str);
		}
		request.setAttribute("count", count);
		request.setAttribute("curPage", curPage);
		// 根据页数 获取机构中的人员
		List<?> hums = grantBiz.getKindAllHuman(grantForm.getFirstKindId(),
				grantForm.getSecondKindId(), curPage);
		Iterator<?> it = hums.iterator();
		int i = 0;
		List<Object> salaryList = new ArrayList<Object>();
		while (it.hasNext()) {
			Object[] os = (Object[]) it.next();
			// 根据各个员工的薪酬标准 来 获得其薪酬标准的详细信息
			List salarys = grantBiz.getAllSalaryById(os[2].toString());
			salaryList.add(salarys);
			i++;
		}
		request.setAttribute("hums", hums);
		request.setAttribute("salaryList", salaryList);
		request.setAttribute("grant", grantForm);
		return mapping.findForward("toReGrantDate");
	}

	/**
	 * 登记
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward doGrant(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		GrantForm grantForm = (GrantForm) form;
		SalaryGrant sagrant = new SalaryGrant();
		List<SalaryGrantDetails> grantDateList = new ArrayList<SalaryGrantDetails>();
		grantForm.resetValue();
		// 制订薪酬发放单基本信息及详细信息
		setgrantDateList(grantForm, sagrant, grantDateList);
		@SuppressWarnings("unused")
		boolean boo = grantBiz.savaGrantAndDate(sagrant, grantDateList);
		request.setAttribute("boo", boo);
		return mapping.findForward("doResult");
	}

	/**
	 * 制订薪酬发放单基本信息及详细信息
	 * 
	 * @param grantForm
	 * @param sagrant
	 * @param grantDateList
	 * @throws IllegalAccessException
	 * @throws InvocationTargetException
	 */
	public void setgrantDateList(GrantForm grantForm, SalaryGrant sagrant,
			List<SalaryGrantDetails> grantDateList)
			throws IllegalAccessException, InvocationTargetException {
		BeanUtils.copyProperties(sagrant, grantForm);
		sagrant.setRegistTime(Common.format(grantForm.getReTime()));
		String[] humanIds = grantForm.getHumanIds();
		String[] humanNames = grantForm.getHumanNames();
		double[] bounsSums = grantForm.getBounsSums(); // 奖励金额
		double[] saleSums = grantForm.getSaleSums(); // 销售绩效金额
		double[] deductSums = grantForm.getDeductSums(); // 应扣金额
		double[] salaryStandardSums = grantForm.getSalaryStandardSums();// 薪酬标准金额
		// double[] salaryPaidSums = grantForm.getSalaryPaidSums(); //获取总金额
		int len = humanIds.length;
		double paidSums = 0d;
		double salarySums = 0d;
		for (int i = 0; i < len; i++) {
			SalaryGrantDetails date = new SalaryGrantDetails();
			date.setSalaryGrantId(sagrant.getSalaryGrantId());
			date.setHumanId(humanIds[i]);
			date.setHumanName(humanNames[i]);
			date.setBounsSum(bounsSums[i]);
			date.setDeductSum(deductSums[i]);
			date.setSaleSum(saleSums[i]);
			date.setSalaryStandardSum(salaryStandardSums[i]);
			date.setSalaryPaidSum(bounsSums[i] + deductSums[i] + saleSums[i]
					+ salaryStandardSums[i]);
			grantDateList.add(date);
			paidSums += bounsSums[i] + deductSums[i] + saleSums[i]
					+ salaryStandardSums[i];
			salarySums += salaryStandardSums[i];
		}
		sagrant.setSalaryPaidSum(paidSums);
		sagrant.setSalaryStandardSum(salarySums);
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -