Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <summary>
        /// 添加or更新
        /// </summary>
        /// <param name="model">大交通实体</param>
        /// <param name="isAdd">添加or更新</param>
        /// <param name="ProcName">执行存储过程名</param>
        /// <param name="type">1,飞机 2,火车 3,汽车</param>
        /// <returns></returns>
        private bool AircraftAddOrUpdate(EyouSoft.Model.PlanStructure.MPlanLarge model, bool isAdd, string ProcName, int type)
        {
            bool IsResult = false;

            if (model != null)
            {
                DbCommand cmd = db.GetStoredProcCommand(ProcName);
                if (isAdd)
                {
                    db.AddInParameter(cmd, "PlanId", DbType.String, model.PlanId);
                    db.AddInParameter(cmd, "CompanyId", DbType.String, model.CompanyId);
                    db.AddInParameter(cmd, "TourId", DbType.String, model.TourId);
                    db.AddInParameter(cmd, "AddStatus", DbType.AnsiStringFixedLength, (int)model.AddStatus);
                }
                else
                {
                    db.AddInParameter(cmd, "PlanId", DbType.String, model.PlanId);
                }
                db.AddInParameter(cmd, "SourceId", DbType.String, model.SourceId);
                db.AddInParameter(cmd, "SourceName", DbType.String, model.SourceName);
                db.AddInParameter(cmd, "PlanCost", DbType.Decimal, model.PlanCost);
                db.AddInParameter(cmd, "PaymentType", DbType.AnsiStringFixedLength, (int)model.PaymentType);
                db.AddInParameter(cmd, "Status", DbType.AnsiStringFixedLength, (int)model.Status);
                db.AddInParameter(cmd, "GuideNotes", DbType.String, model.GuideNotes);
                db.AddInParameter(cmd, "Remarks", DbType.String, model.Remarks);
                db.AddInParameter(cmd, "OperatorId", DbType.String, model.OperatorID);
                db.AddInParameter(cmd, "OperatorName", DbType.String, model.OperatorName);
                db.AddInParameter(cmd, "TotalCosts", DbType.Decimal, model.TotalCosts);
                switch (type)
                {
                case 1:    //飞机
                    db.AddInParameter(cmd, "IsInsurance", DbType.String, model.IsInsurance == true ? 1 : 0);
                    db.AddInParameter(cmd, "LargeTime", DbType.String, GetLargeTimeXml(model.PlanLargeTimeList));
                    db.AddInParameter(cmd, "LargeType", DbType.String, GetLargeTypeXml(model.PlanLargeTypeList));
                    break;

                case 2:    //火车
                    db.AddInParameter(cmd, "LargeTime", DbType.String, GetLargeTimeXml(model.PlanLargeTimeList));
                    db.AddInParameter(cmd, "LargePrice", DbType.String, GetLargePriceXml(model.PlanLargePriceList));
                    break;

                case 3:    //汽车
                    db.AddInParameter(cmd, "UnitPrice", DbType.Decimal, model.UnitPrice);
                    db.AddInParameter(cmd, "Quantity", DbType.Int32, model.Quantity);
                    db.AddInParameter(cmd, "LargeTime", DbType.String, GetLargeTimeXml(model.PlanLargeTimeList));
                    break;
                }
                db.AddOutParameter(cmd, "IsResult", DbType.Int32, 4);
                DbHelper.RunProcedure(cmd, db);
                IsResult = Convert.ToInt32(db.GetParameterValue(cmd, "IsResult")) == 1 ? true : false;
            }
            return(IsResult);
        }
Пример #3
0
 /// <summary>
 /// 修改大交通信息
 /// </summary>
 /// <param name="model">信息实体</param>
 /// <returns>true:成功,false:失败</returns>
 public bool UpdateLarge(EyouSoft.Model.PlanStructure.MPlanLarge model)
 {
     if (model != null)
     {
         if (string.IsNullOrEmpty(model.TourId))
         {
             return(false);
         }
         if (dal.UpdateLarge(model))
         {
             new EyouSoft.BLL.PlanStructure.BPlan().UpdatePlanStatus(EyouSoft.Security.Membership.UserProvider.GetUserInfo().CompanyId, model.TourId, EyouSoft.Model.EnumType.PlanStructure.PlanProject.大交通);
             StringBuilder strLog = new StringBuilder();
             strLog.AppendFormat("修改大交通安排,大交通名称:{0},支出金额:{1},计调编号:{2}", model.SourceName, model.PlanCost, model.PlanId);
             BSysLogHandle.Insert(strLog.ToString());
             return(true);
         }
     }
     return(false);
 }
Пример #4
0
 /// <summary>
 /// 添加大交通信息
 /// </summary>
 /// <param name="model">信息实体</param>
 /// <returns>true:成功,false:失败</returns>
 public bool AddLarge(EyouSoft.Model.PlanStructure.MPlanLarge model)
 {
     if (model != null)
     {
         if (string.IsNullOrEmpty(model.TourId))
         {
             return(false);
         }
         model.PlanId = System.Guid.NewGuid().ToString();
         if (dal.AddLarge(model))
         {
             new EyouSoft.BLL.PlanStructure.BPlan().UpdatePlanStatus(model.CompanyId, model.TourId, EyouSoft.Model.EnumType.PlanStructure.PlanProject.大交通);
             StringBuilder strLog = new StringBuilder();
             strLog.AppendFormat("新增大交通安排,大交通名称:{0},支出金额:{1},计调编号:{2}", model.SourceName, model.PlanCost, model.PlanId);
             BSysLogHandle.Insert(strLog.ToString());
             return(true);
         }
     }
     return(false);
 }
Пример #5
0
        /// <summary>
        /// 修改大交通信息
        /// </summary>
        /// <param name="model">信息实体</param>
        /// <returns>true:成功,false:失败</returns>
        public bool UpdateLarge(EyouSoft.Model.PlanStructure.MPlanLarge model)
        {
            bool isOk = false;

            if (model != null)
            {
                if ((int)model.TripType == (int)EyouSoft.Model.EnumType.PlanStructure.PlanLargeType.飞机)
                {
                    isOk = AircraftAddOrUpdate(model, false, "proc_PlanLarge_AircraftUpdate", 1);
                }
                if ((int)model.TripType == (int)EyouSoft.Model.EnumType.PlanStructure.PlanLargeType.火车)
                {
                    isOk = AircraftAddOrUpdate(model, false, "proc_PlanLarge_TrainUpdate", 2);
                }
                if ((int)model.TripType == (int)EyouSoft.Model.EnumType.PlanStructure.PlanLargeType.汽车)
                {
                    isOk = AircraftAddOrUpdate(model, false, "proc_PlanLarge_CarUpdate", 3);
                }
            }
            return(isOk);
        }
Пример #6
0
        /// <summary>
        /// 根据计调ID获取大交通实体
        /// </summary>
        /// <param name="PlanID">计调ID</param>
        /// <returns>返回大交通实体</returns>
        public EyouSoft.Model.PlanStructure.MPlanLarge GetLargeModel(string PlanID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append(" select a." + strPlan + ",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 a.PlanId=@PlanId ");
            EyouSoft.Model.PlanStructure.MPlanLarge model = null;
            DbCommand cmd = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(cmd, "PlanID", DbType.String, PlanID);
            using (IDataReader reader = DbHelper.ExecuteReader(cmd, db))
            {
                while (reader.Read())
                {
                    model = new EyouSoft.Model.PlanStructure.MPlanLarge()
                    {
                        CompanyId          = reader["CompanyId"].ToString(),
                        Confirmation       = reader.GetDecimal(reader.GetOrdinal("Confirmation")),
                        CostId             = reader.IsDBNull(reader.GetOrdinal("CostId")) ? string.Empty : reader["CostId"].ToString(),
                        CostRemarks        = reader.IsDBNull(reader.GetOrdinal("CostRemarks")) ? string.Empty : reader["CostRemarks"].ToString(),
                        CostTime           = reader.IsDBNull(reader.GetOrdinal("CostTime")) ? DateTime.MinValue : reader.GetDateTime(reader.GetOrdinal("CostTime")),
                        FinRemark          = reader.IsDBNull(reader.GetOrdinal("FinRemark")) ? string.Empty : reader["FinRemark"].ToString(),
                        GuideCut           = reader.GetDecimal(reader.GetOrdinal("GuideCut")),
                        GuideNotes         = reader.IsDBNull(reader.GetOrdinal("GuideNotes")) ? string.Empty : reader["GuideNotes"].ToString(),
                        GuidePlus          = reader.GetDecimal(reader.GetOrdinal("GuidePlus")),
                        IsOut              = reader["IsOut"].ToString() == "1" ? true : false,
                        IsRebate           = reader["IsRebate"].ToString() == "1" ? true : false,
                        OperatorID         = reader.IsDBNull(reader.GetOrdinal("OperatorID")) ? string.Empty : reader["OperatorID"].ToString(),
                        OperatorName       = reader.IsDBNull(reader.GetOrdinal("OperatorName")) ? string.Empty : reader["OperatorName"].ToString(),
                        PaymentType        = (EyouSoft.Model.EnumType.PlanStructure.Payment)reader.GetByte(reader.GetOrdinal("PaymentType")),
                        PlanCost           = reader.GetDecimal(reader.GetOrdinal("PlanCost")),
                        PlanerCut          = reader.GetDecimal(reader.GetOrdinal("PlanerCut")),
                        PlanerPlus         = reader.GetDecimal(reader.GetOrdinal("PlanerPlus")),
                        PlanId             = reader["PlanId"].ToString(),
                        Prepaid            = reader.GetDecimal(reader.GetOrdinal("Prepaid")),
                        Remarks            = reader.IsDBNull(reader.GetOrdinal("Remarks")) ? string.Empty : reader["Remarks"].ToString(),
                        SaleCut            = reader.GetDecimal(reader.GetOrdinal("SaleCut")),
                        SalePlus           = reader.GetDecimal(reader.GetOrdinal("SalePlus")),
                        SourceId           = reader.IsDBNull(reader.GetOrdinal("SourceId")) ? string.Empty : reader["SourceId"].ToString(),
                        SourceName         = reader.IsDBNull(reader.GetOrdinal("SourceName")) ? string.Empty : reader["SourceName"].ToString(),
                        AddStatus          = (EyouSoft.Model.EnumType.PlanStructure.PlanAddStatus)reader.GetByte(reader.GetOrdinal("AddStatus")),
                        Status             = (EyouSoft.Model.EnumType.PlanStructure.PlanState)reader.GetByte(reader.GetOrdinal("Status")),
                        SueId              = reader.IsDBNull(reader.GetOrdinal("SueId")) ? string.Empty : reader["SueId"].ToString(),
                        TotalCosts         = reader.GetDecimal(reader.GetOrdinal("TotalCosts")),
                        TourId             = reader.IsDBNull(reader.GetOrdinal("TourId")) ? string.Empty : reader["TourId"].ToString(),
                        Type               = (EyouSoft.Model.EnumType.PlanStructure.PlanProject)reader.GetByte(reader.GetOrdinal("Type")),
                        IssueTime          = reader.GetDateTime(reader.GetOrdinal("IssueTime")),
                        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())
                    };
                }
                reader.Close();
            }
            return(model);
        }