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

📄 statisticqueryaction.java

📁 sso呵呵
💻 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 + -