|
|
#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<BaseDeviceInfo> deviceInfos);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
public void RefreshDeviceParams(string hostCode,out List<BaseDeviceInfo> deviceParams)
|
|
|
{
|
|
|
deviceParams = null;
|
|
|
|
|
|
GetHoistStatusResultDto getRes = _hoistAdapter.GetHoistStatus(new GetHoistStatusDto(){hoistCode = hostCode});
|
|
|
|
|
|
if (getRes.code == HoistStatusEnum.成功)
|
|
|
{
|
|
|
deviceParams = JsonConvert.DeserializeObject<List<BaseDeviceInfo>>(getRes.data.deviceParamStr);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
_logger.Info($"设备参数获取失败:{getRes.msg}");
|
|
|
}
|
|
|
}
|
|
|
} |