电梯
This commit is contained in:
@@ -708,7 +708,6 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
|
|||||||
InStockStrategyQuery inStockStrategyInput = new() { warehouse_id = "1", Size = 1, passage = startlocation.passage, AvoidBusyPassage = true, Region_id = WmsWareHouseConst.REGION_Purchase_ID, PolicyCode = WmsWareHouseConst.POLICY_YCLINSTOCK };
|
InStockStrategyQuery inStockStrategyInput = new() { warehouse_id = "1", Size = 1, passage = startlocation.passage, AvoidBusyPassage = true, Region_id = WmsWareHouseConst.REGION_Purchase_ID, PolicyCode = WmsWareHouseConst.POLICY_YCLINSTOCK };
|
||||||
List<BasLocation> endLocations = await _wareHouseService.InStockStrategy(inStockStrategyInput);
|
List<BasLocation> endLocations = await _wareHouseService.InStockStrategy(inStockStrategyInput);
|
||||||
if (endLocations.Count() == 0)
|
if (endLocations.Count() == 0)
|
||||||
|
|
||||||
{
|
{
|
||||||
LoggerYCLInternalTransfer.LogWarning($"【YCLInternalTransfer】 当前巷道没有空库位可以入库或者有任务正在执行");
|
LoggerYCLInternalTransfer.LogWarning($"【YCLInternalTransfer】 当前巷道没有空库位可以入库或者有任务正在执行");
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -145,8 +145,8 @@ namespace Tnb.WarehouseMgr
|
|||||||
return _Logger;
|
return _Logger;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
protected string _LoggerAgvElevatorTaskFileName = "";
|
protected static string _LoggerAgvElevatorTaskFileName = "";
|
||||||
protected ILogger _LoggerAgvElevatorTask;
|
protected static ILogger _LoggerAgvElevatorTask;
|
||||||
protected ILogger LoggerAgvElevatorTask
|
protected ILogger LoggerAgvElevatorTask
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
|||||||
@@ -403,7 +403,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
Logger.Information($"【UnloadConfirm】 发送电梯{devName}前门开门指令");
|
Logger.Information($"【UnloadConfirm】 发送电梯{devName}前门开门指令");
|
||||||
_ = await _elevatorControlService.SendOpenCloseCmd(devName, 3); //发送电梯前门开门指令
|
_ = await _elevatorControlService.SendOpenCloseCmd(devName, 3); //发送电梯前门开门指令
|
||||||
}
|
}
|
||||||
string innerpos = "";
|
|
||||||
// 3 4号梯需要电梯是当前楼层开门状态就能进
|
// 3 4号梯需要电梯是当前楼层开门状态就能进
|
||||||
bool canEnter = false;
|
bool canEnter = false;
|
||||||
if (devName == "Elevator3" || devName == "Elevator4")
|
if (devName == "Elevator3" || devName == "Elevator4")
|
||||||
@@ -431,18 +431,14 @@ namespace Tnb.WarehouseMgr
|
|||||||
Logger.LogInformation($"电梯内{devName}已有两托货!");
|
Logger.LogInformation($"电梯内{devName}已有两托货!");
|
||||||
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯{devName}内已有两托货!");
|
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯{devName}内已有两托货!");
|
||||||
}
|
}
|
||||||
WmsElevatorH wmsElevatorH = await _db.Queryable<WmsElevatorH>().Where(r => r.elevator_id == elevator.device_id).FirstAsync();
|
|
||||||
WmsElevatorcacheArea wmsElevatorcacheArea = await _db.Queryable<WmsElevatorcacheArea>().Where(r => r.location_id == dis.startlocation_id).FirstAsync();
|
WmsElevatorcacheArea wmsElevatorcacheArea = await _db.Queryable<WmsElevatorcacheArea>().Where(r => r.location_id == dis.startlocation_id).FirstAsync();
|
||||||
// 如果当前所放梯内货位已占用
|
// 如果当前所放梯内货位已占用
|
||||||
if (wmsElevatorH.innerpos.Contains(wmsElevatorcacheArea.name))
|
if (elevator.innerpos.Contains(wmsElevatorcacheArea.name))
|
||||||
{
|
{
|
||||||
Logger.LogInformation($"电梯{devName}内托盘{dis.carry_code}当前准备放置的货位已有货!");
|
Logger.LogInformation($"电梯{devName}内托盘{dis.carry_code}当前准备放置的货位已有货!");
|
||||||
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯{devName}内托盘{dis.carry_code}当前准备放置的货位已有货!");
|
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯{devName}内托盘{dis.carry_code}当前准备放置的货位已有货!");
|
||||||
}
|
}
|
||||||
|
|
||||||
innerpos = wmsElevatorH.innerpos + "," + wmsElevatorcacheArea.name;
|
|
||||||
|
|
||||||
|
|
||||||
canEnter = true;
|
canEnter = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -452,8 +448,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
await _db.Updateable<WmsElevatorH>().SetColumns(r => new WmsElevatorH
|
await _db.Updateable<WmsElevatorH>().SetColumns(r => new WmsElevatorH
|
||||||
{
|
{
|
||||||
is_use = (int)EnumElevatorUseStatus.占用,
|
is_use = (int)EnumElevatorUseStatus.占用,
|
||||||
use_tasks = $"','{r.use_tasks}".Trim(','),
|
use_tasks = $"','{r.use_tasks}".Trim(',')
|
||||||
innerpos = innerpos.Trim(',')
|
|
||||||
}).Where(r => r.elevator_id == elevator.device_id).ExecuteCommandAsync();
|
}).Where(r => r.elevator_id == elevator.device_id).ExecuteCommandAsync();
|
||||||
s_eleUseStatusDic[elevator.device_id] = (int)EnumElevatorUseStatus.占用;
|
s_eleUseStatusDic[elevator.device_id] = (int)EnumElevatorUseStatus.占用;
|
||||||
Logger.Information($"【UnloadConfirm】 {devName}放货成功 状态变更为占用 {s_eleUseStatusDic.GetHashCode()} {s_eleUseStatusDic[elevator.device_id]}");
|
Logger.Information($"【UnloadConfirm】 {devName}放货成功 状态变更为占用 {s_eleUseStatusDic.GetHashCode()} {s_eleUseStatusDic[elevator.device_id]}");
|
||||||
@@ -953,6 +948,24 @@ namespace Tnb.WarehouseMgr
|
|||||||
await _wareHouseService.AgvelevatorTimerTaskExceptionHandle();
|
await _wareHouseService.AgvelevatorTimerTaskExceptionHandle();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if(disTask.area_code == "FC")
|
||||||
|
{
|
||||||
|
WmsElevatorcacheArea wmsElevatorcacheArea = await _db.Queryable<WmsElevatorcacheArea>().Where(r => r.location_id == disTask.startlocation_id).FirstAsync();
|
||||||
|
|
||||||
|
ElevagorInfoQuery q = new() { taskCode = input.taskCode, sourceName = input.sourceName };
|
||||||
|
WmsElevatorH elevator = await FindElevatorFromPars(q);
|
||||||
|
if (elevator.IsNull())
|
||||||
|
{
|
||||||
|
Logger.Error($"【UnloadConfirm】 根据参数,sourceName:{input.sourceName},taskCode:{input.taskCode},未找到匹配的电梯任务");
|
||||||
|
}
|
||||||
|
string innerpos = elevator.innerpos + "," + wmsElevatorcacheArea.name;
|
||||||
|
await _db.Updateable<WmsElevatorH>().SetColumns(r => new WmsElevatorH
|
||||||
|
{
|
||||||
|
is_use = (int)EnumElevatorUseStatus.占用,
|
||||||
|
use_tasks = $"','{r.use_tasks}".Trim(','),
|
||||||
|
innerpos = innerpos.Trim(',')
|
||||||
|
}).Where(r => r.elevator_id == elevator.device_id).ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
|
||||||
Logger.Information($"【TaskCallback】 Agv放货完成,任务编号:{string.Join(",", disTasks.Select(x => x.bill_code))}");
|
Logger.Information($"【TaskCallback】 Agv放货完成,任务编号:{string.Join(",", disTasks.Select(x => x.bill_code))}");
|
||||||
}
|
}
|
||||||
@@ -960,8 +973,8 @@ namespace Tnb.WarehouseMgr
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.Error("【TaskCallback】 任务状态上报出现错误", ex.Message);
|
Logger.Error($"【TaskCallback】 任务状态上报出现错误{ex.Message}");
|
||||||
Logger.Error("【TaskCallback】 任务状态上报错误堆栈信息", ex.StackTrace);
|
Logger.Error($"【TaskCallback】 任务状态上报错误堆栈信息{ex.Message}");
|
||||||
return await ToApiResult(HttpStatusCode.InternalServerError, "请重试!" + ex.Message);
|
return await ToApiResult(HttpStatusCode.InternalServerError, "请重试!" + ex.Message);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -303,13 +303,6 @@ namespace Tnb.WarehouseMgr
|
|||||||
.Select((a, b) => b.passage).ToListAsync();
|
.Select((a, b) => b.passage).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
string sss = db.Queryable<WmsPretaskH>()
|
|
||||||
.InnerJoin<BasLocation>((a, b) =>
|
|
||||||
(a.status != WmsWareHouseConst.PRETASK_BILL_STATUS_COMPLE_ID && a.status != WmsWareHouseConst.PRETASK_BILL_STATUS_CANCEL_ID)
|
|
||||||
&& (b.id == a.startlocation_id || b.id == a.endlocation_id))
|
|
||||||
.Where((a, b) => b.wh_id == input.warehouse_id)
|
|
||||||
.Where((a, b) => b.is_type == ((int)EnumLocationType.存储库位).ToString())
|
|
||||||
.WhereIF(!string.IsNullOrEmpty(input.Region_id), (a, b) => b.region_id == input.Region_id).ToSqlString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Expression<Func<BasLocation, bool>> whereExp = Expressionable.Create<BasLocation>()
|
Expression<Func<BasLocation, bool>> whereExp = Expressionable.Create<BasLocation>()
|
||||||
@@ -1085,14 +1078,14 @@ namespace Tnb.WarehouseMgr
|
|||||||
getdic.Add("ZS-C13-2", new string[] { "hxjC", "A14AGV允许入满箱", "true" });
|
getdic.Add("ZS-C13-2", new string[] { "hxjC", "A14AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-C14-2", new string[] { "hxjC", "A1AGV允许入满箱", "true" });
|
getdic.Add("ZS-C14-2", new string[] { "hxjC", "A1AGV允许入满箱", "true" });
|
||||||
|
|
||||||
getdic.Add("ZS-A01-2", new string[] { "hxjA", "A3AGV允许入满箱", "true" });
|
//getdic.Add("ZS-A01-2", new string[] { "hxjA", "A3AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A02-2", new string[] { "hxjA", "A4AGV允许入满箱", "true" });
|
//getdic.Add("ZS-A02-2", new string[] { "hxjA", "A4AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A03-2", new string[] { "hxjA", "A5AGV允许入满箱", "true" });
|
//getdic.Add("ZS-A03-2", new string[] { "hxjA", "A5AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-D06-2", new string[] { "hxjA", "A6AGV允许入满箱", "true" });
|
//getdic.Add("ZS-D06-2", new string[] { "hxjA", "A6AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A05-2", new string[] { "hxjA", "A7AGV允许入满箱", "true" });
|
//getdic.Add("ZS-A05-2", new string[] { "hxjA", "A7AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A06-2", new string[] { "hxjA", "A8AGV允许入满箱", "true" });
|
//getdic.Add("ZS-A06-2", new string[] { "hxjA", "A8AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A07-2", new string[] { "hxjA", "A9AGV允许入满箱", "true" });
|
//getdic.Add("ZS-A07-2", new string[] { "hxjA", "A9AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A08-2", new string[] { "hxjA", "A10AGV允许入满箱", "true" });
|
//getdic.Add("ZS-A08-2", new string[] { "hxjA", "A10AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A09-2", new string[] { "hxjA", "A11AGV允许入满箱", "true" });
|
getdic.Add("ZS-A09-2", new string[] { "hxjA", "A11AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A10-2", new string[] { "hxjA", "A12AGV允许入满箱", "true" });
|
getdic.Add("ZS-A10-2", new string[] { "hxjA", "A12AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A11-2", new string[] { "hxjA", "A13AGV允许入满箱", "true" });
|
getdic.Add("ZS-A11-2", new string[] { "hxjA", "A13AGV允许入满箱", "true" });
|
||||||
@@ -1229,14 +1222,14 @@ namespace Tnb.WarehouseMgr
|
|||||||
getdic.Add("ZS-C13-2", new string[] { "hxjC", "A14AGV允许入满箱", "true" });
|
getdic.Add("ZS-C13-2", new string[] { "hxjC", "A14AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-C14-2", new string[] { "hxjC", "A1AGV允许入满箱", "true" });
|
getdic.Add("ZS-C14-2", new string[] { "hxjC", "A1AGV允许入满箱", "true" });
|
||||||
|
|
||||||
getdic.Add("ZS-A01-2", new string[] { "hxjA", "A3AGV允许入满箱", "true" });
|
//getdic.Add("ZS-A01-2", new string[] { "hxjA", "A3AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A02-2", new string[] { "hxjA", "A4AGV允许入满箱", "true" });
|
//getdic.Add("ZS-A02-2", new string[] { "hxjA", "A4AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A03-2", new string[] { "hxjA", "A5AGV允许入满箱", "true" });
|
//getdic.Add("ZS-A03-2", new string[] { "hxjA", "A5AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-D06-2", new string[] { "hxjA", "A6AGV允许入满箱", "true" });
|
//getdic.Add("ZS-D06-2", new string[] { "hxjA", "A6AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A05-2", new string[] { "hxjA", "A7AGV允许入满箱", "true" });
|
//getdic.Add("ZS-A05-2", new string[] { "hxjA", "A7AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A06-2", new string[] { "hxjA", "A8AGV允许入满箱", "true" });
|
//getdic.Add("ZS-A06-2", new string[] { "hxjA", "A8AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A07-2", new string[] { "hxjA", "A9AGV允许入满箱", "true" });
|
//getdic.Add("ZS-A07-2", new string[] { "hxjA", "A9AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A08-2", new string[] { "hxjA", "A10AGV允许入满箱", "true" });
|
//getdic.Add("ZS-A08-2", new string[] { "hxjA", "A10AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A09-2", new string[] { "hxjA", "A11AGV允许入满箱", "true" });
|
getdic.Add("ZS-A09-2", new string[] { "hxjA", "A11AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A10-2", new string[] { "hxjA", "A12AGV允许入满箱", "true" });
|
getdic.Add("ZS-A10-2", new string[] { "hxjA", "A12AGV允许入满箱", "true" });
|
||||||
getdic.Add("ZS-A11-2", new string[] { "hxjA", "A13AGV允许入满箱", "true" });
|
getdic.Add("ZS-A11-2", new string[] { "hxjA", "A13AGV允许入满箱", "true" });
|
||||||
@@ -2746,8 +2739,8 @@ namespace Tnb.WarehouseMgr
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.LogWarning("执行到目标楼层电梯任务失败", ex.Message);
|
Logger.LogWarning($"执行到目标楼层电梯任务失败{ex.Message}");
|
||||||
Logger.LogWarning("执行到目标楼层电梯任务失败", ex.StackTrace);
|
Logger.LogWarning($"执行到目标楼层电梯任务失败{ex.StackTrace}");
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4747,11 +4740,12 @@ namespace Tnb.WarehouseMgr
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// 仅切换电梯后 如果一托任务在等第二托时要做特殊处理
|
// 仅切换电梯后 如果一托任务在等第二托时要做特殊处理
|
||||||
if (wmsElevatorH.task_nums == 1)
|
//if (wmsElevatorH.task_nums == 1)
|
||||||
{
|
//{
|
||||||
await ChangeSelectedElevator(db_agvElevatorTaskExceptionHandles);
|
// await ChangeSelectedElevator(db_agvElevatorTaskExceptionHandles);
|
||||||
}
|
// elevatorSno = elevatorSno == "3" ? "4" : "3";
|
||||||
else
|
//}
|
||||||
|
//else
|
||||||
{
|
{
|
||||||
// 剩余可放托数
|
// 剩余可放托数
|
||||||
await db_agvElevatorTaskExceptionHandles.Updateable<BasFactoryConfig>().SetColumns(r => r.value == floor3FirstSelectElevatorTasknums.value)
|
await db_agvElevatorTaskExceptionHandles.Updateable<BasFactoryConfig>().SetColumns(r => r.value == floor3FirstSelectElevatorTasknums.value)
|
||||||
|
|||||||
@@ -297,6 +297,12 @@ namespace Tnb.WarehouseMgr
|
|||||||
// 采购入库
|
// 采购入库
|
||||||
if (instock.bill_type == WmsWareHouseConst.BILLTYPE_MATERIALINSTOCK_ID)
|
if (instock.bill_type == WmsWareHouseConst.BILLTYPE_MATERIALINSTOCK_ID)
|
||||||
{
|
{
|
||||||
|
//await _db.Updateable<WmsCarryCode>().SetColumns(r => new WmsCarryCode
|
||||||
|
//{
|
||||||
|
// auxprop_gys = ,
|
||||||
|
// auxprop_xph =
|
||||||
|
//}).Where(r => r.id == input.wmsDistaskH.carry_id).ExecuteCommandAsync();
|
||||||
|
|
||||||
if (instock.sync_status != WmsWareHouseConst.SYNC_STATUS_NONEEDSYNC)
|
if (instock.sync_status != WmsWareHouseConst.SYNC_STATUS_NONEEDSYNC)
|
||||||
{
|
{
|
||||||
//如果是自动单据,需要回更上层系统
|
//如果是自动单据,需要回更上层系统
|
||||||
|
|||||||
@@ -410,7 +410,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
List<WmsMaterialTransferD> dList = await _db.Queryable<WmsMaterialTransferD>().Where(x => x.bill_id == wmsMaterialTransferd.bill_id).OrderBy(x => x.id).ToListAsync();
|
List<WmsMaterialTransferD> dList = await _db.Queryable<WmsMaterialTransferD>().Where(x => x.bill_id == wmsMaterialTransferd.bill_id).OrderBy(x => x.id).ToListAsync();
|
||||||
DictionaryDataEntity unitData = await _db.Queryable<DictionaryTypeEntity>()
|
DictionaryDataEntity unitData = await _db.Queryable<DictionaryTypeEntity>()
|
||||||
.LeftJoin<DictionaryDataEntity>((x, y) => x.Id == y.DictionaryTypeId)
|
.LeftJoin<DictionaryDataEntity>((x, y) => x.Id == y.DictionaryTypeId)
|
||||||
.Where((x, y) => x.EnCode == DictConst.MeasurementUnit && y.EnCode == wmsMaterialTransferd.unit_id)
|
.Where((x, y) => x.EnCode == DictConst.MeasurementUnit && (y.EnCode == wmsMaterialTransferd.unit_id || y.Id == wmsMaterialTransferd.unit_id))
|
||||||
.Select((x, y) => y)
|
.Select((x, y) => y)
|
||||||
.FirstAsync();
|
.FirstAsync();
|
||||||
string unitId = unitData?.Id ?? "";
|
string unitId = unitData?.Id ?? "";
|
||||||
|
|||||||
Reference in New Issue
Block a user