外协入库与四楼自动移库逻辑修改、现场问题处理

This commit is contained in:
2024-10-09 18:12:33 +08:00
parent 05714f027d
commit c675ec3e07
16 changed files with 504 additions and 189 deletions

View File

@@ -132,6 +132,14 @@ namespace Tnb.WarehouseMgr
{
get { return _s_taskExecuteSemaphore_F2ZCCOutstock; }
}
public SemaphoreSlim s_taskExecuteSemaphore_F4JXKOutstock
{
get { return _s_taskExecuteSemaphore_F4JXKOutstock; }
}
public SemaphoreSlim s_taskExecuteSemaphore_F4JXKInstock
{
get { return _s_taskExecuteSemaphore_F4JXKInstock; }
}
public Dictionary<string, SemaphoreSlim> s_elevatortaskDic
@@ -1216,20 +1224,20 @@ namespace Tnb.WarehouseMgr
getdic.Add("ZSSSXCTU02", new string[] { "YTCS", "右输送线上层允许出箱3", "true" });
getdic.Add("ZSSSXCTU01", new string[] { "YTCS", "左输送线上层允许出箱1", "true" });
getdic.Add("SSX-011-008", new string[] { "东面提升机输送线", "入库输送线8出箱完毕", "true" });
getdic.Add("ZS-C01-2", new string[] { "hxjC", "A2AGV允许入满箱", "true" });
getdic.Add("ZS-C02-2", new string[] { "hxjC", "A3AGV允许入满箱", "true" });
getdic.Add("ZS-C03-2", new string[] { "hxjC", "A4AGV允许入满箱", "true" });
getdic.Add("ZS-C04-2", new string[] { "hxjC", "A5AGV允许入满箱", "true" });
getdic.Add("ZS-C05-2", new string[] { "hxjC", "A6AGV允许入满箱", "true" });
getdic.Add("ZS-C06-2", new string[] { "hxjC", "A7AGV允许入满箱", "true" });
getdic.Add("ZS-C07-2", new string[] { "hxjC", "A8AGV允许入满箱", "true" });
getdic.Add("ZS-C08-2", new string[] { "hxjC", "A9AGV允许入满箱", "true" });
getdic.Add("ZS-C09-2", new string[] { "hxjC", "A10AGV允许入满箱", "true" });
getdic.Add("ZS-C10-2", new string[] { "hxjC", "A11AGV允许入满箱", "true" });
getdic.Add("ZS-C11-2", new string[] { "hxjC", "A12AGV允许入满箱", "true" });
getdic.Add("ZS-C12-2", new string[] { "hxjC", "A13AGV允许入满箱", "true" });
getdic.Add("ZS-C13-2", new string[] { "hxjC", "A14AGV允许入满箱", "true" });
getdic.Add("ZS-C14-2", new string[] { "hxjC", "A1AGV允许入满箱", "true" });
getdic.Add("ZS-C01-2", new string[] { "hxjC", "A2AGV允许入满箱", "false" });
getdic.Add("ZS-C02-2", new string[] { "hxjC", "A3AGV允许入满箱", "false" });
getdic.Add("ZS-C03-2", new string[] { "hxjC", "A4AGV允许入满箱", "false" });
getdic.Add("ZS-C04-2", new string[] { "hxjC", "A5AGV允许入满箱", "false" });
getdic.Add("ZS-C05-2", new string[] { "hxjC", "A6AGV允许入满箱", "false" });
getdic.Add("ZS-C06-2", new string[] { "hxjC", "A7AGV允许入满箱", "false" });
getdic.Add("ZS-C07-2", new string[] { "hxjC", "A8AGV允许入满箱", "false" });
getdic.Add("ZS-C08-2", new string[] { "hxjC", "A9AGV允许入满箱", "false" });
getdic.Add("ZS-C09-2", new string[] { "hxjC", "A10AGV允许入满箱", "false" });
getdic.Add("ZS-C10-2", new string[] { "hxjC", "A11AGV允许入满箱", "false" });
getdic.Add("ZS-C11-2", new string[] { "hxjC", "A12AGV允许入满箱", "false" });
getdic.Add("ZS-C12-2", new string[] { "hxjC", "A13AGV允许入满箱", "false" });
getdic.Add("ZS-C13-2", new string[] { "hxjC", "A14AGV允许入满箱", "false" });
getdic.Add("ZS-C14-2", new string[] { "hxjC", "A1AGV允许入满箱", "false" });
//getdic.Add("ZS-A01-2", new string[] { "hxjA", "A3AGV允许入满箱", "true" });
//getdic.Add("ZS-A02-2", new string[] { "hxjA", "A4AGV允许入满箱", "true" });
@@ -1237,12 +1245,12 @@ namespace Tnb.WarehouseMgr
//getdic.Add("ZS-D06-2", new string[] { "hxjA", "A6AGV允许入满箱", "true" });
//getdic.Add("ZS-A05-2", new string[] { "hxjA", "A7AGV允许入满箱", "true" });
//getdic.Add("ZS-A06-2", new string[] { "hxjA", "A8AGV允许入满箱", "true" });
getdic.Add("ZS-A07-2", new string[] { "hxjA", "A9AGV允许入满箱", "true" });
getdic.Add("ZS-A08-2", new string[] { "hxjA", "A10AGV允许入满箱", "true" });
getdic.Add("ZS-A09-2", new string[] { "hxjA", "A11AGV允许入满箱", "true" });
getdic.Add("ZS-A10-2", new string[] { "hxjA", "A12AGV允许入满箱", "true" });
getdic.Add("ZS-A11-2", new string[] { "hxjA", "A13AGV允许入满箱", "true" });
getdic.Add("ZS-A12-2", new string[] { "hxjA", "A14AGV允许入满箱", "true" });
getdic.Add("ZS-A07-2", new string[] { "hxjA", "A9AGV允许入满箱", "false" });
getdic.Add("ZS-A08-2", new string[] { "hxjA", "A10AGV允许入满箱", "false" });
getdic.Add("ZS-A09-2", new string[] { "hxjA", "A11AGV允许入满箱", "false" });
getdic.Add("ZS-A10-2", new string[] { "hxjA", "A12AGV允许入满箱", "false" });
getdic.Add("ZS-A11-2", new string[] { "hxjA", "A13AGV允许入满箱", "false" });
getdic.Add("ZS-A12-2", new string[] { "hxjA", "A14AGV允许入满箱", "false" });
getdic.Add("ZS-D01-2", new string[] { "hxjA", "A1AGV允许入满箱", "false" });
getdic.Add("ZS-D02-2", new string[] { "hxjA", "A2AGV允许入满箱", "false" });
@@ -1264,20 +1272,20 @@ namespace Tnb.WarehouseMgr
putdic.Add("SSX-121-009", new string[] { "东面提升机输送线", "上升降机9入箱完毕", "true" });
putdic.Add("SSX-121-010", new string[] { "东面提升机输送线", "上升降机10入箱完毕", "true" });
putdic.Add("YCLCKBGW", new string[] { "CP8", "PutDoneEmptyBox", "true" });
putdic.Add("ZS-C01-1", new string[] { "hxjC", "A2AGV允许出空箱", "true" });
putdic.Add("ZS-C02-1", new string[] { "hxjC", "A3AGV允许出空箱", "true" });
putdic.Add("ZS-C03-1", new string[] { "hxjC", "A4AGV允许出空箱", "true" });
putdic.Add("ZS-C04-1", new string[] { "hxjC", "A5AGV允许出空箱", "true" });
putdic.Add("ZS-C05-1", new string[] { "hxjC", "A6AGV允许出空箱", "true" });
putdic.Add("ZS-C06-1", new string[] { "hxjC", "A7AGV允许出空箱", "true" });
putdic.Add("ZS-C07-1", new string[] { "hxjC", "A8AGV允许出空箱", "true" });
putdic.Add("ZS-C08-1", new string[] { "hxjC", "A9AGV允许出空箱", "true" });
putdic.Add("ZS-C09-1", new string[] { "hxjC", "A10AGV允许出空箱", "true" });
putdic.Add("ZS-C10-1", new string[] { "hxjC", "A11AGV允许出空箱", "true" });
putdic.Add("ZS-C11-1", new string[] { "hxjC", "A12AGV允许出空箱", "true" });
putdic.Add("ZS-C12-1", new string[] { "hxjC", "A13AGV允许出空箱", "true" });
putdic.Add("ZS-C13-1", new string[] { "hxjC", "A14AGV允许出空箱", "true" });
putdic.Add("ZS-C14-1", new string[] { "hxjC", "A1AGV允许出空箱", "true" });
putdic.Add("ZS-C01-1", new string[] { "hxjC", "A2AGV允许出空箱", "false" });
putdic.Add("ZS-C02-1", new string[] { "hxjC", "A3AGV允许出空箱", "false" });
putdic.Add("ZS-C03-1", new string[] { "hxjC", "A4AGV允许出空箱", "false" });
putdic.Add("ZS-C04-1", new string[] { "hxjC", "A5AGV允许出空箱", "false" });
putdic.Add("ZS-C05-1", new string[] { "hxjC", "A6AGV允许出空箱", "false" });
putdic.Add("ZS-C06-1", new string[] { "hxjC", "A7AGV允许出空箱", "false" });
putdic.Add("ZS-C07-1", new string[] { "hxjC", "A8AGV允许出空箱", "false" });
putdic.Add("ZS-C08-1", new string[] { "hxjC", "A9AGV允许出空箱", "false" });
putdic.Add("ZS-C09-1", new string[] { "hxjC", "A10AGV允许出空箱", "false" });
putdic.Add("ZS-C10-1", new string[] { "hxjC", "A11AGV允许出空箱", "false" });
putdic.Add("ZS-C11-1", new string[] { "hxjC", "A12AGV允许出空箱", "false" });
putdic.Add("ZS-C12-1", new string[] { "hxjC", "A13AGV允许出空箱", "false" });
putdic.Add("ZS-C13-1", new string[] { "hxjC", "A14AGV允许出空箱", "false" });
putdic.Add("ZS-C14-1", new string[] { "hxjC", "A1AGV允许出空箱", "false" });
//putdic.Add("ZS-A01-1", new string[] { "hxjA", "A3AGV允许出空箱", "true" });
//putdic.Add("ZS-A02-1", new string[] { "hxjA", "A4AGV允许出空箱", "true" });
@@ -1285,12 +1293,12 @@ namespace Tnb.WarehouseMgr
//putdic.Add("ZS-D06-1", new string[] { "hxjA", "A6AGV允许出空箱", "false" });
//putdic.Add("ZS-A05-1", new string[] { "hxjA", "A7AGV允许出空箱", "true" });
//putdic.Add("ZS-A06-1", new string[] { "hxjA", "A8AGV允许出空箱", "true" });
putdic.Add("ZS-A07-1", new string[] { "hxjA", "A9AGV允许出空箱", "true" });
putdic.Add("ZS-A08-1", new string[] { "hxjA", "A10AGV允许出空箱", "true" });
putdic.Add("ZS-A09-1", new string[] { "hxjA", "A11AGV允许出空箱", "true" });
putdic.Add("ZS-A10-1", new string[] { "hxjA", "A12AGV允许出空箱", "true" });
putdic.Add("ZS-A07-1", new string[] { "hxjA", "A9AGV允许出空箱", "false" });
putdic.Add("ZS-A08-1", new string[] { "hxjA", "A10AGV允许出空箱", "false" });
putdic.Add("ZS-A09-1", new string[] { "hxjA", "A11AGV允许出空箱", "false" });
putdic.Add("ZS-A10-1", new string[] { "hxjA", "A12AGV允许出空箱", "false" });
putdic.Add("ZS-A11-1", new string[] { "hxjA", "A13AGV允许出空箱", "false" });
putdic.Add("ZS-A12-1", new string[] { "hxjA", "A14AGV允许出空箱", "true" });
putdic.Add("ZS-A12-1", new string[] { "hxjA", "A14AGV允许出空箱", "false" });
// D线 待改成配置
putdic.Add("ZS-D01-1", new string[] { "hxjA", "A1AGV允许出空箱", "false" });
@@ -2874,7 +2882,8 @@ namespace Tnb.WarehouseMgr
WmsCarryH wmsCarryH = await _db.Queryable<WmsCarryH>().Where(r => r.location_id == wmsDistaskH.startlocation_id
&& r.carry_code != wmsDistaskH.carry_code).FirstAsync();
BasLocation startlocation = await _db.Queryable<BasLocation>().Where(r => r.location_code == wmsDistaskH.startlocation_code).FirstAsync();
if (wmsCarryH != null && startlocation.is_type == ((int)(EnumLocationType.)).ToString())
WmsCarryH wmsTaskCarryH = await _db.Queryable<WmsCarryH>().Where(r => r.id == wmsDistaskH.carry_id).FirstAsync();
if (wmsCarryH != null && startlocation.is_type == ((int)(EnumLocationType.)).ToString() && wmsTaskCarryH.carrystd_id != WmsWareHouseConst.CARRY_LJSTD_ID)
{
throw Oops.Bah($"任务单{wmsDistaskH.bill_code}的起点库位{wmsDistaskH.startlocation_code}是存储库位,且已被载具{wmsCarryH.carry_code}占用!");
}
@@ -2973,7 +2982,8 @@ namespace Tnb.WarehouseMgr
{
WmsCarryH wmsCarryH = await _db.Queryable<WmsCarryH>().Where(r => r.location_id == wmsDistaskH.endlocation_id && r.carry_code != wmsDistaskH.carry_code).FirstAsync();
BasLocation endlocation = await _db.Queryable<BasLocation>().Where(r => r.location_code == wmsDistaskH.endlocation_code).FirstAsync();
if (wmsCarryH != null && endlocation.is_type == ((int)(EnumLocationType.)).ToString())
WmsCarryH wmsTaskCarryH = await _db.Queryable<WmsCarryH>().Where(r => r.id == wmsDistaskH.carry_id).FirstAsync();
if (wmsCarryH != null && endlocation.is_type == ((int)(EnumLocationType.)).ToString() && wmsTaskCarryH.carrystd_id != WmsWareHouseConst.CARRY_LJSTD_ID)
{
throw Oops.Bah($"任务单{wmsDistaskH.bill_code}的终点库位{wmsDistaskH.endlocation_code}是存储库位,且已被载具{wmsCarryH.carry_code}占用!");
}
@@ -3587,8 +3597,8 @@ namespace Tnb.WarehouseMgr
// points.Add(wmsPointHs.Where(r => r.id == pEndId).First());
//}
#endregion
//1-3
if (startlocation.wh_id == WmsWareHouseConst.WAREHOUSE_CPCRK_ID && endlocation.wh_id == WmsWareHouseConst.WAREHOUSE_CP_ID)
//1-4
if (startlocation.wh_id == WmsWareHouseConst.WAREHOUSE_CPCRK_ID && endlocation.wh_id == WmsWareHouseConst.WAREHOUSE_JXK_ID)
{
WmsElevatorH wmsElevatorH = await _db.Queryable<WmsElevatorH>().Where(it => it.elevator_group == "2" && it.enabled == 1).OrderBy(r => r.task_nums).FirstAsync();
string elevatorSno = wmsElevatorH.elevator_code.Replace("Elevator", "");
@@ -3596,8 +3606,8 @@ namespace Tnb.WarehouseMgr
points.Add(wmsPointHs.Where(r => r.id == pStartId).First());
points.Add(wmsPointHs.Where(r => r.point_code == $"DT-01-0{elevatorSno}").First());
points.Add(wmsPointHs.Where(r => r.point_code == $"DT-1-{elevatorSno}").First());
points.Add(wmsPointHs.Where(r => r.point_code == $"DT-3-{elevatorSno}").First());
points.Add(wmsPointHs.Where(r => r.point_code == $"DT-03-0{elevatorSno}").First());
points.Add(wmsPointHs.Where(r => r.point_code == $"DT-4-{elevatorSno}").First());
points.Add(wmsPointHs.Where(r => r.point_code == $"DT-04-0{elevatorSno}").First());
points.Add(wmsPointHs.Where(r => r.id == pEndId).First());
}
// 2-4
@@ -4596,6 +4606,22 @@ namespace Tnb.WarehouseMgr
result = _s_taskExecuteSemaphore_F2BCQInstock;
break;
}
case WmsWareHouseConst.WAREHOUSE_MJC_ID:
{
if (type == "outstock")
result = _s_taskExecuteSemaphore_F4JXKOutstock;
else if (type == "instock")
result = _s_taskExecuteSemaphore_F4JXKInstock;
break;
}
case WmsWareHouseConst.WAREHOUSE_F2KTQ_ID:
{
if (type == "outstock")
result = _s_taskExecuteSemaphore_F2KTQOutstock;
else if (type == "instock")
result = _s_taskExecuteSemaphore_F2KTQInstock;
break;
}
}
return result;
}