📄 jxdserviceimpl.java
字号:
package org.HumResManSys.service.impl;
import java.util.List;
import org.HumResManSys.dao.EvaluateDAO;
import org.HumResManSys.factory.DAOFactory;
import org.HumResManSys.service.JxdService;
import org.HumResManSys.vo.Evaluate;
import org.HumResManSys.vo.Jxd;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class JxdServiceImpl implements JxdService{
private DAOFactory daoFactory;
private Log log=LogFactory.getLog(JxdServiceImpl.class);
/**
* 将用户提交的评估信息保存
* @param evaluate
* @return
*/
public boolean saveEvaluate(Evaluate evaluate){
log.info("save one employee's evaluate");
boolean isSaveOK=false;
try {
isSaveOK=daoFactory.getEvaluateDAO().createEvaluate(evaluate);
daoFactory.getEvaluateDAO().closeSession();
} catch (RuntimeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
log.error("save one employee's evaluate error");
}
return isSaveOK;
}
/**
* 查询同一部门的所有员工
* @param dept
* @return
*/
public List queryEmployeesInTheSameDept(String dept_name){
log.info("query all employees in the same department");
List list=null;
try{
list=daoFactory.getEmployeeDAO().queryAllEmployeesByCondition("dept_name", dept_name);
daoFactory.getEmployeeDAO().closeSession();
}catch(Exception e){
e.printStackTrace();
log.error("query all employees in the same department error");
}
return list;
}
/**
* 得到一个员工的绩效评估平均分,并将该分保存到员工的绩效单中
* @param emp_name,month
* @return long
*/
public long getOneEmployeeTotalMark(String emp_name,String month){
long averageTotalMark=0;
//得到一个员工的所有评估信息
try{
log.info("caculate employee's total mark");
Evaluate evaluate=new Evaluate();
evaluate.setEmp_name(emp_name);
evaluate.setMonth(month);
List<Evaluate> list=daoFactory.getEvaluateDAO().queryEvaluatesByEntity(evaluate);
//根据该员工的所有评估单信息的各项得分算出该员工的平均总得分
int num=list.size();
//System.out.println(num);
if(num>0){
long totalMark=0;
for(int i=0;i<num;i++){
totalMark=totalMark+list.get(i).getFirst_mark();
totalMark=totalMark+list.get(i).getSec_mark();
totalMark=totalMark+list.get(i).getThi_mark();
totalMark=totalMark+list.get(i).getFor_mark();
totalMark=totalMark+list.get(i).getFif_mark();
}
averageTotalMark=totalMark/num/5;
}
//关闭EvaluateDAO的Session
daoFactory.getEvaluateDAO().closeSession();
}catch(Exception e){
e.printStackTrace();
log.error("caculating total mark error!");
}
//把该平均分保存到员工的绩效单里边
try{
log.info("save employee's mark");
Jxd jxd=new Jxd();
jxd.setEmp_name(emp_name);
jxd.setMonth(month);
//jxd=daoFactory.getJxdDAO().queryJxdsByEntity(jxd).get(0);
jxd.setMark(averageTotalMark);
daoFactory.getJxdDAO().createJxd(jxd);
//关闭EvaluateDAO的Session
daoFactory.getJxdDAO().closeSession();
}catch(Exception e){
e.printStackTrace();
log.error("saving employee's mark error!");
}
return averageTotalMark;
}
/**
* 得到所有员工的绩效评估的平均分
* @param month
* @return
*/
public long getAllEmployeesAverageMark(String month){
log.info("getAllEmployeesAverageMark");
long averageMark=0;
try{
List<Jxd> list=daoFactory.getJxdDAO().queryAllJxdsByCondition("month",month);
long totalMark=0;
for(int i=0;i<list.size();i++){
totalMark=totalMark+list.get(i).getMark();
}
averageMark=totalMark/list.size();
daoFactory.getJxdDAO().closeSession();
}catch(Exception e){
e.printStackTrace();
log.error("get all employee's average mark error");
}
return averageMark;
}
/**
* 得到评估单中的所有记录
* @return
*/
public List displayAllEmpEvaluate(){
try {
//获得EvaluateDAO
EvaluateDAO evaluateDAO=daoFactory.getEvaluateDAO();
List<Evaluate> list = evaluateDAO.queryAllEvaluates();
//一定要关闭session
evaluateDAO.closeSession();
return list;
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.print("EvaluateService show AllEmpEvaluate error\n");
e.printStackTrace();
return null;
}
}
public DAOFactory getDaoFactory() {
return daoFactory;
}
public void setDaoFactory(DAOFactory daoFactory) {
this.daoFactory = daoFactory;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -