Example #1
0
        /// <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;
            });
        }
Example #4
0
        /// <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);
        }
Example #5
0
 /// <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);
 }
Example #6
0
        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>());
        }
Example #7
0
        /// <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>());
        }
Example #8
0
        /// <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>());
        }
Example #9
0
        /// <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);
        }
Example #10
0
 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"));
         }
     }
 }
Example #11
0
        /// <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);
        }
Example #12
0
 public RefundAdjustInfo GetRefundAdjustByRequestID(RefundAdjustInfo entity)
 {
     return(ObjectFactory <RefundAdjustAppService> .Instance.GetInfoBySOSysNo(entity));
 }
Example #13
0
 public void RefundAdjustUpdate(RefundAdjustInfo entity)
 {
 }
Example #14
0
 /// <summary>
 /// 根据订单号获取创建补偿退款单的相关信息
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 public virtual RefundAdjustInfo GetInfoBySOSysNo(RefundAdjustInfo entity)
 {
     return(ObjectFactory <RefundAdjustProcessor> .Instance.GetInfoBySOSysNo(entity));
 }
Example #15
0
        /// <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);
        }
Example #16
0
        /// <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);
        }
Example #17
0
 public Boolean RefundAdjustUpdateStatus(RefundAdjustInfo entity)
 {
     return(true);
 }
Example #18
0
 public void RefundAdjustCreate(RefundAdjustInfo entity)
 {
     ObjectFactory <RefundAdjustAppService> .Instance.RefundAdjustCreate(entity);
 }
Example #19
0
 /// <summary>
 /// 创建补偿退款单
 /// </summary>
 /// <param name="entity"></param>
 public virtual void RefundAdjustCreate(RefundAdjustInfo entity)
 {
     ObjectFactory <RefundAdjustProcessor> .Instance.RefundAdjustCreate(entity);
 }