📄 businesscount.java
字号:
package com.doone.fj1w.fjmgr.rpt;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.doone.data.DacClient;
import com.doone.data.DataTable;
import com.doone.util.ExtString;
import com.doone.util.FileLogger;
public class businesscount extends ReportImpl{
protected DataTable getRptList(Map _map) {
DacClient db = new DacClient();
try {
String sQueryType = (String) _map.get("QUERYTYPE");
StringBuffer sql = new StringBuffer();
StringBuffer whereSql = new StringBuffer();
StringBuffer gSql = new StringBuffer();
List oParam = new ArrayList();
sql.append("select count(*) cnt,decode(a.logintype,'0', '游客', '1', '注册帐号','2','产品编号', '无') logintype,");
sql.append(" a.siteid,b.treeid");
sql.append(" from tl_clientlogin a, td_tree b");
sql.append(" group by a.siteid,a.logintype,");
buildWhereSQL(_map, whereSql, oParam);
if (whereSql.length() > 0) {
sql.append(" where ").append(whereSql);
}
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;
if (sQueryType.equalsIgnoreCase("NN")) {
} else if (sQueryType.equalsIgnoreCase("JJ")) {
} else if (sQueryType.equalsIgnoreCase("YE")) {
} else if (sQueryType.equalsIgnoreCase("XU")) {
} else if (sQueryType.equalsIgnoreCase("ZH")) {
} else if (sQueryType.equalsIgnoreCase("RI")) {
} else {
gSql.append("a.title \"标题\", ");
gSql.append("a.logintype \"客户类别\",");
gSql.append("a.cnt \"访问量\", ");
gSql.append(" from ( ");
gSql.append(sql).append(" ) a,");
}
StringBuffer _sb = new StringBuffer();
_sb.append("SELECT * FROM ( SELECT row_.*, rownum rownum_ FROM(");
_sb.append(gSql);
_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);
}
return db.executeQuery(_sb.toString(), ap);
}catch (Exception e) {
FileLogger.getLogger().warn(e.getMessage(), e);
}
return null;
}
private void buildWhereSQL(Map _map, StringBuffer whereSql, List oParam) {
String sClientType = (String) _map.get("CLIENTTYPE");
String sCityCode = (String) _map.get("CITYCODE");
String sLogintype = (String) _map.get("Logintype");
String sStartTime = (String) _map.get("STARTTIME");
String sEndTime = (String) _map.get("ENDTIME");
if (!ExtString.isEmpty(sLogintype)) {
whereSql.append(" a.logintype like '%' || ? || '%'");
oParam.add(sLogintype);
}
if (!ExtString.isEmpty(sStartTime)) {
if (whereSql.length() > 0)
whereSql.append(" and ");
whereSql.append(" t.OPERATETIME >= ?");
Date d = ExtString.toDate(sStartTime + " 00:00:00");
if (d != null)
oParam.add(d);
}
if (!ExtString.isEmpty(sEndTime)) {
if (whereSql.length() > 0)
whereSql.append(" and ");
whereSql.append(" t.OPERATETIME <= ?");
Date d = ExtString.toDate(sStartTime + " 00:00:00");
if (d != null)
oParam.add(d);
}
if (!ExtString.isEmpty(sClientType) && !sCityCode.equals("0590")) {
if (whereSql.length() > 0)
whereSql.append(" and ");
whereSql.append(" t.citycode = ?");
oParam.add(sCityCode);
}
if (!ExtString.isEmpty(sClientType) && !sClientType.equalsIgnoreCase("A")) {
if (whereSql.length() > 0)
whereSql.append(" and ");
whereSql.append(" t.usertype = ?");
oParam.add(sClientType);
}
}
protected int getRptListCount(Map _map) {
DacClient db = new DacClient();
try {
String sQueryType = (String) _map.get("QUERYTYPE");
StringBuffer sql = new StringBuffer();
StringBuffer whereSql = new StringBuffer();
StringBuffer gSql = new StringBuffer();
List oParam = new ArrayList();
sql.append("select a.logintype,a.siteid, b.treeid");
sql.append(" from tl_clientlogin a,td_tree b");
buildWhereSQL(_map, whereSql, oParam);
if (whereSql.length() > 0) {
sql.append(" where ").append(whereSql);
}
if (sQueryType.equalsIgnoreCase("NN")) {
} else if (sQueryType.equalsIgnoreCase("JJ")) {
} else if (sQueryType.equalsIgnoreCase("YE")) {
} else if (sQueryType.equalsIgnoreCase("XU")) {
} else if (sQueryType.equalsIgnoreCase("ZH")) {
} else if (sQueryType.equalsIgnoreCase("RI")) {
} else {
gSql.append(" select count(1) from (");
gSql.append(sql).append(" ) a");
}
Object ap[] = new Object[oParam.size()];
for (int i = 0; i < ap.length; i++) {
ap[i] = oParam.get(i);
}
String tmp = db.getStringFromSqlQuery(gSql.toString(), ap);
System.out.println("记录数:" + tmp);
return Integer.parseInt(tmp);
} catch (Exception e) {
FileLogger.getLogger().warn(e.getMessage(), e);
}
return -1;
}
public static void main(String[] args) {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -