📄 pagehitreport.java
字号:
/**
* 点击率报表
*/
package com.NCL.excel;
import java.io.File;
import java.util.*;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import com.NCL.axis.axisType;
import com.sinosoft.common.*;
public class PageHitReport{
public List strList = new ArrayList();
/**
* 点击率报表-年报
* @param ReportTime
* @return
*/
public List findYearReport(String ReportTime){
if(!Data.hasValue(ReportTime) || ReportTime.length()!=4)return null;
Document documentInput =null;
Element PageDicInfo = null;
Iterator str = null;
SAXReader reader = new SAXReader();
String fileName = axisType.class.getResource("").getPath().replaceAll("/WEB-INF/classes/com/NCL/axis", "").replaceAll("%20", " ") + "global/xml/";
fileName += "pageDictionary.xml";
try {
documentInput = reader.read(new File(fileName));
Element ele = documentInput.getRootElement();
PageDicInfo = ele.element("PageDicInfo");
str = PageDicInfo.elementIterator();
} catch (DocumentException e) {
e.printStackTrace();
}
String sql = "";
DBAccess d = new DBAccess();
List l = new ArrayList();
while(str.hasNext()){ //得到pageid和pagename
String tmp = ((Element)str.next()).getName();
if(tmp.startsWith("Page")){
l.add(tmp.substring(4, tmp.length()));
Element pEle = PageDicInfo.element(tmp);
l.add(getEleText(pEle,"PageName"));
}
}
if(l==null || l.size()==0)return null;
strList = l;
sql = "select (";
for(int i=0;2*i<l.size();i++){
int tmpPageID = Integer.parseInt((String)l.get(2*i));
sql += "select Count(pageid) from pagehits"
+ " where"
+ " makeDate>=to_date('"+ReportTime+"-' || a.nu ,'yyyy-MM')"
+ " and makeDate<Add_Months(to_date('"+ReportTime+"-' || a.nu ,'yyyy-MM'),1)"
+ " and pageid= "+tmpPageID
+ " group by pageid"
+ " ) as AAA"+i+",(";
}
sql = sql.substring(0,sql.length()-2);
sql += " from months a Where nu<=12 and nu>=1";
return d.mulparseSQL(sql, new ArrayList());
}
/**
* 点击率报表-月报
* @param ReportTime
* @return
*/
public List findMonthReport(String ReportTime){
if(!Data.hasValue(ReportTime) || ReportTime.length()!=7)return null;
Document documentInput =null;
Element PageDicInfo = null;
Iterator str = null;
SAXReader reader = new SAXReader();
String fileName = axisType.class.getResource("").getPath().replaceAll("/WEB-INF/classes/com/NCL/axis", "").replaceAll("%20", " ") + "global/xml/";
fileName += "pageDictionary.xml";
try {
documentInput = reader.read(new File(fileName));
Element ele = documentInput.getRootElement();
PageDicInfo = ele.element("PageDicInfo");
str = PageDicInfo.elementIterator();
} catch (DocumentException e) {
e.printStackTrace();
}
String sql = "";
DBAccess d = new DBAccess();
List l = new ArrayList();
while(str.hasNext()){ //得到pageid和pagename
String tmp = ((Element)str.next()).getName();
if(tmp.startsWith("Page")){
l.add(tmp.substring(4, tmp.length()));
Element pEle = PageDicInfo.element(tmp);
l.add(getEleText(pEle,"PageName"));
}
}
if(l==null || l.size()==0)return null;
strList = l;
sql = "select (";
for(int i=0;2*i<l.size();i++){
int tmpPageID = Integer.parseInt((String)l.get(2*i));
sql += "select Count(pageid) from pagehits"
+ " where"
+ " makeDate>=to_date('"+ReportTime+"-' || a.nu ,'yyyy-MM-dd')"
+ " and makeDate<=to_date('"+ReportTime+"-' || a.nu ||' 23:59:59','yyyy-MM-dd hh24:mi:ss')"
+ " and pageid= "+tmpPageID
+ " group by pageid"
+ " ) as AAA"+i+",(";
}
sql = sql.substring(0,sql.length()-2);
sql += " from months a where rownum <= to_number(to_char(Last_Day(to_date('"+ReportTime+"','yyyy-MM')),'dd')) order by nu";
return d.mulparseSQL(sql, new ArrayList());
}
/**
* 获取pEle中getName字段的值
* @param pEle
* @param getName
* @return
*/
private String getEleText(Element pEle,String getName){
String getText = "";
try{
getText = pEle.element(getName).getText();
}catch(Exception e){
System.out.println("PageHitCount.getEleText():" + e.getMessage());
return "";
}
return getText;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -