📄 statisticqueryaction.java
字号:
package com.mdcl.mocha.jlcmcc.contract.action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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.mdcl.mocha.bpm.portal.common.security.BPMUserInfo;
import com.mdcl.mocha.bpm.sdk.ServiceManager;
import com.mdcl.mocha.bpm.webcommons.action.BPMBaseAction;
import com.mdcl.mocha.jlcmcc.contract.IContractManager;
import com.mdcl.mocha.jlcmcc.contract.bean.QueryCondition;
import com.mdcl.mocha.jlcmcc.contract.interfaces.IContractStatistic;
import com.mdcl.mocha.jlcmcc.contract.serviceimp.ContractStatistic;
/**
*
* <strong>Title : StatisticQuery<br></strong>
* <strong>Description : 实现合同 统计 查询</strong><br>
* <strong>Create on : 2007-9-18<br></strong>
* <p>
* <strong>Copyright (C) Mocha Software Co.,Ltd.<br></strong>
* <p>
* @author wangchl wangchl@mochasoft.com.cn<br>
* @version <strong>吉林移动BPM一期</strong><br>
* <br>
* <strong>修改历史:</strong><br>
* 修改人 修改日期 修改描述<br>
* -------------------------------------------<br>
* <br>
* <br>
*/
public class StatisticQueryAction extends BPMBaseAction {
/* public ActionForward temp(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
System.out.println(">>>> StatisticQueryAction.temp()");
//列内的值
List statResult = new ArrayList();
//列标
List ths = new ArrayList();
ths.add("第一列");
ths.add("第二列");
ths.add("第三列");
Map map = new HashMap();
Map map1 = new HashMap();
map.put("第一列", "1");
map.put("第二列", "2");
map.put("第三列", "3");
map1.put("第一列", "11");
map1.put("第二列", "22");
map1.put("第三列", "33");
statResult.add(map);
statResult.add(map1);
request.setAttribute("DATAS", statResult);
request.setAttribute("THS", ths);
// 返回给页面DISPLAY的总记录数
request.setAttribute("DataSize", new Integer(statResult.size()));
System.out.println("<<<< StatisticQueryAction.temp()");
return mapping.findForward("TEMP");
}
*/
/**
*
* 方法描述 统计会同
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward "VIEWSTATISTI"
*/
public ActionForward statistic(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
System.out.println(">>>> StatisticQueryAction.statistic()");
//得到查询条件
QueryCondition qCond = getqueryCondition(request);
List statResult = getService().statisticQuery(qCond);
System.out.println(">><< statResult:" + statResult);
// if(statResult != null)
// System.out.println(">><< size:" + statResult.size());
//组织合同类型 {大类型, 小类型List}
Map typeMap = buildType();
request.setAttribute("typeMap", typeMap);
//统计查询结果集
request.setAttribute("STATISTICRESULT", statResult);
//查询条件
request.setAttribute("QCOND", qCond);
System.out.println("<<<< StatisticQueryAction.statistic()");
return mapping.findForward("VIEWSTATISTI");
}
/**
*
* 方法描述 按印花税类型分组统计合同
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward "VIEWSTAMP"
*/
public ActionForward stamp(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// System.out.println(">>>> StatisticQueryAction.statistic()");
/**
* 所有印花税类型,这里是写死的,如果添加了对印花税类型的维护(增删改查)
* 这的印花税类型可能就要从数据库里的了,或者修改接口的参数,修改DAO ,用SQL去解决这个统计问题。
*/
String[] stamps = {"gouxiaohetong",
"jishuhetong",
"jiekuanhetong",
"jiekuanhetong",
"caichanbaoxianhetong",
"caichanzulinhetong",
"chanquanzhuanyihetong",
"cangchubaoguanhetong",
"kanchashejihetong",
"huowuyunshuhetong",
"jiagongchenglanhetong",
"jianzhuanzhuanggongchenghetong"};
//得到查询条件
QueryCondition qCond = getqueryCondition(request);
List statResult = getService().stampStatistic(stamps,qCond);
//统计查询结果集
request.setAttribute("STAMPCRESULT", statResult);
// System.out.println("<<<< StatisticQueryAction.statistic()");
return mapping.findForward("VIEWSTAMP");
}
/**
*
* 方法描述 查询合同详细信息
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward "VIEWQUERY"
*/
public ActionForward query(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// System.out.println("<<<< StatisticQueryAction.query()");
//得到查询条件
QueryCondition qCond = getqueryCondition(request);
//根据条件查询合同信息
List statResult = getService().query(qCond);
// if(statResult!=null)
// System.out.println(">><< size:" + statResult.size());
// System.out.println("<<<< StatisticQueryAction.query()");
// 返回给页面DISPLAY的记录集
request.setAttribute("DATAS", statResult);
// 返回给页面DISPLAY的总记录数
request.setAttribute("DataSize", new Integer(statResult == null ? 0 :statResult.size()));
return mapping.findForward("VIEWQUERY");
}
/**
*
* 方法描述 初始化页面
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward "VIEW"
*/
public ActionForward initpage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// System.out.println(">>>> StatisticQueryAction.initpage()");
//组织合同类型 {大类型, 小类型List}
Map typeMap = buildType();
request.setAttribute("typeMap", typeMap);
// System.out.println("<<<< StatisticQueryAction.initpage()");
return mapping.findForward("VIEW");
}
/**
*
* 方法描述 从request里解析 封装查询条件
* @param request
* @return
*/
private QueryCondition getqueryCondition(HttpServletRequest request){
// System.out.println(">>>> StatisticQueryAction.getqueryCondition()");
//将表单的值封装到查询条件Bean
QueryCondition qCond = new QueryCondition();
//得到表单查询的单个值
String chbumen = request.getParameter("chbumen").trim().equals("") ? null : request.getParameter("chbumen").trim();
String chbumenName = request.getParameter("selectOrg").trim().equals("") ? null : request.getParameter("selectOrg").trim();
String chbren = request.getParameter("chbren").trim().equals("") ? null : request.getParameter("chbren").trim();
String chbrenName = request.getParameter("selectUser").trim().equals("") ? null : request.getParameter("selectUser").trim();
String contName = request.getParameter("contName").trim().equals("") ? null : request.getParameter("contName").trim();
String contNum = request.getParameter("contNum").trim().equals("") ? null : request.getParameter("contNum").trim();
String contState = request.getParameter("contState").trim().equals("full") ? null : request.getParameter("contState").trim();
String dshren = request.getParameter("dshren").trim().equals("") ? null : request.getParameter("dshren").trim();
String coinType = request.getParameter("coinType").trim().equals("full") ? null : request.getParameter("coinType").trim();
String minMoney = request.getParameter("minMoney").trim().equals("") ? null : request.getParameter("minMoney").trim();
String maxMoney = request.getParameter("maxMoney").trim().equals("") ? null : request.getParameter("maxMoney").trim();
String bigType = request.getParameter("bigType");
String smallType = request.getParameter("smallType");
String startDate = request.getParameter("startDate").trim().equals("") ? null : request.getParameter("startDate").trim();
String endDate = request.getParameter("endDate").trim().equals("") ? null : request.getParameter("endDate").trim();
String stampType = request.getParameter("stampType").trim().equals("qingxuanze") ? null : request.getParameter("stampType");
String factCont = request.getParameter("factCont");
String itemName = request.getParameter("itemName").trim().equals("") ? null : request.getParameter("itemName").trim();
String itemNum = request.getParameter("itemNum").trim().equals("") ? null : request.getParameter("itemNum").trim();
String stockType = request.getParameter("stockType").trim().equals("qingxuanze") ? null : request.getParameter("stockType");;
// System.out.println(">><< 成功得到数据");
qCond.currentUser= getUser(request).getAccount().getId();
qCond.chbumen = chbumen;
qCond.chbumenName = chbumenName;
qCond.chbren = chbren;
qCond.chbrenName = chbrenName;
qCond.contName = contName;
qCond.contNum = contNum;
qCond.contState = contState;
qCond.dshren = dshren;
qCond.coinType = coinType;
if(minMoney != null)
qCond.minMoney = minMoney;
if(maxMoney != null)
qCond.maxMoney = maxMoney;
qCond.bigType = bigType;
qCond.smallType = smallType;
if(startDate != null)
qCond.startDate = startDate;
if(endDate != null)
qCond.endDate = endDate;
qCond.stampType = stampType;
qCond.factCont = factCont;
qCond.itemName = itemName;
qCond.itemNum = itemNum;
qCond.stockType = stockType;
// System.out.println("<<<< StatisticQueryAction.getqueryCondition()");
return qCond;
}
/**
*
* 方法描述 组织合同类型(大类[map],小类[list])
* @return 将大类型和小类型封装在一起的一个 Map
*/
private Map buildType(){
HashMap typeMap = null;
try {
IContractManager service = (IContractManager) ServiceManager.getInstance().getService(IContractManager.class);
typeMap = new HashMap();
//得到合同大类
List bigList = service.getBigType();
for(int i=0; i<bigList.size(); i++ ){
Map bigType = (Map)bigList.get(i);
//每一个合同大类 对应一组合同小类型 List ( List 内的元素还是Map Key("ID","NAME"))
typeMap.put(bigType, service.getSmallTypeByBigType((String)bigType.get("ID")));
}
} catch (Exception e) {
e.printStackTrace();
}
return typeMap;
}
private IContractStatistic getService(){
return (IContractStatistic)new ContractStatistic();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -