messageaction.java

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

JAVA
392
字号
package com.yondor.oa.webapp.message;

import java.util.List;

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

import org.apache.commons.beanutils.BeanUtils;
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.PageList;
import com.yondor.oa.common.utils.PageTool;
import com.yondor.oa.db.greensysparam.dao.GreensysparamVO;
import com.yondor.oa.db.message.dao.Message;
import com.yondor.oa.db.message.dao.MessageVO;
import com.yondor.oa.db.operator.dao.OperatorVO;
import com.yondor.oa.db.usergroup.dao.Usergroup;
import com.yondor.oa.db.usergroup.dao.UsergroupVO;
import com.yondor.oa.db.usergrouplink.dao.UserGrouplinkVO;
import com.yondor.oa.webapp.base.BaseDisPatchAction;
import com.yondor.oa.webapp.session.SessionObj;

public class MessageAction extends BaseDisPatchAction {

	/**
	 * 公告信息
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward afficheMsg(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		MessageVO paramVO = new MessageVO();
		GreensysparamVO type = getIgreenSysparamService().findGCODEAndMCODE(
				SysParamLib.MESSAGE, SysParamLib.MSG_PUB);
		paramVO.setType(getIgreenSysparamService().convertPojo(type));

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

		List pubList = getImessageService().query(paramVO, pageIndex * 5,
				ConstantVO.pageSize);

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

		request.setAttribute(Property.PAGELIST, pageList);
		request.setAttribute(Property.AFFICHELIST, pubList);

		return mapping.findForward(ForwardType.MSGAFFICHE);
	}

	/**
	 * 收件箱
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward receiveQuery(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		SessionObj sessionObj = (SessionObj) request.getSession().getAttribute(
				ConstantVO.SessionObj);
		MessageVO paramVO = new MessageVO();
		OperatorVO reVO = sessionObj.getOperatorVO();
		GreensysparamVO type = getIgreenSysparamService().findGCODEAndMCODE(
				SysParamLib.MESSAGE, SysParamLib.MSG_COMM);
		GreensysparamVO rFlag = getIgreenSysparamService().findGCODEAndMCODE(
				SysParamLib.SFALG, SysParamLib.SFALG_R);

		// 条件
		paramVO.setType(getIgreenSysparamService().convertPojo(type));
		paramVO.setRecevieop(getIoperatorService().convertPojo(reVO));
		paramVO.setSflag(getIgreenSysparamService().convertPojo(rFlag));

		int pageIndex = PageTool.getPageIndex("list", request, response);
		int pageResultSize = getImessageService().query(paramVO).size();
		List receiveList = getImessageService().query(paramVO, pageIndex * 5,
				ConstantVO.pageSize);
		// 分页
		PageList pageList = new PageList();
		pageList.setFullListSize(pageResultSize);
		pageList.setObjectsPerPage(ConstantVO.pageSize);
		pageList.setPageNumber(pageIndex);
		pageList.setList(receiveList);

		request.setAttribute(Property.MSG_RECEIVELIST, receiveList);
		request.setAttribute(Property.PAGELIST, pageList);

		return mapping.findForward(ForwardType.MSG_RECEIVE);
	}

	/**
	 * 发件箱
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward sendQuery(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		SessionObj sessionObj = (SessionObj) request.getSession().getAttribute(
				ConstantVO.SessionObj);
		MessageVO paramVO = new MessageVO();
		OperatorVO sendVO = sessionObj.getOperatorVO();
		GreensysparamVO type = getIgreenSysparamService().findGCODEAndMCODE(
				SysParamLib.MESSAGE, SysParamLib.MSG_COMM);
		GreensysparamVO sFlag = getIgreenSysparamService().findGCODEAndMCODE(
				SysParamLib.SFALG, SysParamLib.SFALG_S);
		// 条件
		paramVO.setType(getIgreenSysparamService().convertPojo(type));
		paramVO.setSendop(getIoperatorService().convertPojo(sendVO));
		paramVO.setSflag(getIgreenSysparamService().convertPojo(sFlag));

		int pageIndex = PageTool.getPageIndex("list", request, response);
		int pageResultSize = getImessageService().query(paramVO).size();
		List sendList = getImessageService().query(paramVO, pageIndex * 5,
				ConstantVO.pageSize);
		// 分页
		PageList pageList = new PageList();
		pageList.setFullListSize(pageResultSize);
		pageList.setObjectsPerPage(ConstantVO.pageSize);
		pageList.setPageNumber(pageIndex);
		pageList.setList(sendList);

		request.setAttribute(Property.MSG_SENDLIST, sendList);
		request.setAttribute(Property.PAGELIST, pageList);

		return mapping.findForward(ForwardType.MSG_SEND);
	}

	/**
	 * 未阅读信息
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward noViewQuery(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		SessionObj sessionObj = (SessionObj) request.getSession().getAttribute(
				ConstantVO.SessionObj);
		MessageVO paramVO = new MessageVO();
		OperatorVO reVO = sessionObj.getOperatorVO();
		GreensysparamVO noView = getIgreenSysparamService().findGCODEAndMCODE(
				SysParamLib.READ, SysParamLib.READ_NOT);

		// 条件
		paramVO.setRecevieop(getIoperatorService().convertPojo(reVO));
		paramVO.setIsread(getIgreenSysparamService().convertPojo(noView));

		int pageIndex = PageTool.getPageIndex("list", request, response);
		int pageResultSize = getImessageService().query(paramVO).size();
		List receiveList = getImessageService().query(paramVO, pageIndex * 5,
				ConstantVO.pageSize);
		PageList pageList = new PageList();
		pageList.setFullListSize(pageResultSize);
		pageList.setObjectsPerPage(ConstantVO.pageSize);
		pageList.setPageNumber(pageIndex);
		pageList.setList(receiveList);

		request.setAttribute(Property.MSG_RECEIVELIST, receiveList);
		request.setAttribute(Property.PAGELIST, pageList);

		return mapping.findForward(ForwardType.MSG_RECEIVE);
	}

	/**
	 * 查看详细信息
	 * 
	 * @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");

		MessageVO msgVO = getImessageService().findById(Long.parseLong(id));
		GreensysparamVO isView = getIgreenSysparamService().findGCODEAndMCODE(
				SysParamLib.READ, SysParamLib.READ_IS);
		msgVO.setIsread(getIgreenSysparamService().convertPojo(isView));
		getImessageService().update(msgVO);

		System.out.println("~~~~~~~~~~~~~~~~~~"
				+ getImessageService().createNewSeqID());

		request.setAttribute(Property.MSG_VO, msgVO);
		return mapping.findForward(ForwardType.MSG_DETAILS);
	}

	/**
	 * 删除
	 * 
	 * @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");
		MessageVO msgVO = null;

		if (!"".equals(id) && null != id) {
			msgVO = getImessageService().findById(Long.parseLong(id));
			getImessageService().delete(msgVO);
		}

		if (!"".equals(msgVO.getSflag()) && null != msgVO.getSflag()) {
			if (SysParamLib.SFALG_S.equals(msgVO.getSflag().getMcode())) {
				// 转到发件箱
				return mapping.findForward(ForwardType.MSG_DELS);
			}
			if (SysParamLib.SFALG_R.equals(msgVO.getSflag().getMcode())) {
				// 转到收件箱
				return mapping.findForward(ForwardType.MSG_DELR);
			}
		}

		return mapping.findForward("Del Succeed Page ! ");
	}

	// 弹出页面 @todo提取到公用部分
	public ActionForward toSelect(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		MessageAF af = (MessageAF) form;
		// 用户组
		List usergroupList = getIusergroupService().finadAll();

		// 用户列表

		// 查询条件
		UserGrouplinkVO paramLink = new UserGrouplinkVO();

		UsergroupVO groupVO = null;
		OperatorVO conOP = null;

		// 如果获取不了值将条件设置为null
		if (("".equals(af.getUserGroup()) && null == af.getUserGroup())
				|| ("".equals(af.getOp()) && null == af.getOp())) {
			af.setUserGroup(null);
			af.setOp(null);
		}

		if (!"".equals(af.getOp()) && null != af.getOp()) {
			conOP = getIoperatorService().validate(af.getOp());
			if (null != conOP) {
				paramLink.setOperator(getIoperatorService().convertPojo(conOP));
			}
		}

		if (!"".equals(af.getUserGroup()) && null != af.getUserGroup()) {
			groupVO = getIusergroupService().findById(
					Long.parseLong(af.getUserGroup()));
			paramLink.setUsergroup(getIusergroupService().convertPojo(groupVO));
		}

		int pageIndex = PageTool.getPageIndex("list", request, response);
		int pageResultSize = getIusergroupLinkService().query(paramLink).size();
		List groupLink = getIusergroupLinkService().query(paramLink,
				pageIndex * 5, ConstantVO.pageSize);
		PageList pageList = new PageList();
		pageList.setFullListSize(pageResultSize);
		pageList.setObjectsPerPage(ConstantVO.pageSize);
		pageList.setPageNumber(pageIndex);
		pageList.setList(groupLink);

		request.setAttribute(Property.GROUPLINK, groupLink);
		request.setAttribute(Property.PAGELIST, pageList);
		request.setAttribute(Property.USERGROUPLIST, usergroupList);

		return mapping.findForward(ForwardType.MSG_SELECT);
	}

	/**
	 * 写信/回信
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward doWrite(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		MessageAF af = (MessageAF) form;
		SessionObj sessionObj = (SessionObj) request.getSession().getAttribute(
				ConstantVO.SessionObj);
		// 参数
		GreensysparamVO typeParam = getIgreenSysparamService()
				.findGCODEAndMCODE(SysParamLib.MESSAGE, SysParamLib.MSG_COMM);
		GreensysparamVO isReadParam = getIgreenSysparamService()
				.findGCODEAndMCODE(SysParamLib.READ, SysParamLib.READ_NOT);
		OperatorVO sendVO = sessionObj.getOperatorVO();
		GreensysparamVO sFlag = getIgreenSysparamService().findGCODEAndMCODE(
				SysParamLib.SFALG, SysParamLib.SFALG_S);
		GreensysparamVO rFlag = getIgreenSysparamService().findGCODEAndMCODE(
				SysParamLib.SFALG, SysParamLib.SFALG_R);

		// 获取收件人信息
		String user = af.getRecevieop();
		String[] arr = user.split(",");

		// 赋值
		MessageVO msgVO = new MessageVO();
		msgVO.setTitle(af.getTitle());
		msgVO.setContent(af.getContent());
		msgVO.setSendop(getIoperatorService().convertPojo(sendVO));
		msgVO.setType(getIgreenSysparamService().convertPojo(typeParam));
		msgVO.setIsread(getIgreenSysparamService().convertPojo(isReadParam));
		msgVO.setSflag(getIgreenSysparamService().convertPojo(sFlag));

		MessageVO tmpVO=null;
		Message msg=null;
		// 写信
		if (null != msgVO) {
			for (int i = 0; i < arr.length; i++) {
				OperatorVO reVO = getIoperatorService().findByUsername(arr[i]);
				msgVO.setRecevieop(getIoperatorService().convertPojo(reVO));
				msg=getImessageService().save(msgVO);
				tmpVO=getImessageService().convert2VO(msg);
				System.out.println("~~~~~~~~~~~~~"+tmpVO.getMessageid());
				msgVO.setSflag(getIgreenSysparamService().convertPojo(rFlag));
				getImessageService().save(msgVO);
				msgVO.setSflag(getIgreenSysparamService().convertPojo(sFlag));
			}
		}

		return mapping.findForward(ForwardType.MSG_SUCCESS);
	}

	// 写信回信页面
	public ActionForward toWrite(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		MessageVO msgVO = null;
		OperatorVO revo = null;
		String id = request.getParameter("id");

		if (!"".equals(id) && null != id) {
			msgVO = getImessageService().findById(Long.parseLong(id));
			revo = getIoperatorService().convertVO(msgVO.getRecevieop());
		}
		request.setAttribute(Property.MSG_REVO, revo);
		request.setAttribute(Property.MSG_VO, msgVO);

		return mapping.findForward(ForwardType.MSG_TOWRITE);
	}
}

⌨️ 快捷键说明

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