⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rateproalterdb.java

📁 电信的网厅的整站代码
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
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 + -