电梯调整等

This commit is contained in:
2024-09-06 11:06:01 +08:00
parent 27536bfd7c
commit be75d77d3e
10 changed files with 175 additions and 81 deletions

View File

@@ -224,21 +224,25 @@ namespace Tnb.WarehouseMgr
{
#region
// 3-1 第三次改动
var YCLInnerTransfer = await _db.Queryable<BasFactoryConfig>().Where(p => p.key == "floor3CurInCacheLocation").FirstAsync();
Logger.Information($"当前发货区: {YCLInnerTransfer.value}");
if (YCLInnerTransfer.value == null || (YCLInnerTransfer.value != "3楼发货左" && YCLInnerTransfer.value != "3楼发货右"))
{
throw new AppFriendlyException($"工厂配置->三楼出库暂存区当前入库分区 项配置错误需要配置值为【3楼发货左】或【3楼发货右】", 500);
}
List<BasLocation> locations = await _db.Queryable<BasLocation>()
endLocation = null;
// 正常情况下交替入,如果左右两侧缓存数量不一致 优先补充托盘数量少那一侧
List<BasLocation> locations_left = await _db.Queryable<BasLocation>()
.InnerJoin<WmsElevatorcacheArea>((a, b) => a.id == b.location_id)
.Where((a, b) => b.name == YCLInnerTransfer.value).OrderBy("a.is_lock,a.is_use,a.carry_count+a.task_nums,a.location_code").ToListAsync();
endLocation = locations.FirstOrDefault();
await _db.Updateable<BasFactoryConfig>().SetColumns(r => r.value == (YCLInnerTransfer.value == "3楼发货左" ? "3楼发货右" : "3楼发货左"))
.Where(r => r.key == "floor3CurInCacheLocation").ExecuteCommandAsync();
.Where((a, b) => b.name == "3楼发货左").OrderBy("a.is_lock,a.is_use,a.carry_count+a.task_nums,a.location_code").ToListAsync();
List<BasLocation> locations_right = await _db.Queryable<BasLocation>()
.InnerJoin<WmsElevatorcacheArea>((a, b) => a.id == b.location_id)
.Where((a, b) => b.name == "3楼发货右").OrderBy("a.is_lock,a.is_use,a.carry_count+a.task_nums,a.location_code").ToListAsync();
decimal leftQty = locations_left.Sum(r => r.carry_count + r.task_nums);
decimal rightQty = locations_right.Sum(r => r.carry_count + r.task_nums);
if (leftQty <= rightQty)
endLocation = locations_left.FirstOrDefault();
else
endLocation = locations_right.FirstOrDefault();
if (endLocation == null)
{
throw new AppFriendlyException($"载具{carry.carry_code}无法选到缓存区库位,请检查电梯缓存分区配置表", 500);
}
#endregion
}
//人工发货