//绑定Office返回字符串 public string BindOffice() { PbProject.Model.ConfigParam mconfig = null; StringBuilder sbstr = new StringBuilder(); if (mCompany.RoleType == 1) { if (Hid_OwnerCpyNo.Value.Trim() != "") { List <Bd_Base_Parameters> baseDic = baseDataManage.CallMethod("Bd_Base_Parameters", "GetList", null, new Object[] { "CpyNo='" + Hid_OwnerCpyNo.Value.Trim() + "'" }) as List <Bd_Base_Parameters>; mconfig = PbProject.Logic.ControlBase.Bd_Base_ParametersBLL.GetConfigParam(baseDic); } } else { mconfig = this.configparam; } if (mconfig != null) { string strOffice = mconfig.Office; string strIataCode = mconfig.IataCode; string strTicketCompany = mconfig.TicketCompany; string[] arrOffice = strOffice.Split(new string[] { "^", "|", ",", " ", "@", "-" }, StringSplitOptions.None); string[] arrIataCode = strIataCode.Split(new string[] { "^", "|", ",", " ", "@", "-" }, StringSplitOptions.None); string[] arrTicketCompany = strTicketCompany.Split(new string[] { "^", "|", ",", " ", "@", "-" }, StringSplitOptions.None); if (arrOffice.Length != 0 && arrOffice.Length == arrIataCode.Length && arrIataCode.Length == arrTicketCompany.Length) { for (int i = 0; i < arrOffice.Length; i++) { ListItem li = new ListItem(arrOffice[i], arrOffice[i].ToUpper().Trim() + "@@" + arrIataCode[i].Trim() + "@@" + arrTicketCompany[i].Trim()); if (i == 0) { li.Selected = true; //航协号 txtIataCode.Text = arrIataCode[i].Trim(); //填开单位 txtTicketCompany.Text = arrTicketCompany[i].Trim(); } ddlOffice.Items.Add(li); } ddlOffice.SelectedIndex = 0; } } return(sbstr.ToString()); }
/// <summary> /// 判断预订编码落地运营商和供应是否设置配置信息 /// </summary> /// <returns></returns> public bool ConfigIsSet(out string Msg) { bool IsSet = true; Msg = ""; try { PbProject.Model.ConfigParam config = userInfo.Configparam; string UserCpyNo = userInfo.User.CpyNo; if (config == null) { Msg = "编码预订没有找到可用的配置信息,请联系运营商设置"; IsSet = false; return(IsSet); } if (string.IsNullOrEmpty(config.WhiteScreenIP)) { Msg = "预订配置信息没有设置IP地址,请联系运营商设置"; IsSet = false; } else if (string.IsNullOrEmpty(config.WhiteScreenPort)) { Msg = "预订配置信息没有设置端口号,请联系运营商设置"; IsSet = false; } else if (string.IsNullOrEmpty(config.Office)) { Msg = "预订配置信息可用Office号,请联系运营商设置"; IsSet = false; } } catch (Exception ex) { Msg = "预订编码配置信息异常,无法预订!"; IsSet = false; } return(IsSet); }
/// <summary> /// 原先设计用的是Session现在改为Application,但是方法名称未改变,避免过多改动引发系统不稳定.YYY 2013-6-17 /// </summary> public void LoadSession() { try { SessionContent sessionContent = new SessionContent(); string currentuserid = System.Web.HttpContext.Current.Request["currentuserid"] ?? string.Empty; if (!string.IsNullOrEmpty(currentuserid)) { //if (Session[currentuserid] == null) if (Application[currentuserid] == null) //if (HttpContext.Current.Application[currentuserid] == null) { FormsAuthentication.RedirectToLoginPage(); } else { //sessionContent = Session[currentuserid] as SessionContent; //sessionContent = HttpContext.Current.Application[currentuserid] as SessionContent; sessionContent = Application[currentuserid] as SessionContent; mUser = sessionContent.USER; mCompany = sessionContent.COMPANY; //mSupCompany = sessionContent.SUPCOMPANY; //如果保存的落地运营商的<公司信息>全局变量为空,则重新读取一次数据库 if (Application[sessionContent.parentCpyno + "Company"] == null) { string strwhere = "1=1 and unincode='" + sessionContent.parentCpyno + "'"; List <User_Company> listUser_Company = baseDataManage.CallMethod("User_Company", "GetList", null, new Object[] { strwhere }) as List <User_Company>; if (listUser_Company != null && listUser_Company.Count > 0) { Application[sessionContent.parentCpyno + "Company"] = listUser_Company[0]; } } mSupCompany = Application[sessionContent.parentCpyno + "Company"] as User_Company; baseParametersList = sessionContent.BASEPARAMETERS; //如果保存落地运营商的全局变量为空,则重新读取一次数据库 if (Application[sessionContent.parentCpyno + "Parameters"] == null) { string strwhere = "1=1 and cpyno='" + sessionContent.parentCpyno + "'"; List <Bd_Base_Parameters> listParameters = baseDataManage.CallMethod("Bd_Base_Parameters", "GetList", null, new Object[] { strwhere }) as List <Bd_Base_Parameters>; if (listParameters != null) { Application[sessionContent.parentCpyno + "Parameters"] = listParameters; } } supBaseParametersList = Application[sessionContent.parentCpyno + "Parameters"] as List <Bd_Base_Parameters>;//落地运营商和供应商公司参数信息 //supBaseParametersList = sessionContent.SupBASEPARAMETERS;//落地运营商和供应商公司参数信息 configparam = Bd_Base_ParametersBLL.GetConfigParam(supBaseParametersList); //configparam = sessionContent.CONFIGPARAM; //当前登录用户权限 m_UserPermissions = sessionContent.M_USERPERMISSIONS; // Limits(); } } else { FormsAuthentication.RedirectToLoginPage(); } /* * if (Session[sessionContent.USERLOGIN] == null) * { * FormsAuthentication.RedirectToLoginPage(); * } * else * { * sessionContent = Session[sessionContent.USERLOGIN] as SessionContent; * mUser = sessionContent.USER; * mCompany = sessionContent.COMPANY; * mSupCompany = sessionContent.SUPCOMPANY; * baseParametersList = sessionContent.BASEPARAMETERS; * supBaseParametersList = sessionContent.SupBASEPARAMETERS;//落地运营商和供应商公司参数信息 * configparam = sessionContent.CONFIGPARAM; * //当前登录用户权限 * m_UserPermissions = sessionContent.M_USERPERMISSIONS; * //权限验证 * Limits(); * }*/ //} } catch { // 跳转登陆页 } }
/// <summary> /// 获取打印数据 /// </summary> /// <returns></returns> public PnrAnalysis.Model.TripPrintData GetPrintData() { PnrAnalysis.Model.TripPrintData model = null; if (Request["OrderId"] != null && Request["OrderId"].ToString() != "" && Request["PasId"] != null && Request["PasId"].ToString() != "") { model = new PnrAnalysis.Model.TripPrintData(); model.m_strOrderId = Request["OrderId"].ToString(); model.m_strPassengerId = Request["PasId"].ToString(); OrderInputParam InputParam = new OrderInputParam(); string ErrMsg = ""; //成人订单数据显示 InputParam = OrderBLL.GetOrder(model.m_strOrderId, InputParam, out ErrMsg); if (InputParam != null && InputParam.OrderParamModel.Count > 0) { OrderMustParamModel OMP = InputParam.OrderParamModel[0]; Tb_Ticket_Passenger Passenger = OMP.PasList.Find(delegate(Tb_Ticket_Passenger _TP) { return(_TP.id.ToString().ToUpper() == model.m_strPassengerId.ToUpper()); }); Tb_TripDistribution tb_tripdistribution = null; Tb_Ticket_Order Order = OMP.Order; List <Tb_Ticket_SkyWay> skyList = OMP.SkyList; PbProject.Model.ConfigParam config = this.configparam; if (Passenger != null && Order != null) { if (Passenger.TravelNumber.Trim() != "") { string sqlWhere = string.Format(" TripNum='{0}' and UseCpyNo='{1}' ", Passenger.TravelNumber.Trim(), Order.OwnerCpyNo); List <Tb_TripDistribution> TTPList = this.baseDataManage.CallMethod("Tb_TripDistribution", "GetList", null, new object[] { sqlWhere }) as List <Tb_TripDistribution>; if (TTPList != null && TTPList.Count > 0) { tb_tripdistribution = TTPList[0]; } } //管理员 if (mCompany.RoleType == 1) { string GYCpyNo = Order.OwnerCpyNo; if (Order.OwnerCpyNo.Length >= 12) { GYCpyNo = GYCpyNo.Substring(0, 12); } List <Bd_Base_Parameters> baseParamList = baseDataManage.CallMethod("Bd_Base_Parameters", "GetList", null, new Object[] { "CpyNo='" + GYCpyNo + "'" }) as List <Bd_Base_Parameters>; config = Bd_Base_ParametersBLL.GetConfigParam(baseParamList); } #region 获取 配置号 if (tb_tripdistribution != null) { //航协号 model.m_strIataCode = tb_tripdistribution.IataCode; //中文填开单位 model.m_strCNTKTConjunction = tb_tripdistribution.OwnerCpyName; //office model.m_strAgentOffice = tb_tripdistribution.CreateOffice; //行程单号 model.m_strTravelNumber = tb_tripdistribution.TripNum; } else { //行程单号为空时 if (config != null) { string PrintOffice = GetPrintOffice(Order.OwnerCpyNo, Order.CarryCode.Split('/')[0]); string[] Arroffice = config.Office.Split('^'); //office string[] ArrIataCode = config.IataCode.Split('^'); //航协号 string[] ArrTicketCompany = config.TicketCompany.Split('^'); //公司名称 for (int i = 0; i < Arroffice.Length; i++) { if (Arroffice.Length == ArrIataCode.Length && Arroffice.Length == ArrTicketCompany.Length) { if (PrintOffice == "") { //Office model.m_strAgentOffice = Arroffice[i]; //中文填开单位 model.m_strCNTKTConjunction = ArrTicketCompany[i]; //航协号 model.m_strIataCode = ArrIataCode[i];//航协号 break; } else { if (PrintOffice.ToUpper() == Arroffice[i].ToUpper()) { //Office model.m_strAgentOffice = Arroffice[i]; //Office //中文填开单位 model.m_strCNTKTConjunction = ArrTicketCompany[i]; //填开单位 //航协号 model.m_strIataCode = ArrIataCode[i]; //航协号 break; } } } } } } #endregion //乘客姓名 model.m_strPassengerName = Passenger.PassengerName; //乘客证件号 model.m_strPassengerCardId = Passenger.Cid; //签注 model.m_strEndorsements = ddlEndorsements.SelectedValue; //小编码 model.m_strPnrB = Order.PNR.ToUpper(); //行程单号 model.m_strTravelNumber = Passenger.TravelNumber.Trim(); //舱位价 model.m_strSpaceFare = Passenger.PMFee.ToString("F2"); //基建费 model.m_strABFare = Passenger.ABFee.ToString("F2"); //燃油费 model.m_strFuelFare = Passenger.FuelFee.ToString("F2"); //总价 model.m_strTotalFare = (Passenger.PMFee + Passenger.ABFee + Passenger.FuelFee).ToString("F2"); //保险费 model.m_strInsuranceFare = "XXX"; //其他费用 model.m_strOtherFare = "0.00"; //票号 model.m_strTicketNumber = Passenger.TicketNumber; //验证码 model.m_strCheckNum = Passenger.TravelNumber.Length > 4 ? (Passenger.TravelNumber.Substring(Passenger.TravelNumber.Length - 4, 4)) : txtCheckNum.Value; //填开日期 model.m_strIssuedDate = System.DateTime.Now.ToString("yyyy-MM-dd"); //航段 if (skyList != null && skyList.Count > 0) { //第一段 model.m_strFCityName1 = skyList[0].FromCityName; //出发城市 model.m_strTCityName1 = skyList[0].ToCityName; //到达城市 model.m_strAirName1 = skyList[0].CarryName; //航空公司名称 model.m_strAirCode1 = skyList[0].CarryCode; //航空公司二字码 model.m_strFlightNum1 = skyList[0].FlightCode; //航班号 model.m_strSpace1 = skyList[0].Space.ToUpper(); //舱位 model.m_strTicketBasis1 = skyList[0].Space.ToUpper(); //舱位等级 model.m_strFlyDate1 = skyList[0].FromDate.ToString("yyyy-MM-dd"); model.m_strFlyStartTime1 = skyList[0].FromDate.ToString("HH:mm"); model.m_strFlyEndTime1 = skyList[0].ToDate.ToString("HH:mm"); //到达时间 model.m_strTerminal1 = skyList[0].Terminal; //航站楼 //行李 model.m_strAllowPacket1 = "20K"; if (model.m_strSpace1 == "C") { model.m_strAllowPacket1 = "30K"; } else if (model.m_strSpace1 == "F") { model.m_strAllowPacket1 = "40K"; } //------------------------------------------- //第二段 if (skyList.Count > 1) { model.m_strFCityName2 = skyList[1].FromCityName; //出发城市 model.m_strTCityName2 = skyList[1].ToCityName; //到达城市 model.m_strAirName2 = skyList[1].CarryName; //航空公司名称 model.m_strAirCode2 = skyList[1].CarryCode; //航空公司二字码 model.m_strFlightNum2 = skyList[1].FlightCode; //航班号 model.m_strSpace2 = skyList[1].Space.ToUpper(); //舱位 model.m_strTicketBasis2 = skyList[1].Space.ToUpper(); //舱位等级 model.m_strFlyDate2 = skyList[1].FromDate.ToString("yyyy-MM-dd"); model.m_strFlyStartTime2 = skyList[1].FromDate.ToString("HH:mm"); model.m_strFlyEndTime2 = skyList[1].ToDate.ToString("HH:mm"); //到达时间 model.m_strTerminal2 = skyList[1].Terminal; //航站楼 //行李 model.m_strAllowPacket2 = "20K"; if (model.m_strSpace2 == "C") { model.m_strAllowPacket2 = "30K"; } else if (model.m_strSpace2 == "F") { model.m_strAllowPacket2 = "40K"; } if (model.m_strFCityName2 == model.m_strTCityName1) { if (model.m_strFCityName1 != model.m_strTCityName2) { model.m_strTravelType = "3";//联程 } else { model.m_strTravelType = "2";//往返 } } else { if (skyList.Count == 2) { model.m_strTravelType = "4";//缺口程 } else { model.m_strTravelType = "5";//多程 } } } } } } } return(model); }
/// <summary> /// 票号挂起解挂操作 /// </summary> /// <param name="type"></param> /// <param name="pasList"></param> /// <param name="CpyNo"></param> /// <returns></returns> public void TicketSupLock(string type, List <Tb_Ticket_Passenger> pasList, out string ErrMsg) { ErrMsg = ""; try { //日志 StringBuilder sbLog = new StringBuilder(); Tb_Ticket_Order mOrder = ViewState["mOrder"] as Tb_Ticket_Order; if (mOrder == null) { ErrMsg = "订单不存在!"; } if (ErrMsg == "") { string CpyNo = mOrder.OwnerCpyNo; string Office = mOrder.Office; string PrintOffice = mOrder.PrintOffice; //挂起还是解挂 int ticketType = type == "0" ? 1 : 2; PbProject.Model.ConfigParam config = null; if (mCompany.RoleType == 1) { List <Bd_Base_Parameters> baseParamList = baseDataManage.CallMethod("Bd_Base_Parameters", "GetList", null, new Object[] { "CpyNo=Left('" + CpyNo + "',12)" }) as List <Bd_Base_Parameters>; config = PbProject.Logic.ControlBase.Bd_Base_ParametersBLL.GetConfigParam(baseParamList); } if (this.configparam != null) { config = this.configparam; } Tb_Ticket_OrderBLL ManageBLL = new Tb_Ticket_OrderBLL(); List <string> listIds = new List <string>(); //扩展参数 ParamEx pe = new ParamEx(); pe.UsePIDChannel = this.KongZhiXiTong != null && this.KongZhiXiTong.Contains("|48|") ? 2 : 0; PbProject.Logic.PID.SendInsManage SendManage = new PbProject.Logic.PID.SendInsManage(mUser.LoginName, mCompany.UninCode, pe, config); for (int i = 0; i < pasList.Count; i++) { if (pasList[i].TicketNumber.Trim() != "") { //发送指令 if (!SendManage.TicketNumberLock(ticketType, pasList[i].TicketNumber, Office, out ErrMsg)) { sbLog.Append("<br />乘客" + pasList[i].PassengerName + "机票" + pasList[i].TicketNumber + (type == "1" ? "解挂" : "挂起") + "失败原因:" + ErrMsg); } else { pasList[i].Suspended = ticketType == 1 ? true : false; sbLog.Append("<br />乘客" + pasList[i].PassengerName + "机票" + pasList[i].TicketNumber + (type == "1" ? "解挂" : "挂起") + "成功,"); } } else { sbLog.Append("<br />乘客" + pasList[i].PassengerName + "机票" + pasList[i].TicketNumber + (type == "1" ? "解挂" : "挂起") + "失败原因:票号不能为空"); } } if (sbLog.ToString().Length > 0) { ErrMsg = sbLog.ToString(); } } } catch (Exception ex) { ErrMsg = ErrMsg + ex.Message; } }
/// <summary> /// 1PNR内容导入 0PNR导入 2pnr入库记账 /// </summary> /// <param name="type"></param> public void Import(int type) { bool IsResponse = false; try { string strKongZhiXiTong = "", strGongYingKongZhiFenXiao = ""; PbProject.Model.ConfigParam configParam = null; PbProject.Model.User_Company msupCompany = null; PbProject.Model.User_Company mcompany = null; PbProject.Model.User_Employees muser = null; string strGY = Hid_GY.Value; string strKH = Hid_KH.Value; if (mCompany.RoleType == 1) { //平台 if (!string.IsNullOrEmpty(strGY)) { //UninCode-LoginName-UninAllName-uid-cid string[] strArr = strGY.Split('@'); msupCompany = this.baseDataManage.CallMethod("User_Company", "GetById", null, new object[] { strArr[4] }) as User_Company; if (msupCompany != null) { List <Bd_Base_Parameters> GYParameters = baseDataManage.CallMethod("Bd_Base_Parameters", "GetList", null, new Object[] { "CpyNo='" + msupCompany.UninCode + "'" }) as List <Bd_Base_Parameters>; if (GYParameters != null) { strKongZhiXiTong = BaseParams.getParams(GYParameters).KongZhiXiTong; strGongYingKongZhiFenXiao = BaseParams.getParams(GYParameters).GongYingKongZhiFenXiao; configParam = Bd_Base_ParametersBLL.GetConfigParam(GYParameters); } } } } else { //供应 strKongZhiXiTong = BaseParams.getParams(supBaseParametersList).KongZhiXiTong; strGongYingKongZhiFenXiao = BaseParams.getParams(baseParametersList).GongYingKongZhiFenXiao; configParam = this.configparam; msupCompany = this.mSupCompany; } //选择客户 if (!string.IsNullOrEmpty(strKH)) { //UninCode-LoginName-UninAllName-uid-cid string[] strArr = strKH.Split('@'); if (strArr.Length == 5) { muser = this.baseDataManage.CallMethod("User_Employees", "GetById", null, new object[] { strArr[3] }) as User_Employees; List <User_Company> uCompanyList = baseDataManage.CallMethod("User_Company", "GetList", null, new Object[] { "UninCode='" + muser.CpyNo + "'" }) as List <User_Company>; if (uCompanyList != null && uCompanyList.Count > 0) { mcompany = uCompanyList[0]; } } } PnrImportParam Param = new PnrImportParam(); Param.m_UserInfo = muser; Param.m_CurCompany = mcompany; Param.m_SupCompany = msupCompany; Param.m_LoginUser = mUser; Param.m_LoginCompany = mCompany; PnrImportManage Mange = new PnrImportManage(muser, mcompany, msupCompany, strKongZhiXiTong, strGongYingKongZhiFenXiao, configParam); //是否生成订单 否 Param.IsCreateOrder = false; Param.Source = 1;//后台 Param.RoleType = mCompany.RoleType.ToString(); Param.OrderId = Hid_OrderId.Value; if (type == 0 || type == 2) { //是否PNR入库记账 Param.IsImportJZ = type == 2 ? 1 : 0; //Pnr导入 或者PNR入库记账 Param.Pnr = (type == 2) ? txtH_PNR3.Value.Trim() : txtH_PNR.Value.Trim(); if (Hid_IsBigCode.Value == "1") { Param.ImportTongDao = 3; Param.BigPnr = txtH_PNR.Value.Trim(); } } else if (type == 1) { //Pnr内容导入 Param.ImportTongDao = 4; //关闭PNR导入合并 if (KongZhiXiTong != null && KongZhiXiTong.Contains("|59|")) { Param.IsMerge = 0;//未合并 Param.RTData = pnrCon.Value.Trim().Replace("'", ""); Param.PATData = patCon.Value.Trim().Replace("'", ""); } else { Param.IsMerge = 1;//合并 Param.RTAndPatData = txtPNRAndPata.Text.Trim().Replace("'", ""); } } bool IsSuc = Mange.GetImportPnrInfo(Param); if (!IsSuc) { #region 出错提示 Hid_OrderId.Value = ""; Param.SecondPM.ErrCode = "0"; if (Param.IsNextOK == 1) { //继续操作 Param.SecondPM.OpType = "1"; } else { Param.SecondPM.Msg = Param.TipMsg; //提示 Param.SecondPM.OpType = "0"; } string result = JsonHelper.ObjToJson <PnrImportParam>(Param); ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(), "showMsg('" + escape(Param.SecondPM.Msg) + "',{t:2,type:" + type + ",code:\"" + escape(result) + "\"});ShowDiv(false);", true); #endregion } else { //页面间传递数据对象 ////成功显示数据 //ViewState["Param"] = Param; //将数据传入到指定页面处理 this.PageObj = Param; //方案一 //Server.Transfer("HandPnrImport.aspx", true); //Response.Redirect("HandPnrImport.aspx", false); //方案二 System.IO.StringWriter sw = new System.IO.StringWriter(); Server.Execute("HandPnrImport.aspx?currentuserid=" + this.currentuserid.Value, sw); IsResponse = true; Response.Clear(); Response.Write(sw.ToString()); Response.End(); } } catch (Exception ex) { if (!IsResponse) { ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(), "showMsg('页面异常!');ShowDiv(false);", true); } } }