Пример #1
0
        /// <summary>
        /// 根据订单游客的xml获取订单信息、订单游客信息(单项业务订单信息、游客信息)
        /// </summary>
        /// <param name="xml"></param>
        /// <param name="single"></param>
        /// <returns></returns>
        private IList <MTourOrderTraveller> GetOrderAndTravellerByXml(string xml, ref MSingleService single)
        {
            IList <MTourOrderTraveller> list = null;

            xml = xml.Replace("&lt;", "<").Replace("&gt;", ">");

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);
            XmlNode root = doc.SelectSingleNode("Root");

            if (root.HasChildNodes)
            {
                list = new List <MTourOrderTraveller>();
                for (int i = 0; i < root.ChildNodes.Count; i++)
                {
                    XmlNode node = root.ChildNodes[i];
                    single.OrderId   = node["OrderId"].InnerText;
                    single.OrderCode = node["OrderCode"] != null ? node["OrderCode"].InnerText : string.Empty;

                    single.BuyCompanyName  = node["BuyCompanyName"] != null ? node["BuyCompanyName"].InnerText : string.Empty;
                    single.BuyCompanyId    = node["BuyCompanyId"].InnerText;
                    single.ContactName     = node["ContactName"] != null ? node["ContactName"].InnerText : string.Empty;
                    single.ContactTel      = node["ContactTel"] != null ? node["ContactTel"].InnerText : string.Empty;
                    single.ContactDepartId = node["ContactDepartId"] != null ? node["ContactDepartId"].InnerText : string.Empty;
                    single.Adults          = node["Adults"] != null?Utils.GetInt(node["Adults"].InnerText) : 0;

                    single.TravellerFile = node["TravellerFile"] != null ? node["TravellerFile"].InnerText : string.Empty;
                    if (node["TourOrderTraveller"] != null)
                    {
                        if (node["TourOrderTraveller"].HasChildNodes)
                        {
                            for (int j = 0; j < node["TourOrderTraveller"].ChildNodes.Count; j++)
                            {
                                XmlNode             child     = node["TourOrderTraveller"].ChildNodes[j];
                                MTourOrderTraveller traveller = new MTourOrderTraveller();
                                traveller.TravellerId = child["TravellerId"].InnerText;
                                traveller.OrderId     = child["OrderId"].InnerText;
                                traveller.CnName      = child["CnName"] != null ? child["CnName"].InnerText : string.Empty;
                                traveller.VisitorType = child["VisitorType"] != null ? (VisitorType?)Utils.GetInt(child["VisitorType"].InnerText) : null;
                                traveller.CardType    = child["CardType"] != null ? (CardType?)Utils.GetInt(child["CardType"].InnerText) : null;
                                traveller.CardNumber  = child["CardNumber"] != null ? child["CardNumber"].InnerText : string.Empty;
                                traveller.Gender      = child["Gender"] != null ? (Gender?)Utils.GetInt(child["Gender"].InnerText) : null;
                                traveller.Contact     = child["Contact"] != null ? child["Contact"].InnerText : string.Empty;
                                traveller.Remark      = child["Remark"] != null ? child["Remark"].InnerText : string.Empty;
                                list.Add(traveller);
                            }
                        }
                    }

                    single.HeTongId   = node["ContractId"] != null ? node["ContractId"].InnerText : string.Empty;
                    single.HeTongCode = node["ContractCode"] != null ? node["ContractCode"].InnerText : string.Empty;
                }
            }
            return(list);
        }
Пример #2
0
        /// <summary>
        /// 查询获取单项业务的列表
        /// </summary>
        /// <param name="search">查询的实体类</param>
        /// <param name="pagesize">每页显示的条数</param>
        /// <param name="pageindex">当前页</param>
        /// <param name="recordCount">总记录数</param>
        /// <param name="loginId">当前登录人编号</param>
        /// <param name="deptIds">部门编号</param>
        /// <param name="isOnlySeft">是否查看全部</param>
        /// <returns></returns>
        public IList <MSingleService> GetSingleServiceList(MSeachSingleService search, int pagesize, int pageindex, ref int recordCount, string loginId, int[] deptIds, bool isOnlySeft)
        {
            IList <EyouSoft.Model.TourStructure.MSingleService> list = null;

            string fields = "TourId,TourStatus,OperatorId,OrderId,OrderCode,CompanyId,BuyCompanyName,SellerName,DeptId,ContactName,ContactTel,Adults,Operator,IssueTime,PlanProject,TourPlaner,TourType,IsDelete,LDate,CancelReson,HeTongId,HeTongCode";

            StringBuilder query = new StringBuilder();

            //TourType=6(单项业务)
            query.AppendFormat("TourType='{0}' and IsDelete='{1}' ", (int)TourType.单项服务, 0);
            //团队状态搜索条件未添加
            query.AppendFormat(" AND TourStatus IN(0,3,9,10,11,12) ");

            if (!string.IsNullOrEmpty(search.CompanyId))
            {
                query.AppendFormat(" and CompanyId='{0}' ", search.CompanyId);
            }


            if (!string.IsNullOrEmpty(search.OrderCode))
            {
                query.AppendFormat(" and OrderCode like '%{0}%' ", search.OrderCode);
            }

            if (search.BeginLDate.HasValue)
            {
                query.AppendFormat(" and IssueTime>'{0}' ", search.BeginLDate.Value.AddDays(-1));
            }

            if (search.EndLDate.HasValue)
            {
                query.AppendFormat(" and  IssueTime<'{0}' ", search.EndLDate.Value.AddDays(1));
            }

            if (!string.IsNullOrEmpty(search.BuyCompanyName))
            {
                query.AppendFormat(" and BuyCompanyName like  '%{0}%' ", search.BuyCompanyName);
            }

            if (!string.IsNullOrEmpty(search.BuyCompanyId))
            {
                query.AppendFormat(" and BuyCompanyId='{0}' ", search.BuyCompanyId);
            }

            if (!string.IsNullOrEmpty(search.Operator))
            {
                query.AppendFormat(" and Operator='{0}' ", search.Operator);
            }

            if (!string.IsNullOrEmpty(search.OperatorId))
            {
                query.AppendFormat(" and OperatorId='{0}' ", search.OperatorId);
            }

            if (search.TourStatus.HasValue)
            {
                query.AppendFormat(" and TourStatus='{0}' ", (int)search.TourStatus.Value);
            }


            if (isOnlySeft)
            {
                query.AppendFormat(" and SellerId='{0}' ", loginId);
            }
            else
            {
                if (deptIds != null)
                {
                    query.AppendFormat(" and DeptId in ({0})", GetIdsByArr(deptIds));
                }
            }

            if (search.SWeiTuoRiQi.HasValue)
            {
                query.AppendFormat(" and LDate>'{0}' ", search.SWeiTuoRiQi.Value.AddDays(-1));
            }
            if (search.EWeiTuoRiQi.HasValue)
            {
                query.AppendFormat(" and LDate<'{0}' ", search.EWeiTuoRiQi.Value.AddDays(1));
            }
            if (!string.IsNullOrEmpty(search.XiaoShouYuanId))
            {
                query.AppendFormat(" and SellerId='{0}' ", search.XiaoShouYuanId);
            }
            else if (!string.IsNullOrEmpty(search.XiaoShouYuanName))
            {
                query.AppendFormat(" and SellerName LIKE '%{0}%' ", search.XiaoShouYuanName);
            }

            if (!string.IsNullOrEmpty(search.JiDiaoYuanId))
            {
                query.AppendFormat(" AND EXISTS(SELECT 1 FROM tbl_TourPlaner AS A WHERE A.TourId=view_SingleService.TourId AND A.PlanerId='{0}') ", search.JiDiaoYuanId);
            }
            else if (!string.IsNullOrEmpty(search.JiDiaoYunaName))
            {
                query.AppendFormat(" AND EXISTS(SELECT 1 FROM tbl_TourPlaner AS A WHERE A.TourId=view_SingleService.TourId AND A.Planer LIKE '%{0}%') ", search.JiDiaoYunaName);
            }


            using (IDataReader dr = DbHelper.ExecuteReader(_db
                                                           , pagesize
                                                           , pageindex
                                                           , ref recordCount
                                                           , "view_SingleService"
                                                           , "TourId"
                                                           , fields.ToString()
                                                           , query.ToString()
                                                           , "IssueTime desc"))
            {
                if (dr != null)
                {
                    list = new List <MSingleService>();
                    while (dr.Read())
                    {
                        MSingleService service = new MSingleService();

                        service.TourId         = dr.GetString(dr.GetOrdinal("TourId"));
                        service.TourStatus     = (TourStatus)dr.GetByte(dr.GetOrdinal("TourStatus"));
                        service.OperatorId     = dr.GetString(dr.GetOrdinal("OperatorId"));
                        service.OrderId        = dr.GetString(dr.GetOrdinal("OrderId"));
                        service.OrderCode      = !dr.IsDBNull(dr.GetOrdinal("OrderCode")) ? dr.GetString(dr.GetOrdinal("OrderCode")) : string.Empty;
                        service.CompanyId      = dr.GetString(dr.GetOrdinal("CompanyId"));
                        service.BuyCompanyName = dr.IsDBNull(dr.GetOrdinal("BuyCompanyName")) == false ? dr["BuyCompanyName"].ToString() : string.Empty;
                        service.ContactName    = dr.IsDBNull(dr.GetOrdinal("ContactName")) == false ? dr["ContactName"].ToString() : string.Empty;
                        service.ContactTel     = dr.IsDBNull(dr.GetOrdinal("ContactTel")) == false ? dr["ContactTel"].ToString() : string.Empty;
                        service.Adults         = dr.GetInt32(dr.GetOrdinal("Adults"));
                        service.Operator       = dr.IsDBNull(dr.GetOrdinal("Operator")) == false ? dr["Operator"].ToString() : string.Empty;
                        service.SellerName     = !dr.IsDBNull(dr.GetOrdinal("SellerName")) ? dr.GetString(dr.GetOrdinal("SellerName")) : string.Empty;

                        //计调项
                        string plan = dr.IsDBNull(dr.GetOrdinal("PlanProject")) == false?dr.GetString(dr.GetOrdinal("PlanProject")) : string.Empty;

                        if (!string.IsNullOrEmpty(plan))
                        {
                            service.PlanProjectType = GetPlanProjectByXML(plan);
                        }
                        string planers = dr.IsDBNull(dr.GetOrdinal("TourPlaner")) == false?dr.GetString(dr.GetOrdinal("TourPlaner")) : string.Empty;

                        //计调员
                        if (!string.IsNullOrEmpty(planers))
                        {
                            service.Planers = GetPlanerByXML(planers);
                        }

                        service.WeiTuoRiQi    = dr.GetDateTime(dr.GetOrdinal("LDate"));
                        service.QuXiaoYuanYin = dr["CancelReson"].ToString();
                        service.HeTongId      = dr["HeTongId"].ToString();
                        service.HeTongCode    = dr["HeTongCode"].ToString();

                        list.Add(service);
                    }
                }
            }

            return(list);
        }
Пример #3
0
        /// <summary>
        /// 根据计划编号获取单项业务的拓展实体
        /// </summary>
        /// <param name="tourId"></param>
        /// <returns></returns>
        public MSingleServiceExtend GetSingleServiceExtendByTourId(string tourId)
        {
            MSingleServiceExtend single = null;
            StringBuilder        query  = new StringBuilder();

            query.Append(" select TourId,CompanyId,SellerName,SellerId,DeptId,TourPay,TourCode,");
            query.Append("TourIncome,TourProfit,TourStatus,OperatorId,Operator,TourType,IsDelete,");

            query.Append(" (SELECT TourId,Unit,Quote,ServiceStandard,ServiceType,ServiceName,ServiceId,Remark");
            query.Append(" from ");
            query.Append("tbl_TourTeamPrice");
            query.Append(" where ");
            query.Append(" tbl_TourTeamPrice.TourId=tbl_Tour.TourId ");
            query.Append(" for xml raw,root('Root'))");
            query.Append(" as TourTeamPrice,");

            query.Append("(select OrderId,OrderCode,BuyCompanyName,BuyCompanyId,ContactName,ContactTel,ContactDepartId,Adults,TravellerFile,");

            query.Append("(SELECT TravellerId,OrderId,CnName,EnName,CardId,VisitorType,CardType");
            query.Append(",CardNumber,CardValidDate,VisaStatus,IsCardTransact,Gender,Contact");
            query.Append(",LNotice,RNotice,Remark,Status,RAmount,RAmountRemark,RTime,RRemark,IsInsurance");
            query.Append(" FROM ");
            query.Append(" tbl_TourOrderTraveller ");
            query.Append(" where tbl_TourOrder.OrderId=tbl_TourOrderTraveller.OrderId");
            query.Append(" for xml path,elements)");
            query.Append("as TourOrderTraveller");
            query.Append(" ,ContractId,ContractCode ");

            query.Append(" from ");
            query.Append("tbl_TourOrder");
            query.Append(" where tbl_TourOrder.TourId=tbl_Tour.TourId");
            query.Append(" for xml path,elements,root('Root'))");
            query.Append("as TourOrder,");


            query.Append("(SELECT PlanId,CompanyId,TourId,Type,SourceId,SourceName,ContactName,ContactPhone");
            query.Append(",ContactFax,Num,ReceiveJourney,CostDetail,PlanCost,PaymentType,Status,GuideNotes");
            query.Append(",Remarks,SueId,CostId,CostName,CostStatus,CostTime,Confirmation,CostRemarks,DeptId");
            query.Append(",OperatorId,OperatorName,IssueTime,Prepaid,IsRebate,AddStatus,IsDelete,ServiceStandard");
            query.Append(",CustomerInfo,StartDate,StartTime,EndDate,EndTime");
            query.Append(" FROM ");
            query.Append("tbl_Plan");
            query.Append(" where ");
            query.Append("tbl_Tour.TourId=tbl_Plan.TourId and tbl_Plan.IsDelete=0 ");
            query.Append("for xml raw,root('Root'))");
            query.Append("as TourPlan,");


            query.Append("(SELECT TourId,PlanerId,Planer,DeptId ");
            query.Append(" FROM ");
            query.Append(" tbl_TourPlaner ");
            query.Append(" where ");
            query.Append("tbl_TourPlaner.TourId=tbl_Tour.TourId ");
            query.Append("for xml raw,root('Root') )");
            query.Append("as TourPlaner");
            query.Append(" ,LDate ");
            query.Append(" from tbl_Tour");

            query.Append(" Where ");
            query.AppendFormat(" TourType='{0}' ", 6);
            query.Append(" and ");
            query.AppendFormat(" TourId='{0}' ", tourId);

            DbCommand cmd = _db.GetSqlStringCommand(query.ToString());

            using (IDataReader dr = DbHelper.ExecuteReader(cmd, _db))
            {
                if (dr != null)
                {
                    single = new MSingleServiceExtend();
                    if (dr.Read())
                    {
                        single.TourId     = dr["TourId"].ToString();
                        single.CompanyId  = dr.GetString(dr.GetOrdinal("CompanyId"));
                        single.SellerName = !dr.IsDBNull(dr.GetOrdinal("SellerName")) ? dr.GetString(dr.GetOrdinal("SellerName")) : string.Empty;
                        single.SellerId   = dr.GetString(dr.GetOrdinal("SellerId"));
                        single.DeptId     = dr.GetInt32(dr.GetOrdinal("DeptId"));
                        single.TourPay    = dr.GetDecimal(dr.GetOrdinal("TourPay"));
                        single.TourIncome = dr.GetDecimal(dr.GetOrdinal("TourIncome"));
                        single.TourProfit = dr.GetDecimal(dr.GetOrdinal("TourProfit"));
                        single.TourStatus = (TourStatus)dr.GetByte(dr.GetOrdinal("TourStatus"));
                        single.OperatorId = dr.GetString(dr.GetOrdinal("OperatorId"));
                        single.Operator   = dr.GetString(dr.GetOrdinal("Operator"));
                        single.TourCode   = dr["TourCode"].ToString();

                        string TourOrder = !dr.IsDBNull(dr.GetOrdinal("TourOrder")) ? dr.GetString(dr.GetOrdinal("TourOrder")) : string.Empty;
                        if (!string.IsNullOrEmpty(TourOrder))
                        {
                            single.TourOrderTravellerList = new List <MTourOrderTraveller>();
                            MSingleService order = new MSingleService();
                            single.TourOrderTravellerList = GetOrderAndTravellerByXml(TourOrder, ref order);
                            single.OrderId         = order.OrderId;
                            single.OrderCode       = order.OrderCode;
                            single.BuyCompanyId    = order.BuyCompanyId;
                            single.BuyCompanyName  = order.BuyCompanyName;
                            single.ContactName     = order.ContactName;
                            single.ContactTel      = order.ContactTel;
                            single.ContactDepartId = order.ContactDepartId;
                            single.TravellerFile   = order.TravellerFile;
                            single.Adults          = order.Adults;
                            single.HeTongId        = order.HeTongId;
                            single.HeTongCode      = order.HeTongCode;
                        }

                        //计调员信息
                        string TourPlaner = !dr.IsDBNull(dr.GetOrdinal("TourPlaner")) ? dr.GetString(dr.GetOrdinal("TourPlaner")) : string.Empty;
                        if (!string.IsNullOrEmpty(TourPlaner))
                        {
                            single.TourPlanersList = new List <MTourPlaner>();
                            single.TourPlanersList = GetTourPlanerByXML(TourPlaner);
                        }

                        //客人要求(分项报价)
                        string TourTeamPrice = !dr.IsDBNull(dr.GetOrdinal("TourTeamPrice")) ? dr.GetString(dr.GetOrdinal("TourTeamPrice")) : string.Empty;
                        if (!string.IsNullOrEmpty(TourTeamPrice))
                        {
                            single.TourTeamPriceList = new List <MTourTeamPrice>();
                            single.TourTeamPriceList = GetTourTeamPriceByXML(TourTeamPrice);
                        }
                        //供应商安排(计调中心)
                        string TourPlan = !dr.IsDBNull(dr.GetOrdinal("TourPlan")) ? dr.GetString(dr.GetOrdinal("TourPlan")) : string.Empty;
                        if (!string.IsNullOrEmpty(TourPlan))
                        {
                            single.PlanBaseInfoList = new List <EyouSoft.Model.PlanStructure.MPlanBaseInfo>();
                            single.PlanBaseInfoList = GetPlanBaseInfoByXML(TourPlan);
                        }

                        single.WeiTuoRiQi = dr.GetDateTime(dr.GetOrdinal("LDate"));
                    }
                }
            }

            return(single);
        }