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

📄 jxdserviceimpl.java

📁 人力资源管理系统
💻 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 + -