From a23691d54a0142ba9a0668788d366638bd82349e Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期二, 26 八月 2025 08:25:41 +0800 Subject: [PATCH] 更新最新代码,码垛,伸缩货叉等 --- 项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/原料库/ConveyorLineJob_YL1ndFloor.cs | 68 +++++++++++++++++++++++++-------- 1 files changed, 51 insertions(+), 17 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/ConveyorLineJob_YL1ndFloor.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/ConveyorLineJob_YL1ndFloor.cs" index e7cd405..e2fc1d9 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/ConveyorLineJob_YL1ndFloor.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/ConveyorLineJob_YL1ndFloor.cs" @@ -82,7 +82,7 @@ device.SetValue(WR_CLineYLDB.WR_Reresult, 86, item.StationCode); WriteInfo(item.StationCode, $"璇锋眰鍏ュ簱鏉$爜:{conveyorLineInfoRead.WR_TMID}"); } - else if (conveyorLineInfoRead != null && item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt() && conveyorLineInfoRead.WR_ToHode <= 0 && conveyorLineInfoRead.WR_Request == 86 && !string.IsNullOrEmpty(conveyorLineInfoRead.WR_TMID)) //涓�妤煎垎閰嶇珯鍙板叆搴撳垎閰嶇洰鏍囩偣 + else if (conveyorLineInfoRead != null && item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt() && conveyorLineInfoRead.WR_ToHode <= 0 && conveyorLineInfoRead.WR_Request == 86 && conveyorLineInfoRead.WR_Task <= 0 && !string.IsNullOrEmpty(conveyorLineInfoRead.WR_TMID)) //涓�妤煎垎閰嶇珯鍙板叆搴撳垎閰嶇洰鏍囩偣 { Dt_Task task = _taskRepository.QueryFirst(x => x.PalletCode == conveyorLineInfoRead.WR_TMID && x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.New.ObjToInt() && x.DeviceCode == device.DeviceCode); if (task == null) @@ -99,7 +99,45 @@ device.SetValue(WR_CLineYLDB.WR_ToHode, task.NextAddress, item.StationCode); device.SetValue(WR_CLineYLDB.WR_Reresult, 86, item.StationCode); _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing); - WriteInfo(item.StationCode, conveyorLineInfoRead.Serialize()); + WriteInfo(item.StationCode, $"{conveyorLineInfoRead.Serialize()}"); + } + } + else if (conveyorLineInfoRead != null && item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt() && conveyorLineInfoRead.WR_ToHode <= 0 && conveyorLineInfoRead.WR_Request == 86 && conveyorLineInfoRead.WR_Task > 0) //涓�妤煎垎閰嶇珯鍙板叆搴撳垎閰嶇洰鏍囩偣 + { + Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.WR_Task && x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.AGV_Finish.ObjToInt() && x.DeviceCode == device.DeviceCode); + //鍙戦�佷换鍔� + if (task != null) + { + if (string.IsNullOrEmpty(task.Roadway) && string.IsNullOrEmpty(task.NextAddress)) + { + WebResponseContent content = _taskService.AssignYLRoadwayNo(task.PalletCode); + if (!content.Status) + { + WriteError(item.StationCode, $"璇锋眰鍏ュ簱澶辫触锛歿content.Message}"); + } + string roadWay = content.Data.ToString(); + //鑾峰彇璺敱閰嶇疆 + List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && task.CurrentAddress == x.StartPosi && x.ChildPosiDeviceCode== roadWay); + Dt_Router router = routers.FirstOrDefault(); + if (router == null) + { + WriteError(item.StationName, $"浠诲姟鍙�:{task.TaskNum}鏈壘鍒拌矾鐢遍厤缃俊鎭�"); + return Task.CompletedTask; + } + task.Roadway = roadWay; + task.NextAddress = router.NextPosi; + _taskService.UpdateTask(task,TaskStatusEnum.AGV_Finish); + } + else + { + device.SetValue(WR_CLineYLDB.WR_Task, task.TaskNum, item.StationCode); + device.SetValue(WR_CLineYLDB.WR_ToHode, task.NextAddress, item.StationCode); + device.SetValue(WR_CLineYLDB.WR_Width, task.TaskLength, item.StationCode); + device.SetValue(WR_CLineYLDB.WR_TMID, task.PalletCode, item.StationCode); + device.SetValue(WR_CLineYLDB.WR_Reresult, 86, item.StationCode); + _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing); + WriteInfo(item.StationCode, $"璇锋眰鍏ュ簱鎴愬姛:{conveyorLineInfoRead.Serialize()}"); + } } } else if (conveyorLineInfoRead != null && item.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt() && conveyorLineInfoRead.WR_ToHode > 0 && conveyorLineInfoRead.WR_Request == 86 && !string.IsNullOrEmpty(conveyorLineInfoRead.WR_TMID) && conveyorLineInfoRead.WR_Task>0) //鍏ュ簱绔欏彴鐢宠 @@ -126,29 +164,25 @@ } } - else if (conveyorLineInfoRead != null && item.StationType == StationTypeEnum.StationType_OnlyOutbound.ObjToInt() && conveyorLineInfoRead.WR_ToHode <= 0 && conveyorLineInfoRead.WR_Request == 99 && !string.IsNullOrEmpty(conveyorLineInfoRead.WR_TMID) && conveyorLineInfoRead.WR_Task <= 0) //鍑虹珯鍙板垎閰嶇洰鏍囩偣 + else if (conveyorLineInfoRead != null && item.StationType == StationTypeEnum.StationType_OnlyOutbound.ObjToInt() && conveyorLineInfoRead.WR_ToHode <= 0 && conveyorLineInfoRead.WR_Request == 99 && conveyorLineInfoRead.WR_Task <= 0) //鍑虹珯鍙板垎閰嶇洰鏍囩偣 { Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && _taskService.TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() && x.DeviceCode == device.DeviceCode); if (task != null) { - List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && task.CurrentAddress == x.StartPosi); - Dt_Router? router = routers.FirstOrDefault(); - if (routers == null || routers.Count == 0 || router == null) - { - WriteError(item.StationName, $"鏈壘鍒板搴旇矾鐢变俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}"); - continue; - } - if (routers.Count > 1) - { - WriteError(item.StationName, $"璺敱淇℃伅閰嶇疆閿欒,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}"); - continue; - } //鍙戦�佺洰鏍囩偣 device.SetValue(WR_CLineYLDB.WR_Task, task.TaskNum, item.StationCode); + device.SetValue(WR_CLineYLDB.WR_Width, task.TaskLength, item.StationCode); device.SetValue(WR_CLineYLDB.WR_TMID, task.PalletCode, item.StationCode); - device.SetValue(WR_CLineYLDB.WR_ToHode, router.NextPosi, item.StationCode); + device.SetValue(WR_CLineYLDB.WR_ToHode, task.NextAddress, item.StationCode); device.SetValue(WR_CLineYLDB.WR_Reresult, 86, item.StationCode); - _taskService.UpdateTask(task,TaskStatusEnum.Line_Executing,nextAddress: router.NextPosi); + if (task.TaskType==TaskTypeEnum.OutPick.ObjToInt()) + { + task.Roadway = task.TargetAddress; + task.TargetAddress = ""; + task.TaskType=TaskTypeEnum.InPick.ObjToInt(); + } + _taskService.UpdateTask(task,TaskStatusEnum.Line_Executing); + WriteInfo(item.StationCode, $"浠诲姟鍙�:{task.TaskNum}鍑哄簱鑷硔task.NextAddress}"); } } else if (conveyorLineInfoRead != null && item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt() && conveyorLineInfoRead.WR_Task > 0 && conveyorLineInfoRead.WR_Request == 98) //涓�妤艰�佸巶鍑哄簱鍙e畬鎴� -- Gitblit v1.9.3