/// <summary> /// 根据团队编号获取大交通列表 /// </summary> /// <param name="TourId">团队编号</param> /// <param name="CompanyId">公司ID</param> /// <param name="isAll">是否显示所有计调项目(注意:在报帐的页面根据,系统配置是否显示全部[true],否则只显示导游现付[false])</param> /// <param name="LargeType">类型[飞机,火车,汽车]</param> /// <returns>true:成功,false:失败</returns> public IList <EyouSoft.Model.PlanStructure.MPlanLarge> GetLargeList(string TourId, string CompanyId, bool isAll, EyouSoft.Model.EnumType.PlanStructure.PlanLargeType LargeType) { return(dal.GetLargeList(TourId, CompanyId, isAll, LargeType)); }
/// <summary> /// 根据团队编号获取大交通列表 /// </summary> /// <param name="TourId">团队编号</param> /// <param name="CompanyId">公司ID</param> /// <param name="isAll">是否显示所有计调项目(注意:在报帐的页面根据,系统配置是否显示全部[true],否则只显示导游现付[false])</param> /// <param name="LargeType">类型[飞机,火车,汽车]</param> /// <returns>true:成功,false:失败</returns> public IList <EyouSoft.Model.PlanStructure.MPlanLarge> GetLargeList(string TourId, string CompanyId, bool isAll, EyouSoft.Model.EnumType.PlanStructure.PlanLargeType LargeType) { StringBuilder strSql = new StringBuilder(); strSql.Append(" select a.PlanId,TourId,SourceId,SourceName,PlanCost,PaymentType,Status,SalePlus,SaleCut,GuidePlus,GuideCut,PlanerPlus,PlanerCut,TotalCosts,TripType,IsInsurance,UnitPrice,Quantity,TicketTime,"); strSql.Append(" (select Standard,Price,Fee,Quantity,FreeVotes from tbl_PlanLargePrice as row where PlanId=a.PlanId for xml path,root('root')) as LargePriceXML,"); strSql.Append(" (select DepartureTime,Numbers,Departure, Destination from tbl_PlanLargeTime as row where PlanId=a.PlanId for xml path,root('root'))as LargeTimeXML,"); strSql.Append(" (select SeatType,AdultsType,Number,Price,ParValue from tbl_PlanLargeType as row where PlanId=a.PlanId for xml path,root('root'))as LargeTypeXML "); strSql.Append(" from tbl_Plan as a,tbl_PlanLarge as b"); strSql.Append(" where a.PlanId=b.PlanId and [type]=9 and TourId=@TourId and CompanyId=@CompanyId and TripType=@LargeType"); if (!isAll) { strSql.Append(" and PaymentType=3 "); } DbCommand cmd = db.GetSqlStringCommand(strSql.ToString()); db.AddInParameter(cmd, "TourId", DbType.String, TourId); db.AddInParameter(cmd, "CompanyId", DbType.String, CompanyId); db.AddInParameter(cmd, "LargeType", DbType.AnsiStringFixedLength, (int)LargeType); IList <EyouSoft.Model.PlanStructure.MPlanLarge> list = new List <EyouSoft.Model.PlanStructure.MPlanLarge>(); EyouSoft.Model.PlanStructure.MPlanLarge model = null; using (IDataReader reader = DbHelper.ExecuteReader(cmd, db)) { while (reader.Read()) { model = new EyouSoft.Model.PlanStructure.MPlanLarge() { PlanId = reader["PlanId"].ToString(), TourId = reader.IsDBNull(reader.GetOrdinal("TourId")) ? string.Empty : reader["TourId"].ToString(), SourceId = reader.IsDBNull(reader.GetOrdinal("SourceId")) ? string.Empty : reader["SourceId"].ToString(), SourceName = reader.IsDBNull(reader.GetOrdinal("SourceName")) ? string.Empty : reader["SourceName"].ToString(), PlanCost = reader.GetDecimal(reader.GetOrdinal("PlanCost")), PaymentType = (EyouSoft.Model.EnumType.PlanStructure.Payment)reader.GetByte(reader.GetOrdinal("PaymentType")), Status = (EyouSoft.Model.EnumType.PlanStructure.PlanState)reader.GetByte(reader.GetOrdinal("Status")), SalePlus = reader.GetDecimal(reader.GetOrdinal("SalePlus")), SaleCut = reader.GetDecimal(reader.GetOrdinal("SaleCut")), GuidePlus = reader.GetDecimal(reader.GetOrdinal("GuidePlus")), GuideCut = reader.GetDecimal(reader.GetOrdinal("GuideCut")), PlanerPlus = reader.GetDecimal(reader.GetOrdinal("PlanerPlus")), PlanerCut = reader.GetDecimal(reader.GetOrdinal("PlanerCut")), TotalCosts = reader.GetDecimal(reader.GetOrdinal("TotalCosts")), IsInsurance = reader["IsInsurance"].ToString() == "1" ? true : false, Quantity = (int)reader["Quantity"], TicketTime = reader.GetDateTime(reader.GetOrdinal("TicketTime")), TripType = (EyouSoft.Model.EnumType.PlanStructure.PlanLargeType)reader.GetByte(reader.GetOrdinal("TripType")), UnitPrice = reader.GetDecimal(reader.GetOrdinal("UnitPrice")), PlanLargePriceList = GetLargePriceList(reader.IsDBNull(reader.GetOrdinal("LargePriceXML")) ? string.Empty : reader["LargePriceXML"].ToString()), PlanLargeTimeList = GetLargeTimeList(reader.IsDBNull(reader.GetOrdinal("LargeTimeXML")) ? string.Empty : reader["LargeTimeXML"].ToString()), PlanLargeTypeList = GetLargeTypeList(reader.IsDBNull(reader.GetOrdinal("LargeTypeXML")) ? string.Empty : reader["LargeTypeXML"].ToString()) }; list.Add(model); model = null; } reader.Close(); } return(list); }