fundao.java
来自「电信的网厅的整站代码」· Java 代码 · 共 648 行 · 第 1/2 页
JAVA
648 行
package com.doone.fj1w.fjmgr.order;
import java.util.LinkedList;
import java.util.Map;
import com.doone.data.DataRow;
import com.doone.data.DataTable;
import com.doone.util.FileLogger;
public class FunDAO extends DAO {
static private FileLogger _logger = new FileLogger();
private static DataTable _dataTable = null;
public FunDAO() {
super();
// TODO Auto-generated constructor stub
}
/**
* wull 2006-6-14 增加 程控列表在后台管理的显示列表。主要在后台显示。目前主要用来查看。
*
* @param _map
* @param startrecord
* @param recordnum
* @return
* @throws java.sql.SQLException
* @throws RuntimeException
*/
static public DataTable getFunOrderList(java.util.Map _map,
int startrecord, int recordnum) throws java.sql.SQLException,
RuntimeException {
int endrecord = recordnum;
if (startrecord < 0)
startrecord = 0;
if (endrecord > 0 && startrecord > 0)
endrecord = startrecord + recordnum;
try {
String starttime = (String) _map.get("STARTTIME");
String endtime = (String) _map.get("ENDTIME");
String citycode = (String) _map.get("CITY");
String statu = (String) _map.get("ACTION");// 传进来的当前分页状态方式
String orderid = (String) _map.get("ORDERID");
String staffID = (String) _map.get("USERID");
String sort = CommonMethod.formatString((String)_map.get("SORT"));
// 增加计费号码
String phonenum = (String) _map.get("PHONENUM");
String FUNAUTO = (String) _map.get("FUNAUTO");
String FUNTYPE = (String) _map.get("FUNTYPE");
String PRODUCTID = (String) _map.get("PRODUCTID");
citycode = citycode == null || citycode.equals("") ? "0590"
: citycode;
StringBuffer sql = new StringBuffer();
LinkedList _linkList = new LinkedList();
// 基本条件funname_bss varchar2(50) y bss系统提供的程控功能名称
sql.append(" select t.FUNORDERID,t.WEBORDER,to_char(t.ACCEPTTIME,'YYYY-MM-DD HH24:MI') ACCEPTTIME,");
sql.append(" decode(t.ACTION,'1','开','2','关','3','设置',4,'取消',5,'变更','其它') ACTION,");
// ACTION
sql.append(" t.PROGRESSSTATE,staff.name,");
sql.append(" decode(t.PROGRESSSTATE,'1','待处理','2','处理中','3','处理完成',4,'处理失败','其它') PROGRESSSTATENAME,");
sql.append(" t.OTHERORDER,t.ORDERNBRTYPE,t.TEMPORDER,t.CONTENT,");
sql.append(" t.PHONENUM,to_char(t.FINISHTIME,'YYYY-MM-DD HH24:MI') FINISHTIME,");
sql.append(" decode(f.PRODUCTID,'1','固定电话','2','小灵通','其它') PRODUCTIDNAME,");
sql.append(" f.CITYCODE,f.PRODUCTID,f.FUNCODE,f.FUNNAME,f.FUNAUTO,f.FUNTYPE,f.FUNNAME_BSS,");
sql.append(" decode(t.FUNORDERAUTO,'0','自助','1','人工','其它') FUNAUTONAME,");
sql.append(" decode(f.FUNTYPE,'C','程控','N','新业务','T','套餐','其它') FUNTYPENAME,");// C-程控
// N-新业务
// T-套餐
sql.append(" c.PARADESC");
sql.append(" from tf_funorder t ,td_prodfun f,ts_configsub c,tf_staff staff");
sql.append(" where t.PRODFUNID=f.PRODFUNID and c.PARANAME='FunFailureStateLogDsec' ");
sql.append(" and t.PROGRESSSTATE=c.PARAVALUE(+) ");
sql.append(" and t.lockstaffid=staff.staffid(+) ");
// 权限值
if (!citycode.equals("0590")) {
sql.append(" and t.citycode=?");
_linkList.add(citycode);
sql.append(" and c.citycode=?");
_linkList.add(citycode);
}
// 是否人工或自助
if (FUNAUTO != null && !"null".equals(FUNAUTO)
&& !"".equals(FUNAUTO)) {
sql.append(" and t.FUNORDERAUTO=?");
_linkList.add(FUNAUTO);
}
// 程控类型:fun tao
if (FUNTYPE != null && !FUNTYPE.equals("")) {
sql.append(" and f.FUNTYPE=?");
_linkList.add(FUNTYPE);
}
// STATE 受理状态。如果BSS返回全部为0
if (statu != null && !statu.equals("")) {
if (statu.equals("L")) {
sql.append(" and t.lockstaffid=? ");
_linkList.add(staffID);
}
else {
if(statu.equals("4")){
//处理失败与异常单并归.
sql.append(" and t.PROGRESSSTATE not in('1','2','3','911')");
}else{
sql.append(" and t.PROGRESSSTATE=?");
_linkList.add(statu);
}
}
}
// 产品类型
if (PRODUCTID != null && !PRODUCTID.equals("")) {
sql.append(" and f.PRODUCTID=?");
_linkList.add(PRODUCTID);
}
// 流水号
if (orderid != null && !orderid.equals("")) {
sql.append(" and t.WEBORDER like ?");
_linkList.add("%" + orderid.trim() + "%");
}
// 客户名称 wull改为计费号码
if (phonenum != null && !phonenum.equals("")) {
sql.append(" and t.PHONENUM like ?");
_linkList.add("%" + phonenum.trim() + "%");
}
// 开始时间
if (starttime != null && !starttime.equals("")) {
sql.append(" and t.accepttime >= to_date(?,'YYYY-MM-DD HH24:MI:SS')");
_linkList.add(starttime);
}
// 结束时间
if (endtime != null && !endtime.equals("")) {
sql.append(" and t.accepttime <= to_date(?,'YYYY-MM-DD HH24:MI:SS')");
_linkList.add(endtime);
}
// 对结果排序
if(sort.equals("")){
if (isCompositor(statu)) {
sql.append(" order by t.accepttime asc");
}
else {
sql.append(" order by t.accepttime desc");
}
}else{
sql.append(" order by t.accepttime ");
sql.append(sort);
}
return executePageList(startrecord, endrecord, sql.toString(),
_linkList.toArray());
} catch (java.sql.SQLException sqlx) {
throw sqlx;
} catch (RuntimeException rux) {
_logger.warn(rux.getMessage(), rux);
throw rux;
}
}
/**
* ***************程控工单***************** wull
* 增加。2006-6-14********************** 取条数。程控记录
*
* @param _map
* @param statu
* @return
* @throws java.sql.SQLException
* @throws RuntimeException
*/
static public int getFunOrderListCount(java.util.Map _map, String statu)
throws java.sql.SQLException, RuntimeException {
try {
_dataTable = getFunOrderMethod(_map, statu);
if (_dataTable == null)
throw new RuntimeException("获取程控记录数据总数异常!");
return _dataTable.getRow(0).getInt("count");
} catch (java.sql.SQLException sqlx) {
throw sqlx;
} catch (RuntimeException rux) {
_logger.warn(rux.getMessage(), rux);
throw rux;
}
}
/**
* ****************程控工单********************** wull
* 2006-6-14******************************
*
* @param _map
* @param statu
* @return
* @throws java.sql.SQLException
* @throws RuntimeException
*/
static public DataTable getFunOrderMethod(java.util.Map _map, String statu)
throws java.sql.SQLException, RuntimeException {
try {
String citycode = (String) _map.get("CITY");
String orderid = (String) _map.get("ORDERID");
String starttime = (String) _map.get("STARTTIME");
String endtime = (String) _map.get("ENDTIME");
String staffID = (String) _map.get("USERID");
// 增加计费号码
String phonenum = (String) _map.get("PHONENUM");
String FUNAUTO = (String) _map.get("FUNAUTO");
String FUNTYPE = (String) _map.get("FUNTYPE");
String PRODUCTID = (String) _map.get("PRODUCTID");
// PRODUCTID
citycode = citycode == null || citycode.equals("") ? "0590"
: citycode;
StringBuffer sql = new StringBuffer();
// 当前所存在的所有条件
LinkedList _linkList = new LinkedList();
// 基本条件
sql.append(" select count(t.FUNORDERID) as count");
sql.append(" from tf_funorder t ,td_prodfun f,ts_configsub c");
sql.append(" where t.PRODFUNID=f.PRODFUNID and c.PARANAME='FunFailureStateLogDsec' ");
sql.append(" and t.PROGRESSSTATE=c.PARAVALUE(+) ");
// 权限值
if (!citycode.equals("0590")) {
sql.append(" and t.citycode=?");
_linkList.add(citycode);
sql.append(" and c.citycode=?");
_linkList.add(citycode);
}
// 是否人工或自助
if (FUNAUTO != null && !"null".equals(FUNAUTO)
&& !"".equals(FUNAUTO)) {
sql.append(" and t.FUNORDERAUTO=?");
_linkList.add(FUNAUTO);
}
// 程控类型:fun tao
if (FUNTYPE != null && !FUNTYPE.equals("")) {
sql.append(" and f.FUNTYPE=?");
_linkList.add(FUNTYPE);
}
// STATE 受理状态。如果BSS返回全部为0
// STATE 受理状态。如果BSS返回全部为0
if (statu != null && !statu.equals("")) {
if (statu.equals("L")) {
sql.append(" and t.lockstaffid=? ");
_linkList.add(staffID);
}
else {
if(statu.equals("4")){
//处理失败与异常单并归.
sql.append(" and t.PROGRESSSTATE not in('1','2','3','911')");
}else{
sql.append(" and t.PROGRESSSTATE=?");
_linkList.add(statu);
}
}
}
// 产品类型
if (PRODUCTID != null && !PRODUCTID.equals("")) {
sql.append(" and f.PRODUCTID=?");
_linkList.add(PRODUCTID);
}
// 流水号
if (orderid != null && !orderid.equals("")) {
sql.append(" and t.WEBORDER like ?");
_linkList.add("%" + orderid.trim() + "%");
}
// 客户名称 wull改为计费号码
if (phonenum != null && !phonenum.equals("")) {
sql.append(" and t.PHONENUM like ?");
_linkList.add("%" + phonenum.trim() + "%");
}
// 开始时间
if (starttime != null && !starttime.equals("")) {
sql
.append(" and t.accepttime >= to_date(?,'YYYY-MM-DD HH24:MI:SS')");
_linkList.add(starttime);
}
// 结束时间
if (endtime != null && !endtime.equals("")) {
sql
.append(" and t.accepttime <= to_date(?,'YYYY-MM-DD HH24:MI:SS')");
_linkList.add(endtime);
}
if (_linkList.size() > 0) {
return _dac.executeQuery(sql.toString(), _linkList.toArray());
}
else {
return _dac.executeQuery(sql.toString());
}
} catch (java.sql.SQLException sqlx) {
throw sqlx;
} catch (RuntimeException rux) {
_logger.warn(rux.getMessage(), rux);
throw rux;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?