/// <summary> /// 创建补偿退款单 /// </summary> /// <param name="entity"></param> public virtual void RefundAdjustCreate(RefundAdjustInfo entity) { DataCommand cmd = DataCommandManager.GetDataCommand("Customer_Create_RefundAdjust"); cmd.SetParameterValue <RefundAdjustInfo>(entity); cmd.ExecuteNonQuery(); }
//作废 private void Button_Void_Click(object sender, RoutedEventArgs e) { if (this.DataGrid_ResultList.SelectedItem == null) { Window.Alert(ResRefundAdjust.Msg_SelectData); return; } this.Button_Void.IsEnabled = false; RefundAdjustVM vm = this.DataGrid_ResultList.SelectedItem as RefundAdjustVM; RefundAdjustInfo entity = new RefundAdjustInfo() { SysNo = vm.AdjustSysNo, Action = "Void", Status = vm.Status }; facade.UpdateRefundAdjustStatus(entity, (obj, args) => { if (!args.FaultsHandle()) { Window.Alert(ResRefundAdjust.Info_UpdateSuccess); this.DataGrid_ResultList.Bind(); } this.Button_Void.IsEnabled = true; }); }
//退款 private void Button_Refund_Click(object sender, RoutedEventArgs e) { if (this.DataGrid_ResultList.SelectedItem == null) { Window.Alert(ResRefundAdjust.Msg_SelectData); return; } this.Button_Refund.IsEnabled = false; RefundAdjustVM vm = this.DataGrid_ResultList.SelectedItem as RefundAdjustVM; RefundAdjustInfo entity = new RefundAdjustInfo() { SysNo = vm.AdjustSysNo, Action = "Refund", Status = vm.Status, RefundUserSysNo = CPApplication.Current.LoginUser.UserSysNo, CashAmt = vm.CashAmt, CompanyCode = CPApplication.Current.CompanyCode, CustomerSysNo = vm.CustomerSysNo, SOSysNo = int.Parse(vm.SOSysNo), CreateUserSysNo = vm.CreateUserSysNo, RefundPayType = vm.RefundPayType }; facade.UpdateRefundAdjustStatus(entity, (obj, args) => { if (!args.FaultsHandle()) { Window.Alert(ResRefundAdjust.Info_UpdateSuccess); this.DataGrid_ResultList.Bind(); } this.Button_Refund.IsEnabled = true; }); }
/// <summary> /// 更新补偿退款单状态 /// </summary> /// <param name="refundSysNo">补偿退款单系统编号</param> /// <param name="callback"></param> public void UpdateRefundAdjustStatus(RefundAdjustInfo entity, EventHandler <RestClientEventArgs <Boolean> > callback) { entity.CompanyCode = CPApplication.Current.CompanyCode; string relativeUrl = "/CustomerService/RefundAdjust/RefundAdjustUpdateStatus"; restClient.Update <Boolean>(relativeUrl, entity, callback); }
/// <summary> /// 根据订单号获取创建补偿退款单的相关信息 /// </summary> /// <param name="entity"></param> /// <returns></returns> public virtual RefundAdjustInfo GetInfoBySOSysNo(RefundAdjustInfo entity) { if (entity.AdjustOrderType == RefundAdjustType.ShippingAdjust) { //补偿类型为【运费补偿时】从RMA_Request表中查询数据 return(da.GetRefundDetailBySoSysNo(entity)); } else if (entity.AdjustOrderType == RefundAdjustType.Other) { //补偿类型为【其他】时从OverseaOrderManagement.dbo.V_OM_SO_Master查询数据 return(da.GetCustomerIDBySOSysNo(entity)); } else if (entity.AdjustOrderType == RefundAdjustType.EnergySubsidy) { //补偿类型为【节能补贴】时,需要计算补贴金额 //优先在[OverseaOrderManagement].[dbo].[SO_EnergySubsidy]查询 //如果在节能惠民表中查找不到数据,则再到ProductEnergySubsidy表中查 RefundAdjustInfo info = null; info = da.GetEnergySubsidyBySOSysNo(entity); if (info == null) { info = da.GetInProductEnergySubsidyBySOSysNo(entity); } return(info); } return(null); }
public RefundAdjustInfo GetCustomerIDBySOSysNo(RefundAdjustInfo entity) { CustomDataCommand cmd = DataCommandManager.CreateCustomDataCommandFromConfig("Customer_Get_CustomerIDBySoSysNo"); cmd.SetParameterValue("@SOSysNo", entity.SOSysNo); cmd.SetParameterValue("@CompanyCode", entity.CompanyCode); return(cmd.ExecuteEntity <RefundAdjustInfo>()); }
/// <summary> /// 根据补偿退款单系统编号获取补偿退款单详细信息 /// </summary> /// <param name="entity"></param> /// <returns></returns> public virtual RefundAdjustInfo GetRefundDetailBySysNo(RefundAdjustInfo entity) { DataCommand cmd = DataCommandManager.GetDataCommand("Customer_Get_RefundDetailBySysNo"); cmd.SetParameterValue("@SysNo", entity.SysNo); cmd.SetParameterValue("@CompanyCode", entity.CompanyCode); return(cmd.ExecuteEntity <RefundAdjustInfo>()); }
/// <summary> /// 查看订单中的商品是否有节能补贴商品 /// </summary> /// <param name="entity"></param> /// <returns></returns> public virtual RefundAdjustInfo GetInProductEnergySubsidyBySOSysNo(RefundAdjustInfo entity) { DataCommand cmd = DataCommandManager.GetDataCommand("Customer_Get_InProductEnergySubsidyBySOSysNo"); cmd.SetParameterValue("@SOSysNo", entity.SOSysNo); cmd.SetParameterValue("@CompanyCode", entity.CompanyCode); return(cmd.ExecuteEntity <RefundAdjustInfo>()); }
/// <summary> /// 修改补偿退款单的状态 /// </summary> /// <param name="SysNo"></param> /// <param name="companyCode"></param> /// <returns></returns> public bool UpdateRefundAdjustStatus(RefundAdjustInfo entity) { DataCommand cmd = DataCommandManager.GetDataCommand("Customer_Update_RequestStatusSysNo"); cmd.SetParameterValue("@Status", (int)entity.Status); cmd.SetParameterValue("@SysNo", entity.SysNo); cmd.SetParameterValue("@CompanyCode", entity.CompanyCode); return(cmd.ExecuteNonQuery() > 0 ? true : false); }
private void PreCheck(RefundAdjustInfo entity) { if (!entity.SOSysNo.HasValue) { throw new BizException(ResouceManager.GetMessageString("Customer.RefundAdjust", "CreateRefundAdjust_SoSysNoHasNoValue")); } if (entity.AdjustOrderType == RefundAdjustType.ShippingAdjust && string.IsNullOrEmpty(entity.RequestID)) { throw new BizException(ResouceManager.GetMessageString("Customer.RefundAdjust", "CreateRefundAdjust_RequestIDIsNull")); } if (entity.CashAmt == null || entity.CashAmt == 0m) { throw new BizException(ResouceManager.GetMessageString("Customer.RefundAdjust", "CreateRefundAdjust_CashAmtError")); } if (string.IsNullOrEmpty(entity.Note)) { throw new BizException(ResouceManager.GetMessageString("Customer.RefundAdjust", "CreateRefundAdjust_AdjustNoteIsNUll")); } if (entity.AdjustOrderType == RefundAdjustType.EnergySubsidy) { bool isEffective = da.GetEffectiveEnergySubsidySO(entity.SOSysNo.Value); bool isShippingOut = da.IsShippingOut(entity.SOSysNo.Value); bool isHaveAutoRMA = da.IsHaveAutoRMA(entity.SOSysNo.Value); if (!isEffective) { throw new BizException(ResouceManager.GetMessageString("Customer.RefundAdjust", "CreateRefundAdjust_EnergySubsidyEffectiveError")); } else if (!isShippingOut) { throw new BizException(ResouceManager.GetMessageString("Customer.RefundAdjust", "CreateRefundAdjust_OrderShippingError")); } else if (!isHaveAutoRMA) { throw new BizException(ResouceManager.GetMessageString("Customer.RefundAdjust", "CreateRefundAdjust_HaveAutoRMAError")); } } }
/// <summary> /// 创建补偿退款单 /// </summary> /// <param name="entity"></param> /// <returns></returns> public virtual void RefundAdjustCreate(RefundAdjustInfo entity) { PreCheck(entity); RefundAdjustInfo info = da.GetRefundDetailBySoSysNo(entity); if (entity.AdjustOrderType == RefundAdjustType.EnergySubsidy) { info = da.GetEnergySubsidyBySOSysNo(entity); } if (info != null) { //补偿类型为【运费补偿】时,必须判断对应的RMA申请单的处理状态是否【处理完毕】 if (entity.AdjustOrderType == RefundAdjustType.ShippingAdjust) { if (string.IsNullOrEmpty(info.RequestID)) { throw new BizException(ResouceManager.GetMessageString("Customer.RefundAdjust", "CreateRefundAdjust_RefundStatusError")); } } entity.RequestSysNo = info.RequestSysNo; entity.CustomerSysNo = info.CustomerSysNo; } da.RefundAdjustCreate(entity); }
public RefundAdjustInfo GetRefundAdjustByRequestID(RefundAdjustInfo entity) { return(ObjectFactory <RefundAdjustAppService> .Instance.GetInfoBySOSysNo(entity)); }
public void RefundAdjustUpdate(RefundAdjustInfo entity) { }
/// <summary> /// 根据订单号获取创建补偿退款单的相关信息 /// </summary> /// <param name="entity"></param> /// <returns></returns> public virtual RefundAdjustInfo GetInfoBySOSysNo(RefundAdjustInfo entity) { return(ObjectFactory <RefundAdjustProcessor> .Instance.GetInfoBySOSysNo(entity)); }
/// <summary> /// 更新补偿退款单 /// </summary> /// <param name="entity"></param> /// <param name="callback"></param> public void UpdateRefundAdjust(RefundAdjustInfo entity, EventHandler <RestClientEventArgs <dynamic> > callback) { string relativeUrl = "/CustomerService/RefundAdjust/Update"; restClient.Update(relativeUrl, entity, callback); }
/// <summary> /// 创建补偿退款单 /// </summary> /// <param name="vm"></param> /// <param name="callback"></param> public void CreateRefundAdjust(RefundAdjustInfo entity, EventHandler <RestClientEventArgs <RefundAdjustInfo> > callback) { string relativeUrl = "/CustomerService/RefundAdjust/Create"; restClient.Create <RefundAdjustInfo>(relativeUrl, entity, callback); }
public Boolean RefundAdjustUpdateStatus(RefundAdjustInfo entity) { return(true); }
public void RefundAdjustCreate(RefundAdjustInfo entity) { ObjectFactory <RefundAdjustAppService> .Instance.RefundAdjustCreate(entity); }
/// <summary> /// 创建补偿退款单 /// </summary> /// <param name="entity"></param> public virtual void RefundAdjustCreate(RefundAdjustInfo entity) { ObjectFactory <RefundAdjustProcessor> .Instance.RefundAdjustCreate(entity); }