📄 salaryserviceimpl.java
字号:
package org.HumResManSys.service.impl;
import java.util.List;
import org.HumResManSys.dao.JfdDAO;
import org.HumResManSys.dao.Kq_infoDAO;
import org.HumResManSys.dao.Salary_infoDAO;
import org.HumResManSys.factory.DAOFactory;
import org.HumResManSys.service.JxdService;
import org.HumResManSys.service.SalaryService;
import org.HumResManSys.vo.Jfd;
import org.HumResManSys.vo.Kq_info;
import org.HumResManSys.vo.Salary_info;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SalaryServiceImpl implements SalaryService{
private DAOFactory daoFactory;
/*
*显示所有员工工资信息
* (non-Javadoc)
* @see org.HumResManSys.service.SalaryService#showAllSalaryInfos()
*/
public List<Salary_info> showAllSalaryInfos(){
List list=null;
try {
//获得salary_infoDAO
Salary_infoDAO salary_infoDAO=daoFactory.getSalary_infoDAO();
list=salary_infoDAO.queryAllSalary_infos();
//一定要关闭session
salary_infoDAO.closeSession();
} catch (RuntimeException e) {
// TODO Auto-generated catch block
System.out.print("SalaryService show AllSalaryInfos\n");
e.printStackTrace();
return null;
}
return list;
}
/*
* 保存更改的员工工资信息
* (non-Javadoc)
* @see org.HumResManSys.service.SalaryService#saveSalaryinfo(org.HumResManSys.vo.Salary_info)
*/
public boolean saveSalaryinfo(Salary_info salary_info){
boolean result=false;
try {
//获得salary_infoDAO
Salary_infoDAO salary_infoDAO=daoFactory.getSalary_infoDAO();
Salary_info salary_info1=new Salary_info();
salary_info1.setEmp_name(salary_info.getEmp_name());
salary_info1.setMonth(salary_info.getMonth());
List<Salary_info> list=salary_infoDAO.querySalary_infosByEntity(salary_info1);
Salary_info salary_info2=list.get(0);
salary_info2.setBasic_sal(salary_info.getBasic_sal());
salary_info2.setJintie(salary_info.getJintie());
salary_info2.setBonus(salary_info.getBonus());
salary_info2.setTax_rate(salary_info.getTax_rate());
salary_info2.setSum_sal(salary_info.getSum_sal());
//一定要关闭session
salary_infoDAO.closeSession();
result=salary_infoDAO.updateSalary_info(salary_info2);
} catch (RuntimeException e) {
// TODO Auto-generated catch block
System.out.print("SalaryService save SalaryInfos\n");
e.printStackTrace();
return false;
}
return result;
}
/*
* 增加一条员工工资记录
* (non-Javadoc)
* @see org.HumResManSys.service.SalaryService#addSalaryInfo(java.lang.String, java.lang.String, double)
*/
public boolean addSalaryInfo(String name,String month,long jintie){
long basicSal=0;
long bonus=0;
long tax_rate=0;
long sum_sal=0;
long times=0;
long kq_degree=0;
long mark=0;
long avg_mark=0;
try{
//得到Salary_infoDAO
Salary_infoDAO salary_infoDAO=daoFactory.getSalary_infoDAO();
Kq_infoDAO kq_infoDAO=daoFactory.getKq_infoDAO();
//取得基本工资
Salary_info salary_info1=new Salary_info();
salary_info1.setEmp_name(name);
List<Salary_info> list1=salary_infoDAO.querySalary_infosByEntity(salary_info1);
if(list1.size()>0){
basicSal=list1.get(0).getBasic_sal();
tax_rate=list1.get(0).getTax_rate();
}else{
System.out.println("bb");
return false;
}
//取得奖金
JfdDAO jfdDAO=daoFactory.getJfdDAO();
Jfd jfd=new Jfd();
jfd.setEmp_name(name);
jfd.setMonth(month);
;
List<Jfd> list2=jfdDAO.queryJfdsByEntity(jfd);
if(list2!=null){
for(int i=0;i<list2.size();i++){
bonus=bonus+list2.get(i).getJf_money();
}
}
// 获得员工考勤信息
Kq_info kq_info=new Kq_info();
kq_info.setEmp_name(name);
kq_info.setMonth(month);
List<Kq_info> list3=kq_infoDAO.queryKq_infosByEntity(kq_info);
//System.out.println(list3.size());
times=list3.get(0).getTimes();
kq_degree=list3.get(0).getKq_degree();
//获得员工绩效评估信息
ApplicationContext ac=
new ClassPathXmlApplicationContext("/applicationContext.xml");
JxdService jxdService=(JxdService)ac.getBean("JxdService");
mark=jxdService.getOneEmployeeTotalMark(name, month);
avg_mark=jxdService.getAllEmployeesAverageMark(month);
//计算员工工资
sum_sal=(basicSal+1000*(kq_degree/times + mark/avg_mark) + jintie + bonus)*(1-tax_rate);
//增加员工工资记录
Salary_info salary_info=new Salary_info();
salary_info.setEmp_name(name);
salary_info.setMonth(month);
salary_info.setJintie(jintie);
salary_info.setBasic_sal(basicSal);
salary_info.setTax_rate(tax_rate);
//salary_info.setTax_rate(0.07);
salary_info.setBonus(bonus);
salary_info.setSum_sal(sum_sal);
salary_infoDAO.createSalary_info(salary_info);
//一定要关闭session
jfdDAO.closeSession();
salary_infoDAO.closeSession();
kq_infoDAO.closeSession();
return true;
}catch(Exception e){
System.out.print("SalaryService add SalaryInfo error\n");
e.printStackTrace();
return false;
}
}
public DAOFactory getDaoFactory() {
return daoFactory;
}
public void setDaoFactory(DAOFactory daoFactory) {
this.daoFactory = daoFactory;
}
//显示一个员工的所有薪酬记录
public List<Salary_info> showSelfSalaryInfos(String name) {
// TODO Auto-generated method stub
List selfSal=null;
try {
//获得salary_infoDAO
Salary_infoDAO salary_infoDAO=daoFactory.getSalary_infoDAO();
selfSal=salary_infoDAO.queryAllSalary_infosByCondition("emp_name", name);
//一定要关闭session
salary_infoDAO.closeSession();
} catch (RuntimeException e) {
// TODO Auto-generated catch block
System.out.print("SalaryService show one employee's all Salary Infos\n");
e.printStackTrace();
return null;
}
return selfSal;
}
public List<Salary_info> calculateSalaryInfos(){
long basic_Sal=0;
long bonus=0;
long tax_rate=0;
long sum_sal=0;
long jintie=0;
List<Salary_info> list1=null;
try {
//得到Salary_infoDAO
Salary_infoDAO salary_infoDAO=daoFactory.getSalary_infoDAO();
List<Salary_info> list=salary_infoDAO.queryAllSalary_infos();
if(list!=null){
for(int i=0;i<list.size();i++){
salary_infoDAO.deleteSalary_info(list.get(i));
String name=list.get(i).getEmp_name();
basic_Sal=list.get(i).getBasic_sal();
bonus=list.get(i).getBonus()+700;
tax_rate=list.get(i).getTax_rate();
jintie=jintie+300;
sum_sal=(basic_Sal+bonus+jintie)*(1-tax_rate);
Salary_info salary_info=new Salary_info();
salary_info.setBasic_sal(basic_Sal);
salary_info.setJintie(jintie);
salary_info.setBonus(bonus);
salary_info.setEmp_name(name);
salary_info.setJintie(jintie);
salary_info.setSum_sal(sum_sal);
salary_info.setMonth("08-01");
salary_infoDAO.createSalary_info(salary_info);
}
list1=salary_infoDAO.queryAllSalary_infos();
}
salary_infoDAO.closeSession();
return list1;
} catch (RuntimeException e) {
// TODO Auto-generated catch block
System.out.print("SalaryService calculate all Salary Infos\n");
e.printStackTrace();
return null;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -