#region << 版 本 注 释 >> /*-------------------------------------------------------------------- * 版权所有 (c) 2026 WenJY 保留所有权利。 * CLR版本:4.0.30319.42000 * 机器名称:Mr.Wen's MacBook Pro * 命名空间:Sln.Wcs.HoistDispatcher * 唯一标识:764B880E-8084-48A5-B773-95E8EA044319 * * 创建者:WenJY * 电子邮箱: * 创建时间:2026-06-01 13:24:25 * 版本:V1.0.0 * 描述: * *-------------------------------------------------------------------- * 修改人: * 时间: * 修改说明: * * 版本:V1.0.0 *--------------------------------------------------------------------*/ #endregion << 版 本 注 释 >> using Newtonsoft.Json; using Sln.Wcs.HoistAdapter.Domain.Dto.GetHoistStatus; using Sln.Wcs.HoistAdapter.Domain.Enum; using Sln.Wcs.HoistAdapter.Service; using Sln.Wcs.Model.Domain; using Sln.Wcs.Plc.Service; using Sln.Wcs.Repository.service; using Sln.Wcs.Serilog; namespace Sln.Wcs.HoistDispatcher; public class HoistDispatcher { private readonly SerilogHelper _logger; private readonly IHoistService _hoistAdapter; public HoistDispatcher(IHoistService hoistAdapter, SerilogHelper logger) { _hoistAdapter = hoistAdapter; _logger = logger; } public void Run() { _logger.Info("提升机调度就绪,输入 start 启动,stop 停止,quit 退出"); while (true) { var input = Console.ReadLine()?.Trim().ToLower(); switch (input) { case "start": Start(); break; case "stop": Stop(); break; case "quit": Stop(); return; default: _logger.Info("未知指令,可用: start | stop | quit"); break; } } } private void Start() { } private void Stop() { } public void Run(string hostCode,string tagCode,int startPoint,int endPoint) { //收到提升机调度任务 // 1、读取 RFID 条码 // 2、下发提升机任务:起点、终点 // 3、等待提升机完成任务 RefreshDeviceParams(hostCode,out List deviceInfos); } public void RefreshDeviceParams(string hostCode,out List deviceParams) { deviceParams = null; GetHoistStatusResultDto getRes = _hoistAdapter.GetHoistStatus(new GetHoistStatusDto(){hoistCode = hostCode}); if (getRes.code == HoistStatusEnum.成功) { deviceParams = JsonConvert.DeserializeObject>(getRes.data.deviceParamStr); } else { _logger.Info($"设备参数获取失败:{getRes.msg}"); } } }