📄 mailorderimpl.java
字号:
package com.doone.fj1w.fjmgr.order.mailorder;
import java.util.ArrayList;
import java.util.LinkedList;
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.fj1w.fjmgr.sysmgr.Register;
import com.doone.util.ExtString;
import com.doone.util.FileLogger;
public class MailOrderImpl {
static public String getMAILList(ServletRequest request, ServletResponse response, Map _map) {
return genHtml(_map);
}
static public int getMAILCount(ServletRequest request, ServletResponse response, Map _map) {
DacClient db = new DacClient();
try {
//写sql语句
String userid = (String) _map.get("USERID");// 客户ID
String accountid = (String) _map.get("ACCOUNTID");// 客户账号
String name = (String) _map.get("NAME");// 客户名称
String mailcomm = (String) _map.get("MAILCOMM");// 帐单类型
String email = (String) _map.get("EMAIL");// email
String actionstate = (String) _map.get("ACTION");;// 发送状态
String citycode = (String) _map.get("CITYCODE");// 地市编码
String year = (String) _map.get("YEAR");// 发送月份
String month = (String) _map.get("MONTH");// 发送月份
String custtype = (String) _map.get("CUSTTYPE");//用户类型
String time="";
if(month!=null)
if(month.length()<2)
month="0"+month;
if(year!=null && month!=null)
time=year+month;
if(time.equals(""))
return -1;
StringBuffer sql = new StringBuffer();
LinkedList _linkList = new LinkedList();
// 基本条件
sql.append("select d.userid ");
sql.append(" FROM tl_maillog_"+time+" d, tf_custinfoweb b,tf_andcustrela f, tf_mailorder c");
sql.append(" where ");
sql.append(" d.userid = b.accountid ");
sql.append(" and b.userid=f.userid ");
sql.append(" and f.andcustrelaid=c.andcustrelaid");
sql.append(" and d.mailorderid=c.mailorderid ");
sql.append(" and d.state = 'E' ");
if (!ExtString.isEmpty(citycode) && !citycode.equals("0590")) {
sql.append(" and ");
sql.append(" b.citycode=?");
_linkList.add(citycode);
}
if (!ExtString.isEmpty(accountid)) {
sql.append(" and ");
sql.append(" b.accountid=?");
_linkList.add(accountid);
}
if (!ExtString.isEmpty(mailcomm) && !mailcomm.equals("5")) {
sql.append(" and ");
sql.append(" c.ordersort =?");
_linkList.add(mailcomm);
}
if (!ExtString.isEmpty(email)) {
sql.append(" and ");
sql.append(" b.email=?");
_linkList.add(email);
}
// "Y","N","S","F" >>>> "已发送","未发送", "发送成功","发送失败"
if (actionstate != null) {
if (actionstate.equals("Y")) {
sql.append(" and d.faultcount>'0'");
} else if (actionstate.equals("N")) {
sql.append(" and d.faultcount='0'");
} else if (actionstate.equals("S")) {
sql.append(" and d.faultcount='10'");
} else if (actionstate.equals("F")) {
sql.append(" and d.faultcount<'10' and d.faultcount>'0'");
}
}
// sql.append(" order by t.createtime asc");
//System.out.println("sqlcount \n:" + sql.toString());
StringBuffer _sb = new StringBuffer();
_sb.append("SELECT count(1) FROM( ");
_sb.append(sql.toString());
_sb.append(" )");
String str = db.getStringFromSqlQuery(_sb.toString(), _linkList.toArray());
return Integer.parseInt(str);
} catch (Exception e) {
FileLogger.getLogger().warn(e.getMessage(), e);
}
return -1;
}
static public int getMailStatMethodCount(ServletRequest request, ServletResponse response, Map _map){
return 1;
}
static public String getMailStatMethod(ServletRequest request, ServletResponse response, Map _map){
try {
boolean flag = false;
String param_Statu = (String) _map.get("MAILSTATE");
String[] statu = new String[] { "Y","N","S","F"};
String[] statuName = new String[] {"已发送","未发送", "发送成功","发送失败" };
StringBuffer _sb = new StringBuffer();
_sb.append("<table>");
_sb.append("<tr>");
_sb.append("<td style='cursor: default;'>");
if (param_Statu == null || param_Statu.equals("0")) {
// 显示所有
for (int i = 0; i < statu.length; i++) {
DataTable _dt = MailOrderStat.getOrderMethod(_map, statu[i]);
if (_dt != null && _dt.getRows().getCount() > 0){
try {
int count = _dt.getRow(0).getInt("count");
_sb.append("<a href='javascript:' onclick='fnStateClick(this)'");
_sb.append(" name='ACTION' value='");
_sb.append(statu[i]);
_sb.append("' style='color: white;'>");
_sb.append(statuName[i]);
_sb.append("</a>(<font color='red'>");
_sb.append(count);
_sb.append("</font>) ");
flag = true;
} catch (RuntimeException rux) {
FileLogger.getLogger().info(rux.getMessage(), rux);
}
}
}
}else{
DataTable _dt = MailOrderStat.getOrderMethod(_map, param_Statu);
if (_dt != null && _dt.getRows().getCount() > 0) {
try {
int count = _dt.getRow(0).getInt("count");
if (count > 0) {
int i = 0;
for (; i < statu.length && !statu[i].equals(param_Statu); i++);
_sb.append("<a href='javascript:' onclick='fnStateClick(this)'");
_sb.append(" name='ACTION' value='");
_sb.append(param_Statu);
_sb.append("' style='color: white;'>");
_sb.append(statuName[i]);
_sb.append("</a>(<font color='red'>");
_sb.append(count);
_sb.append("</font>) ");
flag = true;
}
} catch (RuntimeException rux) {
FileLogger.getLogger().info(rux.getMessage(), rux);
}
}
}
if (!flag) {
_sb.append("<font color='red'>没有符合以上条件的查询记录结果。</font>");
}
_sb.append("</td>");
_sb.append("</tr>");
_sb.append("</table>");
return _sb.toString();
} catch (Exception ex) {
FileLogger.getLogger().info(ex.getMessage(), ex);
}
return "";
}
//
static public DataTable getRptList(Map _map) {
try {
if(_map==null || _map.isEmpty())
return null;
int pageSize = Integer.parseInt((String) _map.get("pageSize"));
int currentPage = Integer.parseInt((String) _map.get("currentPage"));
if (pageSize == -1 || currentPage == -1) {
FileLogger.getLogger().info("页面参数为空。");
} else {
FileLogger.getLogger().info("pageSize:" + String.valueOf(pageSize));
FileLogger.getLogger().info("currentPage:" + String.valueOf(currentPage));
}
//写sql语句
String userid = (String) _map.get("USERID");// 客户ID
String accountid = (String) _map.get("ACCOUNTID");// 客户账号
String name = (String) _map.get("NAME");// 客户名称
String mailcomm = (String) _map.get("MAILCOMM");// 帐单类型
String email = (String) _map.get("EMAIL");// email
String actionstate = (String) _map.get("ACTION");;// 发送状态
String citycode = (String) _map.get("CITYCODE");// 地市编码
String year = (String) _map.get("YEAR");// 发送月份
String month = (String) _map.get("MONTH");// 发送月份
String custtype = (String) _map.get("CUSTTYPE");//用户类型
String time="";
if(month!=null)
if(month.length()<2)
month="0"+month;
if(year!=null && month!=null)
time=year+month;
if(time.equals(""))
return null;
StringBuffer sql = new StringBuffer();
LinkedList _linkList = new LinkedList();
// 基本条件
sql.append("select b.userid 用户ID,b.accountid 用户帐号,f.phonenum 产品号码,e.paradesc 帐单类型,b.email 邮箱 ");
sql.append(" FROM tl_maillog_"+time+" d, tf_custinfoweb b,tf_andcustrela f, tf_mailorder c,ts_configsub e ");
sql.append(" where ");
sql.append(" d.userid = b.accountid ");
sql.append(" and b.userid=f.userid ");
sql.append(" and f.andcustrelaid=c.andcustrelaid ");
sql.append(" and d.mailorderid=c.mailorderid ");
sql.append(" and c.ordersort=e.paravalue ");
sql.append(" and e.paraname='ORDERSORT' ");
sql.append(" and d.state = 'E' ");
if (!ExtString.isEmpty(citycode) && !citycode.equals("0590")) {
sql.append(" and ");
sql.append(" b.citycode=?");
_linkList.add(citycode);
}
if (!ExtString.isEmpty(accountid)) {
sql.append(" and ");
sql.append(" b.accountid=?");
_linkList.add(accountid);
}
if (!ExtString.isEmpty(mailcomm) && !mailcomm.equals("5")) {
sql.append(" and ");
sql.append(" c.ordersort =?");
_linkList.add(mailcomm);
}
if (!ExtString.isEmpty(email)) {
sql.append(" and ");
sql.append(" b.email=?");
_linkList.add(email);
}
// "Y","N","S","F" >>>> "已发送","未发送", "发送成功","发送失败"
if (actionstate != null) {
if (actionstate.equals("Y")) {
sql.append(" and d.faultcount>'0'");
} else if (actionstate.equals("N")) {
sql.append(" and d.faultcount='0'");
} else if (actionstate.equals("S")) {
sql.append(" and d.faultcount='10'");
} else if (actionstate.equals("F")) {
sql.append(" and d.faultcount<'10' and d.faultcount>'0'");
}
}
// sql.append(" order by t.createtime asc");
//System.out.println("sql \n:" + sql.toString());
int startrecord = currentPage * pageSize;
int endrecord = pageSize;
if (startrecord < 0)
startrecord = 0;
if (endrecord > 0 && startrecord > 0)
endrecord = startrecord + pageSize;
StringBuffer _sb = new StringBuffer();
_sb.append("SELECT * FROM ( SELECT row_.*, rownum rownum_ FROM( ");
_sb.append(sql.toString());
_sb.append(" )row_ WHERE rownum <=");
_sb.append(endrecord);
_sb.append(" ) WHERE rownum_ >");
_sb.append(startrecord);
//sql = _sb.toString();
DacClient db = new DacClient();
DataTable _dt = db.executeQuery(_sb.toString(),_linkList.toArray());
return _dt;
} catch (Exception rux) {
FileLogger.getLogger().warn(rux.getMessage(), rux);
throw new RuntimeException(rux);
}
}
static public String genHtml(Map _map) {
DataTable dt = getRptList(_map);
StringBuffer _sb = new StringBuffer();
if ( dt != null ) {
_sb.append("<table>");
try {
com.doone.data.DataColumnCollection dcs = dt.getColumns();
int colcount = dcs.getCount();
String width=String.valueOf(100/colcount)+"%";
_sb.append("<tr>");
for (int icol = 0;icol<colcount-1;icol++){
com.doone.data.DataColumn dc = dcs.getDataColumn(icol);
_sb.append("<td class=\"body_td\" align=\"center\" width=\""+width+"\" 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\" ");
/* _sb.append(" key='");
_sb.append(drresult.getString("userid"));
_sb.append("' type='2'");*/
_sb.append(" >");
for (int icol=0; icol<colcount-1;icol++){
_sb.append("<td class=\"body_td\" align=\"left\" nowrap>");
_sb.append(drresult.getString(icol).trim().equals("")?" ":drresult.getString(icol).trim());
_sb.append("</TD>");
}
_sb.append("</tr>");
}
} catch (Exception e) {
FileLogger.getLogger().info(e.getMessage(),e);
}
_sb.append("</table>");
}
return _sb.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -