示例#1
0
        private void AddOutgoingRecords(tblAdjust adjustment, IEnumerable <InventoryAdjustmentItem> items)
        {
            foreach (var item in items)
            {
                var lotNumber = LotNumberBuilder.BuildLotNumber(item);
                var location  = OldContextHelper.GetLocation(item.Location);
                var treatment = OldContextHelper.GetTreatment(item.Treatment);

                var packaging = item.PackagingProduct;
                if (item.Lot.PackagingLot != null)
                {
                    packaging = item.Lot.PackagingLot.PackagingProduct;
                }
                var tblPackaging = OldContextHelper.GetPackaging(packaging);

                var outgoing = new tblOutgoing
                {
                    AdjustID   = adjustment.AdjustID,
                    EmployeeID = adjustment.EmployeeID,
                    EntryDate  = DateTime.UtcNow.ConvertUTCToLocal().RoundMillisecondsForSQL(),

                    Lot      = lotNumber,
                    TTypeID  = (int?)TransType.InvAdj,
                    PkgID    = tblPackaging.PkgID,
                    Tote     = item.ToteKey,
                    Quantity = -item.QuantityAdjustment,
                    NetWgt   = tblPackaging.NetWgt,
                    TtlWgt   = -item.QuantityAdjustment * tblPackaging.NetWgt,
                    LocID    = location.LocID,
                    TrtmtID  = treatment.TrtmtID
                };
                adjustment.tblOutgoings.Add(outgoing);
            }
        }
        private static tblOutgoing CreateOutgoing(TreatmentOrder order, tblMoveDetail oldDetail, int quantitySign = 1)
        {
            var quantity = oldDetail.Quantity * quantitySign;

            var result = new tblOutgoing
            {
                EntryDate       = DateTime.UtcNow.ConvertUTCToLocal().RoundMillisecondsForSQL(),
                Lot             = oldDetail.Lot,
                TTypeID         = (int?)TransType.FrmTrmt,
                PkgID           = oldDetail.PkgID,
                Tote            = null,
                Quantity        = quantity,
                NetWgt          = oldDetail.tblPackaging.NetWgt,
                TtlWgt          = quantity * oldDetail.tblPackaging.NetWgt,
                LocID           = oldDetail.LocID,
                TrtmtID         = oldDetail.TrtmtID,
                EmployeeID      = order.InventoryShipmentOrder.PickedInventory.EmployeeId,
                BOMID           = 0,
                BatchLot        = 0,
                MoveNum         = order.InventoryShipmentOrder.MoveNum,
                MDetail         = oldDetail.MDetail,
                CustProductCode = oldDetail.CustProductCode
            };

            return(result);
        }