📄 accesslogimpl.java
字号:
selectSql.append("select t3.purviewid \"编号\",t1.citycode \"城市编号\",");
if (ExtString.isEmpty(sCityCode) || sCityCode.equals("0590") || sCityCode.equals("-0590")) {
selectSql.append("decode(t1.cityname,null,'全省',t1.cityname) \"地区\",");
}
else if (!ExtString.isEmpty(sCityCode) && !sCityCode.equalsIgnoreCase("0590")) {
if(ExtString.isEmpty(sAreaCode)) {
selectSql.append("decode(t1.cityname,null,'全省',t1.cityname) \"地区\",");
}
else if(sAreaCode.equals("-1")) {
selectSql.append("t1.areacode,decode(t1.areaname,null,'全' || t1.cityname,t1.areaname) \"区域\",");
}
else {
selectSql.append("t1.areacode,");
}
}
selectSql.append("t3.purviewname \"名称\",");
/*if (!ExtString.isEmpty(sClientType) && !sClientType.equalsIgnoreCase("A")) {
selectSql.append("decode(b.usertype,'U','注册帐号','B','大客户','UP','关联的产品登录客户','E','内部员工','0','游客','P','产品登录客户','未知') \"客户类别\",");
}*/
selectSql.append("count(1) \"访问量\",round(count(1) / ? * 100, 2) || '%' \"占比情况\" ");
int sum = getAccessLogSum(_map);
oParam.add(new Integer(sum));
}
/**构件查找第四级业务介绍的SQL语句
*
* @param _map
* @param sql
*/
private void buildSQL(Map _map, StringBuffer sql,List oParam) {
String sPurviewId = (String) _map.get("pid");
String sCityCode = (String) _map.get("CITYCODE");
String sAreaCode = (String) _map.get("AREA");
String sStartTime = (String) _map.get("STARTTIME");
String sEndTime = (String) _map.get("ENDTIME");
String sClientType = (String) _map.get("CLIENTTYPE");
sql.append("select t.affaircode \"编号\",t.citycode \"城市编号\",");
if (ExtString.isEmpty(sCityCode) || sCityCode.equals("0590") || sCityCode.equals("-0590")) {
sql.append("decode(t.cityname,null,'全省',t.cityname) \"地区\",");
}
else if (!ExtString.isEmpty(sCityCode) && !sCityCode.equalsIgnoreCase("0590")) {
if(ExtString.isEmpty(sAreaCode)) {
sql.append("decode(t.cityname,null,'全省',t.cityname) \"地区\",");
}
else if(sAreaCode.equals("-1")) {
sql.append("t.areacode,decode(t.areaname,null,'全' || t.cityname,t.areaname) \"区域\",");
}
else {
sql.append("t.areacode,");
}
}
sql.append("t.affairname \"名称\",");
/*if (!ExtString.isEmpty(sClientType) && !sClientType.equalsIgnoreCase("A")) {
sql.append("decode(t.usertype,'U','注册帐号','B','大客户','UP','关联的产品登录客户','E','内部员工','0','游客','P','产品登录客户','未知') \"客户类别\",");
}*/
sql.append("count(1) \"访问量\",round(count(1) / ? * 100, 2) || '%' \"占比情况\" ");
int sum = getSum(_map);
oParam.add(new Integer(sum));
sql.append("from tl_accesslog t where t.purviewcode like ? || '%' ");
TF_purview tf_purview = new TF_purview(new DacClient(),Long.parseLong(sPurviewId));
oParam.add(tf_purview.getPurviewcode());
if (!ExtString.isEmpty(sCityCode) && !sCityCode.equals("0590")) {
if(sCityCode.equals("-0590")) {
sCityCode = "0590";
}
sql.append("and t.citycode = ? ");
oParam.add(sCityCode);
}
if (!ExtString.isEmpty(sAreaCode)) {
sql.append("and t.areacode = ? ");
oParam.add(sAreaCode);
}
if (!ExtString.isEmpty(sStartTime)) {
sql.append("and ");
sql.append("to_date(to_char(t.recordtime, 'yyyy-mm-dd'),'yyyy-mm-dd') >= to_date(?,'yyyy-mm-dd') ");
oParam.add(sStartTime);
}
if (!ExtString.isEmpty(sEndTime)) {
sql.append("and ");
sql.append("to_date(to_char(t.recordtime, 'yyyy-mm-dd'),'yyyy-mm-dd') <= to_date(?,'yyyy-mm-dd') ");
oParam.add(sEndTime);
}
if (!ExtString.isEmpty(sClientType) && !sClientType.equalsIgnoreCase("A")) {
sql.append("and ");
sql.append("t.usertype = ? ");
oParam.add(sClientType);
}
sql.append("group by t.affaircode,t.citycode,t.cityname,t.affairname");
if (!ExtString.isEmpty(sCityCode) && !sCityCode.equalsIgnoreCase("0590") && !ExtString.isEmpty(sAreaCode)) {
sql.append(",t.areaname,t.areacode ");
}
if (!ExtString.isEmpty(sClientType) && !sClientType.equalsIgnoreCase("A")) {
sql.append(",t.usertype ");
}
sql.append(" order by t.cityname,t.affairname");
if (!ExtString.isEmpty(sCityCode) && !sCityCode.equalsIgnoreCase("0590") && !ExtString.isEmpty(sAreaCode)) {
sql.append(",t.areaname,t.areacode");
}
}
/**构件查找第四级业务介绍总记录数的SQL语句
*
* @param _map
* @return
*/
private int getSum(Map _map) {
DacClient db = new DacClient();
try {
String sPurviewId = (String) _map.get("pid");
String sAreaCode = (String) _map.get("AREA");
String sCityCode = (String) _map.get("CITYCODE");
String sStartTime = (String) _map.get("STARTTIME");
String sEndTime = (String) _map.get("ENDTIME");
String sClientType = (String) _map.get("CLIENTTYPE");
StringBuffer sql = new StringBuffer();
StringBuffer sql1 = new StringBuffer();
List oParam = new ArrayList();
sql.append("select count(1) cnt ");
sql.append("from tl_accesslog t where t.purviewcode like ? || '%' ");
TF_purview tf_purview = new TF_purview(new DacClient(),Long.parseLong(sPurviewId));
oParam.add(tf_purview.getPurviewcode());
if (!ExtString.isEmpty(sCityCode) && !sCityCode.equals("0590")) {
if(sCityCode.equals("-0590")) {
sCityCode = "0590";
}
sql.append("and t.citycode = ? ");
oParam.add(sCityCode);
}
if (!ExtString.isEmpty(sAreaCode)) {
sql.append("and t.areacode = ? ");
oParam.add(sAreaCode);
}
if (!ExtString.isEmpty(sStartTime)) {
sql.append("and ");
sql.append("to_date(to_char(t.recordtime, 'yyyy-mm-dd'),'yyyy-mm-dd') >= to_date(?,'yyyy-mm-dd') ");
oParam.add(sStartTime);
}
if (!ExtString.isEmpty(sEndTime)) {
sql.append("and ");
sql.append("to_date(to_char(t.recordtime, 'yyyy-mm-dd'),'yyyy-mm-dd') <= to_date(?,'yyyy-mm-dd') ");
oParam.add(sEndTime);
}
if (!ExtString.isEmpty(sClientType) && !sClientType.equalsIgnoreCase("A")) {
sql.append("and ");
sql.append("t.usertype = ? ");
oParam.add(sClientType);
}
sql.append("group by t.affaircode,t.citycode,t.cityname,t.affairname");
if (!ExtString.isEmpty(sCityCode) && !sCityCode.equalsIgnoreCase("0590") && !ExtString.isEmpty(sAreaCode)) {
sql.append(",t.areaname,t.areacode ");
}
if (!ExtString.isEmpty(sClientType) && !sClientType.equalsIgnoreCase("A")) {
sql.append(",t.usertype ");
}
sql1.append("select sum(cnt) 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 genHtml(Map _map) {
DataTable dt = getRptList(_map);
StringBuffer _sb = new StringBuffer();
String sCityCode = (String) _map.get("CITYCODE");
String sAreaCode = (String) _map.get("AREA");
if ( dt != null && dt.getRows().getCount() > 0 ) {
_sb.append("<table>");
try {
com.doone.data.DataColumnCollection dcs = dt.getColumns();
int colcount = dcs.getCount();
_sb.append("<tr>");
for (int icol = 0;icol<colcount-1;icol++){
com.doone.data.DataColumn dc = dcs.getDataColumn(icol);
if (ExtString.isEmpty(sCityCode) || sCityCode.equalsIgnoreCase("0590")) {
if(icol == 0 || icol == 1) {
_sb.append("<td class=\"body_td\" align=\"center\" nowrap style=\"display:none;\"><b>");
}
else {
_sb.append("<td class=\"body_td\" align=\"center\" nowrap><b>");
}
}
else {
if(ExtString.isEmpty(sAreaCode)) {
if(icol == 0 || icol == 1) {
_sb.append("<td class=\"body_td\" align=\"center\" nowrap style=\"display:none;\"><b>");
}
else {
_sb.append("<td class=\"body_td\" align=\"center\" nowrap><b>");
}
}
else {
if(icol == 0 || icol == 1 || icol == 2) {
_sb.append("<td class=\"body_td\" align=\"center\" nowrap style=\"display:none;\"><b>");
}
else {
_sb.append("<td class=\"body_td\" align=\"center\" nowrap><b>");
}
}
}
_sb.append(dc.getColumnName());
_sb.append("</b></TD>");
}
_sb.append("</tr>");
for(int iresult=0;iresult<dt.getRows().getCount(); iresult++){
DataRow drresult = dt.getRow(iresult);
_sb.append("<tr height=\"20\" >");
for (int icol=0; icol<colcount-1;icol++){
if (ExtString.isEmpty(sCityCode) || sCityCode.equalsIgnoreCase("0590")) {
if(icol == 0 || icol == 1) {
_sb.append("<td class=\"body_td\" align=\"left\" nowrap style=\"display:none;\">");
}
else {
_sb.append("<td class=\"body_td\" align=\"left\" nowrap>");
}
if(icol == 3) {
String pid = drresult.getString(0).trim();
String cityCode = drresult.getString(1).trim();
String areaCode = drresult.getString(2).trim();
_map.put("rePid", pid);
setLinkJavaScript(_map,cityCode,areaCode,drresult.getString(icol),_sb);
}
else if(icol == 5) {
if(drresult.getString(icol).trim().startsWith(".")) {
_sb.append(drresult.getString(icol).trim().equals("")?" ":"0"+drresult.getString(icol).trim());
}
else {
_sb.append(drresult.getString(icol).trim().equals("")?" ":drresult.getString(icol).trim());
}
}
else {
_sb.append(drresult.getString(icol).trim().equals("")?" ":drresult.getString(icol).trim());
}
_sb.append("</TD>");
}
else {
if(ExtString.isEmpty(sAreaCode)) {
if(icol == 0 || icol == 1) {
_sb.append("<td class=\"body_td\" align=\"left\" nowrap style=\"display:none;\">");
}
else {
_sb.append("<td class=\"body_td\" align=\"left\" nowrap>");
}
if(icol == 3) {
String pid = drresult.getString(0).trim();
String cityCode = drresult.getString(1).trim();
String areaCode = drresult.getString(2).trim();
_map.put("rePid", pid);
setLinkJavaScript(_map,cityCode,areaCode,drresult.getString(icol),_sb);
}
else if(icol == 5) {
if(drresult.getString(icol).trim().startsWith(".")) {
_sb.append(drresult.getString(icol).trim().equals("")?" ":"0"+drresult.getString(icol).trim());
}
else {
_sb.append(drresult.getString(icol).trim().equals("")?" ":drresult.getString(icol).trim());
}
}
else {
_sb.append(drresult.getString(icol).trim().equals("")?" ":drresult.getString(icol).trim());
}
}
else if(sAreaCode.equals("-1")) {
if(icol == 0 || icol == 1 || icol == 2) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -