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

📄 rateprotocolalterweb.java

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