add-3F投料,如果有优先投料库位则优先

master
liuwf 1 year ago
parent 3055d3cce9
commit 6506bfec55

@ -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"; // 有效标记
}
}

@ -19,6 +19,7 @@ namespace Khd.Core.EntityFramework
public DbSet<WmsInventoryCheckDetail> WmsInventoryCheckDetail { get; set; }
public DbSet<MesBaseMaterialInfo> MesBaseMaterialInfo { get; set; }
public DbSet<WmsRawReturn> WmsRawReturn { get; set; }
public DbSet<WmsRawPreferredOut> WmsRawPreferredOut { get; set; }
public DbSet<WmsMove> WmsMove { get; set; }
public DbSet<WmsMoveDetail> WmsMoveDetail { get; set; }
public DbSet<WmsRawReturnDetail> WmsRawReturnDetail { get; set; }

@ -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<string> 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)
{
// 目标库位

Loading…
Cancel
Save