Example #1
0
 /// <summary>
 /// 新增批次
 /// </summary>
 /// <param name="line"> </param>
 public void AddLine(VATInvoiceLine line)
 {
     if (ShowVATInvoiceLines == null)
         ShowVATInvoiceLines = new List<VATInvoiceLine>();
     int no = GetLineId();
     line.Id = -no;
     ShowVATInvoiceLines.Add(line);
     if (AddVATInvoiceLines == null)
     {
         AddVATInvoiceLines = new List<VATInvoiceLine>();
     }
     AddVATInvoiceLines.Add(line);
 }
Example #2
0
        /// <summary>
        /// 从页面数据生成批次对象,供保存用
        /// </summary>
        /// <returns></returns>
        private VATInvoiceLine SetLineByPage()
        {
            var currentLine = new VATInvoiceLine();
            if (ObjectId == 0)
            {
                int id = GetVATId();
                currentLine.Id = id;
            }
            else
            {
                currentLine.Id = ObjectId;
            }
            currentLine.QuotaId = QuotaId;
            Quota quota;
            using (var quotaService = SvcClientManager.GetSvcClient<QuotaServiceClient>(SvcType.QuotaSvc))
            {
                quota = quotaService.FetchById(QuotaId, new List<string> { "Deliveries", "WarehouseOuts" });
                if (quota != null)
                {
                    FilterDeleted(quota.Deliveries);
                    FilterDeleted(quota.WarehouseOuts);
                }
            }
            currentLine.Quota = quota;
            VATRate vatRate;
            using (var vatRateService = SvcClientManager.GetSvcClient<VATRateServiceClient>(SvcType.VATRateSvc))
            {
                vatRate = vatRateService.FetchById(VATRateId, null);
            }
            currentLine.VATRate = vatRate;
            currentLine.UnOpenedQuantity = UnOpenedQuantity;
            currentLine.VATInvoiceQuantity = VATInvoiceQuantity;
            currentLine.VATAmount = VATAmount;
            currentLine.VATPrice = VATPrice;
            currentLine.VATRateId = VATRateId;
            currentLine.VATInvoiceId = VATInvoiceId;
            currentLine.VATInvoiceRequestLineId = VATInvoiceRequestLineId;
            if (VATStatus == null || VATStatus <= 0)
            {
                VATStatus = (int)QuotaVATStatus.Partial;
            }
            currentLine.Quota.VATStatus = VATStatus;

            return currentLine;
        }
Example #3
0
        //存在的增值税申请 赋值增值税发票
        public void BindVATInvoiceVM(VATInvoiceRequest vatInvoiceRequset)
        {
            if (vatInvoiceRequset != null)
            {
                BPId = vatInvoiceRequset.BPId;
                InternalBPId = vatInvoiceRequset.InternalBPId;
                VATInvoiceRequestId = vatInvoiceRequset.Id;
                BusinessPartner bp;
                using (
                    var businessPartnerService =
                        SvcClientManager.GetSvcClient<BusinessPartnerServiceClient>(SvcType.BusinessPartnerSvc))
                {
                    bp = businessPartnerService.GetById(BPId);
                }
                if (bp != null)
                {
                    BPName = bp.ShortName;
                }

                VATRate vatRate;
                using (
                    var vatRateService =
                        SvcClientManager.GetSvcClient<VATRateServiceReference.VATRateServiceClient>(SvcType.VATRateSvc))
                {
                    //it.Type=2 为销项税
                    vatRate = vatRateService.Select("it.IsDeleted=false and it.Type=2 order by it.Created", null, null).FirstOrDefault();
                }


                var vatInvoiceLines = new List<VATInvoiceLine>();
                foreach (VATInvoiceRequestLine item in vatInvoiceRequset.VATInvoiceRequestLines)
                {
                    var line = new VATInvoiceLine();
                    int id = GetLineId();
                    line.Id = -id;
                    line.QuotaId = item.QuotaId;
                    line.VATInvoiceQuantity = item.RequestQuantity - item.VATInvoicedQuantity;
                    line.UnOpenedQuantity = item.RequestQuantity - item.VATInvoicedQuantity;
                    line.VATAmount = item.RequestAmount;
                    line.VATPrice = item.RequestPrice;
                    line.VATInvoiceRequestLineId = item.Id;
                    if (vatRate != null)
                    {
                        line.VATRateId = vatRate.Id;
                        line.VATRate = vatRate;
                    }
                    if (DetailVM == null)
                    {
                        DetailVM = new VATInvoiceLineDetailVM(VATInvoiceType);
                    }

                    using (var quotaService = SvcClientManager.GetSvcClient<QuotaServiceClient>(SvcType.QuotaSvc))
                    {
                        Quota qt = quotaService.GetById(item.QuotaId);
                        if (qt != null)
                        {
                            line.Quota = qt;
                            line.Quota.VATStatus = qt.VATStatus;
                        }
                    }
                    vatInvoiceLines.Add(line);
                    if (ShowVATInvoiceLines == null)
                    {
                        ShowVATInvoiceLines = new List<VATInvoiceLine>();
                    }
                    ShowVATInvoiceLines.Add(line);
                    if (AddVATInvoiceLines == null)
                    {
                        AddVATInvoiceLines = new List<VATInvoiceLine>();
                    }
                    AddVATInvoiceLines.Add(line);
                }
            }
        }