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

📄 reckoninglogimpl.java

📁 电信的网厅的整站代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.doone.fj1w.fjmgr.rpt;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.doone.data.DacClient;
import com.doone.data.DataRow;
import com.doone.data.DataTable;
import com.doone.util.ExtString;
import com.doone.util.FileLogger;

public class ReckoninglogImpl extends ReportImpl {
	
	
	/**用于系统访问量页面获取报表
	 * 
	 */
	protected DataTable getRptList(Map _map) {
		DataTable dt = null;
		dt = getMaillogList(_map);
		return dt;
	}
	
	 
	
	/**帐单寄送展现列表
	 * 
	 * @param _map
	 * @return
	 */
	private DataTable getMaillogList(Map _map) {
		DacClient db = new DacClient();
		try {
			StringBuffer sql = new StringBuffer();
			StringBuffer totalSql = new StringBuffer();
			StringBuffer dzSql = new StringBuffer();
			StringBuffer groupSql = new StringBuffer();
			
			List oParam = new ArrayList();
			String sTableName = (String) _map.get("TABLENAME");

			StringBuffer _sb = new StringBuffer();
			buildMaillogSQL(_map,sql,oParam);//详单记录数
			_sb.append(sql);
			_sb.append(" union ");
			buildTotalMaillogSQL(_map,totalSql,oParam);//寄送总量
			_sb.append(totalSql);
			if (sTableName!=null&&(!sTableName.equals("0"))){//显示单月时,显示定制总量
				buildDzTotalMaillogSQL(_map,dzSql,oParam);
				_sb.append(" union ");
				_sb.append(dzSql);
			}
			_sb.append(" order by 统计时间");
			Object ap[] = new Object[oParam.size()];
			
			for (int i = 0; i < ap.length; i++) {
				ap[i] = oParam.get(i);
			}
			return db.executeQuery(_sb.toString(), ap);
		} catch (Exception e) {
			FileLogger.getLogger().warn(e.getMessage(), e);
		}
		
		return null;
	}
	
	/**用于程控功能受理情况导出Excel页面获取报表
	 * 
	 */
	private DataTable getAll_allMaillogList(Map _map) {
		DacClient db = new DacClient();
		try {
			
			StringBuffer sql = new StringBuffer();
			List oParam = new ArrayList();
			

			
			Object ap[] = new Object[oParam.size()];
			
			for (int i = 0; i < ap.length; i++) {
				ap[i] = oParam.get(i);
			}
			
			return db.executeQuery(sql.toString(), ap);
		} catch (Exception e) {
			FileLogger.getLogger().warn(e.getMessage(), e);
		}
		
		return null;
	}
	
	private DataTable getAll_maillogList(Map _map) {
		DacClient db = new DacClient();
		try {
			StringBuffer sql = new StringBuffer();
			List oParam = new ArrayList();
			
			buildMaillogSQL(_map,sql,oParam);
			
			Object ap[] = new Object[oParam.size()];
			
			for (int i = 0; i < ap.length; i++) {
				ap[i] = oParam.get(i);
			}
			
			return db.executeQuery(sql.toString(), ap);
		} catch (Exception e) {
			FileLogger.getLogger().warn(e.getMessage(), e);
		}
		
		return null;
	}


	
	/**用于程控功能受理情况导出Excel页面获取报表
	 * 
	 */
	public DataTable getAllList(Map _map) {
		DataTable dt = null;
		
		String sQueryType = (String) _map.get("queryType");
		if(sQueryType == null || sQueryType.equals("0")) {
			dt = getAll_allMaillogList(_map);
		}
		else {
			dt = getAll_maillogList(_map);
		}
		return dt;
	}
	
	
	

	
	/**用于分页
	 * 
	 */
	protected int getRptListCount(Map _map) {
		int count = 0;
		
		String sQueryType = (String) _map.get("queryType");
		if(sQueryType == null || sQueryType.equals("0")) {
			count =getAllMaillogCount(_map);
		}
		else {
			count =getMaillogCount(_map);
		}
		return count;
	}
	
	private int getAllMaillogCount(Map _map) {
		DacClient db = new DacClient();
		try {
			StringBuffer groupSql = new StringBuffer();
			StringBuffer fromSql = new StringBuffer();
			StringBuffer sql = new StringBuffer();
			StringBuffer sql1 = new StringBuffer();
			List oParam = new ArrayList();
			sql1.append("select count(1) from (select To_Char(t.Lasttime, 'yyyymm')  ");
			buildFromSQL(_map,fromSql,oParam);
			sql1.append(fromSql);
			sql1.append(" Group By To_Char(t.Lasttime, 'yyyymm'))");
			sql1.append(groupSql);
		
			Object ap[] = new Object[oParam.size()];
			for (int i = 0; i < ap.length; i++) {
				ap[i] = oParam.get(i);
			}
			String count = db.getStringFromSqlQuery(sql1.toString(), ap);
			// System.out.println("记录数:" + count);
			return Integer.parseInt(count);
		} catch (Exception e) {
			FileLogger.getLogger().warn(e.getMessage(), e);
		}
		
		return 0;
	}
	
	private int getMaillogCount(Map _map) {
		DacClient db = new DacClient();
		try {
			
			StringBuffer sql = new StringBuffer();
			StringBuffer sql1 = new StringBuffer();
			List oParam = new ArrayList();
			
			buildMaillogSQL(_map,sql,oParam);
			
			sql1.append("select count(1) from(");
			sql1.append(sql).append(")");
			Object ap[] = new Object[oParam.size()];
			for (int i = 0; i < ap.length; i++) {
				ap[i] = oParam.get(i);
			}
			
			String count = db.getStringFromSqlQuery(sql1.toString(), ap);
			//System.out.println("记录数:" + count);
			return Integer.parseInt(count);
		} catch (Exception e) {
			FileLogger.getLogger().warn(e.getMessage(), e);
		}
		
		return 0;
	}
	
	public String genHtml(Map _map) {
		DataTable dt = getRptList(_map);
		StringBuffer _sb = new StringBuffer();
		String sTableName = (String) _map.get("TABLENAME");
		String sSuccorFail= (String) _map.get("SUCCORFAIL");//寄送成功或失败.1:全部,2:成功,3:失败
		if ((sTableName==null)||(sTableName.trim().length()==0))
			sTableName="0";
		if ( dt != null && dt.getRows().getCount() > 0) {
			_sb.append("<table>");
			try {
				_sb.append("<tr>");
				_sb.append("<td class=\"body_td\" align=\"center\" nowrap><b>");
				_sb.append("统计时间");
				_sb.append("</b></TD>");
				if (sTableName!=null&&(!sTableName.equals("0"))){
					_sb.append("<td class=\"body_td\" align=\"center\" nowrap><b>");
					_sb.append("定制总量");
					_sb.append("</b></TD>");
				}
				
					_sb.append("<td class=\"body_td\" align=\"center\" nowrap><b>");
					_sb.append("寄送总量");
					_sb.append("</b></TD>");
					if (sSuccorFail!=null&&(sSuccorFail.equals("1") || sSuccorFail.equals("2"))){
					_sb.append("<td class=\"body_td\" align=\"center\" nowrap><b>");
					_sb.append("帐单寄送成功记录");
					_sb.append("</b></TD>");}
					if (sSuccorFail!=null&&(sSuccorFail.equals("1") || sSuccorFail.equals("3"))){
					_sb.append("<td class=\"body_td\" align=\"center\" nowrap><b>");
					_sb.append("帐单寄送失败记录");
					_sb.append("</b></TD>");}
					if (sSuccorFail!=null&&(sSuccorFail.equals("1") || sSuccorFail.equals("2"))){
					_sb.append("<td class=\"body_td\" align=\"center\" nowrap><b>");
					_sb.append("长途清单寄送成功记录");
					_sb.append("</b></TD>");}
					if (sSuccorFail!=null&&(sSuccorFail.equals("1") || sSuccorFail.equals("3"))){
					_sb.append("<td class=\"body_td\" align=\"center\" nowrap><b>");
					_sb.append("长途清单寄送失败记录");
					_sb.append("</b></TD>");}					
					if (sSuccorFail!=null&&(sSuccorFail.equals("1") || sSuccorFail.equals("2"))){
					_sb.append("<td class=\"body_td\" align=\"center\" nowrap><b>");
					_sb.append("上网清单寄送成功记录");
					_sb.append("</b></TD>");}
					if (sSuccorFail!=null&&(sSuccorFail.equals("1") || sSuccorFail.equals("3"))){
					_sb.append("<td class=\"body_td\" align=\"center\" nowrap><b>");
					_sb.append("上网清单寄送失败记录");
					_sb.append("</b></TD>");}
					if (sSuccorFail!=null&&(sSuccorFail.equals("1") || sSuccorFail.equals("2"))){
					_sb.append("<td class=\"body_td\" align=\"center\" nowrap><b>");
					_sb.append("信息费寄送成功记录");
					_sb.append("</b></TD>");}
					if (sSuccorFail!=null&&(sSuccorFail.equals("1") || sSuccorFail.equals("3"))){
					_sb.append("<td class=\"body_td\" align=\"center\" nowrap><b>");
					_sb.append("信息费寄送失败记录");
					_sb.append("</b></TD>");}
				_sb.append("</tr>");
				
				//if (sTableName!=null&&sTableName.equals("0")){//寄送时间为全部
					String sTime="";
					String zdcg="0",zdsb="0";
					String ctcg="0",ctsb="0";
					String swcg="0",swsb="0";
					String xxfcg="0",xxfsb="0";
					String xszl="0",dzzl="0";
					int rownum=0;
					
					for(int iresult=0;iresult<dt.getRows().getCount(); iresult++){//统计有几个月份
						DataRow drresult = dt.getRow(iresult);
						if (!drresult.getString("统计时间").trim().equals(sTime)){
							rownum++;
						}
						sTime=drresult.getString("统计时间");
					}
					String[] arrTime=new String[rownum];
					int rownum1=0;
					sTime="";
					for(int iresult=0;iresult<dt.getRows().getCount(); iresult++){//统计有几个月份
						DataRow drresult = dt.getRow(iresult);
						if (rownum1<rownum){
						if (!drresult.getString("统计时间").trim().equals(sTime)){
							arrTime[rownum1]=drresult.getString("统计时间");
							rownum1++;
						}}
						sTime=drresult.getString("统计时间");
					}
					Map zdMap = new HashMap();
					for(int j=0;j<rownum; j++){
					zdMap.put(arrTime[j]+"#~~#帐单寄送成功记录","0");
					zdMap.put(arrTime[j]+"#~~#帐单寄送失败记录","0");
					zdMap.put(arrTime[j]+"#~~#长途清单寄送成功记录","0");
					zdMap.put(arrTime[j]+"#~~#长途清单寄送失败记录","0");
					zdMap.put(arrTime[j]+"#~~#上网清单寄送成功记录","0");
					zdMap.put(arrTime[j]+"#~~#上网清单寄送失败记录","0");
					zdMap.put(arrTime[j]+"#~~#信息费寄送成功记录","0");
					zdMap.put(arrTime[j]+"#~~#信息费寄送失败记录","0");
					zdMap.put(arrTime[j]+"#~~#寄送总量","0");
					zdMap.put(arrTime[j]+"#~~#定制总量","0");
				
				for(int iresult=0;iresult<dt.getRows().getCount(); iresult++){
					DataRow drresult = dt.getRow(iresult);
					int i=0;

⌨️ 快捷键说明

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