From d5c610cbf2451bbf9a103c295ae51e541ad98951 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期二, 18 二月 2025 17:16:26 +0800 Subject: [PATCH] 1 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs | 52 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 49 insertions(+), 3 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs" index 505baac..97611b5 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs" @@ -1,4 +1,5 @@ -锘縰sing System; +锘縰sing AutoMapper; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -6,12 +7,57 @@ using WIDESEAWCS_Communicator; using WIDESEAWCS_Core; using WIDESEAWCS_DTO.AGVInfo; +using WIDESEAWCS_DTO.TaskInfo; +using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_QuartzJob; +using WIDESEAWCS_QuartzJob.Service; +using WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineExtend; -namespace WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineExtend +namespace WIDESEAWCS_Tasks { - public class AGVsignal + public partial class AGVsignal { + /// <summary> + /// AGV涓庤緭閫佺嚎浜や簰 + /// </summary> + /// <param name="conveyor"></param> + /// <returns></returns> + public static WebResponseContent AGVRequestin(ConveyorLineDTO conveyor) + { + WebResponseContent content = new WebResponseContent(); + try + { + if (conveyor == null) throw new Exception("璇锋眰鏁版嵁涓虹┖"); + if (string.IsNullOrEmpty(conveyor.Station)) throw new Exception("绔欑偣缂栧彿涓虹┖"); + CommonConveyorLine conveyorLine = Storage.Devices.FirstOrDefault(x => x.DeviceName == "杈撻�佺嚎") as CommonConveyorLine; + if (!conveyorLine.IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�"); + switch (conveyor.Type) + { + case 1: + content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestPut, true, conveyor.Station); + if (content.Status) content.Status = conveyorLine.GetValue<ConveyorLine_AGV, bool>(ConveyorLine_AGV.ConveyorLinePermitPut, conveyor.Station); + break; + case 2: + content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVPutComplete, true, conveyor.Station); + break; + case 3: + content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestTake, true, conveyor.Station); + if (content.Status) content.Status = conveyorLine.GetValue<ConveyorLine_AGV, bool>(ConveyorLine_AGV.ConveyorLinePermitTake, conveyor.Station); + break; + case 4: + content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVTakeComplete, true, conveyor.Station); + break; + default: throw new Exception($"绫诲瀷鏈夎[Type锛歿conveyor.Type}]"); + } + content = content.Status ? content.OK() : content.Error(); + } + catch (Exception ex) + { + content.Error(ex.Message); + } + return content; + } + public static WebResponseContent AGVRequestin<T>(T conveyor) where T : ConveyorLineDTO, new() { WebResponseContent content = new WebResponseContent(); -- Gitblit v1.9.3