Beispiel #1
0
 public IList <Book.Model.InvoiceJCDetail> Select(Book.Model.InvoiceJC invoice)
 {
     return(accessor.Select(invoice));
 }
 public IList <Book.Model.InvoiceJCDetail> Select(Book.Model.InvoiceJC invoice)
 {
     return(sqlmapper.QueryForList <Model.InvoiceJCDetail>("InvoiceJCDetail.select_by_invoiceid", invoice.InvoiceId));
 }
 public void Delete(Book.Model.InvoiceJC invoice)
 {
     sqlmapper.Delete("InvoiceJCDetail.delete_by_invoiceid", invoice.InvoiceId);
 }
Beispiel #4
0
        private void _Insert(Book.Model.InvoiceJC invoice)
        {
            //往来单位
            //if (invoice.Customer != null)
            //{
            //    invoice.CustomerId = invoice.Customer.CustomerId;
            //}
            // 库房
            //invoice.DepotId = invoice.Depot.DepotId;
            //经手人
            if (invoice.Employee0 != null)
            {
                invoice.Employee0Id = invoice.Employee0.EmployeeId;
            }
            //录单人
            if (invoice.Employee1 != null)
            {
                invoice.Employee1Id = invoice.Employee1.EmployeeId;
            }

            if ((Helper.InvoiceStatus)invoice.InvoiceStatus.Value == Helper.InvoiceStatus.Normal)
            {
                //过账人
                if (invoice.Employee2 != null)
                {
                    invoice.Employee2Id = invoice.Employee2.EmployeeId;
                }
                //过账时间
                invoice.InvoiceGZTime = DateTime.Now;
            }
            //插入表单
            accessor.Insert(invoice);

            //插入明细
            foreach (Model.InvoiceJCDetail detail in invoice.Details)
            {
                if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId))
                {
                    continue;
                }
                detail.InvoiceId = invoice.InvoiceId;
                detail.InvoiceWeiHuaiRuQuantity = detail.InvoiceJCDetailQuantity;
                detail.InvoiceYiHuaiRuQuantity  = 0;
                invoiceJCDetailAccessor.Insert(detail);

                Model.Product p = detail.Product;
                p.StocksQuantity += detail.InvoiceJCDetailQuantity.Value;
                productAccessor.Update(p);
                //if (detail.InvoiceProductUnit == p.ProductOuterPackagingUnit)
                //{
                //    quantity = detail.InvoiceJCDetailQuantity * p.ProductBaseUnitRelationship * p.ProductInnerUnitRelationship;
                //}
                //else if (detail.InvoiceProductUnit == detail.Product.ProductInnerPackagingUnit)
                //{
                //    quantity = detail.InvoiceJCDetailQuantity * p.ProductBaseUnitRelationship;
                //}
                //else
                //{
                //    quantity = detail.InvoiceJCDetailQuantity;
                //}
                Model.Stock stock = stockAccessor.GetStockByProductIdAndDepotPositionId(p.ProductId, detail.DepotPositionId);
                if (stock == null)
                {
                    stock                 = new Book.Model.Stock();
                    stock.StockId         = Guid.NewGuid().ToString();
                    stock.ProductId       = p.ProductId;
                    stock.DepotPositionId = detail.DepotPositionId;
                    stock.StockQuantity1  = detail.InvoiceJCDetailQuantity;
                    stock.StockCurrentJC  = stock.StockCurrentJR == null ? detail.InvoiceJCDetailQuantity : stock.StockCurrentJC - detail.InvoiceJCDetailQuantity;
                    stock.DepotId         = invoice.DepotId;
                    stock.ProduceUnit     = p.ProduceUnit.CnName;
                    stockAccessor.Insert(stock);
                }
                else
                {
                    stockAccessor.IncrementJC(depotpositionAccessor.Get(detail.DepotPositionId), p, detail.InvoiceJCDetailQuantity.Value);
                }
            }
        }