diff --git a/src/Khd.Core.Domain/Models/WmsRawPreferredOut.cs b/src/Khd.Core.Domain/Models/WmsRawPreferredOut.cs new file mode 100644 index 0000000..1d0cfb4 --- /dev/null +++ b/src/Khd.Core.Domain/Models/WmsRawPreferredOut.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Khd.Core.Domain.Models +{ + [Table("wms_raw_preferred_out")] + public class WmsRawPreferredOut + { + [Key] + [Column("raw_preferred_out_id")] + public long RawPreferredOutId { get; set; } // 优先出库ID + + [Column("warehouse_id")] + public long WarehouseId { get; set; } // 仓库ID + + [Column("warehouse_floor")] + public int? WarehouseFloor { get; set; } // 仓库楼层 + + [Column("location_code")] + [Required] + [MaxLength(64)] + public string LocationCode { get; set; } // 库位编码 + + [Column("stock_type")] + [Required] + [MaxLength(1)] + public string StockType { get; set; } // 库存类型:1原材料,2成品 + + [Column("material_id")] + public long MaterialId { get; set; } // 物料ID + + [Column("create_by")] + [MaxLength(64)] + public string CreateBy { get; set; } // 创建人 + + [Column("create_date")] + public DateTime? CreateDate { get; set; } // 创建时间 + + [Column("update_by")] + [MaxLength(64)] + public string UpdateBy { get; set; } // 最后更新人 + + [Column("update_date")] + public DateTime? UpdateDate { get; set; } // 最后更新时间 + + [Column("use_flag")] + [Required] + [MaxLength(1)] + public string UseFlag { get; set; } = "1"; // 有效标记 + } +} diff --git a/src/Khd.Core.EntityFramework/DefaultDbContext.cs b/src/Khd.Core.EntityFramework/DefaultDbContext.cs index 3d6edff..8414db6 100644 --- a/src/Khd.Core.EntityFramework/DefaultDbContext.cs +++ b/src/Khd.Core.EntityFramework/DefaultDbContext.cs @@ -19,6 +19,7 @@ namespace Khd.Core.EntityFramework public DbSet WmsInventoryCheckDetail { get; set; } public DbSet MesBaseMaterialInfo { get; set; } public DbSet WmsRawReturn { get; set; } + public DbSet WmsRawPreferredOut { get; set; } public DbSet WmsMove { get; set; } public DbSet WmsMoveDetail { get; set; } public DbSet WmsRawReturnDetail { get; set; } diff --git a/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs b/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs index fccbd45..c66a271 100644 --- a/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs +++ b/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs @@ -967,6 +967,17 @@ namespace Khd.Core.Wcs.Wcs WmsBaseLocation? wmsBaseLocation = null; WmsRawStock? wmsRawStock = null; bill = bill.OrderBy(t => t.b.instockDate.Value.Date);//按某个时间段 + + #region 如果有需要优先投料的库位,则该库位优先投料 + List PreferredOutsLocation = dbContext.WmsRawPreferredOut.Where(x=>x.WarehouseId==311).ToList().Select(x=>x.LocationCode).ToList(); + if (PreferredOutsLocation!=null && PreferredOutsLocation.Count > 0) + { + bill.OrderBy(t => PreferredOutsLocation.Contains(t.a.locationCode) ? 0 : 1); + } + + #endregion + + foreach (var item in bill) { // 目标库位