| | |
| | | public string SN_TYPE { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 储存状态(0NotExists不存在|10Incoming送货中|20WaitTest待检验|30WaitIn待入库|40InStore在库|50OffShelf已下架|60Sended已发料|70Loaded已上料|80UseUp已耗尽|90Returned已退料|100Shipped已出货) |
| | | /// 储存状态(0NotExists不存在|10Incoming送货中|20WaitTest待检验|21Rejected需退货|30WaitIn待入库|40InStore在库|50OffShelf已下架|60Sended已发料|65Received被接收|70Loaded已上料|80UseUp已耗尽|90Returned已退料|100Shipped已出货) |
| | | /// </summary> |
| | | public int STATUS { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 数量 |
| | | /// </summary> |
| | | public decimal QTY { get; set; } |
| | | public double QTY { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 单位 |
| | |
| | | /// <summary> |
| | | /// 延期时间 |
| | | /// </summary> |
| | | public decimal PostponeDays { get; set; } |
| | | //public double PostponeDays { get; set; } |
| | | |
| | | #endregion 公共属性 |
| | | |
| | |
| | | #region 枚举变量 |
| | | |
| | | /// <summary> |
| | | /// 储存状态(0NotExists不存在|10Incoming送货中|20WaitTest待检验|30WaitIn待入库|40InStore在库|50OffShelf已下架|60Sended已发料|70Loaded已上料|80UseUp已耗尽|90Returned已退料|100Shipped已出货) |
| | | /// 储存状态(0NotExists不存在|10Incoming送货中|20WaitTest待检验|21Rejected需退货|30WaitIn待入库|40InStore在库|50OffShelf已下架|60Sended已发料|65Received被接收|70Loaded已上料|80UseUp已耗尽|90Returned已退料|100Shipped已出货) |
| | | /// </summary> |
| | | public enum STATUSs |
| | | { |
| | |
| | | [Description("待检验")] |
| | | WaitTest = 20, |
| | | |
| | | [Description("需退货")] |
| | | Rejected = 22, |
| | | |
| | | [Description("待入库")] |
| | | WaitIn = 30, |
| | | |
| | |
| | | |
| | | [Description("已发料")] |
| | | Sended = 60, |
| | | |
| | | [Description("被接收")] |
| | | Received = 65, |
| | | |
| | | [Description("已上料")] |
| | | Loaded = 70, |
| | |
| | | |
| | | #endregion 枚举变量 |
| | | }//endClass |
| | | |
| | | /// <summary> |
| | | /// 条码库存信息,包括仓库,储区,货架,储位,父条码,包装明细等 |
| | | /// </summary> |
| | | public class Inventory |
| | | { |
| | | public string SN { get; set; } |
| | | public Barcode Barcode { get; set; } |
| | | public bool IsQRCode => Barcode.IsQRCode; |
| | | public WMS_ITEM_EXT ExtInfo { get; set; } |
| | | public BAS_ITEM ItemInfo { get; set; } |
| | | public WMS_WAREHOUSE Warehouse { get; set; } |
| | | public WMS_REGION Region { get; set; } |
| | | public WMS_SHELF Shelf { get; set; } |
| | | public WMS_LOCATION Location { get; set; } |
| | | public WMS_ITEM_PKG ParentPkg { get; set; } |
| | | public List<WMS_ITEM_PKG> Packages { get; set; } = new List<WMS_ITEM_PKG>(); |
| | | public List<WMS_ITEM> Items { get; set; } = new List<WMS_ITEM>(); |
| | | public List<WMS_ITEM_EXT> ItemsExt { get; set; } = new List<WMS_ITEM_EXT>(); |
| | | public List<WMS_ITEM_HIS> History { get; set; } = new List<WMS_ITEM_HIS>(); |
| | | public List<WMS_ITEM.STATUSs> StatusList => Items.GroupBy(q => q.STATUS).Select(q => new { Status = q.Key.GetEnum<WMS_ITEM.STATUSs>(), Count = q.Count() }).OrderByDescending(q => q.Count).Select(q => q.Status).ToList(); |
| | | public bool isNormalStatus => Items.Select(q => q.STATUS).Distinct().Count() == 1; |
| | | public WMS_ITEM.STATUSs Status => StatusList?.FirstOrDefault() ?? WMS_ITEM.STATUSs.NotExists; |
| | | public WMS_ITEM_PKG CurPkg => Packages.FirstOrDefault(q => q.SN == SN); |
| | | public bool isExists => CurPkg != null; |
| | | public bool isMinPackage => Items.Count == 1 && Items.Single().SN == SN; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 上架执行信息 |