/// <summary> /// 涉外游轮添加或者更新 /// </summary> /// <param name="model">游轮实体</param> /// <param name="isAdd">添加OR更新</param> /// <returns></returns> private bool ShipForeignAddOrUpdate(EyouSoft.Model.PlanStructure.MPlanShip model, bool isAdd) { bool IsResult = false; if (model != null) { DbCommand cmd = null; if (isAdd) { cmd = db.GetStoredProcCommand("proc_PlanShip_ForeignAdd"); 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 { cmd = db.GetStoredProcCommand("proc_PlanShip_ForeignUpdate"); 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, "IsRebate", DbType.String, model.IsRebate == true ? 1 : 0); db.AddInParameter(cmd, "SueId", DbType.String, model.SueId); db.AddInParameter(cmd, "TotalCosts", DbType.Decimal, model.TotalCosts); db.AddInParameter(cmd, "ShipName", DbType.String, model.ShipName); db.AddInParameter(cmd, "ShipCalls", DbType.String, model.ShipCalls); db.AddInParameter(cmd, "LineId", DbType.Int32, model.LineId); db.AddInParameter(cmd, "RoomType", DbType.AnsiStringFixedLength, (int)model.RoomType); db.AddInParameter(cmd, "Floor", DbType.AnsiStringFixedLength, (int)model.Floor); db.AddInParameter(cmd, "Remark", DbType.String, model.Remark); db.AddInParameter(cmd, "IsMeal", DbType.String, model.IsMeal == true ? 1 : 0); db.AddInParameter(cmd, "IsTip", DbType.String, model.IsTip == true ? 1 : 0); db.AddInParameter(cmd, "ShipOwnCostXML", DbType.String, GetShipOwnCostXml(model.PlanShipOwnCostList)); db.AddInParameter(cmd, "ShipCrowdXML", DbType.String, GetShipCrowdXml(model.PlanShipCrowdList)); db.AddOutParameter(cmd, "IsResult", DbType.Int32, 4); DbHelper.RunProcedure(cmd, db); IsResult = Convert.ToInt32(db.GetParameterValue(cmd, "IsResult")) == 1 ? true : false; } return(IsResult); }
/// <summary> /// 修改游轮信息 /// </summary> /// <param name="model">信息实体</param> /// <returns>true:成功,false:失败</returns> public bool UpdateShip(EyouSoft.Model.PlanStructure.MPlanShip model) { bool isOK = false; if (model != null) { if ((int)model.CategoryType == (int)EyouSoft.Model.EnumType.PlanStructure.PlanShipType.涉外游轮) { isOK = ShipForeignAddOrUpdate(model, false); } if ((int)model.CategoryType == (int)EyouSoft.Model.EnumType.PlanStructure.PlanShipType.国内游轮) { isOK = ShipChinaAddOrUpdate(model, false); } } return(isOK); }
/// <summary> /// 根据团队编号获取游轮列表 /// </summary> /// <param name="TourId">团队编号</param> /// <param name="CompanyId">公司ID</param> /// <param name="isAll">是否显示所有计调项目(注意:在报帐的页面根据,系统配置是否显示全部[true],否则只显示导游现付[false])</param> /// <returns>true:成功,false:失败</returns> public IList <EyouSoft.Model.PlanStructure.MPlanShip> GetShipList(string TourId, string CompanyId, bool isAll) { StringBuilder strSql = new StringBuilder(); strSql.Append("select a.PlanId,TourId,SourceId,SourceName,ShipName,PlanCost,PaymentType,Status,SalePlus,SaleCut,GuidePlus,GuideCut,PlanerPlus,PlanerCut,TotalCosts,SueId "); strSql.Append("from tbl_Plan as a,tbl_PlanShip as b where a.planid=b.planid and [type]=4 and TourId=@TourId and CompanyId=@CompanyId"); 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); IList <EyouSoft.Model.PlanStructure.MPlanShip> list = new List <EyouSoft.Model.PlanStructure.MPlanShip>(); EyouSoft.Model.PlanStructure.MPlanShip model = null; using (IDataReader reader = DbHelper.ExecuteReader(cmd, db)) { while (reader.Read()) { model = new EyouSoft.Model.PlanStructure.MPlanShip() { PlanId = reader["PlanId"].ToString(), TourId = 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(), ShipName = reader.IsDBNull(reader.GetOrdinal("ShipName")) ? string.Empty : reader["ShipName"].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")), SueId = reader.IsDBNull(reader.GetOrdinal("SueId")) ? string.Empty : reader["SueId"].ToString(), 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")) }; list.Add(model); model = null; } reader.Close(); } return(list); }
protected string GetshipNum(object obj, string type) { EyouSoft.Model.PlanStructure.MPlanShip mplanship = (EyouSoft.Model.PlanStructure.MPlanShip)obj; if (mplanship != null && mplanship.PlanShipPriceList != null && mplanship.PlanShipPriceList.Count > 0) { if (type == "adult") { return(mplanship.PlanShipPriceList[0].AdultNumber.ToString()); } else { return(mplanship.PlanShipPriceList[0].ChildNumber.ToString()); } } else { return(""); } }
/// <summary> /// 修改游轮信息 /// </summary> /// <param name="model">信息实体</param> /// <returns>true:成功,false:失败</returns> public bool UpdateShip(EyouSoft.Model.PlanStructure.MPlanShip model) { if (model != null) { if (string.IsNullOrEmpty(model.TourId)) { return(false); } if (dal.UpdateShip(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); }
/// <summary> /// 添加游轮信息 /// </summary> /// <param name="model">信息实体</param> /// <returns>true:成功,false:失败</returns> public bool AddShip(EyouSoft.Model.PlanStructure.MPlanShip model) { if (model != null) { if (string.IsNullOrEmpty(model.TourId)) { return(false); } model.PlanId = System.Guid.NewGuid().ToString(); if (dal.AddShip(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); }
/// <summary> /// 根据计调ID获取游轮实体 /// </summary> /// <param name="PlanID">计调ID</param> /// <returns>返回用车实体</returns> public EyouSoft.Model.PlanStructure.MPlanShip GetShipModel(string PlanID) { string strShip = "select a." + strPlan + " , ShipName,ShipCalls,LineId,RoomType,[Floor],Remark,IsMeal,IsTip,AdultPrice,ChildPrice,CategoryType,(select CrowdType,AdultNumber,AdultPrice,ChildNumber,ChildPrice,ChildNoOccupancy,ChildNoOccupancyPrice,BabyNumber,BabyNumberPrice from tbl_PlanShipCrowd as row where a.planid=planid for xml path,root('root'))as ShipCrowdXml ,(select ID,ProjectId,Price,Payment from tbl_PlanShipOwnCost as row where a.planid=planid for xml path,root('root'))as ShipOwnCostXml ,(select PriceType,Grade,AdultNumber,AdultPrice,ChildNumber,ChildPrice from tbl_PlanShipPrice as row where a.planid=planid for xml path,root('root'))as ShipPriceXml from tbl_Plan as a ,tbl_PlanShip as b where [type]=4 and a.planid=b.planid and a.planid=@PlanID"; DbCommand cmd = db.GetSqlStringCommand(strShip); db.AddInParameter(cmd, "PlanID", DbType.String, PlanID); EyouSoft.Model.PlanStructure.MPlanShip model = null; using (IDataReader reader = DbHelper.ExecuteReader(cmd, db)) { while (reader.Read()) { model = new EyouSoft.Model.PlanStructure.MPlanShip() { 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")), CategoryType = (EyouSoft.Model.EnumType.PlanStructure.PlanShipType)reader.GetByte(reader.GetOrdinal("CategoryType")), Floor = (EyouSoft.Model.EnumType.PlanStructure.PlanShipFloor)reader.GetByte(reader.GetOrdinal("Floor")), IsMeal = reader["IsMeal"].ToString() == "1" ? true : false, IsTip = reader["IsTip"].ToString() == "1" ? true : false, LineId = (int)reader["LineId"], PlanShipCrowdList = GetShipCrowdList(reader.IsDBNull(reader.GetOrdinal("ShipCrowdXml")) ? string.Empty : reader["ShipCrowdXml"].ToString()), PlanShipOwnCostList = GetShipOwnCostList(reader.IsDBNull(reader.GetOrdinal("ShipOwnCostXml")) ? string.Empty : reader["ShipOwnCostXml"].ToString()), PlanShipPriceList = GetShipPriceList(reader.IsDBNull(reader.GetOrdinal("ShipPriceXml")) ? string.Empty : reader["ShipPriceXml"].ToString()), Remark = reader.IsDBNull(reader.GetOrdinal("Remark")) ? string.Empty : reader["Remark"].ToString(), RoomType = (EyouSoft.Model.EnumType.PlanStructure.PlanShipRoomType)reader.GetByte(reader.GetOrdinal("RoomType")), ShipCalls = reader.IsDBNull(reader.GetOrdinal("ShipCalls")) ? string.Empty : reader["ShipCalls"].ToString(), ShipName = reader.IsDBNull(reader.GetOrdinal("ShipName")) ? string.Empty : reader["ShipName"].ToString(), }; } reader.Close(); } return(model); }