📄 rateproalterdb.java
字号:
package com.doone.fj1w.fjmgr.order.adslalter;
import com.doone.util.FileLogger;
import com.doone.data.DacClient;
import com.doone.data.DataTable;
import com.doone.iossp.FormBody;
import com.doone.fj1w.fjmgr.order.list.*;
import java.util.Date;
import java.util.Hashtable;
import com.doone.fj1w.fjmgr.order.*;
import com.doone.data.*;
import java.util.*;
/**
* <p>
* Title: 在协议变更中链接数据库取信息
* </p>
*
* <p>
* Description:
* </p>
*
* <p>
* Copyright: Copyright (c) 2005
* </p>
*
* <p>
* Company: New Doone
* </p>
*
* @author wull
* @version 1.0
*/
public class RateProalterDB {
private DacClient _dac = null;
private DataTable dt = null;
public RateProalterDB() {
try {
_dac = new DacClient();
// try {
// _dac.beginTransaction(10000);
// _dac.endTransaction(true);
// _dac.endTransaction(false);
// } catch (Exception ex1) {
// }
} catch (Exception ex) {
FileLogger.getLogger().warn("RateProalterDB数据库连接出错!", ex);
}
}
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";
private static final String SOiSERV_TYPE_ID = "45";
/**
* 创建工厂
*/
private static Object initLock = new Object();
private static RateProalterDB factory = null;
public static RateProalterDB getInstance() {
if (factory == null) {
// 使用synchronzed保证一次只有一个实例能访问对象
synchronized (initLock) {
if (factory == null) {
try {
// 创建RateProalterDB的一个实例
factory = new RateProalterDB();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
return factory;
}
/**
* 根所价格的ID选出二维的单条记录(有:服务类型与协议信息)
*
* @param ADSL_PRICE_ID
* String
* @return DataTable
*/
public DataTable QuerySingleAdslPrice(String ADSL_PRICE_ID) {
dt = null;
try {
String sql = "SELECT A.ADSL_PRICE_ID,A.BSS_PROTO_ID,B.ADSL_TYPE_NAME,B.BSS_TYPE_ID,C.ADSL_CASE_PREF_NAME,C.BSS_CASE_ID"
+ " FROM TF_ADSL_PRICE A, TD_ADSL_TYPE B, TD_ADSL_CASE_PREF C"
+ " WHERE A.ADSL_TYPE_ID=B.ADSL_TYPE_ID AND A.ADSL_CASE_PREF_ID=C.ADSL_CASE_PREF_ID AND A.ADSL_PRICE_ID=?";
Object[] _object = new Object[1];
_object[0] = ADSL_PRICE_ID;
dt = _dac.executeQuery(sql, _object);
} catch (Exception ex) {
FileLogger.getLogger().warn("QuerySingleAdslPrice数据库查询出错!", ex);
dt = null;
}
return dt;
}
/**
* 调用大服务 下面是一些前台JSP页面存入的值。
* tf_BSSFlowRecord.setRecordIDS(BssParameter.ACC_ABOUTTEL,abouttel);//计费号码
* tf_BSSFlowRecord.setRecordIDS(BssParameter.CITYCODE,auth_citycode);
* tf_BSSFlowRecord.setRecordIDS(BssParameter.CUSTICUST_RELATIONNAME,cust_name);
* tf_BSSFlowRecord.setRecordIDS(BssParameter.CUSTICUST_RELATIONPHO,linkmanphone);
* tf_BSSFlowRecord.setRecordIDS(BssParameter.DIALUPACC ,DIALUPACC);//保存宽带必
*
* @param tf_BSSFlowRecord
* TF_BSSFlowRecord
* @return String
*/
public String webApply(TF_BSSFlowRecord tf_BSSFlowRecord) {
DataTable custArchives_dt = null;
DataTable custPatic_dt = null;
DataTable custProduct_dt = null;
String info = "";
try {
// 查询客户档案信息
custArchives_dt = tf_BSSFlowRecord
.getRecordFrom(BssParameter.CUST_ARCHIVES_TABLE);
// 客户详尽信息
custPatic_dt = tf_BSSFlowRecord
.getRecordFrom(BssParameter.CUST_PATIC_TABLE);
// 客户产品信息
custProduct_dt = tf_BSSFlowRecord
.getRecordFrom(BssParameter.PRODUCT_ARCHIVES_TABLE);
// 取出地市
String cityCode = tf_BSSFlowRecord
.getRecordIDS(BssParameter.CITYCODE);
// 取出客户编码
String cust_id = tf_BSSFlowRecord
.getRecordIDS(BssParameter.CUSTICUST_ID);
/** ***开始***************这里有可能有多条,根据PI配的custid来取信息***************************** */
DataRow Archives_dr = null;
for (int i = 0; i < custArchives_dt.getRows().getCount(); i++) {
if (cust_id.equals((custArchives_dt.getRow(i))
.getString("SUBSCRIBERiCUST_ID"))) {
Archives_dr = custArchives_dt.getRow(i);
break;
}
}
/** *结束*****************这里有可能有多条,根据PI配的custid来取信息***************************** */
// BssReferProductBean productBean = null;
// BssReferCustBean custBean = null;
// CustArchivesBean custArchivesBean =
// AdslFlow.setfirstflow(custArchives_dt);
//
// java.util.Map custMap = new java.util.HashMap();
// if(tf_BSSFlowRecord.getRecordIDS("CUSTICUST_ID") != null &&
// tf_BSSFlowRecord.getRecordIDS("CITYCODE") != null){
// custMap.put("CUSTiCUST_ID",tf_BSSFlowRecord.getRecordIDS("CUSTICUST_ID"));
// custMap.put("CITYCODE",tf_BSSFlowRecord.getRecordIDS("CITYCODE"));
// custBean = BssSreachCustImpl.queryCustomer(custMap);
// }
// ADSL11061129
// if(tf_BSSFlowRecord.getRecordFrom(BssParameter.PRODUCT_ARCHIVES_TABLE)
// != null){
// productBean = new BssReferProductBean();
// productBean.parDataTable(tf_BSSFlowRecord.getRecordFrom(BssParameter.PRODUCT_ARCHIVES_TABLE));
// }
// cityCode = tf_BSSFlowRecord.getRecordIDS("CITYCODE"); //城市编号
String SOiAREA_ID = Archives_dr.getString("SERViAREA_ID");// 受理地区
String SOiSERV_ID = tf_BSSFlowRecord
.getRecordIDS(BssParameter.SERVISERV_ID);// 服务编码(必须传,可为空)
// String SERViSERV_TYPE_ID =
// Archives_dr.getString("SERViSERV_TYPE_ID");
/* 判断某服务档案是否允许办理变更业务(对判断条件进行合并) */
info = RateProtocolAlterWEB.getInstance().WebCheckSoAlter(
SO_TYPE_ID, SOiSERV_TYPE_ID, SOiAREA_ID, SOiSERV_ID,
cityCode);
// info="1";
// 2006-5-7 wull 修改去掉解锁。只有在失败时才解锁
/*
* if(!info.equals("1")){ BssInter1.callWebServUnLock(SOiSERV_ID,
* "", cityCode); info="1"; }
*/
// System.out.println("info==>"+info);
if (info == null) {
return null;
} else if (info.equals("1")) {
// 如果不能办理需调用WebServUnLock进行启用服务
DataTable soType_dt = BssInter2.callWebQrySoType(cityCode);// 查询申请类型信息
tf_BSSFlowRecord.setRecordIDS("SO_TYPEISO_TYPE_ID", soType_dt
.getRow(0).getString("SO_TYPEISO_TYPE_ID"));
tf_BSSFlowRecord.setRecordIDS("SO_TYPEISO_TYPE_NAME", soType_dt
.getRow(0).getString("SO_TYPEISO_TYPE_NAME"));
DataTable soId_dt = BssInter6.callWebGetSoIDNbr(SOiAREA_ID,
cityCode);// 取申请流水号
String SOiSO_ID = soId_dt.getRow(0).getString("SOISO_ID");
String SOiSO_NBR = soId_dt.getRow(0).getString("SOISO_NBR");
tf_BSSFlowRecord.setRecordFrom(soId_dt, BssParameter.SO_TABLE);
tf_BSSFlowRecord.setRecordIDS("SOISO_ID", SOiSO_ID);// 申请流水号
tf_BSSFlowRecord.setRecordIDS("SOISO_NBR", SOiSO_NBR);// 申请单号
String SOiSO_TYPE_ID = SO_TYPE_ID;// 申请类型编码(新装)
// String SOiSERV_TYPE_ID = "45";//ADSL服务类型编码
String SOiSERV_AREA_ID = SOiAREA_ID;// 服务地区编码
String SOiSERV_SO_ID = "";// 服务申请流水号
String SOiSERV_SO_SEQ = "";// 服务申请流水序号
String SOiSERV_SO_NBR = "";// 服务地申请单号
String SOiCUST_ID = Archives_dr.getString("SUBSCRIBERiCUST_ID");// 客户编码
String SOiSUBS_CODE = "";// 用户代码
/* 在功能说明WebQryDisctType:根据协议查询优惠类型信息,可供营业前台及资费管理程序调用 */
String SOiDISCT_TYPE_ID = tf_BSSFlowRecord
.getRecordIDS(BssParameter.DISCTTYPE);// 优惠类型编码(需要获取)
if (SOiDISCT_TYPE_ID == null) {
SOiDISCT_TYPE_ID = "QE000555";
}
String SOiSTAFF_ID = STAFFiSTAFF_ID;// 发展员工编码QZ02900
/* 在其它信息接口里找 */
String SOiPRIORITY = "A";
// tf_BSSFlowRecord.getRecordIDS("OPERATIONLEVEL");//处理级别
String SOiACCEPT_TYPE = "N";// tf_BSSFlowRecord.getRecordIDS("ACCEPTSOURCE");//受理来源
/* 获取受理日期 */
Date date = new Date();
String SOiACCEPT_DATE = date.toLocaleString();// 受理日期
String SOiSTATE = "N";// 状态
String SOiANN_ACT_TYPE = "C";// 附加动作类型
String FLAG1 = "";// 提交标志
String STAFF_ID = STAFFiSTAFF_ID;
String SOiPRI_SERV_ID = "";// 主的serv_id(中继专用)
// 提交受理经办人,受理联系人
String CORR_INFOiCONTACT_TYPE = "";
String CORR_INFOiCONTACT_NAME = "";
String CORR_INFOiCONTACT_TEL = "";
String CORR_INFOiCERT_TYPE = "";
String CORR_INFOiCERT_NBR = "";
/* 从前台受理单传入 */
/**
* --客户和业务号等条件 SOiCUST_ID=QZ000797175 --用户代码-- SOiSUBS_CODE=
* --普通 SOiDISCT_TYPE_ID=QE000555 --发展员工ID SOiSTAFF_ID= --处理级别--
* SOiPRIORITY=A --受理来源-- SOiACCEPT_TYPE=N
* SOiACCEPT_DATE=2005-11-29 17:18:00 SOiSTATE=N
* --用户唯一识别码,新装宽带和程控变更时需要填写移机等 SOiSERV_ID=QZ001040737
* SOiANN_ACT_TYPE=C FLAG1= STAFF_ID=QZ02900 SOiPRI_SERV_ID=
*
* --联系人信息 --受理联系人 CORR_INFOiCONTACT_TYPE=C
* CORR_INFOiCONTACT_NAME=吴建泉 CORR_INFOiCONTACT_TEL=22551331
* --身份证 CORR_INFOiCERT_TYPE=I
* CORR_INFOiCERT_NBR=350121198104261692
*/
if (tf_BSSFlowRecord.getRecordIDS("ACCEPTMEN_NAME") != null
&& !"".equals(tf_BSSFlowRecord
.getRecordIDS("ACCEPTMEN_NAME"))) {
CORR_INFOiCONTACT_TYPE = "C" + "【★】" + "D";// 相关人类型C代表受理联系人D代表受理经办人
CORR_INFOiCONTACT_NAME = tf_BSSFlowRecord
.getRecordIDS("CUSTICUST_RELATIONNAME")
+ "【★】"
+ tf_BSSFlowRecord.getRecordIDS("ACCEPTMEN_NAME");// 相关人名称
CORR_INFOiCONTACT_TEL = tf_BSSFlowRecord
.getRecordIDS("CUSTICUST_RELATIONPHO")
+ "【★】"
+ tf_BSSFlowRecord.getRecordIDS("ACCEPTMEN_PHO");// 联系电话
CORR_INFOiCERT_TYPE = tf_BSSFlowRecord
.getRecordIDS("CUSTICUST_CARD")
+ "【★】"
+ tf_BSSFlowRecord.getRecordIDS("ACCEPTMEN_CARD");// 证件类型
CORR_INFOiCERT_NBR = tf_BSSFlowRecord
.getRecordIDS("CUSTICUST_CARDNO")
+ "【★】"
+ tf_BSSFlowRecord.getRecordIDS("ACCEPTMEN_CARDNO");// 证件号码
} else {
CORR_INFOiCONTACT_TYPE = "C";// 相关人类型C代表受理联系人D代表受理经办人
CORR_INFOiCONTACT_NAME = tf_BSSFlowRecord
.getRecordIDS("CUSTICUST_RELATIONNAME");// 相关人名称
CORR_INFOiCONTACT_TEL = tf_BSSFlowRecord
.getRecordIDS("CUSTICUST_RELATIONPHO");// 联系电话
CORR_INFOiCERT_TYPE = tf_BSSFlowRecord
.getRecordIDS("CUSTICUST_CARD");// 证件类型
CORR_INFOiCERT_NBR = tf_BSSFlowRecord
.getRecordIDS("CUSTICUST_CARDNO");// 证件号码
}
// 产品合同号
String acct_id = custProduct_dt.getRow(0).getString(
"ACCTiACCT_ID");
tf_BSSFlowRecord.setRecordIDS(BssParameter.ACCTIACCT_ID,
acct_id);
// 客户信息 (可有0或1组 )
// CUSTiCUST_ID 客户编码
// CUSTiCUST_NAME 客户名称
// 帐户信息 (可有0或1组 )
// ACCTiACCT_ID 帐户编码
// ACCTiACCT_NBR 帐户合同号
// SERV_ACCTiACCT_ITEM_TYPE_ID
/*--主产品信息 数据业务提交申请产品(端设备也是填此)
----数据业务提交申请产品(可多条)–服务性质
--–程控信息 终端设备也要往此处填 A X R
----Lan LAN动态IP共享1M(住宅)
SO_PRODiPROD_ID = QE0001160 【★】QE0000816
SO_PRODiPROD_NUM = 1【★】1
SO_PRODiACTION_TYPE = 213【★】X
--由前端传入 营业员来选择 不传
--还是新增宽带产品自身的付费情况
--提交付费信息 必须都传 万不得已不传
SO_SERV_ACCTiACCT_ITEM_TYPE_ID
--以账户为主线时[客户和业务号等条件] 有就填
SO_SERV_ACCTiACCT_ID
*/
String ACCTiACCT_ID = custProduct_dt.getRow(0).getString(
"ACCTiACCT_ID")
+ "【★】"
+ custProduct_dt.getRow(0).getString("ACCTiACCT_ID");
String SERV_ACCTiACCT_ITEM_TYPE_ID = custProduct_dt.getRow(0)
.getString("SERV_ACCTiACCT_ITEM_TYPE_ID")
+ "【★】"
+ custProduct_dt.getRow(0).getString(
"SERV_ACCTiACCT_ITEM_TYPE_ID");
String SO_SERV_ACCTiBILLING_TYPE_ID = custProduct_dt.getRow(0)
.getString("SERV_ACCTiBILLING_TYPE_ID")
+ "【★】"
+ custProduct_dt.getRow(0).getString(
"SERV_ACCTiBILLING_TYPE_ID"); // SERV_ACCTiBILLING_TYPE_ID"4【★】4";
String SERV_ACCTiPAY_RATING = "【★】【★】";
String SO_SERV_ACCTiACTION_TYPE = "A【★】R";
// 第一个传主产品信息。
String SO_PRODiPROD_ID = custProduct_dt.getRow(0).getString(
"SERViPROD_ID");// (新的服务性质编码)
String SO_PRODiPROD_NUM = "1";// 产品数量
String SO_PRODiACTION_TYPE = SO_TYPE_ID;// 动作类型
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -