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

📄 lanflowservice.java

📁 电信的网厅的整站代码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
package com.doone.fj1w.fjmgr.order;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Hashtable;
import java.util.Map;
import java.util.Vector;

import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import com.doone.data.DacClient;
import com.doone.data.DataRow;
import com.doone.data.DataSet;
import com.doone.data.DataTable;
import com.doone.fj1w.fjmgr.order.Bss_infoEntity.CustArchivesBean;
import com.doone.fj1w.fjmgr.order.list.BssSreachCustImpl;
import com.doone.fj1w.fjmgr.order.list.QueryBssInfoFromDB;
import com.doone.fj1w.fjmgr.order.saveFlowRecord.AdslFlow;
import com.doone.iossp.FormBody;
import com.doone.util.ExtString;
import com.doone.util.FileLogger;

public class LanFlowService {
	static private FileLogger log = new FileLogger();
	/**将选中的客户保存到数据库中
	 * 
	 * @param request
	 * @param response
	 * @param _map
	 * @return
	 */
	public static String saveInfo(ServletRequest request, ServletResponse response, Map _map) {
		try {
			if (_map != null) {
				String infoType = (String) _map.get("INFOTYPE");
				String prodOrderId = (String) _map.get("PRODORDERID");
				TF_BSSFlowRecord tf_BSSFlowRecord = new TF_BSSFlowRecord(new DacClient(),
						Long.parseLong(prodOrderId));
				if(infoType.equals("archives")){
					System.out.println("infoType==>"+infoType);
					tf_BSSFlowRecord.setRecordIDS(BssParameter.SERVISERV_TYPE_ID,"48");
					tf_BSSFlowRecord.setStepSN(1);
					tf_BSSFlowRecord.save();
				}
				/*保存客户的记费信息*/
				if(infoType.equals("payInfo")){
					System.out.println("infoType==>"+infoType);
					String payMode = (String) _map.get("PAYMODE");//计费方式
					String payNo = (String) _map.get("PAYNO");//付费号码 
					String percent = (String) _map.get("PERCENT");//付费额度
					String payType = (String) _map.get("PAYTYPE");//帐目类型
					tf_BSSFlowRecord.setRecordIDS("PAYMODE",payMode);
					tf_BSSFlowRecord.setRecordIDS("PAYNO",payNo);  
					tf_BSSFlowRecord.setRecordIDS("PERCENT",percent);
					tf_BSSFlowRecord.setRecordIDS("PAYTYPE",payType);
					tf_BSSFlowRecord.setStepSN(3);
					tf_BSSFlowRecord.save();
				}
				/*保存客户的终端设备信息*/
				if(infoType.equals("deviceInfo")){
					System.out.println("infoType==>"+infoType);
					String productIds = (String) _map.get("PRODUCTID");//终端设备
					String attachIds = (String) _map.get("ATTACHID");//产权归属
					String serivceIds = (String) _map.get("SERVICEID");//维护级别
					
					String[] productId = ExtString.split(productIds,"and",null,0);
					String[] attachId = ExtString.split(attachIds,"and",null,0);
					String[] serivceId = ExtString.split(serivceIds,"and",null,0);
					
					DataTable select_device_dt = AdslFlowService.getNewTable(BssParameter.SELECT_DEVICE_TABLE,
							BssParameter.DEVICEID,productId);
					
					DataTable select_attach_dt = AdslFlowService.getNewTable(BssParameter.SELECT_ATTACH_TABLE,
							BssParameter.ATTACHID,attachId);
					DataTable select_serivce_dt = AdslFlowService.getNewTable(BssParameter.SELECT_SERVICE_TABLE,
							BssParameter.SERVICEID,serivceId);
					
					tf_BSSFlowRecord.setRecordFrom(select_device_dt,BssParameter.SELECT_DEVICE_TABLE);
					tf_BSSFlowRecord.setRecordFrom(select_attach_dt,BssParameter.SELECT_ATTACH_TABLE);
					tf_BSSFlowRecord.setRecordFrom(select_serivce_dt,BssParameter.SELECT_SERVICE_TABLE);
					tf_BSSFlowRecord.setStepSN(4);
					tf_BSSFlowRecord.save();
				}
				/*保存客户的服务信息*/
				if(infoType.equals("serverInfo")){
					System.out.println("infoType==>"+infoType);
					String servProperty = (String) _map.get("SERVPROPERTY");//服务性质
					tf_BSSFlowRecord.setRecordIDS("SERVPROPERTY",servProperty);
					
					/*保存adsl协议*/
					DataTable service_dt = null;
					String cityCode = tf_BSSFlowRecord.getRecordIDS("CITYCODE"); //城市编号
					String SO_PRODiPROD_ID = tf_BSSFlowRecord.getRecordIDS("SERVPROPERTY");//产品编码(服务性质编码)
					/*取可选协议信息*/
					/*取ADSL数据号码*/
					String servTypeId = "48";//服务类型(LAN)
					String SOiSO_TYPE_ID = "1";//申请类型编码(新装)
					String STAFF_ID = "QZ02900";//受理员工
					String servId = tf_BSSFlowRecord.getRecordIDS("SERVISERV_ID");//服务编号
					service_dt = BssInter3.callWebQryProtocol( servTypeId,cityCode,
							SOiSO_TYPE_ID,
							STAFF_ID,
							servId,
							SO_PRODiPROD_ID);
					tf_BSSFlowRecord.setRecordFrom(service_dt,"LANPROTOCOL_TABLE");
					tf_BSSFlowRecord.setStepSN(5);
					tf_BSSFlowRecord.save();
				}
				/*保存客户的特别信息*/
				if(infoType.equals("selfhoodInfo")){
					System.out.println("infoType==>"+infoType);
					String dataNbr = (String) _map.get("DATANBR");//数据号码
					String dataNbrId = (String) _map.get("DATANBRID");//数据号码ID 
					String addPhoNbr = (String) _map.get("ADDPHONBR");//增装电话号码
					String dataAccountMethod = (String) _map.get("DATAACCOUNTMETHOD");//增装电话号码
					String netOrder = (String) _map.get("NETORDER");//增装电话号码
					String deviceAccountMethod = (String) _map.get("DEVICEACCOUNTMETHOD");//增装电话号码
					String num = (String) _map.get("IPNUM");//IP个数
					String IPType = (String) _map.get("IPTYPE");//IP类型
					String hostName = (String) _map.get("HOSTNAME");//主机域名
					String dialUpAcc = (String) _map.get("DIALUPACC");//拨号帐号
					String dialUpPwd = (String) _map.get("DIALUPPWD");//拨号密码
					String everyTime = (String) _map.get("EVERYTIME");//每次上网时长
					String everyMonth = (String) _map.get("EVERYMONTH");//每月上网时长
					
					//验证新装宽带帐号是否存在
					String result = BssInter1.IsAdslIdRepeatWeb(dialUpAcc,tf_BSSFlowRecord.getRecordIDS("CITYCODE"));
					if(result.equals("-1")) {
						return "-1";
					}
					else if(result.equals("-2")){
						return "-2";//帐号格式非法
					}
					else if(result.equals("1")){
						return "-3";//该帐号已被其他人使用
					}
					
					tf_BSSFlowRecord.setRecordIDS("DATANbr",dataNbr);
					tf_BSSFlowRecord.setRecordIDS("DATANbrId",dataNbrId);
					tf_BSSFlowRecord.setRecordIDS("ADDPHONbr",addPhoNbr);
					tf_BSSFlowRecord.setRecordIDS("DATAACCOUNTMETHOD",dataAccountMethod);
					tf_BSSFlowRecord.setRecordIDS("NETORDER",netOrder);
					tf_BSSFlowRecord.setRecordIDS("DEVICEACCOUNTMETHOD",deviceAccountMethod);
					tf_BSSFlowRecord.setRecordIDS("NUM",num);
					tf_BSSFlowRecord.setRecordIDS("IPTYPE",IPType);
					tf_BSSFlowRecord.setRecordIDS("HOSTNAME",hostName);
					tf_BSSFlowRecord.setRecordIDS("DIALUPACC",dialUpAcc);
					tf_BSSFlowRecord.setRecordIDS("DIALUPPWD",dialUpPwd);
					tf_BSSFlowRecord.setRecordIDS("EVERYTIME",everyTime);
					tf_BSSFlowRecord.setRecordIDS("EVERYMONTH",everyMonth);
					tf_BSSFlowRecord.setStepSN(6);
					tf_BSSFlowRecord.save();
				}
				/*保存取ADSL协议环节*/
				if(infoType.equals("shineAccountInfo")){
					System.out.println("infoType==>"+infoType);
					String isGive =(String) _map.get("ISGIVE");//是否开通阳光帐号
					String shineAccount = (String) _map.get("SHINEACCOUNT");//阳光帐号
					String studentPwd = (String) _map.get("STUDENTPWD");//学生密码
					String familyPwd = (String) _map.get("FAMILYPWD");//家长密码
					
					tf_BSSFlowRecord.setRecordIDS("ISOPEN",isGive);
					tf_BSSFlowRecord.setRecordIDS("SHINEACCOUNT",shineAccount);
					tf_BSSFlowRecord.setRecordIDS("STUDENTPWD",studentPwd);
					tf_BSSFlowRecord.setRecordIDS("FAMILYPWD",familyPwd);
					tf_BSSFlowRecord.setStepSN(7);
					tf_BSSFlowRecord.save();
				}
				/*保存取ADSL协议环节*/
				if(infoType.equals("protocolInfo")){
					System.out.println("infoType==>"+infoType);
					tf_BSSFlowRecord.setStepSN(8);
					tf_BSSFlowRecord.save();
				}
				if(infoType.equals("relationInfo")){
					System.out.println("infoType==>"+infoType);
					String name =(String) _map.get("RELATIONNAME");//联系人姓名
					String pho = (String) _map.get("RELATIONPHO");//联系人客户的联系电话
					String card = (String) _map.get("CARDTYPE");//客户的证件
					String cardNo = (String) _map.get("CARDNO");//客户的证件号码
					
					String menType = (String) _map.get("TITLE");
					if(menType != null && menType.equals("经办人")){
						tf_BSSFlowRecord.setRecordIDS("ACCEPTMEN_NAME",name);
						tf_BSSFlowRecord.setRecordIDS("ACCEPTMEN_PHO",pho);
						tf_BSSFlowRecord.setRecordIDS("ACCEPTMEN_CARD",card);
						tf_BSSFlowRecord.setRecordIDS("ACCEPTMEN_CARDNO",cardNo);
					}
					else{
						/*添加客户信息*/
						tf_BSSFlowRecord.setRecordIDS("CUSTICUST_RELATIONNAME",name);
						tf_BSSFlowRecord.setRecordIDS("CUSTICUST_RELATIONPHO",pho);
						tf_BSSFlowRecord.setRecordIDS("CUSTICUST_CARD",card);
						tf_BSSFlowRecord.setRecordIDS("CUSTICUST_CARDNO",cardNo);
					}
					tf_BSSFlowRecord.setStepSN(9);
					tf_BSSFlowRecord.save();
				}
				/*保存客户的公共的受理信息*/
				if(infoType.equals("commonAcceptInfo")){
					System.out.println("infoType==>"+infoType);
					String relationName = (String) _map.get("RELATIONNAME");//联系人姓名
					String acceptMen = (String) _map.get("ACCEPTMEN");//受理人姓名
					String developMen = (String) _map.get("DEVELOPMEN");//发展员工
					String fixType = (String) _map.get("FIXTYPE");//安装类型
					String operationLevel = (String) _map.get("OPERATIONLEVEL");//处理级别
					String acceptSource = (String) _map.get("ACCEPTSOURCE");//受理来源
					String bespeakTime = (String) _map.get("BESPEAKTIME");//预约时间
					tf_BSSFlowRecord.setRecordIDS("CUSTICUST_RELATIONNAME",relationName);
					tf_BSSFlowRecord.setRecordIDS("ACCEPTMEN_NAME",acceptMen);
					tf_BSSFlowRecord.setRecordIDS("DEVELOPMEN",developMen);
					tf_BSSFlowRecord.setRecordIDS("FIXTYPE",fixType);
					tf_BSSFlowRecord.setRecordIDS("OPERATIONLEVEL",operationLevel);
					tf_BSSFlowRecord.setRecordIDS("ACCEPTSOURCE",acceptSource);
					tf_BSSFlowRecord.setRecordIDS("BESPEAKTIME",bespeakTime);
					tf_BSSFlowRecord.setStepSN(9);
					tf_BSSFlowRecord.save();
				}
				/*保存客户是否赠送礼品信息*/
				if(infoType.equals("giftInfo")){
					System.out.println("infoType==>"+infoType);
					String isGive = (String) _map.get("ISGIVE");//是否赠送礼品
					String giftNo = (String) _map.get("GIFTNO");//是否赠送礼品 
					tf_BSSFlowRecord.setRecordIDS("GIFENO",giftNo);
					tf_BSSFlowRecord.setRecordIDS("ISGIFE",isGive);
					tf_BSSFlowRecord.setStepSN(10);
					tf_BSSFlowRecord.save();
				}
				/*保存客户选择的优惠类型信息*/
				if(infoType.equals("disctTypeInfo")){
					System.out.println("infoType==>"+infoType);
					String disctType = (String) _map.get("DISCTTYPE");
					tf_BSSFlowRecord.setRecordIDS("DISCTTYPE",disctType);
					tf_BSSFlowRecord.setStepSN(11);
					tf_BSSFlowRecord.save();
				}
			}
			return "1";
		} catch (Exception rux) {
			FileLogger.getLogger().warn(rux.getMessage(), rux);
			return "0";
		}
		
	}
	
	
	/**判断两个协议是否依赖
	 * 
	 * @param protocolId
	 * @param prodOrderId
	 * @return
	 */
	public static String relaBProto(String protocolId,String prodOrderId) {
		try {
			String intfo = "";
			boolean isPass = true;
			if (prodOrderId != null) {
				TF_BSSFlowRecord tf_BSSFlowRecord = TF_BSSFlowRecord.getBSSFlowRecord(new DacClient(),
						Long.parseLong(prodOrderId));
				DataTable select_protocol_dt = tf_BSSFlowRecord.getRecordFrom(BssParameter.SELECT_PROTOCOL_TABLE);
				String protocolName = AdslFlowService.getInfoByField_value(tf_BSSFlowRecord.getRecordFrom("LANPROTOCOL_TABLE"),
						protocolId,"PROT_INFO_SYSiPROTOCOL_ID","PROT_INFO_SYSiPROTOCOL_NAME");
				for(int i=0;i<protocolName.length();i++) {
					if(protocolName.charAt(i) == '{') {
						intfo = protocolName.substring(i+1, i+4);
						if(intfo.equals("依赖于")) {
							isPass = false;
							intfo = protocolName.substring(i+6,protocolName.length()-1);
						}
					}
				}
				if(isPass == false) {
					String[] reProtocolName = ExtString.split(intfo,"或",null,0);
					String reProtocolId = "";
					boolean isHaving = false;
					if(select_protocol_dt != null && select_protocol_dt.getRows().getCount() > 0) {
						for(int j=0;j<select_protocol_dt.getRows().getCount();j++) {
							reProtocolId = select_protocol_dt.getRow(j).getString(BssParameter.PROTOCOLID);
							for(int i=0;i<reProtocolName.length;i++) {
								protocolId = AdslFlowService.getInfoByField_value(tf_BSSFlowRecord.getRecordFrom("LANPROTOCOL_TABLE"),
										reProtocolName[i],"PROT_INFO_SYSiPROTOCOL_NAME","PROT_INFO_SYSiPROTOCOL_ID");
								//System.out.println("protocolId==>"+protocolId);
								if(protocolId.equals(reProtocolId)) {
									isHaving = true;
									break;
								}
								if(isHaving == true) break;
							}
						}
					}
					if(isHaving == false) {
						return "“" + intfo + "["+AdslFlowService.getInfoByField_value(tf_BSSFlowRecord.getRecordFrom("LANPROTOCOL_TABLE"),
								intfo,"PROT_INFO_SYSiPROTOCOL_NAME","PROT_INFO_SYSiPROTOCOL_ID")+"]”";
					}
					else {
						return "0";
					}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -