/// <summary> /// 修改订单状态 /// </summary> /// <param name="orderId"></param> /// <param name="status"></param> /// <returns></returns> private string DoUpdate(string orderId) { string msg = string.Empty; string strStatus = EyouSoft.Common.Utils.GetQueryStringValue("Status"); if (string.IsNullOrEmpty(strStatus)) { msg = EyouSoft.Common.UtilsCommons.AjaxReturnJson("0", "订单修改 失败!"); } else { EyouSoft.BLL.TourStructure.BTourOrder bOrder = new EyouSoft.BLL.TourStructure.BTourOrder(); if (bOrder.UpdateTourOrderExpand(orderId, (EyouSoft.Model.EnumType.TourStructure.OrderStatus) int.Parse(strStatus), null) == 1) { msg = EyouSoft.Common.UtilsCommons.AjaxReturnJson("1", "订单修改 成功!"); } else { msg = EyouSoft.Common.UtilsCommons.AjaxReturnJson("0", "订单修改 失败!"); } } return(msg); }
/// <summary> /// 修改订单状态 /// </summary> /// <param name="orderId"></param> /// <param name="status"></param> /// <returns></returns> private string DoUpdate(string orderId) { string msg = string.Empty; string strStatus = EyouSoft.Common.Utils.GetFormValue("Status"); if (string.IsNullOrEmpty(strStatus)) { msg = EyouSoft.Common.UtilsCommons.AjaxReturnJson("0", "订单修改 失败!"); } else { EyouSoft.Model.EnumType.TourStructure.OrderStatus OrderStatus = (EyouSoft.Model.EnumType.TourStructure.OrderStatus) int.Parse(strStatus); EyouSoft.Model.PlanStructure.MPlanBaseInfo plan = null; if (OrderStatus == EyouSoft.Model.EnumType.TourStructure.OrderStatus.已成交) { plan = new EyouSoft.Model.PlanStructure.MPlanBaseInfo(); plan.CompanyId = SiteUserInfo.CompanyId; plan.TourId = Utils.GetFormValue("TourId"); plan.Type = EyouSoft.Model.EnumType.PlanStructure.PlanProject.地接; plan.SourceId = SiteUserInfo.SourceCompanyInfo.CompanyId; plan.SourceName = SiteUserInfo.SourceCompanyInfo.CompanyName; plan.ContactName = SiteUserInfo.Name; plan.ContactPhone = SiteUserInfo.Telephone; plan.ContactFax = SiteUserInfo.Fax; plan.Num = Utils.GetInt(Utils.GetFormValue("Adults")) + Utils.GetInt(Utils.GetFormValue("Childs")); plan.PlanCost = Utils.GetDecimal(Utils.GetFormValue(this.hfConfirmSettlementMoney.UniqueID)); plan.PaymentType = EyouSoft.Model.EnumType.PlanStructure.Payment.财务支付; plan.Status = EyouSoft.Model.EnumType.PlanStructure.PlanState.已落实; //已确认(存储过程已自动写入计划的审核人信息。) //plan.CostId = SiteUserInfo.UserId; //plan.CostName = SiteUserInfo.Username; plan.CostStatus = true; plan.CostTime = DateTime.Now; plan.Confirmation = Utils.GetDecimal(Utils.GetFormValue("ConfirmSettlementMoney")); plan.StartDate = Utils.GetDateTimeNullable(Utils.GetFormValue("LDate")); plan.EndDate = Utils.GetDateTimeNullable(Utils.GetFormValue("RDate")); //存储过程已自动写入计划的审核人信息。 //plan.DeptId = SiteUserInfo.DeptId; //plan.OperatorId = SiteUserInfo.UserId; //plan.OperatorName = SiteUserInfo.Username; plan.IssueTime = DateTime.Now; plan.AddStatus = EyouSoft.Model.EnumType.PlanStructure.PlanAddStatus.计调安排时添加; } string strSaveSeatDate = EyouSoft.Common.Utils.GetFormValue("SaveSeatDate"); DateTime?SaveSeatDate = !string.IsNullOrEmpty(strSaveSeatDate) ? (DateTime?)Utils.GetDateTime(strSaveSeatDate) : null; EyouSoft.BLL.TourStructure.BTourOrder bOrder = new EyouSoft.BLL.TourStructure.BTourOrder(); if (bOrder.UpdateTourOrderExpand(orderId, OrderStatus, SaveSeatDate, null, plan)) { msg = EyouSoft.Common.UtilsCommons.AjaxReturnJson("1", "订单已修改为 " + OrderStatus + "!"); } else { msg = EyouSoft.Common.UtilsCommons.AjaxReturnJson("0", "订单修改 失败!"); } } return(msg); }
/// <summary> /// 保存按钮点击事件执行方法 /// </summary> protected string PageSave() { string msg = ""; #region 获得参数 string doType = Utils.GetQueryStringValue("doType"); string saveType = Utils.GetQueryStringValue("saveType"); string tourID = Utils.GetQueryStringValue("tourID"); string orderID = Utils.GetQueryStringValue("orderID"); #endregion #region 获得表单 //联系人 string contactName = Utils.GetFormValue(this.txtContact.UniqueID); string contactTel = Utils.GetFormValue(this.txtContactTel.UniqueID); //联系人部门编号 string contactDepartId = Utils.GetFormValue(this.hideContactDeptId.UniqueID); //销售员 string sellsID = Utils.GetFormValue(this.SellsSelect1.SellsIDClient); string sellsName = Utils.GetFormValue(this.SellsSelect1.SellsNameClient); //客户单位 string companyID = Utils.GetFormValue(this.CustomerUnitSelect1.ClientNameKHBH); string companyName = Utils.GetFormValue(this.CustomerUnitSelect1.ClientNameKHMC); #region 团队计划价格组成 //成人单价 decimal adultPrice = Utils.GetDecimal(Utils.GetFormValue(this.hideAdultPrice.UniqueID)); //成人数 int adultCount = Utils.GetInt(Utils.GetFormValue(this.txtAdultCount.UniqueID)); //儿童单价 decimal childPrice = Utils.GetDecimal(Utils.GetFormValue(this.hideChildPrcie.UniqueID)); //儿童数量 int childCount = Utils.GetInt(Utils.GetFormValue(this.txtChildCount.UniqueID)); #endregion //增加费用 decimal addPrice = Utils.GetDecimal(Utils.GetFormValue(this.txtAddPrice.UniqueID)); //增加费用备注 string remarksFrist = Utils.GetFormValue(this.txtRemarksFrist.UniqueID); //减少费用 decimal reducePrice = Utils.GetDecimal(Utils.GetFormValue(this.txtReducePrice.UniqueID)); //减少费用备注 string remarksSecond = Utils.GetFormValue(this.txtRemarksSecond.UniqueID); //导游现收 decimal guidePrice = Utils.GetDecimal(Utils.GetFormValue(this.txtGuidePrice.UniqueID)); //合计金额 decimal totalPrice = Utils.GetDecimal(Utils.GetFormValue(this.txtTotalPrice.UniqueID)); //销售应收 decimal sellPrice = totalPrice - guidePrice; //订单备注 string orderRemarks = Utils.GetFormValue(this.txtRemarksOrder.UniqueID); //合同号 string contractCode = Utils.GetFormValue(txtHeTongHao.HeTongCodeClientID); string contractCodeId = Utils.GetFormValue(txtHeTongHao.HeTongIdClientID); //客源地 国家 int countryID = Utils.GetInt(Utils.GetFormValue("sltCountry")); //客源地 省份 int provinceID = Utils.GetInt(Utils.GetFormValue("sltProvince")); //预留截至时间 DateTime?saveSeatDate = Utils.GetDateTimeNullable(Utils.GetFormValue(this.txtSaveSeatDate.UniqueID)); //团类型 EyouSoft.Model.EnumType.TourStructure.TourType tourType = (EyouSoft.Model.EnumType.TourStructure.TourType)Utils.GetInt(Utils.GetFormValue(this.hideTourType.UniqueID)); //订单来源 EyouSoft.Model.EnumType.TourStructure.OrderType orderType = (EyouSoft.Model.EnumType.TourStructure.OrderType)Utils.GetInt(Utils.GetFormValue(this.hideOrderFrom.UniqueID)); #endregion #region 表单验证 if (contactName == "") { msg = "请输入联系人!<br />"; } if (sellsID == "" || sellsName == "") { msg += "请选择销售员!<br />"; } if (adultPrice <= 0) { msg += "请输入成人单价!<br />"; } if (adultCount <= 0) { msg += "请输入成人数!<br />"; } if (saveType == "1" && saveSeatDate == null) { msg += "请选择预留日期!<br />"; } if (saveType == "1" && saveSeatDate != null) { GetMaxDateTime(); if (saveSeatDate > Utils.GetDateTime(MaxDateTime) || saveSeatDate < DateTime.Now.AddMinutes(5)) { msg += "请选择新的预留日期!<br />"; } } if (msg != "") { return(UtilsCommons.AjaxReturnJson("0", msg)); } #endregion EyouSoft.BLL.TourStructure.BTourOrder orderBll = new EyouSoft.BLL.TourStructure.BTourOrder(); EyouSoft.Model.TourStructure.MTourOrderExpand orderModel = new EyouSoft.Model.TourStructure.MTourOrderExpand(); orderModel.BuyCompanyId = companyID; orderModel.BuyCompanyName = companyName; orderModel.ContactName = contactName; orderModel.ContactTel = contactTel; orderModel.ContactDepartId = contactDepartId; orderModel.SellerId = sellsID; orderModel.SellerName = sellsName; orderModel.OperatorId = SiteUserInfo.UserId; orderModel.Operator = SiteUserInfo.Name; orderModel.Adults = adultCount; orderModel.Childs = childCount; orderModel.PriceStandId = Utils.GetInt(Utils.GetFormValue(this.hidePriceStandID.UniqueID)); orderModel.BuyCountryId = countryID; orderModel.BuyProvincesId = provinceID; orderModel.SettlementMoney = adultPrice * adultCount + childCount * childPrice; #region 销售价 orderModel.LevId = Utils.GetInt(Utils.GetFormValue(this.hideLevelID.UniqueID)); orderModel.AdultPrice = Utils.GetDecimal(Utils.GetFormValue(this.hideAdultPrice.UniqueID)); orderModel.ChildPrice = Utils.GetDecimal(Utils.GetFormValue(this.hideChildPrcie.UniqueID)); #endregion #region 结算价 orderModel.PeerAdultPrice = Utils.GetDecimal(Utils.GetFormValue(this.hideSettAdultPrice.UniqueID)); orderModel.PeerChildPrice = Utils.GetDecimal(Utils.GetFormValue(this.hideSettChildPrice.UniqueID)); orderModel.PeerLevId = Utils.GetInt(Utils.GetFormValue(this.hideSettLevelID.UniqueID)); #endregion orderModel.ContractCode = contractCode; orderModel.ContractId = contractCodeId; orderModel.OrderRemark = orderRemarks; orderModel.SaleAddCost = addPrice; orderModel.SaleAddCostRemark = remarksFrist; orderModel.SaleReduceCost = reducePrice; orderModel.SaleReduceCostRemark = remarksSecond; orderModel.SalerIncome = sellPrice; orderModel.GuideIncome = guidePrice; orderModel.SumPrice = totalPrice; orderModel.CompanyId = SiteUserInfo.CompanyId; orderModel.DeptId = Utils.GetInt(Utils.GetFormValue(this.hideDeptID.UniqueID)); orderModel.TourId = tourID; switch (tourType) { case EyouSoft.Model.EnumType.TourStructure.TourType.出境散拼: case EyouSoft.Model.EnumType.TourStructure.TourType.出境团队: orderModel.MTourOrderTravellerList = UtilsCommons.GetTravelListS(); break; case EyouSoft.Model.EnumType.TourStructure.TourType.组团散拼: case EyouSoft.Model.EnumType.TourStructure.TourType.地接散拼: case EyouSoft.Model.EnumType.TourStructure.TourType.地接团队: case EyouSoft.Model.EnumType.TourStructure.TourType.组团团队: orderModel.MTourOrderTravellerList = UtilsCommons.GetTravelList(); break; } int result = 0; //散拼订单新增 orderModel.TourType = tourType; orderModel.IssueTime = DateTime.Now; orderModel.NeiBuXinXi = Utils.GetFormValue(txtNeiBuXinXi.UniqueID); #region 变更实体 EyouSoft.Model.TourStructure.MTourOrderChange changeModel = new EyouSoft.Model.TourStructure.MTourOrderChange(); changeModel.CompanyId = orderModel.CompanyId; changeModel.TourId = orderModel.TourId; changeModel.ChangePerson = adultCount + childCount; changeModel.ChangePrice = totalPrice; changeModel.CompanyId = SiteUserInfo.CompanyId; if (Utils.GetFormValue(this.hideOldAdultCount.UniqueID).Split('|').Length == 2) { int oldAdultCount = Utils.GetInt(Utils.GetFormValue(this.hideOldAdultCount.UniqueID).Split('|')[0]); int oldChildCount = Utils.GetInt(Utils.GetFormValue(this.hideOldAdultCount.UniqueID).Split('|')[1]); //changeModel.Content = "成人数由" + adultCount + "变" + oldAdultCount; changeModel.Content = "成人数由" + oldAdultCount + "变" + adultCount; //changeModel.Content += " 儿童数由" + childCount + "变" + oldChildCount; changeModel.Content += " 儿童数由" + oldChildCount + "变" + childCount; } changeModel.IssueTime = DateTime.Now; changeModel.IsSure = false; changeModel.Operator = SiteUserInfo.Name; changeModel.OperatorId = SiteUserInfo.UserId; changeModel.OrderId = orderID; changeModel.ChangeType = EyouSoft.Model.EnumType.TourStructure.ChangeType.修改; if (Utils.GetFormValue(this.hideOrderBianGeng.UniqueID) == "true") { changeModel.ChangeType = EyouSoft.Model.EnumType.TourStructure.ChangeType.变更; } #endregion switch (saveType) { //确认预留 case "1": orderModel.OrderStatus = EyouSoft.Model.EnumType.TourStructure.OrderStatus.已留位; orderModel.SaveSeatDate = saveSeatDate; orderModel.TourOrderChange = changeModel; break; //确定成交 case "2": orderModel.OrderStatus = EyouSoft.Model.EnumType.TourStructure.OrderStatus.已成交; orderModel.SaveSeatDate = null; orderModel.TourOrderChange = changeModel; break; case "4": orderModel.OrderStatus = (EyouSoft.Model.EnumType.TourStructure.OrderStatus)Utils.GetInt(Utils.GetFormValue(this.hideOrderState.UniqueID)); orderModel.SaveSeatDate = saveSeatDate; orderModel.TourOrderChange = changeModel; break; //取消订单 case "5": int bllRetCode1 = 0; bllRetCode1 = orderBll.UpdateTourOrderExpand(orderID, EyouSoft.Model.EnumType.TourStructure.OrderStatus.已取消, null); if (bllRetCode1 == 1) { return(UtilsCommons.AjaxReturnJson("1", "操作成功")); } else if (bllRetCode1 == -99) { return(UtilsCommons.AjaxReturnJson("0", "不存在的订单信息")); } else if (bllRetCode1 == -98) { return(UtilsCommons.AjaxReturnJson("0", "已取消的订单不可重复取消订单")); } else if (bllRetCode1 == -97) { return(UtilsCommons.AjaxReturnJson("0", "该计划状态不允许取消订单")); } else if (bllRetCode1 == -96) { return(UtilsCommons.AjaxReturnJson("0", "已确认合同金额不允许取消订单")); } else if (bllRetCode1 == -95) { return(UtilsCommons.AjaxReturnJson("0", "已存在收款信息不允许取消订单")); } else { return(UtilsCommons.AjaxReturnJson("0", "操作失败")); } //不受理 case "6": int bllRetCode2 = 0; bllRetCode2 = orderBll.UpdateTourOrderExpand(orderID, EyouSoft.Model.EnumType.TourStructure.OrderStatus.受理, null); if (bllRetCode2 == 1) { return(UtilsCommons.AjaxReturnJson("1", "操作成功")); } else if (bllRetCode2 == -99) { return(UtilsCommons.AjaxReturnJson("0", "不存在的订单信息")); } else if (bllRetCode2 == -98) { return(UtilsCommons.AjaxReturnJson("0", "已取消的订单不可重复取消订单")); } else if (bllRetCode2 == -97) { return(UtilsCommons.AjaxReturnJson("0", "该计划状态不允许取消订单")); } else if (bllRetCode2 == -96) { return(UtilsCommons.AjaxReturnJson("0", "已确认合同金额不允许取消订单")); } else if (bllRetCode2 == -95) { return(UtilsCommons.AjaxReturnJson("0", "已存在收款信息不允许取消订单")); } else { return(UtilsCommons.AjaxReturnJson("0", "操作失败")); } } #region 新增订单 if (tourID != "" && orderID == "") { orderModel.OrderId = Guid.NewGuid().ToString(); orderModel.OrderType = EyouSoft.Model.EnumType.TourStructure.OrderType.代客预定; result = orderBll.AddTourOrderExpand(orderModel); } #endregion #region 修改订单 if (orderID != "") { //如果计划是供应商 发布的,且不超限 那么订单状态永远是未处理 if (Utils.GetFormValue(this.hideSourceID.UniqueID).Trim() != "") { orderModel.OrderStatus = EyouSoft.Model.EnumType.TourStructure.OrderStatus.未处理; } orderModel.OrderId = orderID; orderModel.OrderType = orderType; result = orderBll.UpdateTourOrderExpand(orderModel); } switch (result) { case 1: msg = UtilsCommons.AjaxReturnJson("0", "报名失败,总人数超过计划剩余人数!"); break; case 2: msg = UtilsCommons.AjaxReturnJson("0", "报名失败,合同号未领用!"); break; case 3: if (saveType == "1") { msg = UtilsCommons.AjaxReturnJson("1", "预留成功,正在跳转.."); } if (saveType == "2") { msg = UtilsCommons.AjaxReturnJson("1", "确认成功!"); } if (saveType == "3") { msg = UtilsCommons.AjaxReturnJson("1", "垫付申请成功!"); } if (saveType == "4") { msg = UtilsCommons.AjaxReturnJson("1", "操作成功!"); } break; case 4: msg = UtilsCommons.AjaxReturnJson("0", "报名失败,未知错误!"); break; case 5: case 9: msg = UtilsCommons.AjaxReturnJson("2", "操作成功! 销售员已超限,请收款或超限申请!", orderModel.OrderId); break; case 6: case 10: msg = UtilsCommons.AjaxReturnJson("2", "操作成功! 客户单位已超限,请收款或超限申请!", orderModel.OrderId); break; case 7: case 11: msg = UtilsCommons.AjaxReturnJson("2", "操作成功! 销售员和客户单位已超限,请收款或超限申请!", orderModel.OrderId); break; } #endregion return(msg); }