📄 regrantaction.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 + -