Exemple #1
0
        /// <summary>
        /// 更新APInvoice Master信息
        /// </summary>
        /// <param name="entity"></param>
        public virtual void UpdateAPInvoiceMaster(APInvoiceInfo entity)
        {
            DataCommand command = DataCommandManager.GetDataCommand("UpdateAPInvoiceMaster");

            command.SetParameterValue("@WareHouseNo", entity.StockSysNo);
            command.SetParameterValue("@VendorSysNo", entity.VendorSysNo);
            command.SetParameterValue("@VendorName", entity.VendorName);
            command.SetParameterValue("@VendorTaxRate", entity.VendorTaxRate);
            command.SetParameterValue("@Memo", entity.Memo);
            if (entity.DiffMemo == null)
            {
                entity.DiffMemo = "";
            }
            command.SetParameterValue("@DiffMemo", entity.DiffMemo);
            command.SetParameterValue("@PoNetAmt", entity.PoNetAmt);
            command.SetParameterValue("@PoNetTaxAmt", entity.PoNetTaxAmt);
            command.SetParameterValue("@InvoiceAmt", entity.InvoiceAmt);
            command.SetParameterValue("@InvoiceTaxAmt", entity.InvoiceTaxAmt);
            command.SetParameterValue("@DiffTaxAmt", entity.DiffTaxAmt);
            command.SetParameterValue("@DiffTaxTreatmentType", entity.DiffTaxTreatmentType);
            command.SetParameterValue("@Status", entity.Status);
            command.SetParameterValue("@EditDate", DateTime.Now);
            command.SetParameterValueAsCurrentUserAcct("@EditUser");
            command.SetParameterValue("@DocNo", entity.SysNo);

            command.ExecuteNonQuery();
        }
Exemple #2
0
        /// <summary>
        /// 新建APInvoice Master信息
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual int InsertAPInvoiceMaster(APInvoiceInfo entity)
        {
            DataCommand command = DataCommandManager.GetDataCommand("InsertMaster");

            //command.SetParameterValue("@DocDate", entity.DocDate);
            command.SetParameterValue("@WareHouseNo", entity.StockSysNo);
            command.SetParameterValue("@VendorSysNo", entity.VendorSysNo);
            command.SetParameterValue("@VendorName", entity.VendorName);
            command.SetParameterValue("@VendorTaxRate", entity.VendorTaxRate);
            command.SetParameterValue("@Memo", entity.Memo);
            command.SetParameterValue("@DiffMemo", entity.DiffMemo);
            command.SetParameterValue("@PoNetAmt", entity.PoNetAmt);
            command.SetParameterValue("@PoNetTaxAmt", entity.PoNetTaxAmt);
            command.SetParameterValue("@InvoiceAmt", entity.InvoiceAmt ?? 0);
            command.SetParameterValue("@InvoiceTaxAmt", entity.InvoiceTaxAmt ?? 0);
            command.SetParameterValue("@DiffTaxAmt", entity.DiffTaxAmt);
            command.SetParameterValue("@DiffTaxTreatmentType", entity.DiffTaxTreatmentType);
            command.SetParameterValueAsCurrentUserAcct("@InUser");
            //command.SetParameterValue("@InDate", entity.InDate);
            command.SetParameterValue("@ConfirmUser", entity.ConfirmUser);
            command.SetParameterValue("@ConfirmDate", entity.ConfirmDate);
            command.SetParameterValue("@Status", entity.Status);
            //command.SetParameterValue("LanguageCode", entity.LanguageCode);
            //command.SetParameterValue("CurrencyCode", entity.CurrencyCode);
            command.SetParameterValue("CompanyCode", entity.CompanyCode);
            //command.SetParameterValue("StoreCompanyCode", entity.StoreCompanyCode);

            return(Convert.ToInt32(command.ExecuteScalar()));
        }
Exemple #3
0
        /// <summary>
        /// 更新APInvoice状态
        /// </summary>
        /// <param name="entity"></param>
        public virtual void UpdateAPInvoiceStatus(APInvoiceInfo entity)
        {
            DataCommand command = DataCommandManager.GetDataCommand("UpdateAPInvoiceStatus");

            command.SetParameterValue("@Status", entity.Status);
            command.SetParameterValue("@DocNo", entity.SysNo);
            command.SetParameterValueAsCurrentUserSysNo("@EditUser");
            command.ExecuteNonQuery();
        }
        /// <summary>
        /// 创建/更新PO单关联发票
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            if (vm.VendorSysNo == null)
            {
                Window.Alert(ResInvoiceInputMaintain.Msg_ValidateVendor);
                return;
            }
            if (vm.POItemList.Count == 0)
            {
                Window.Alert(ResInvoiceInputMaintain.Msg_NoPOItems);
                return;
            }
            if (vm.InvoiceItemList.Count == 0)
            {
                Window.Alert(ResInvoiceInputMaintain.Msg_NoInvItems);
                return;
            }
            if (vm.DiffTaxTreatmentType == null)
            {
                Window.Alert(ResInvoiceInputMaintain.Msg_NeedDiffCal);
                return;
            }
            if (!Compare(vm, lastVM))
            {
                Window.Alert(ResInvoiceInputMaintain.Msg_NeedReDiffCal);
                return;
            }
            //只录入选中的单据
            vm.POItemList      = vm.POItemList.Where(p => p.IsChecked).ToList();
            vm.InvoiceItemList = vm.InvoiceItemList.Where(p => p.IsChecked).ToList();
            APInvoiceInfo data = vm.ConvertVM <InvoiceInputMaintainVM, APInvoiceInfo>();

            data.CompanyCode = CPApplication.Current.CompanyCode;
            if (vm.SysNo > 0)
            {
                facade.UpdateApInvoiceInfo(data, (obj, args) =>
                {
                    Window.Alert(ResInvoiceInputMaintain.Msg_UpdateSuccess);
                });
            }
            else
            {
                facade.CreateAPInvoice(data, (obj, args) =>
                {
                    Window.Alert(ResInvoiceInputMaintain.Msg_CreateSuccess);
                    //vm.SysNo = args.Result.SysNo.Value;
                    //vm.Status = APInvoiceMasterStatus.Origin;
                    vm = new InvoiceInputMaintainVM();
                    this.Window.Refresh();
                    SetControlStatus();
                });
            }
        }
        /// <summary>
        /// 录入InvoiceItem
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void HyperlinkButton_InputInvoiceItem_Click(object sender, RoutedEventArgs e)
        {
            if (!ValidateInvInput())
            {
                if (this.vm.ItemInvoiceAmt == null)
                {
                    this.Text_ItemInvoiceAmt.Focus();
                }
                return;
            }
            if (!vm.VendorSysNo.HasValue)
            {
                this.Text_InvoiceItemsStatistic.Foreground = RedBrush;
                this.Text_InvoiceItemsStatistic.Text       = ResInvoiceInputMaintain.Msg_Tips + ResInvoiceInputMaintain.Msg_ValidateVendor;
                //Window.Alert(ResInvoiceInputMaintain.Msg_ValidateVendor);
                return;
            }
            APInvoiceItemInputEntity request = new APInvoiceItemInputEntity();

            request.ItemsNoList     = vm.InvoiceItemNoList;
            request.InvoiceDate     = vm.InvoiceDate;
            request.InvoiceAmt      = vm.ItemInvoiceAmt;
            request.VendorSysNo     = vm.VendorSysNo;
            request.VendorName      = vm.VendorName;
            request.CompanyCode     = CPApplication.Current.CompanyCode;
            request.InvoiceItemList = vm.ConvertVM <InvoiceInputMaintainVM, APInvoiceInfo>().InvoiceItemList;

            facade.InputInvoiceItem(request, (obj, args) =>
            {
                APInvoiceInfo info   = new APInvoiceInfo();
                info.InvoiceItemList = args.Result.invoiceItemList;

                InvoiceInputMaintainVM resultVM = info.Convert <APInvoiceInfo, InvoiceInputMaintainVM>();
                vm.InvoiceItemList = resultVM.InvoiceItemList;

                if (!string.IsNullOrEmpty(args.Result.ErrorMsg))
                {
                    //Window.Alert(args.Result.ErrorMsg);
                    this.Text_InvoiceItemsStatistic.Foreground = RedBrush;
                    this.Text_InvoiceItemsStatistic.Text       = args.Result.ErrorMsg;
                }
                else
                {
                    this.Text_InvoiceItemsStatistic.Text = string.Empty;
                }
                if (vm.POItemList.Count > 0 && vm.InvoiceItemList.Count > 0)
                {
                    btnDiffCalc.IsEnabled = true;
                }
                this.Text_InvoiceNo.Focus();
            });
        }
        /// <summary>
        /// 录入PoItem
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void HyperlinkButton_InputPoItem_Click(object sender, RoutedEventArgs e)
        {
            if (!ValidatePOInput())
            {
                return;
            }
            APInvoiceItemInputEntity request = new APInvoiceItemInputEntity();

            request.ItemsNoList = vm.POItemNoList;
            request.OrderType   = vm.OrderType;
            request.VendorSysNo = vm.VendorSysNo;
            request.VendorName  = vm.VendorName;
            request.CompanyCode = CPApplication.Current.CompanyCode;
            request.POItemList  = vm.ConvertVM <InvoiceInputMaintainVM, APInvoiceInfo>().POItemList;

            facade.InputPoItem(request, (obj, args) =>
            {
                APInvoiceInfo info = new APInvoiceInfo();
                info.POItemList    = args.Result.poItemList;
                info.VendorName    = args.Result.VendorName;
                info.VendorSysNo   = args.Result.VendorSysNo;

                InvoiceInputMaintainVM resultVM = info.Convert <APInvoiceInfo, InvoiceInputMaintainVM>();
                vm.POItemList  = resultVM.POItemList;
                vm.VendorSysNo = resultVM.VendorSysNo;
                vm.VendorName  = resultVM.VendorName;
                if (!string.IsNullOrEmpty(args.Result.ErrorMsg))
                {
                    this.Text_POItemsStatistic.Foreground = RedBrush;
                    this.Text_POItemsStatistic.Text       = args.Result.ErrorMsg;
                    //Window.Alert(args.Result.ErrorMsg);
                }
                else
                {
                    this.Text_POItemsStatistic.Text = string.Empty;
                }

                if (vm.POItemList.Count > 0)
                {
                    VendorPicker.IsEnabled = false;
                }
                else
                {
                    VendorPicker.IsEnabled = true;
                }
                if (vm.POItemList.Count > 0 && vm.InvoiceItemList.Count > 0)
                {
                    btnDiffCalc.IsEnabled = true;
                }
            });
        }
        public void UpdateApInvoiceInfo(APInvoiceInfo data, EventHandler <RestClientEventArgs <APInvoiceInfo> > callback)
        {
            string relativeUrl = string.Format("/InvoiceService/InvoiceInput/UpdateAPInvoice");

            restClient.Update <APInvoiceInfo>(relativeUrl, data, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }

                callback(obj, args);
            });
        }
        /// <summary>
        /// 提交审核
        /// 1.新增时PO关联发票直接提交审核,在Service中创建新信息并审核
        /// 2.对已有记录审核
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSubmit_Click(object sender, RoutedEventArgs e)
        {
            if (vm.VendorSysNo == null)
            {
                Window.Alert(ResInvoiceInputMaintain.Msg_ValidateVendor);
                return;
            }
            if (vm.POItemList.Count == 0)
            {
                Window.Alert(ResInvoiceInputMaintain.Msg_NoPOItems);
                return;
            }
            if (vm.InvoiceItemList.Count == 0)
            {
                Window.Alert(ResInvoiceInputMaintain.Msg_NoInvItems);
                return;
            }
            if (vm.DiffTaxTreatmentType == null)
            {
                Window.Alert(ResInvoiceInputMaintain.Msg_NeedDiffCal);
                return;
            }
            if (!Compare(vm, lastVM))
            {
                Window.Alert(ResInvoiceInputMaintain.Msg_NeedReDiffCal);
                return;
            }
            APInvoiceInfo data = vm.ConvertVM <InvoiceInputMaintainVM, APInvoiceInfo>();

            data.CompanyCode = CPApplication.Current.CompanyCode;
            facade.SubmitWithSaveAPInvoice(data, (obj, args) =>
            {
                Window.Alert(ResInvoiceInputMaintain.Msg_SubmitSuccess);
                vm.Status = APInvoiceMasterStatus.NeedAudit;
                SetControlStatus();
            });
        }
        /// <summary>
        /// 根据条件加载供应商未录入的POItems
        /// 1.必须选择供应商。
        /// 2.可选条件--加载日期起始。
        /// 3.加载时会保留原有页面中的数据--只会更新POItems表,且保留原表中的数据。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void HyperlinkButton_LoadPOItems_Click(object sender, RoutedEventArgs e)
        {
            if (!vm.VendorSysNo.HasValue)
            {
                Window.Alert(ResInvoiceInputMaintain.Msg_ValidateVendor);
                return;
            }
            APInvoiceItemInputEntity request = new APInvoiceItemInputEntity();

            request.CompanyCode = CPApplication.Current.CompanyCode;
            request.VendorSysNo = vm.VendorSysNo;
            request.POItemList  = vm.ConvertVM <InvoiceInputMaintainVM, APInvoiceInfo>().POItemList;
            request.PODateFrom  = vm.PODateFrom;
            facade.LoadNotInputPOItems(request, (obj, args) =>
            {
                APInvoiceInfo info = new APInvoiceInfo();
                info.POItemList    = args.Result;
                InvoiceInputMaintainVM resultVM = info.Convert <APInvoiceInfo, InvoiceInputMaintainVM>();
                vm.POItemList = resultVM.POItemList;
                if (vm.POItemList.Count > 0)
                {
                    VendorPicker.IsEnabled = false;
                    this.Text_POItemsStatistic.Foreground = BlackBrush;
                    this.Text_POItemsStatistic.Text       = ResInvoiceInputMaintain.Msg_LoadSuccess;
                }
                else
                {
                    VendorPicker.IsEnabled = true;
                    Window.Alert(ResInvoiceInputMaintain.Msg_EmptyPoItems);
                }
                if (vm.POItemList.Count > 0 && vm.InvoiceItemList.Count > 0)
                {
                    btnDiffCalc.IsEnabled = true;
                }
            });
        }
 public APInvoiceInfo SubmitWithSaveAPInvoice(APInvoiceInfo data)
 {
     return(appService.SubmitWithSaveAPInvoice(data));
 }
 public APInvoiceInfo UpdateAPInvoice(APInvoiceInfo data)
 {
     return(appService.UpdateAPInvoice(data));
 }
 public APInvoiceInfo CreateAPInvoice(APInvoiceInfo data)
 {
     return(appService.CreateAPInvoice(data));
 }
 /// <summary>
 /// 提交审核时保存(创建或更新)
 /// </summary>
 /// <param name="data"></param>
 /// <returns></returns>
 public virtual APInvoiceInfo SubmitWithSaveAPInvoice(APInvoiceInfo data)
 {
     return(processor.SubmitWithSaveAPInvoice(data));
 }
 /// <summary>
 /// 更新APInvoice
 /// </summary>
 /// <param name="data"></param>
 public virtual APInvoiceInfo UpdateAPInvoice(APInvoiceInfo data)
 {
     return(processor.UpdateAPInvoice(data));
 }