📄 rateprotocolalterweb.java
字号:
package com.doone.fj1w.fjmgr.order.adslalter;
import com.doone.data.DataTable;
import java.util.Map;
import com.doone.fj1w.fjmgr.order.*;
import com.doone.data.DacClient;
import javax.servlet.ServletResponse;
import javax.servlet.ServletRequest;
import java.io.*;
import com.doone.iossp.FormBody;
import com.doone.util.FileLogger;
import com.doone.data.DataRow;
import java.util.Hashtable;
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
/**
* <p>Title: 速率与协议变更</p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: New Doone</p>
*
* @author not attributable
* @version 1.0
*/
public class RateProtocolAlterWEB {
public RateProtocolAlterWEB() {
}
private static final String SO_TYPE_ID = "32"; //ADSL服务变更//213
private static final String STAFFiSTAFF_ID = "QZ02900"; //网上营业厅工号
private static final String OPER_LOG_ID = "QZ00015822"; //String oper_log_id = "QZ00015822";
//SO_TYPE_ID
/**
* 创建工厂
*/
private static Object initLock = new Object();
private static RateProtocolAlterWEB factory = null;
public static RateProtocolAlterWEB getInstance() {
if (factory == null) {
//使用synchronzed保证一次只有一个实例能访问对象
synchronized (initLock) {
if (factory == null) {
try {
//创建RateProtocolAlterWEB的一个实例
factory = new RateProtocolAlterWEB();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
return factory;
}
/**
* 查询客户档案信息
* @param id String
* @param qry_oper_model String
* @param key_word String
* @param phonenum String
* @param serviserv_type_id String
* @param serviarea_id String
* @param flag1 String
* @param cityCode String
* @return DataTable
*/
public DataTable WebQryServFor(String prodOrderId, String qry_oper_model,
String key_word, String phonenum,String phoneacc,
String serviserv_type_id,
String serviarea_id, String flag1,
String cityCode
) {
DataTable dt = null;
TF_BSSFlowRecord tf_BSSFlowRecord = TF_BSSFlowRecord.getBSSFlowRecord(new
DacClient(), Long.parseLong(prodOrderId));
//先从数据库表里查看有没有东东,如果没有则从接口取。
//dt = tf_BSSFlowRecord.getRecordFrom(BssParameter.CUST_ARCHIVES_TABLE);
dt = BssInter5.callWebQryServFor(qry_oper_model,
key_word,
"", "", "", "", "", "",
"", "", phonenum, phonenum, phonenum, "",
serviserv_type_id, serviarea_id,
flag1,
cityCode);
if(dt != null && dt.getRows().getCount()>=1){
String serv_id = "";
String serv_type_id = "";
String cust_id = "";
String area_id = "";
for (int i = 0; i < dt.getRows().getCount(); i++) {
DataRow dr = dt.getRow(i);
cust_id = dr.getString("SUBSCRIBERiCUST_ID");
serv_type_id = dr.getString("SERViSERV_TYPE_ID"); //服务类型编码
serv_id = dr.getString("SERViSERV_ID"); //状态//SERViSERV_ID服务编码
area_id = dr.getString("SERViAREA_ID"); //SERViAREA_ID
}
/*
* 存入客户详尽信息
* */
//WebQryCustPatic(prodOrderId,cust_id,cityCode);
/*
* 优惠类型编码
* */
WebQryDisctType(cityCode, area_id, prodOrderId, serv_type_id);
tf_BSSFlowRecord.setRecordIDS(BssParameter.CUSTICUST_ID,
cust_id); //客户编码
//存入服务类型编码与服务编码
//
tf_BSSFlowRecord.setRecordIDS(BssParameter.SERVIAREA_ID,
area_id);
tf_BSSFlowRecord.setRecordIDS(BssParameter.SERViSERV_TYPE_ID,
serv_type_id);
//存入编号
tf_BSSFlowRecord.setRecordIDS(BssParameter.SERViSERV_ID,
serv_id);
tf_BSSFlowRecord.setRecordFrom(dt,
BssParameter.CUST_ARCHIVES_TABLE);
tf_BSSFlowRecord.save();
}
return dt;
}
/**
* 功能说明:根据协议查询优惠类型信息,可供营业前台及资费管理程序调用
* @param citycode String
* @param area_id String
* @param prodOrderId String
* @param SERV_DISCTiSERV_TYPE_ID String
* @param SERV_DISCTiSO_TYPE_ID String
* @return DataTable
*/
public DataTable WebQryDisctType(String citycode, String area_id,
String prodOrderId,
String SERV_DISCTiSERV_TYPE_ID) {
DataTable dt = null;
TF_BSSFlowRecord tf_BSSFlowRecord = TF_BSSFlowRecord.getBSSFlowRecord(new DacClient(),
Long.parseLong(prodOrderId));
try {
if (tf_BSSFlowRecord.getRecordIDS(BssParameter.DISCTTYPE) == null ||
"".equals(tf_BSSFlowRecord.getRecordIDS(BssParameter.DISCTTYPE))) {
String cityCode = citycode;
String QRY_OPER_MODEL = "Y";
String DISCT_TYPEiDISCT_TYPE_ID = "";
String DISCT_TYPEiDISCT_TYPE_NAME = "";
String DISCT_TYPEiDISCT_METHOD = "";
String AREA_DISCTiAREA_ID = area_id; //受理地区
String DISCT_TYPEiLIMIT_ID = "";
String CUST_DISCTiCUST_ID = "";
String DISCT_TYPEiDISCT_TYPE_SORT = "";
String SYS_DATE = "";
String PROT_INFO_SYSiPROTOCOL_ID = "";
dt = BssInter1.callWebQryDisctType(QRY_OPER_MODEL,
DISCT_TYPEiDISCT_TYPE_ID,
DISCT_TYPEiDISCT_TYPE_NAME, DISCT_TYPEiDISCT_METHOD,
SERV_DISCTiSERV_TYPE_ID, SO_TYPE_ID,
AREA_DISCTiAREA_ID,
DISCT_TYPEiLIMIT_ID, CUST_DISCTiCUST_ID,
DISCT_TYPEiDISCT_TYPE_SORT,
SYS_DATE, PROT_INFO_SYSiPROTOCOL_ID, cityCode);
if(dt != null && dt.getRows().getCount()>=1){
DataRow dr = dt.getRow(0);
String discttypeid = dr.getString( "DISCT_TYPEiDISCT_TYPE_ID");
tf_BSSFlowRecord.setRecordIDS(BssParameter.DISCTTYPE,discttypeid); //优惠类型编码(需要获取)
tf_BSSFlowRecord.save();
}
// tf_BSSFlowRecord.setRecordFrom(disctTypeDt,
// BssParameter.DISCTTYPE_TABLE);
}
return dt;
} catch (Exception ex) {
FileLogger.getLogger().warn("WebQryDisctType出错!", ex);
return null;
}
}
/**
* 提取客户详尽信息查询
* @param prodOrderId String
* @param cust_id String
* @param citycode String
* @return DataTable
*/
public DataTable WebQryCustPatic(String prodOrderId, String cust_id,
String citycode) {
DataTable dt = null;
TF_BSSFlowRecord tf_BSSFlowRecord = TF_BSSFlowRecord.getBSSFlowRecord(new
DacClient(), Long.parseLong(prodOrderId));
//dt = tf_BSSFlowRecord.getRecordFrom(BssParameter.CUST_PATIC_TABLE);
//if (dt == null || dt.getRows().getCount() <= 0) {
try {
dt = BssInter2.call_webQryCustPatic(OPER_LOG_ID, cust_id,
citycode);
if(dt != null && dt.getRows().getCount()>=1){
tf_BSSFlowRecord.setRecordFrom(dt,
BssParameter.CUST_PATIC_TABLE);
tf_BSSFlowRecord.save();
}
} catch (Exception ex) {
FileLogger.getLogger().warn("WebQryCustPatic出错!", ex);
}
//}
return dt;
}
/**
* 取到产品的档案信息
* @param _map Map
* @return DataTable
*/
public DataTable WebQryServ(Map _map) {
DataTable dt = null;
String prodOrderId = (String) _map.get("PRODORDERID");
TF_BSSFlowRecord tf_BSSFlowRecord = TF_BSSFlowRecord.getBSSFlowRecord(new
DacClient(), Long.parseLong(prodOrderId));
//先从数据库表里查看有没有东东,如果没有则从接口取。
//dt = tf_BSSFlowRecord.getRecordFrom(BssParameter.PRODUCT_ARCHIVES_TABLE);
//if (dt == null || dt.getRows().getCount() <= 0) {
String qry_oper_model =
"111111111111111111111111100000000000000101100000000010000111111";
String serv_id = (String) _map.get("SERVISERV_ID");
String key_word = (String) _map.get("KEY_WORD");
String serv_type_id = (String) _map.get("SERV_TYPE_ID");
String so_type_id = SO_TYPE_ID;
String flag2 = "";
if (serv_type_id == null || "".equals(serv_type_id)) {
flag2 = "1";
} else {
if (Integer.parseInt(serv_type_id) > 30) {
flag2 = "0";
} else if (so_type_id.equals("20") ||
so_type_id.equals("22") ||
so_type_id.equals("26") ||
so_type_id.equals("27")) {
flag2 = "0";
} else {
flag2 = "1";
}
}
String citycode = (String) _map.get("CITYCODE");
dt = BssInter4.call_webQryServ(qry_oper_model, serv_id, key_word,
flag2,
citycode);
if(dt != null && dt.getRows().getCount()>=1){
tf_BSSFlowRecord.setRecordFrom(dt,
BssParameter.
PRODUCT_ARCHIVES_TABLE);
tf_BSSFlowRecord.save();
}
//}
return dt;
}
/**
* ***************************************提交申请信息*****************************
*
*
* 如果返回1说明提交成功。。然后准备发起调度。。如果调度不成功,则要撤单解锁
* @param id String
* @return String
*/
public String WebReferSo(String prodOrderId) {
TF_BSSFlowRecord tf_BSSFlowRecord = TF_BSSFlowRecord.getBSSFlowRecord(new
DacClient(), Long.parseLong(prodOrderId));
//tf_BSSFlowRecord.setStepSN(12);
String re = RateProalterDB.getInstance().webApply(tf_BSSFlowRecord);
/*如果不成功,则解锁,因为在提交申请时,把工单锁住,这时如果提交不成功则要解锁*/
if(!"1".equals(re)){
String SERViSERV_ID = tf_BSSFlowRecord.getRecordIDS(BssParameter.
SERViSERV_ID);
String citycode = tf_BSSFlowRecord.getRecordIDS(BssParameter.CITYCODE);
try{
/*如果不成功,则解锁,因为在提交申请时,把工单锁住,这时如果提交不成功则要解锁*/
BssInter1.callWebServUnLock(SERViSERV_ID, "", citycode);
}catch (Exception ex) {
FileLogger.getLogger().warn("callWebServUnLock出错!", ex);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -