relationaction.java

来自「基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰」· Java 代码 · 共 407 行 · 第 1/2 页

JAVA
407
字号
package com.yuanchung.sales.struts;

import java.util.ArrayList;
import java.util.List;

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

import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import com.yuanchung.sales.config.ClassCodeMgr;
import com.yuanchung.sales.exception.ApplicationException;
import com.yuanchung.sales.model.user.User;
import com.yuanchung.sales.service.RelationManage;
import com.yuanchung.sales.util.Constants;
import com.yuanchung.sales.util.DateTimeTool;
import com.yuanchung.sales.util.SessionMgr;
import com.yuanchung.sales.util.StringTool;
import com.yuanchung.sales.util.XPage;
import com.yuanchung.sales.vo.DeleteItemVo;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;

public class RelationAction extends DispatchAction {
	private static Logger logger = Logger.getLogger(RelationAction.class);
	private RelationManage relationManage;

	public RelationManage getRelationManage() {
		return relationManage;
	}

	public void setRelationManage(RelationManage relationManage) {
		this.relationManage = relationManage;
	}
	/**
	 * 所有的删除数据
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward allDeleteData(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		try{
			User user = SessionMgr.getCustSession(request);
			
			//查找直接删除的数据, 标记3
			List<DeleteItemVo> deleteItems = relationManage.getAllDeleteItem(user, Constants.DELETESELF);
			String currentPage = request.getParameter("currentPage");
			XPage xpage = new XPage(request.getContextPath()
					+ "/relation.do?method=allDeleteData", deleteItems.size(),
					1, 10, deleteItems);
			if (currentPage != null && !currentPage.equals("")) {
				xpage.setCurrentItems(Integer.parseInt(currentPage));
			} else {
				xpage.setCurrentItems(1);
			}
			xpage.setPageBar();
			request.setAttribute("xpage", xpage);			
			logger.debug("有删除的数据吗..."+deleteItems);
		}catch(Exception e) {
			e.printStackTrace();logger.error("find deleted data error");
			request.setAttribute(Constants.ERRMSG, Constants.WITHOUTDATA);
			throw new ApplicationException("find deleted data error");
		}
		return mapping.findForward("listDeleteData");
	}
	/**
	 * 恢复所有的数据
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward renewData(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		User user = SessionMgr.getCustSession(request);
		String iValue = request.getParameter("iValue");
		logger.debug("恢复数量..."+iValue);
		//前置条件
		if(!StringTool.isNotBlank(iValue)){//如果条件为空
			request.setAttribute(Constants.ERRMSG, "对不起,你可能还没有选择!");
			throw new ApplicationException("the param input exception!");
		}
		try{
			for(int i = 1; i <= Integer.parseInt(iValue); i++) {
				String boxId = request.getParameter("box"+i);
				//若没有选择,则跳出
				if(boxId == null || boxId.equals("")){
					continue;
				}
				//获取删除的类型
				String type = request.getParameter("type"+i);
				//获取删除数据的ID
				String id = request.getParameter("id"+i);
				//恢复数据						
				relationManage.updateEntitysStates(user.getId(), DateTimeTool.getCurrentDate("yyyy-MM-dd HH:mm:ss"), Integer.parseInt(type), Integer.parseInt(id), Constants.ACTIVEFLAG, Constants.ACTIVEFLAG);
			}
		}catch(Exception e) {
			logger.error("can't renew data...");
			request.setAttribute(Constants.ERRMSG, "系统不能恢复数据!");
			throw new ApplicationException("系统不能恢复数据!");
		}
		return mapping.findForward("allDeleteData");
	}
	/**
	 * 清空回收站
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward cleanData(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		
		User user = SessionMgr.getCustSession(request);
		String iValue = request.getParameter("iValue");
		logger.debug("--这个值是多少--:"+iValue);
		//前置条件
		if(!StringTool.isNotBlank(iValue)){//如果条件为空
			request.setAttribute(Constants.ERRMSG, "对不起,你可能还没有选择!");
			throw new ApplicationException("the param input exception!");
		}
		try{
			for(int i = 1; i <= Integer.parseInt(iValue); i++) {
				String boxId = request.getParameter("box"+i);
				//若没有选择,则跳出
				if(boxId == null || boxId.equals("")){
					continue;
				}
				//获取删除的类型
				String type = request.getParameter("type"+i);
				logger.debug("--type--:"+type);
				//获取删除数据的ID
				String id = request.getParameter("id"+i);
				logger.debug("--id--:"+id);
				//删除数据			
				relationManage.deleteDatas(Integer.parseInt(id), Constants.PASSIVITY, Integer.parseInt(type));
			}
		}catch(Exception e) {
			logger.error("can't renew data...");
			request.setAttribute(Constants.ERRMSG, "清空所选的数据异常!");
			throw new ApplicationException("清空所选的数据异常!");
		}
		return mapping.findForward("allDeleteData");
	}
	/**
	 * 查找数据
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward findDataLeft(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		RelationForm relationForm = (RelationForm)form;
		String type = relationForm.getSearchType();
		logger.debug("类型..."+type);
		String name = relationForm.getSearchName();	
		logger.debug("搜索名称..."+name);		
		String myItems = relationForm.getMyItems();
		logger.debug("仅限于我的项目..."+myItems);
		try {
			name = URLDecoder.decode(name,"UTF-8");
			relationForm.setSearchName(name);
			logger.debug("名称..."+name);
		} catch (UnsupportedEncodingException e1) {
			e1.printStackTrace();
			logger.error(e1);
			request.setAttribute(Constants.ERRMSG, Constants.INPUTBANK);
			throw new ApplicationException("can not transform codes to UTF-8");
		}
		request.setAttribute("relationForm", relationForm);
		User user = SessionMgr.getCustSession(request);
		String forward = "";
		//前置条件
		if(!StringTool.isNotBlank(type)){//如果条件为空
			type = "0";
		}
		forward = "globalData";	//跳转到全局数据
		int isExsits = 1;//是否存在数据
		try{
			int typeInt = Integer.parseInt(type);
			List<String> tixingList = new ArrayList<String>();
			switch(typeInt) {
			case ClassCodeMgr.CUSTOMERINT:
				//查找客户数据

⌨️ 快捷键说明

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