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

📄 queryaction.jsp

📁 管理公司合同
💻 JSP
字号:
<!--ACTION 动作控制JSP-->

<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="cn.com.juneng.system.common.BaseForm" %>
<%@ page import="cn.com.juneng.system.common.COMMON" %>
<%@ page import="cn.com.juneng.system.common.util.ValueObjectHelper" %>
<%@ page import="cn.com.juneng.system.service.QueryHeaderService" %>
<%@ page import="cn.com.juneng.system.vo.QueryHeaderVOImpl" %>
<%@ page import="cn.com.juneng.system.common.SpringBeanFactory" %>
<%@ page import="java.util.List" %>
<%@ page import="cn.com.juneng.system.service.QueryDetailService" %>
<%@ page import="cn.com.juneng.system.vo.QueryDetailVOImpl" %>
<%@ page import="java.util.Hashtable" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="javax.servlet.http.HttpSession" %>

<%@ include file="/common/inc/CommonAction.jsp"%>

<%!
	private QueryHeaderService queryHeaderService = (QueryHeaderService)SpringBeanFactory.getBean("queryHeaderService");
	private QueryDetailService queryDetailService = (QueryDetailService)SpringBeanFactory.getBean("queryDetailService");
	
	private String jspPath = "/system/query/";
	private String actionJsp = jspPath+"QueryAction.jsp";
	private String listJsp = jspPath+"QueryList.jsp";
	private String editJsp = jspPath+"QueryEdit.jsp";

	//列表
	public void list(HttpServletRequest request,HttpServletResponse response,BaseForm bForm) throws Exception {
		//根据传入参数构造查询条件语句
		String querySql = COMMON.getQuerySql(request);
		String orderSql = null;
		//排序
		if(!COMMON.isEmpty(bForm.getOrderCol())){
			orderSql = "order by "+bForm.getOrderCol()+" "+bForm.getOrder();
		}
		List list = queryHeaderService.getList(querySql,orderSql,bForm.getStartPos(),bForm.getRowCount());

		bForm.setTotalCount(queryHeaderService.getRowCount(querySql));
		request.setAttribute("List",list);
		request.setAttribute("BaseForm",bForm);
		pageForward(listJsp,request,response);
	}

	//初始化编辑页面
	public void init(HttpServletRequest request,HttpServletResponse response,BaseForm bForm) throws Exception {
		QueryHeaderVOImpl vo = (QueryHeaderVOImpl)bForm;
		vo.setActionType("create");
		request.setAttribute("VO", vo);
		pageForward(editJsp,request,response);
	}

	//创建
	public void create(HttpServletRequest request,HttpServletResponse response,BaseForm bForm) throws Exception {
		QueryHeaderVOImpl vo = (QueryHeaderVOImpl)bForm;
		try{
			queryHeaderService.create(vo);
			request.setAttribute("Message","成功创建!");
			pageForward(actionJsp,request,response);
		}catch(Exception e){
			request.setAttribute("Error","创建失败:"+e.getMessage());
			request.setAttribute("VO",vo);
			pageForward(editJsp,request,response);
		}
	}

	//查看
	public void view(HttpServletRequest request,HttpServletResponse response,BaseForm bForm) throws Exception {
		QueryHeaderVOImpl vo = (QueryHeaderVOImpl)bForm;
		vo = (QueryHeaderVOImpl)queryHeaderService.findByPrimaryKey(vo.getQueryId());
		vo.setCurrentPage(bForm.getCurrentPage());
		vo.setActionType("save");
		//查询条件明细
		List detailList = queryDetailService.getList("queryId = '"+vo.getQueryId()+"'","order by detailPos",0,Integer.MAX_VALUE);
		request.setAttribute("DetailList",detailList);
		request.setAttribute("VO", vo);
		pageForward(editJsp,request,response);
	}

	//保存
	public void save(HttpServletRequest request,HttpServletResponse response,BaseForm bForm) throws Exception {
		QueryHeaderVOImpl vo = (QueryHeaderVOImpl)bForm;
		try{
			queryHeaderService.update(vo);
			request.setAttribute("Message","成功保存!");
			pageForward(actionJsp+"?currentPage="+vo.getCurrentPage(),request,response);
		}catch(Exception e){
			request.setAttribute("Error","保存失败:"+e.getMessage());
			request.setAttribute("VO",vo);
			pageForward(editJsp,request,response);
		}
	}

	//删除
	public void delete(HttpServletRequest request,HttpServletResponse response,BaseForm bForm) throws Exception {
		String[] ids = request.getParameterValues("Ids");
		queryHeaderService.remove(ids);
		request.setAttribute("Message","成功删除!");
		pageForward(actionJsp+"?currentPage="+bForm.getCurrentPage(),request,response);
	}
	
	//新增查询条件
	public void newDetail(HttpServletRequest request,HttpServletResponse response,BaseForm bForm) throws Exception {
		QueryHeaderVOImpl vo = (QueryHeaderVOImpl)bForm;
		QueryDetailVOImpl newQueryDetailVOImpl = new QueryDetailVOImpl();
		newQueryDetailVOImpl.setQueryId(vo.getQueryId());
		newQueryDetailVOImpl.setActionType("addDetail");
		request.setAttribute("VO", newQueryDetailVOImpl);
		pageForward(jspPath+"DetailEdit.jsp",request,response);
	}
	
	//新增查询条件
	public void addDetail(HttpServletRequest request,HttpServletResponse response,BaseForm bForm) throws Exception {
		QueryDetailVOImpl vo = new QueryDetailVOImpl();
		ValueObjectHelper.fillObjectBean(vo, request);
		this.queryDetailService.create(vo);
		request.setAttribute("Message","成功新增查询条件!");
		pageForward(actionJsp+"?actionType=view&queryId="+vo.getQueryId(),request,response);
	}
	
	//删除查询条件
	public void delDetail(HttpServletRequest request,HttpServletResponse response,BaseForm bForm) throws Exception {
		QueryHeaderVOImpl vo = (QueryHeaderVOImpl)bForm;
		String[] ids = request.getParameterValues("Ids");
		this.queryDetailService.remove(ids);
		request.setAttribute("Message","成功删除查询条件!");
		pageForward(actionJsp+"?actionType=view&queryId="+vo.getQueryId(),request,response);
	}
	
	//执行查询条件
	public void execute(HttpServletRequest request,HttpServletResponse response,BaseForm bForm) throws Exception {
		QueryHeaderVOImpl vo = (QueryHeaderVOImpl)bForm;
		String isQuery = request.getParameter("IsQuery");
		if(isQuery==null){
			isQuery = "true";
		}
		HttpSession session = request.getSession();
		if(isQuery.equals("true")){
			//执行查询
			String queryId = vo.getQueryId();
			QueryHeaderVOImpl query = this.queryHeaderService.findByPrimaryKey(queryId);
			String queryContent = query.getQueryContent();
			String queryOther = query.getQueryOther()==null?"":query.getQueryOther();
			//查询项
			List detailList = queryDetailService.getList("queryId = '"+vo.getQueryId()+"'","order by detailPos",0,Integer.MAX_VALUE);
			QueryDetailVOImpl detail = null;
			String queryColumn = "";
			String condition = "";
			String value = "";
			StringBuffer newStringBuffer = null;
			if(queryContent.indexOf("where")!=-1){
				newStringBuffer = new StringBuffer(" and 1=1 ");
			}else{
				newStringBuffer = new StringBuffer(" where 1=1 ");
			}
			String[] paramValue = null;
			Hashtable queryColCount = new Hashtable();//某查询列被检索的次数
			int count = 0;
			for (int i=0;i<detailList.size() ;i++ ){
				detail = (QueryDetailVOImpl)detailList.get(i);
				queryColumn = detail.getQueryColumn();
				condition = detail.getCondition();
				//value = request.getParameter(queryColumn);
				//如果存在多个同名的queryColumn,以上方法参数传递有问题
				paramValue = request.getParameterValues(queryColumn);
				
				if(queryColCount.containsKey(queryColumn)){
					count = 1 + ((Integer)queryColCount.get(queryColumn)).intValue();
				}else{
					count = 1;	
				}
				queryColCount.put(queryColumn,new Integer(count));
		
				if(paramValue==null){
					continue;
				}
				value = paramValue[count-1];
				if(value==null||value.length()==0){
					continue;
				}
				//value = Utils.toZH(value);
				if(condition.equals("like")){
					newStringBuffer.append(" and "+queryColumn+" like '%"+value+"%' ");
				}else if(condition.equals("in")){
					newStringBuffer.append(" and "+queryColumn+" in ("+value+") ");
				}else{
					newStringBuffer.append(" and "+queryColumn+" "+condition+" '"+value+"' ");
				}
			}
			String querySql = queryContent + newStringBuffer + " " + queryOther;
			List list = null;
			String error = "";
			try{
				list = this.queryHeaderService.queryBySql(query,querySql);
				//list = Query.execute(newQueryHeaderModelImp,querySql);
			}catch(Exception e){
				e.printStackTrace();
				error = e.getMessage();
			}
			if(error.length()!=0){
				request.setAttribute("Error","查询失败:"+error);
				pageForward(jspPath+"error.jsp",request,response); 
				return;
			}
			List typeList = (ArrayList)(((ArrayList)list.get(0)).clone());
			list.remove(0);
			request.setAttribute("TypeList",typeList);
			session.setAttribute("TypeList",typeList);
			request.setAttribute("Query",query);
			session.setAttribute("Query",query);
			request.setAttribute("List",list);
			session.setAttribute("List",list);
		}else{
			//从session中取数据
			request.setAttribute("TypeList",session.getAttribute("TypeList"));
			request.setAttribute("Query",session.getAttribute("Query"));
			request.setAttribute("List",session.getAttribute("List"));
		}
		pageForward(jspPath+"result.jsp",request,response); 
	}
	
	public void query(HttpServletRequest request,HttpServletResponse response,BaseForm bForm) throws Exception {
		QueryHeaderVOImpl vo = (QueryHeaderVOImpl)bForm;
		vo = this.queryHeaderService.findByQueryIndex(vo.getQueryIndex());
		if(vo==null){
			request.setAttribute("Error","对应查询索引:"+vo.getQueryIndex()+"不存在,请检查查询定制!");
			pageForward(jspPath+"error.jsp",request,response); 
			return;
		}
		String queryId = vo.getQueryId();
		List detailList = queryDetailService.getList("queryId = '"+vo.getQueryId()+"'","order by detailPos",0,Integer.MAX_VALUE);
		if(detailList.size()==0){
			execute(request,response,vo);
		}else{
			pageForward(jspPath+"condition.jsp?queryId="+queryId,request,response); 
		}
	}
	
	//查看条件
	public void viewDetail(HttpServletRequest request,HttpServletResponse response,BaseForm bForm) throws Exception {
		String queryDetailId = request.getParameter("queryDetailId");
		QueryDetailVOImpl newQueryDetailVOImpl = this.queryDetailService.findByPrimaryKey(queryDetailId);
		newQueryDetailVOImpl.setActionType("saveDetail");
		request.setAttribute("VO", newQueryDetailVOImpl);
		pageForward(jspPath+"DetailEdit.jsp",request,response);
	}
	
	//保存查询条件
	public void saveDetail(HttpServletRequest request,HttpServletResponse response,BaseForm bForm) throws Exception {
		QueryDetailVOImpl vo = new QueryDetailVOImpl();
		ValueObjectHelper.fillObjectBean(vo, request);
		this.queryDetailService.update(vo);
		request.setAttribute("Message","成功保存查询条件!");
		pageForward(actionJsp+"?actionType=view&queryId="+vo.getQueryId(),request,response);
	}
%>
<%
	request.setAttribute("ActionUrl",request.getContextPath()+actionJsp);

	QueryHeaderVOImpl vo = new QueryHeaderVOImpl();
	ValueObjectHelper.fillObjectBean(vo, request);
	this.processRequest(request, response,vo);
%>

⌨️ 快捷键说明

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