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

📄 accessanalyselogimpl.java

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

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

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 AccessanalyselogImpl extends ReportImpl {
	
	
	/**用于系统访问量分析统计统计页面获取报表
	 * 
	 */
	protected DataTable getRptList(Map _map) {
		DataTable dt = null;
		//String sQueryType = (String) _map.get("queryType");
		//if(sQueryType == null || sQueryType.equals("0")) {
		
		dt = getAccessResultList(_map);
		//}
		return dt;
	}
	
	/**系统访问量分析统计列表
	 * 
	 * @param _map
	 * @return
	 */
	private DataTable getAccessResultList(Map _map) {
		DacClient db = new DacClient();
		try {
			StringBuffer sql = new StringBuffer();
			List oParam = new ArrayList();

			int pageSize = Integer.parseInt((String) _map.get("pageSize"));
			int currentPage = Integer.parseInt((String) _map.get("currentPage"));
			
			int startrecord = currentPage * pageSize;
			int endrecord = pageSize;
			if (startrecord < 0)
				startrecord = 0;
			if (endrecord > 0 && startrecord > 0)
				endrecord = startrecord + pageSize;

			buildSQL(_map,sql,oParam);	
			
			StringBuffer _sb = new StringBuffer();
			_sb.append("SELECT * FROM ( SELECT row_.*, rownum rownum_ FROM(");
			_sb.append(sql);
			_sb.append(")row_ WHERE rownum <= ?");
			_sb.append(") WHERE rownum_ > ?");
			
			oParam.add(new Integer(endrecord));
			oParam.add(new Integer(startrecord));
			
			Object ap[] = new Object[oParam.size()];
			
			for (int i = 0; i < ap.length; i++) {
				ap[i] = oParam.get(i);
				//System.out.println("ap[i]____________"+ap[i]);
			}
			//System.out.println("%%%%%%%%%%"+_sb.toString());
			return db.executeQuery(_sb.toString(), ap);
		} catch (Exception e) {
			FileLogger.getLogger().warn(e.getMessage(), e);
		}
		
		return null;
	}
	
	

	
	/**用于程控功能受理情况导出Excel页面获取报表
	 * 
	 */
	private DataTable getAllAccessResultList(Map _map) {
		DacClient db = new DacClient();
		try {
			
			StringBuffer sql = new StringBuffer();
			List oParam = new ArrayList();
			
			buildSQL(_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 = getAllAccessResultList(_map);
		//}
		
		return dt;
	}
	
	/**获取程控功能受理情况按条件总计的条数
	 * 
	 * @param _map
	 * @return
	 */
	private int getAccessLogSum(Map _map) {
		DacClient db = new DacClient();
		try {
			
			StringBuffer sql = new StringBuffer();
			StringBuffer sql1 = new StringBuffer();
			List oParam = new ArrayList();
			
			buildSQL(_map,sql,oParam);	
			
			sql1.append("select \"过期数量\")+\"激活数量\"+\"未激活量\"+\"注销数量\"+\"产品注册量\" 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 sum = db.getStringFromSqlQuery(sql1.toString(), ap);
			//System.out.println("总记数:" + sum);
			return Integer.parseInt(sum);
		} catch (Exception e) {
			FileLogger.getLogger().warn(e.getMessage(), e);
		}
		
		return 0;

	}
	
	public String getSum(ServletRequest request, ServletResponse response, Map _map) {
		String sum = "0";
		//String sQueryType = (String) _map.get("queryType");
		//if(sQueryType == null || sQueryType.equals("0")) {
		sum = String.valueOf(getAccessLogSum(_map));
		//}
		return sum;
		
	}
	
	/**用于分页
	 * 
	 */
	protected int getRptListCount(Map _map) {
		int count = 0;
		//String sQueryType = (String) _map.get("queryType");
		//if(sQueryType == null || sQueryType.equals("0")) {
		count =getAccessLogCount(_map);
		//}
		return count;
	}
	
	private int getAccessLogCount(Map _map) {
		DacClient db = new DacClient();
		try {
			
			StringBuffer sql = new StringBuffer();
			StringBuffer sql1 = new StringBuffer();
			List oParam = new ArrayList();
			
			buildSQL(_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 static String[] getStatisticType(String sStatisticType,String sStartTime,String sEndTime) {
		String result[] = new String[4];
		String str = "";
		String timeFormat = "";
		if(sStatisticType != null) {
			if(sStatisticType.equals("1")) {
				str = "yyyy-mm";
				timeFormat = "yyyy-mm";
				if(sStartTime != null && !sStartTime.equals("")) {
					sStartTime = sStartTime.substring(0, 7)+"-1";
				}
				if(sEndTime != null && !sEndTime.equals("")) {
					sEndTime = sEndTime.substring(0, 5)+
					String.valueOf(Integer.parseInt(sEndTime.substring(5,7))+1)+
					"-1";
				}
			}
			else {
				str = "yyyy-mm-dd";
				timeFormat = "yyyy-mm-dd hh24:mi:ss";
				if(sStartTime != null && !sStartTime.equals("")) {
					sStartTime = sStartTime+" 00:00:00";
				}
				if(sEndTime != null && !sEndTime.equals("")) {
					sEndTime = sEndTime+" 23:59:59";
				}
			}
		}
		else {
			str = "yyyy-mm-dd";
			timeFormat = "yyyy-mm-dd hh24:mi:ss";
			if(sStartTime != null && !sStartTime.equals("")) {
				sStartTime = sStartTime+" 00:00:00";
			}
			if(sEndTime != null && !sEndTime.equals("")) {
				sEndTime = sEndTime+" 23:59:59";
			}
		}
		result[0] = str;
		result[1] = timeFormat;
		result[2] = sStartTime;
		result[3] = sEndTime;
		return result;
	}
	
	private void buildWhereSQL(Map _map, StringBuffer whereSql, List oParam) {
		String sCityCode = (String) _map.get("CITYCODE");
		String sStartTime = (String) _map.get("STARTTIME");
		String sEndTime = (String) _map.get("ENDTIME");
		String sStatisticType = (String) _map.get("STATISTICTYPE");
		String timeFormat = "";
		String result[] = AccessanalyselogImpl.getStatisticType(sStatisticType, sStartTime, sEndTime);
		timeFormat = result[1];
		sStartTime = result[2];
		sEndTime = result[3];
		
		
		if (!ExtString.isEmpty(sCityCode) && !sCityCode.equals("0590")) {
			whereSql.append("where l.citycode = ? ");
			oParam.add(sCityCode);
		}
		
		if (!ExtString.isEmpty(sStartTime)) {
			if(ExtString.isEmpty(sCityCode) || sCityCode.equals("0590")) 

⌨️ 快捷键说明

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