📄 queryaction.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 + -