📄 reckoninglogimpl.java
字号:
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 + -