/// <summary> /// 添加订单 /// </summary> /// <param name="order">订单、游客、游客保险组合的实体</param> /// <returns> ///1:修改后的订单人数超过计划剩余人数 ///2:合同未领用 ///3:添加成功 ///4:添加失败 ///----------- ///--5:自动客满 ///--6:自动停收 ///--7:手动客满 ///--8:手动停收 ///(5,6,7,8用于分销商订单报名时的计划状态判断) /// ---------- ///王磊: 2012-08-20 /// --9:销售员超限 ///--10:客户超限 ///--11:销售员客户单位均超限 /// </returns> public int AddTourOrderExpand(MTourOrderExpand order) { //计划状态封团不允许添加订单 //收客客满 //计划停收 //订单人数超出了剩余人数 //合同号未领用 //添加失败 //添加失败 //关于订单的金额 //order.SumPrice可手动输入 order.SettlementMoney = order.PeerAdultPrice * order.Adults + order.PeerChildPrice * order.Childs; order.ConfirmSettlementMoney = order.SettlementMoney + order.PeerAddCost - order.PeerReduceCost; order.ConfirmMoney = order.SumPrice + order.SumPriceAddCost - order.SumPriceReduceCost; order.SalerIncome = order.SumPrice - order.GuideIncome; int flg = dal.AddTourOrderExpand(order); if (flg == 3) { //添加操作日志 StringBuilder str = new StringBuilder(); str.AppendFormat("新增订单,订单编号:{0}", order.OrderId); EyouSoft.BLL.SysStructure.BSysLogHandle.Insert(str.ToString()); } if (flg == 3 && order.IsJiFen == 1) { decimal jiFenBiLi = 0; var setting = EyouSoft.Security.Membership.UserProvider.GetComSetting(order.CompanyId); if (setting != null) { jiFenBiLi = (decimal)setting.IntegralProportion / 100M; } if (jiFenBiLi > 0) { var jiFenInfo = new EyouSoft.Model.CrmStructure.MJiFenInfo(); EyouSoft.BLL.CrmStructure.BCrmMember bll = new EyouSoft.BLL.CrmStructure.BCrmMember(); jiFenInfo.CrmId = order.BuyCompanyId; jiFenInfo.IssueTime = System.DateTime.Now; jiFenInfo.JiFen = order.SumPrice * jiFenBiLi; jiFenInfo.JiFenShiJian = System.DateTime.Now; jiFenInfo.OperatorId = order.OperatorId; jiFenInfo.Remark = string.Empty; jiFenInfo.ZengJianLeiBie = EyouSoft.Model.EnumType.CrmStructure.JiFenZengJianLeiBie.增加; jiFenInfo.OrderId = order.OrderId; jiFenInfo.OrderJinE = order.SumPrice; jiFenInfo.JiFenBiLi = jiFenBiLi; new EyouSoft.BLL.CrmStructure.BCrmMember().SetJiFen(jiFenInfo); } } return(flg); }
/// <summary> /// 根据订单编号获取订单、游客、游客保险信息 /// </summary> /// <param name="orderId">订单编号</param> /// <returns>订单、游客集合、保险</returns> public MTourOrderExpand GetTourOrderExpandByOrderId(string orderId) { if (string.IsNullOrEmpty(orderId)) { throw new System.Exception("bll error:查询id为null或string.IsNullOrEmpty(id)==true。"); } MTourOrderExpand order = dal.GetTourOrderExpandByOrderId(orderId); if (order != null) { //销售应收始终等于:合同金额-导游实收(添加时,默认等于导游现收) order.SalerIncome = order.SumPrice - order.GuideRealIncome; } return(order); }
/// <summary> /// 修改、变更订单信息(用于散拼订单) /// </summary> /// <param name="order">订单、游客、游客保险组合的实体</param> /// <param name="list">添加成功后 将其它订单所占当前订单所选车位返回</param> /// <returns> ///1:修改后的订单人数超过计划剩余人数 ///2:合同未领用 ///3:修改成功 ///4:修改失败 ///-------------- ///王磊:2012-08-20 ///--5:销售员超限 ///--6:客户单位超限 ///--7:销售员客户单位均超限 /// ------------- /// </returns> public int UpdateTourOrderExpand(MTourOrderExpand order, ref IList <MTourOrderCarTypeSeat> list) { order.SettlementMoney = order.PeerAdultPrice * order.Adults + order.PeerChildPrice * order.Childs; order.ConfirmSettlementMoney = order.SettlementMoney + order.PeerAddCost - order.PeerReduceCost; order.ConfirmMoney = order.SumPrice + order.SumPriceAddCost - order.SumPriceReduceCost; order.SalerIncome = order.SumPrice - order.GuideIncome; int flg = dal.UpdateTourOrderExpand(order, ref list); if (flg == 3) { StringBuilder str = new StringBuilder(); str.AppendFormat("修改订单,订单编号:{0}", order.OrderId); EyouSoft.BLL.SysStructure.BSysLogHandle.Insert(str.ToString()); } return(flg); }