毕业设计

本文介绍了一个基于Hibernate的考勤管理系统,该系统能够实现员工考勤记录的统计、月度考勤汇总及个人考勤查询等功能。通过SQL查询与Hibernate模板进行数据交互,实现了迟到、早退等考勤状态的自动统计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class chuqinAction extends ActionSupport
{
	private TQiandaoDAO qiandaoDAO;
	private TQiantuiDAO qiantuiDAO;
	private TYuangongDAO yuangongDAO;
	public String chuqinTongji()
	{
		Map request=(Map)ServletActionContext.getContext().get("request");
		String sql="from TQiandao order by riqi desc";
		List qiandaoList=qiandaoDAO.getHibernateTemplate().find(sql);
		for(int i=0;i<qiandaoList.size();i++)
		{
			TQiandao qiandao=(TQiandao)qiandaoList.get(i);
			qiandao.setYuangong(yuangongDAO.findById(qiandao.getYuangongId()));
			String riqi=qiandao.getRiqi();
			TQiantui qiantui=get_qiantui(riqi);
			qiandao.setQiantuishi(qiantui.getShijian());
			qiandao.setQiantuishuxing(qiantui.getShuxing());	
		}
		request.put("qiandaoList", qiandaoList);
		return ActionSupport.SUCCESS;
	}
	public String chuqinRes()
	{
		HttpServletRequest request=ServletActionContext.getRequest();
		String yuefen=request.getParameter("yuefen");
		if(yuefen==null)
		{
			yuefen=new SimpleDateFormat("yyyy-MM").format(new Date());
		}
		String sql="from TYuangong where yuangongDel='no'";
		List yuangongList=yuangongDAO.getHibernateTemplate().find(sql);
		for(int i=0;i<yuangongList.size();i++)
		{
			TYuangong yuangong=(TYuangong)yuangongList.get(i);
			int yuangongId=yuangong.getYuangongId();
			yuangong.setQiandaocishu(get_qiandaoCishu(yuefen, yuangongId));
			yuangong.setChidaocishu(get_chidaoCishu(yuefen, yuangongId));
			yuangong.setZaotuicishu(get_zaotuiCishu(yuefen, yuangongId));	
		}
		request.setAttribute("yuangongList", yuangongList);
		request.setAttribute("yuefen", yuefen);
		return ActionSupport.SUCCESS;
	}
	public String chuqinMine()
	{
		HttpServletRequest request=ServletActionContext.getRequest();
		HttpSession session=request.getSession();
		TYuangong yuangong=(TYuangong)session.getAttribute("yuangong");
		String sql="from TQiandao where yuangongId="+yuangong.getYuangongId()+" order by riqi desc";
		List qiandaoList=qiandaoDAO.getHibernateTemplate().find(sql);
		for(int i=0;i<qiandaoList.size();i++)
		{
			TQiandao qiandao=(TQiandao)qiandaoList.get(i);
			qiandao.setYuangong(yuangongDAO.findById(qiandao.getYuangongId()));
			String riqi=qiandao.getRiqi();
			TQiantui qiantui=get_qiantui(riqi);
			qiandao.setQiantuishi(qiantui.getShijian());
			qiandao.setQiantuishuxing(qiantui.getShuxing());	
		}
		request.setAttribute("qiandaoList", qiandaoList);
		return ActionSupport.SUCCESS;
	}
	public TQiantui get_qiantui(String riqi)
	{
		String sql="from TQiantui where riqi=?";
		Object[] c={riqi};
		List qiantuiList=qiantuiDAO.getHibernateTemplate().find(sql,c);
		if(qiantuiList.size()==0)
		{
			TQiantui qiantui=new TQiantui();
			qiantui.setShijian("");
			qiantui.setShuxing("");
			return qiantui;
		}
		else
		{
			TQiantui qiantui=(TQiantui)qiantuiList.get(0);
			return qiantui;
		}
	}
	public int get_qiandaoCishu(String yuefen,int yuangongId)
	{
		String sql="from TQiandao where yuangongId="+yuangongId+" and riqi like '%"+yuefen+"%'";
		List qiandaoList=qiandaoDAO.getHibernateTemplate().find(sql);
		return qiandaoList.size();
	}
	public int get_chidaoCishu(String yuefen,int yuangongId)
	{
		String sql="from TQiandao where yuangongId="+yuangongId+" and riqi like '%"+yuefen+"%'"+" and shuxing='迟到'";
		List qiandaoList=qiandaoDAO.getHibernateTemplate().find(sql);
		return qiandaoList.size();
	}
	public int get_zaotuiCishu(String yuefen,int yuangongId)
	{
		String sql="from TQiantui where yuangongId="+yuangongId+" and riqi like '%"+yuefen+"%'"+" and shuxing='早退'";
		List qiantuiList=qiantuiDAO.getHibernateTemplate().find(sql);
		return qiantuiList.size();
	}
	public TQiandaoDAO getQiandaoDAO() {
		return qiandaoDAO;
	}
public void setQiandaoDAO(TQiandaoDAO qiandaoDAO) {
		this.qiandaoDAO = qiandaoDAO;
	}
	public TQiantuiDAO getQiantuiDAO() {
		return qiantuiDAO;
	}
	public void setQiantuiDAO(TQiantuiDAO qiantuiDAO) {
		this.qiantuiDAO = qiantuiDAO;
	}
	public TYuangongDAO getYuangongDAO() {
		return yuangongDAO;
	}
	public void setYuangongDAO(TYuangongDAO yuangongDAO) {
		this.yuangongDAO = yuangongDAO;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值