holsapplyaction.java

来自「spring+hibernate+struts开发的校务oa系统」· Java 代码 · 共 407 行

JAVA
407
字号
package com.yondor.oa.webapp.holsapply;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Iterator;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.yondor.oa.common.constant.ConstantVO;
import com.yondor.oa.common.constant.ForwardType;
import com.yondor.oa.common.constant.Property;
import com.yondor.oa.common.constant.SysParamLib;
import com.yondor.oa.common.utils.BeanManage;
import com.yondor.oa.common.utils.DateUtil;
import com.yondor.oa.common.utils.PageList;
import com.yondor.oa.common.utils.PageTool;
import com.yondor.oa.db.greensysparam.dao.Greensysparam;
import com.yondor.oa.db.greensysparam.dao.GreensysparamVO;
import com.yondor.oa.db.holsapply.dao.HolsapplyVO;
import com.yondor.oa.db.message.dao.MessageVO;
import com.yondor.oa.db.operator.dao.OperatorVO;
import com.yondor.oa.db.userinfo.dao.Userinfo;
import com.yondor.oa.db.userinfo.dao.UserinfoVO;
import com.yondor.oa.service.greensysparam.IGreensysparamService;
import com.yondor.oa.webapp.base.BaseDisPatchAction;
import com.yondor.oa.webapp.session.SessionObj;

/**
 * 休假管理----------
 * 
 * @author Administrator
 * 
 */
public class HolsapplyAction extends BaseDisPatchAction {

	/**
	 * 休假申请列表
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward applyQuery(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		SessionObj sessionObj = (SessionObj) request.getSession().getAttribute(
				ConstantVO.SessionObj);

		HolsapplyVO paramVO = new HolsapplyVO();
		OperatorVO applyVO = sessionObj.getOperatorVO();
		GreensysparamVO sFlag = getIgreenSysparamService().findGCODEAndMCODE(
				SysParamLib.SFALG, SysParamLib.SFALG_S);
		paramVO.setApplyop(getIoperatorService().convertPojo(applyVO));
		paramVO.setSflag(getIgreenSysparamService().convertPojo(sFlag));

		int pageIndex = PageTool.getPageIndex("list", request, response);
		int pageResultSize = getIholsapplyService().query(paramVO).size();

		List applyList = getIholsapplyService().query(paramVO, pageIndex * 5,
				ConstantVO.pageSize);
		PageList pageList = new PageList();
		pageList.setFullListSize(pageResultSize);
		pageList.setObjectsPerPage(ConstantVO.pageSize);
		pageList.setPageNumber(pageIndex);
		pageList.setList(applyList);

		request.setAttribute(Property.HOLS_APPLYLIST, applyList);
		request.setAttribute(Property.PAGELIST, pageList);

		return mapping.findForward(ForwardType.HOLS_APPLY_VIEW);
	}

	/**
	 * 休假审核列表
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward checkQuery(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		SessionObj sessionObj = (SessionObj) request.getSession().getAttribute(
				ConstantVO.SessionObj);

		HolsapplyVO paramVO = new HolsapplyVO();
		OperatorVO replyVO = sessionObj.getOperatorVO();
		GreensysparamVO rFlag = getIgreenSysparamService().findGCODEAndMCODE(
				SysParamLib.SFALG, SysParamLib.SFALG_R);
		paramVO.setReplyop(getIoperatorService().convertPojo(replyVO));
		paramVO.setSflag(getIgreenSysparamService().convertPojo(rFlag));

		int pageIndex = PageTool.getPageIndex("list", request, response);
		int pageResultSize = getIholsapplyService().query(paramVO).size();

		List applyList = getIholsapplyService().query(paramVO, pageIndex * 5,
				ConstantVO.pageSize);
		PageList pageList = new PageList();
		pageList.setFullListSize(pageResultSize);
		pageList.setObjectsPerPage(ConstantVO.pageSize);
		pageList.setPageNumber(pageIndex);
		pageList.setList(applyList);

		request.setAttribute(Property.HOLS_APPLYLIST, applyList);
		request.setAttribute(Property.PAGELIST, pageList);

		return mapping.findForward(ForwardType.HOLS_CHECK_VIEW);
	}

	// todo
	/**
	 * 未审核休假列表
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward nocheckQuery(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		SessionObj sessionObj = (SessionObj) request.getSession().getAttribute(
				ConstantVO.SessionObj);
		HolsapplyVO paramVO = new HolsapplyVO();
		OperatorVO applyVO = sessionObj.getOperatorVO();
		GreensysparamVO ischeck = getIgreenSysparamService().findGCODEAndMCODE(
				SysParamLib.CHECK, SysParamLib.CHECK_NOT);
		// 设定条件
		paramVO.setApplyop(getIoperatorService().convertPojo(applyVO));
		paramVO.setIscheck(getIgreenSysparamService().convertPojo(ischeck));

		int pageIndex = PageTool.getPageIndex("list", request, response);
		int pageResultSize = getIholsapplyService().query(paramVO).size();
		List nocheckList = getIholsapplyService().query(paramVO, pageIndex * 5,
				ConstantVO.pageSize);

		PageList pageList = new PageList();
		pageList.setFullListSize(pageResultSize);
		pageList.setObjectsPerPage(ConstantVO.pageSize);
		pageList.setPageNumber(pageIndex);
		pageList.setList(nocheckList);

		request.setAttribute(Property.HOLS_APPLYLIST, nocheckList);
		request.setAttribute(Property.PAGELIST, pageList);

		return mapping.findForward(ForwardType.HOLS_CHECK_VIEW);
	}

	// todo
	/**
	 * 查看休假详细信息
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward doView(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		String id = request.getParameter("id");
		HolsapplyVO holsVO = getIholsapplyService()
				.findById(Long.parseLong(id));

		request.setAttribute(Property.HOLS_VO, holsVO);

		return mapping.findForward(ForwardType.HOLS_CONTENT);

	}

	// 申请休假页面
	public ActionForward toApply(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		// 获取当前用户信息
		SessionObj sessionObj = (SessionObj) request.getSession().getAttribute(
				ConstantVO.SessionObj);
		OperatorVO operatorVO = sessionObj.getOperatorVO();

		// 用户信息(获取用户的公休课时数)
		UserinfoVO userVO = getIuserinfoService().findById(
				operatorVO.getUserinfo().getUserinfoid());

		// 休假类型列表
		String gcode = SysParamLib.HOLS;
		List paramList = getIgreenSysparamService().findByGcode(gcode);

		request.setAttribute(Property.USERVO, userVO);
		request.setAttribute(Property.OPERATORVO, operatorVO);
		request.setAttribute(Property.PARAMLIST, paramList);
		return mapping.findForward(ForwardType.HOLS_TOAPPLY);
	}

	// 弹出页面
	public ActionForward toSelect(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		// 用户列表
		OperatorVO paramVO = new OperatorVO();
		int pageIndex = PageTool.getPageIndex("list", request, response);
		int pageResultSize = getIoperatorService().query(paramVO).size();
		List operatorList = getIoperatorService().query(paramVO, pageIndex * 5,
				ConstantVO.pageSize);
		PageList pageList = new PageList();
		pageList.setFullListSize(pageResultSize);
		pageList.setObjectsPerPage(ConstantVO.pageSize);
		pageList.setPageNumber(pageIndex);
		pageList.setList(operatorList);

		request.setAttribute(Property.OPERATORLIST, operatorList);
		request.setAttribute(Property.PAGELIST, pageList);

		return mapping.findForward(ForwardType.HOLS_SELECT);
	}

	/**
	 * 申请休假
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward doApply(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		HolsapplyAF af = (HolsapplyAF) form;
		// 类型
		SessionObj sessionObj = (SessionObj) request.getSession().getAttribute(
				ConstantVO.SessionObj);
		GreensysparamVO typeParam = getIgreenSysparamService().findById(
				Long.parseLong(af.getType()));
		OperatorVO appVO = sessionObj.getOperatorVO();
		OperatorVO reVO = getIoperatorService().findByUsername(af.getReplyop());

		GreensysparamVO checkParam = getIgreenSysparamService()
				.findGCODEAndMCODE(SysParamLib.CHECK, SysParamLib.CHECK_NOT);
		GreensysparamVO readParam = getIgreenSysparamService()
				.findGCODEAndMCODE(SysParamLib.READ, SysParamLib.READ_NOT);

		GreensysparamVO sFlag = getIgreenSysparamService().findGCODEAndMCODE(
				SysParamLib.SFALG, SysParamLib.SFALG_S);
		GreensysparamVO rFlag = getIgreenSysparamService().findGCODEAndMCODE(
				SysParamLib.SFALG, SysParamLib.SFALG_R);
//
//		// 赋值
//		SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
//		Date date=new Date();
//		format.format(date);
//		
		HolsapplyVO holsVO = new HolsapplyVO();
		holsVO.setApplycause(af.getApplycause());
		//holsVO.setCount(Long.parseLong(af.getCount()));
		holsVO.setType(getIgreenSysparamService().convertPojo(typeParam));
		holsVO.setStarttime(DateUtil.parseDate(af.getStarttime()));
		holsVO.setEndtime(DateUtil.parseDate(af.getEndtime()));
		holsVO.setApplyop(getIoperatorService().convertPojo(appVO));
		holsVO.setReplyop(getIoperatorService().convertPojo(reVO));
		holsVO.setIscheck(getIgreenSysparamService().convertPojo(checkParam));
		holsVO.setIsread(getIgreenSysparamService().convertPojo(readParam));
		// 设置发送
		holsVO.setSflag(getIgreenSysparamService().convertPojo(sFlag));
		holsVO.setPreid(Long.parseLong("-1"));
		

		// 查找用户信息
		UserinfoVO userinfoVO = getIuserinfoService().findById(
				appVO.getUserinfo().getUserinfoid());

		if ("".equals(af.getHols())) {
			af.setHols("0");
		}
		Long reCount = userinfoVO.getHols() - Long.parseLong(af.getHols());
		userinfoVO.setHols(reCount);
		Long preid=getIholsapplyService().save(holsVO);
		holsVO.setSflag(getIgreenSysparamService().convertPojo(rFlag));
		holsVO.setPreid(preid);
		getIholsapplyService().save(holsVO);
		getIuserinfoService().attachDirty(userinfoVO);
		

		return mapping.findForward(ForwardType.HOLS_DOAPPLY);

	}

	/**
	 * 设置批准|不批准
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward doAud(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		String id = request.getParameter("id");

		HolsapplyVO tmpVO = getIholsapplyService().findById(Long.parseLong(id));
		HolsapplyVO vo = getIholsapplyService().findById(Long.parseLong(id));
		HolsapplyVO vo2=getIholsapplyService().findById(tmpVO.getPreid());
		
		GreensysparamVO ischeck = getIgreenSysparamService().findGCODEAndMCODE(
				SysParamLib.CHECK, SysParamLib.CHECK_IS);
		GreensysparamVO isNotcheck = getIgreenSysparamService()
				.findGCODEAndMCODE(SysParamLib.CHECK, SysParamLib.CHECK_NOT);

		if (tmpVO.getIscheck().getMcode().equals(SysParamLib.CHECK_IS)) {
			vo.setIscheck(getIgreenSysparamService().convertPojo(isNotcheck));		
			vo2.setIscheck(getIgreenSysparamService().convertPojo(isNotcheck));
			getIholsapplyService().update(vo);
			getIholsapplyService().update(vo2);
		}
		if (tmpVO.getIscheck().getMcode().equals(SysParamLib.CHECK_NOT)) {
			vo.setIscheck(getIgreenSysparamService().convertPojo(ischeck));
			vo2.setIscheck(getIgreenSysparamService().convertPojo(ischeck));
			getIholsapplyService().update(vo);
			getIholsapplyService().update(vo2);
		}

		return mapping.findForward(ForwardType.HOLS_CHECK);
	}

	/**
	 * 删除信息(todo())
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward doDelete(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		String id = request.getParameter("id");
		HolsapplyVO holsVO =null;
		
		if(!"".equals(id) && null!=id){
			 holsVO = getIholsapplyService()
				.findById(Long.parseLong(id));
			 getIholsapplyService().delete(holsVO);
		}

		if (SysParamLib.SFALG_S.equals(holsVO.getSflag().getMcode())) {
			return mapping.findForward(ForwardType.HOLS_DELS);
		}

		if (SysParamLib.SFALG_R.equals(holsVO.getSflag().getMcode())) {
			return mapping.findForward(ForwardType.HOLS_DELR);
		}

		return mapping.findForward("");
	}

	// 测试通用查询方法
	public ActionForward test(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		// 条件vo
		HolsapplyVO paramVO = new HolsapplyVO();

		GreensysparamVO typeVO = getIgreenSysparamService().findById(
				Long.parseLong("6"));
		GreensysparamVO checkVO = getIgreenSysparamService().findById(
				Long.parseLong("8"));

		OperatorVO applyVO = getIoperatorService().findById(
				Long.parseLong("11"));

		paramVO.setIscheck(getIgreenSysparamService().convertPojo(checkVO));
		paramVO.setCount(Long.parseLong("2"));

		List list = getIholsapplyService().query(paramVO);
		request.setAttribute(Property.TEST_LIST, list);

		return mapping.findForward(ForwardType.Test_VIEW);
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?