diff --git a/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs b/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs index 1e346ce8..69fa34c9 100644 --- a/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs +++ b/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs @@ -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 endLocations = await _wareHouseService.InStockStrategy(inStockStrategyInput); if (endLocations.Count() == 0) - { LoggerYCLInternalTransfer.LogWarning($"【YCLInternalTransfer】 当前巷道没有空库位可以入库或者有任务正在执行"); continue; diff --git a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs index 9b5cd304..95c739ac 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs @@ -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 diff --git a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs index 7f693af9..4012227f 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs @@ -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().Where(r => r.elevator_id == elevator.device_id).FirstAsync(); WmsElevatorcacheArea wmsElevatorcacheArea = await _db.Queryable().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().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().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().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; } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index ac66d885..ccd9d643 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -303,13 +303,6 @@ namespace Tnb.WarehouseMgr .Select((a, b) => b.passage).ToListAsync(); - string sss = db.Queryable() - .InnerJoin((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> whereExp = Expressionable.Create() @@ -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().SetColumns(r => r.value == floor3FirstSelectElevatorTasknums.value) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs index 67c179aa..8468b299 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs @@ -297,6 +297,12 @@ namespace Tnb.WarehouseMgr // 采购入库 if (instock.bill_type == WmsWareHouseConst.BILLTYPE_MATERIALINSTOCK_ID) { + //await _db.Updateable().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) { //如果是自动单据,需要回更上层系统 diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialSignHService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialSignHService.cs index dd43482e..d63a0655 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialSignHService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialSignHService.cs @@ -410,7 +410,7 @@ namespace Tnb.WarehouseMgr List dList = await _db.Queryable().Where(x => x.bill_id == wmsMaterialTransferd.bill_id).OrderBy(x => x.id).ToListAsync(); DictionaryDataEntity unitData = await _db.Queryable() .LeftJoin((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 ?? "";