电梯
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 };
|
||||
List<BasLocation> endLocations = await _wareHouseService.InStockStrategy(inStockStrategyInput);
|
||||
if (endLocations.Count() == 0)
|
||||
|
||||
{
|
||||
LoggerYCLInternalTransfer.LogWarning($"【YCLInternalTransfer】 当前巷道没有空库位可以入库或者有任务正在执行");
|
||||
continue;
|
||||
|
||||
@@ -145,8 +145,8 @@ namespace Tnb.WarehouseMgr
|
||||
return _Logger;
|
||||
}
|
||||
}
|
||||
protected string _LoggerAgvElevatorTaskFileName = "";
|
||||
protected ILogger _LoggerAgvElevatorTask;
|
||||
protected static string _LoggerAgvElevatorTaskFileName = "";
|
||||
protected static ILogger _LoggerAgvElevatorTask;
|
||||
protected ILogger LoggerAgvElevatorTask
|
||||
{
|
||||
get
|
||||
|
||||
@@ -403,7 +403,7 @@ namespace Tnb.WarehouseMgr
|
||||
Logger.Information($"【UnloadConfirm】 发送电梯{devName}前门开门指令");
|
||||
_ = await _elevatorControlService.SendOpenCloseCmd(devName, 3); //发送电梯前门开门指令
|
||||
}
|
||||
string innerpos = "";
|
||||
|
||||
// 3 4号梯需要电梯是当前楼层开门状态就能进
|
||||
bool canEnter = false;
|
||||
if (devName == "Elevator3" || devName == "Elevator4")
|
||||
@@ -431,18 +431,14 @@ namespace Tnb.WarehouseMgr
|
||||
Logger.LogInformation($"电梯内{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();
|
||||
// 如果当前所放梯内货位已占用
|
||||
if (wmsElevatorH.innerpos.Contains(wmsElevatorcacheArea.name))
|
||||
if (elevator.innerpos.Contains(wmsElevatorcacheArea.name))
|
||||
{
|
||||
Logger.LogInformation($"电梯{devName}内托盘{dis.carry_code}当前准备放置的货位已有货!");
|
||||
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯{devName}内托盘{dis.carry_code}当前准备放置的货位已有货!");
|
||||
}
|
||||
|
||||
innerpos = wmsElevatorH.innerpos + "," + wmsElevatorcacheArea.name;
|
||||
|
||||
|
||||
canEnter = true;
|
||||
}
|
||||
|
||||
@@ -452,8 +448,7 @@ namespace Tnb.WarehouseMgr
|
||||
await _db.Updateable<WmsElevatorH>().SetColumns(r => new WmsElevatorH
|
||||
{
|
||||
is_use = (int)EnumElevatorUseStatus.占用,
|
||||
use_tasks = $"','{r.use_tasks}".Trim(','),
|
||||
innerpos = innerpos.Trim(',')
|
||||
use_tasks = $"','{r.use_tasks}".Trim(',')
|
||||
}).Where(r => r.elevator_id == elevator.device_id).ExecuteCommandAsync();
|
||||
s_eleUseStatusDic[elevator.device_id] = (int)EnumElevatorUseStatus.占用;
|
||||
Logger.Information($"【UnloadConfirm】 {devName}放货成功 状态变更为占用 {s_eleUseStatusDic.GetHashCode()} {s_eleUseStatusDic[elevator.device_id]}");
|
||||
@@ -953,6 +948,24 @@ namespace Tnb.WarehouseMgr
|
||||
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))}");
|
||||
}
|
||||
@@ -960,8 +973,8 @@ namespace Tnb.WarehouseMgr
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.Error("【TaskCallback】 任务状态上报出现错误", ex.Message);
|
||||
Logger.Error("【TaskCallback】 任务状态上报错误堆栈信息", ex.StackTrace);
|
||||
Logger.Error($"【TaskCallback】 任务状态上报出现错误{ex.Message}");
|
||||
Logger.Error($"【TaskCallback】 任务状态上报错误堆栈信息{ex.Message}");
|
||||
return await ToApiResult(HttpStatusCode.InternalServerError, "请重试!" + ex.Message);
|
||||
throw;
|
||||
}
|
||||
|
||||
@@ -303,13 +303,6 @@ namespace Tnb.WarehouseMgr
|
||||
.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>()
|
||||
@@ -1085,14 +1078,14 @@ namespace Tnb.WarehouseMgr
|
||||
getdic.Add("ZS-C13-2", new string[] { "hxjC", "A14AGV允许入满箱", "true" });
|
||||
getdic.Add("ZS-C14-2", new string[] { "hxjC", "A1AGV允许入满箱", "true" });
|
||||
|
||||
getdic.Add("ZS-A01-2", new string[] { "hxjA", "A3AGV允许入满箱", "true" });
|
||||
getdic.Add("ZS-A02-2", new string[] { "hxjA", "A4AGV允许入满箱", "true" });
|
||||
getdic.Add("ZS-A03-2", new string[] { "hxjA", "A5AGV允许入满箱", "true" });
|
||||
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-A01-2", new string[] { "hxjA", "A3AGV允许入满箱", "true" });
|
||||
//getdic.Add("ZS-A02-2", new string[] { "hxjA", "A4AGV允许入满箱", "true" });
|
||||
//getdic.Add("ZS-A03-2", new string[] { "hxjA", "A5AGV允许入满箱", "true" });
|
||||
//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" });
|
||||
@@ -1229,14 +1222,14 @@ namespace Tnb.WarehouseMgr
|
||||
getdic.Add("ZS-C13-2", new string[] { "hxjC", "A14AGV允许入满箱", "true" });
|
||||
getdic.Add("ZS-C14-2", new string[] { "hxjC", "A1AGV允许入满箱", "true" });
|
||||
|
||||
getdic.Add("ZS-A01-2", new string[] { "hxjA", "A3AGV允许入满箱", "true" });
|
||||
getdic.Add("ZS-A02-2", new string[] { "hxjA", "A4AGV允许入满箱", "true" });
|
||||
getdic.Add("ZS-A03-2", new string[] { "hxjA", "A5AGV允许入满箱", "true" });
|
||||
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-A01-2", new string[] { "hxjA", "A3AGV允许入满箱", "true" });
|
||||
//getdic.Add("ZS-A02-2", new string[] { "hxjA", "A4AGV允许入满箱", "true" });
|
||||
//getdic.Add("ZS-A03-2", new string[] { "hxjA", "A5AGV允许入满箱", "true" });
|
||||
//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" });
|
||||
@@ -2746,8 +2739,8 @@ namespace Tnb.WarehouseMgr
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.LogWarning("执行到目标楼层电梯任务失败", ex.Message);
|
||||
Logger.LogWarning("执行到目标楼层电梯任务失败", ex.StackTrace);
|
||||
Logger.LogWarning($"执行到目标楼层电梯任务失败{ex.Message}");
|
||||
Logger.LogWarning($"执行到目标楼层电梯任务失败{ex.StackTrace}");
|
||||
throw;
|
||||
}
|
||||
}
|
||||
@@ -4747,11 +4740,12 @@ namespace Tnb.WarehouseMgr
|
||||
else
|
||||
{
|
||||
// 仅切换电梯后 如果一托任务在等第二托时要做特殊处理
|
||||
if (wmsElevatorH.task_nums == 1)
|
||||
{
|
||||
await ChangeSelectedElevator(db_agvElevatorTaskExceptionHandles);
|
||||
}
|
||||
else
|
||||
//if (wmsElevatorH.task_nums == 1)
|
||||
//{
|
||||
// await ChangeSelectedElevator(db_agvElevatorTaskExceptionHandles);
|
||||
// elevatorSno = elevatorSno == "3" ? "4" : "3";
|
||||
//}
|
||||
//else
|
||||
{
|
||||
// 剩余可放托数
|
||||
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)
|
||||
{
|
||||
//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)
|
||||
{
|
||||
//如果是自动单据,需要回更上层系统
|
||||
|
||||
@@ -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();
|
||||
DictionaryDataEntity unitData = await _db.Queryable<DictionaryTypeEntity>()
|
||||
.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)
|
||||
.FirstAsync();
|
||||
string unitId = unitData?.Id ?? "";
|
||||
|
||||
Reference in New Issue
Block a user