diff --git a/SLn.Wcs.ElevatorSdk/SLn.Wcs.ElevatorSdk.csproj b/SLn.Wcs.ElevatorSdk/SLn.Wcs.ElevatorSdk.csproj deleted file mode 100644 index fa71b7a..0000000 --- a/SLn.Wcs.ElevatorSdk/SLn.Wcs.ElevatorSdk.csproj +++ /dev/null @@ -1,9 +0,0 @@ - - - - net8.0 - enable - enable - - - diff --git a/SLn.Wcs.ElevatorSdk/Sln.Wcs.ElevatorSdk.csproj b/SLn.Wcs.ElevatorSdk/Sln.Wcs.ElevatorSdk.csproj deleted file mode 100644 index fa71b7a..0000000 --- a/SLn.Wcs.ElevatorSdk/Sln.Wcs.ElevatorSdk.csproj +++ /dev/null @@ -1,9 +0,0 @@ - - - - net8.0 - enable - enable - - - diff --git a/Sln.Wcs.HikRoBotSdk/Config/HikRoBotConfig.cs b/Sln.Wcs.HikRoBotSdk/Config/HikRoBotConfig.cs index 02fa030..8183542 100644 --- a/Sln.Wcs.HikRoBotSdk/Config/HikRoBotConfig.cs +++ b/Sln.Wcs.HikRoBotSdk/Config/HikRoBotConfig.cs @@ -76,12 +76,6 @@ namespace Sln.Wcs.HikRoBotSdk.Config //version = configuration["sdk_version"]; //test = configuration["sdk_test"]; - // api = "http://www.fangcang.com/tmc-hub/queryProductDetail"; - // partnerId = "P10000408"; - // accesskey = ""; - // secretkey = "lwdmmuVfbKLRhgihMycWTz6T"; - // version = "1.0.0"; - } } } diff --git a/Sln.Wcs.HoistApi/Domain/Dto/HoistControl/HoistControlDto.cs b/Sln.Wcs.HoistApi/Domain/Dto/HoistControl/HoistControlDto.cs new file mode 100644 index 0000000..05f0947 --- /dev/null +++ b/Sln.Wcs.HoistApi/Domain/Dto/HoistControl/HoistControlDto.cs @@ -0,0 +1,41 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistApi.Domain.Dto.HoistControl +* 唯一标识:2B61FFB2-F10E-47BC-8B36-56524EB4F054 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 14:20:07 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +using Sln.Wcs.HoistApi.Domain.Enum; + +namespace Sln.Wcs.HoistApi.Domain.Dto.HoistControl; + +public class HoistControlDto +{ + /// + /// 提升机编号 + /// + public string hoistCode { get; set; } + + /// + /// 动作 + /// + public ControlAction action { get; set; } +} \ No newline at end of file diff --git a/Sln.Wcs.HoistApi/Domain/Dto/HoistControl/HoistControlResultDto.cs b/Sln.Wcs.HoistApi/Domain/Dto/HoistControl/HoistControlResultDto.cs new file mode 100644 index 0000000..90bb33a --- /dev/null +++ b/Sln.Wcs.HoistApi/Domain/Dto/HoistControl/HoistControlResultDto.cs @@ -0,0 +1,35 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistApi.Domain.Dto.HoistControl +* 唯一标识:2D12D182-6A86-4516-8AF2-B8E8FAC44CC6 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 14:20:15 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +using Sln.Wcs.Common.Domain.Dto; +using Sln.Wcs.HoistApi.Domain.Enum; +using Sln.Wcs.HoistApi.Domain.Model.HoistControl; + +namespace Sln.Wcs.HoistApi.Domain.Dto.HoistControl; + +public class HoistControlResultDto:ResultDto +{ + +} \ No newline at end of file diff --git a/Sln.Wcs.HoistApi/Domain/Dto/HoistTaskExecutor/HoistTaskExeDto.cs b/Sln.Wcs.HoistApi/Domain/Dto/HoistTaskExecutor/HoistTaskExeDto.cs new file mode 100644 index 0000000..f2553c0 --- /dev/null +++ b/Sln.Wcs.HoistApi/Domain/Dto/HoistTaskExecutor/HoistTaskExeDto.cs @@ -0,0 +1,49 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistApi.Domain.Dto.HoistTaskExecutor +* 唯一标识:217D981D-DC12-4004-9B15-30E2C1D091C1 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 14:20:27 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +namespace Sln.Wcs.HoistApi.Domain.Dto.HoistTaskExecutor; + +public class HoistTaskExeDto +{ + /// + /// 提升机编号 + /// + public string hoistCode { get; set; } + + /// + /// 任务编号 + /// + public string taskCode { get; set; } + + /// + /// 起点 + /// + public int startPosition { get; set; } + + /// + /// 终点 + /// + public int endPosition { get; set; } +} \ No newline at end of file diff --git a/Sln.Wcs.HoistApi/Domain/Dto/HoistTaskExecutor/HoistTaskExeResultDto.cs b/Sln.Wcs.HoistApi/Domain/Dto/HoistTaskExecutor/HoistTaskExeResultDto.cs new file mode 100644 index 0000000..efd2e7e --- /dev/null +++ b/Sln.Wcs.HoistApi/Domain/Dto/HoistTaskExecutor/HoistTaskExeResultDto.cs @@ -0,0 +1,35 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistApi.Domain.Dto.HoistTaskExecutor +* 唯一标识:399F7475-BEC6-42FA-AF32-AC99F5CBC35F +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 14:20:34 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +using Sln.Wcs.Common.Domain.Dto; +using Sln.Wcs.HoistApi.Domain.Enum; +using Sln.Wcs.HoistApi.Domain.Model.HoistTaskExecutor; + +namespace Sln.Wcs.HoistApi.Domain.Dto.HoistTaskExecutor; + +public class HoistTaskExeResultDto:ResultDto +{ + +} \ No newline at end of file diff --git a/Sln.Wcs.HoistApi/Domain/Enum/ControlAction.cs b/Sln.Wcs.HoistApi/Domain/Enum/ControlAction.cs new file mode 100644 index 0000000..bb87240 --- /dev/null +++ b/Sln.Wcs.HoistApi/Domain/Enum/ControlAction.cs @@ -0,0 +1,29 @@ +namespace Sln.Wcs.HoistApi.Domain.Enum; + +public enum ControlAction +{ + /// + /// 移动 + /// + Move, + + /// + /// 开启 + /// + Start, + + /// + /// 停止 + /// + Stop, + + /// + /// 复位 + /// + Reset, + + /// + /// 校准 + /// + Calibrate +} \ No newline at end of file diff --git a/Sln.Wcs.HoistApi/Domain/Enum/HoistStatusEnum.cs b/Sln.Wcs.HoistApi/Domain/Enum/HoistStatusEnum.cs new file mode 100644 index 0000000..a427740 --- /dev/null +++ b/Sln.Wcs.HoistApi/Domain/Enum/HoistStatusEnum.cs @@ -0,0 +1,11 @@ +namespace Sln.Wcs.HoistApi.Domain.Enum; + +public enum HoistStatusEnum +{ + 成功 = 0, + 参数相关的错误 = 1, + 重复发送上层系统不需要重发 = 6, + 其他未知错误调用失败后可以重试 = 99, + 该任务不存在上层系统不需重发需要人工介入处理=100, + SDK调用异常=101, +} \ No newline at end of file diff --git a/Sln.Wcs.HoistApi/Domain/Model/HoistControl/HoistControlResultModel.cs b/Sln.Wcs.HoistApi/Domain/Model/HoistControl/HoistControlResultModel.cs new file mode 100644 index 0000000..d33a42e --- /dev/null +++ b/Sln.Wcs.HoistApi/Domain/Model/HoistControl/HoistControlResultModel.cs @@ -0,0 +1,44 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistApi.Domain.Model.HoistControl +* 唯一标识:4974C976-A0D5-4FB2-B4AD-F45E11935008 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 14:19:16 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +namespace Sln.Wcs.HoistApi.Domain.Model.HoistControl; + +public class HoistControlResultModel +{ + /// + /// 返回码 + /// + public string code { get; set; } + + /// + /// 返回消息 + /// + public string message { get; set; } + + /// + /// 任务编号 + /// + public string taskCode { get; set; } +} \ No newline at end of file diff --git a/Sln.Wcs.HoistApi/Domain/Model/HoistTaskExecutor/HoistTaskExeResultModel.cs b/Sln.Wcs.HoistApi/Domain/Model/HoistTaskExecutor/HoistTaskExeResultModel.cs new file mode 100644 index 0000000..cff708f --- /dev/null +++ b/Sln.Wcs.HoistApi/Domain/Model/HoistTaskExecutor/HoistTaskExeResultModel.cs @@ -0,0 +1,44 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistApi.Domain.Model.HoistTaskExecutor +* 唯一标识:A4E0666A-66FA-46AE-B783-E385F905092E +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 14:19:40 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +namespace Sln.Wcs.HoistApi.Domain.Model.HoistTaskExecutor; + +public class HoistTaskExeResultModel +{ + /// + /// 返回码 + /// + public string code { get; set; } + + /// + /// 返回消息 + /// + public string message { get; set; } + + /// + /// 任务编号 + /// + public string taskCode { get; set; } +} \ No newline at end of file diff --git a/Sln.Wcs.HoistApi/Service/IHoistApiService.cs b/Sln.Wcs.HoistApi/Service/IHoistApiService.cs new file mode 100644 index 0000000..6941516 --- /dev/null +++ b/Sln.Wcs.HoistApi/Service/IHoistApiService.cs @@ -0,0 +1,47 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistApi.Service +* 唯一标识:6A17F59C-C8AD-4A71-BF65-59412634AF88 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 14:23:32 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +using Sln.Wcs.HoistApi.Domain.Dto.HoistControl; +using Sln.Wcs.HoistApi.Domain.Dto.HoistTaskExecutor; + +namespace Sln.Wcs.HoistApi.Service; + +public interface IHoistApiService +{ + /// + /// 提升机控制 + /// MOVE_TO, STOP, EMERGENCY_STOP, RESET, CALIBRATE + /// + /// + /// + HoistControlResultDto HoistControl(HoistControlDto hoistControlDto); + + /// + /// 提升机任务执行 + /// + /// + /// + HoistTaskExeResultDto HoistTaskExecutor(HoistTaskExeDto hoistTaskExeDto); +} \ No newline at end of file diff --git a/Sln.Wcs.HoistApi/Service/Impl/HoistApiService.cs b/Sln.Wcs.HoistApi/Service/Impl/HoistApiService.cs new file mode 100644 index 0000000..e24b8f9 --- /dev/null +++ b/Sln.Wcs.HoistApi/Service/Impl/HoistApiService.cs @@ -0,0 +1,146 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistApi.Service.Impl +* 唯一标识:E44EB57C-A5C0-49F3-9C90-602B14CF613B +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 14:23:55 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +using Sln.Wcs.HoistApi.Domain.Dto.HoistControl; +using Sln.Wcs.HoistApi.Domain.Dto.HoistTaskExecutor; +using Sln.Wcs.HoistApi.Domain.Enum; +using Sln.Wcs.HoistApi.Domain.Model.HoistControl; +using Sln.Wcs.HoistApi.Domain.Model.HoistTaskExecutor; +using Sln.Wcs.HoistApi.Util; +using Sln.Wcs.HoistSdk; + +namespace Sln.Wcs.HoistApi.Service.Impl; + +public class HoistApiService:IHoistApiService +{ + + private readonly IHoistSdk hoistSdk; + private readonly ApiResultCodeUtil codeUtil; + + public HoistApiService(IHoistSdk hoistSdk, ApiResultCodeUtil codeUtil) + { + this.hoistSdk = hoistSdk; + this.codeUtil = codeUtil; + } + + /// + /// 提升机控制 + /// + /// + /// + /// + public HoistControlResultDto HoistControl(HoistControlDto hoistControlDto) + { + try + { + if (hoistControlDto == null) + { + throw new ArgumentException($"输入参数为空。"); + } + + var data = new HoistSdk.Dto.HoistControl.HoistControlDto() + { + hoistCode = hoistControlDto.hoistCode, + action = (HoistSdk.Enum.ControlAction)hoistControlDto.action, + }; + + var resp = this.hoistSdk.HoistControl(data); + + bool parseRes = this.codeUtil.parse(resp.code, resp.message, out HoistStatusEnum hoistStatusEnum); + + return new HoistControlResultDto() + { + code = hoistStatusEnum, + msg = resp.message, + data = new HoistControlResultModel() + { + code = resp.code, + message = resp.message, + taskCode = resp.taskCode, + }, + }; + + } + catch (Exception ex) + { + return new HoistControlResultDto() + { + code = HoistStatusEnum.SDK调用异常, + msg = ex.Message, + }; + } + } + + /// + /// 提升机任务执行 + /// + /// + /// + /// + public HoistTaskExeResultDto HoistTaskExecutor(HoistTaskExeDto hoistTaskExeDto) + { + try + { + if (hoistTaskExeDto == null) + { + throw new ArgumentException($"输入参数为空。"); + } + + var data = new HoistSdk.Dto.HoistTaskExecutor.HoistTaskExeDto() + { + hoistCode = hoistTaskExeDto.hoistCode, + taskCode = hoistTaskExeDto.taskCode, + startPosition = hoistTaskExeDto.startPosition, + endPosition = hoistTaskExeDto.endPosition, + + }; + + var resp = this.hoistSdk.HoistTaskExecutor(data); + + bool parseRes = this.codeUtil.parse(resp.code, resp.message, out HoistStatusEnum hoistStatusEnum); + + return new HoistTaskExeResultDto() + { + code = hoistStatusEnum, + msg = resp.message, + data = new HoistTaskExeResultModel() + { + code = resp.code, + message = resp.message, + taskCode = resp.taskCode, + }, + }; + + } + catch (Exception ex) + { + return new HoistTaskExeResultDto() + { + code = HoistStatusEnum.SDK调用异常, + msg = ex.Message, + }; + } + } +} \ No newline at end of file diff --git a/Sln.Wcs.HoistApi/Util/ApiResultCodeUtil.cs b/Sln.Wcs.HoistApi/Util/ApiResultCodeUtil.cs new file mode 100644 index 0000000..d4b7d10 --- /dev/null +++ b/Sln.Wcs.HoistApi/Util/ApiResultCodeUtil.cs @@ -0,0 +1,73 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistApi.Util +* 唯一标识:50A6C50A-87A8-4CC1-98DF-5C2943AB8ED5 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 14:53:36 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +using Sln.Wcs.HoistApi.Domain.Enum; + +namespace Sln.Wcs.HoistApi.Util; + +public class ApiResultCodeUtil +{ + /// + /// + /// + /// + /// + /// + /// + public bool parse(string respCode, string respMsg, out HoistStatusEnum hoistStatusEnum) + { + bool isRes = false; + + hoistStatusEnum = HoistStatusEnum.成功; + + switch (respCode) + { + case "0": + if (respMsg.Contains("成功")) + { + hoistStatusEnum = HoistStatusEnum.成功; + isRes = true; + } + break; + case "1": + hoistStatusEnum = HoistStatusEnum.参数相关的错误; + break; + case "6": + hoistStatusEnum = HoistStatusEnum.重复发送上层系统不需要重发; + break; + case "99": + hoistStatusEnum = HoistStatusEnum.其他未知错误调用失败后可以重试; + break; + case "100": + hoistStatusEnum = HoistStatusEnum.该任务不存在上层系统不需重发需要人工介入处理; + break; + default: + isRes = true; + break; + } + + return isRes; + } +} \ No newline at end of file diff --git a/Sln.Wcs.HoistSdk/Config/HoistConfig.cs b/Sln.Wcs.HoistSdk/Config/HoistConfig.cs new file mode 100644 index 0000000..610c2f8 --- /dev/null +++ b/Sln.Wcs.HoistSdk/Config/HoistConfig.cs @@ -0,0 +1,48 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistSdk.Config +* 唯一标识:AA1E9832-59AA-4CF2-A317-241D2634FBF2 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 14:10:45 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +using Microsoft.Extensions.Configuration; + +namespace Sln.Wcs.HoistSdk.Config; + +public class HoistConfig +{ + public readonly string str = ""; + + /// + /// 注入提升机配置文件 + /// + /// + /// + public HoistConfig(IConfiguration configuration) + { + if (string.IsNullOrEmpty(configuration["str"])) + { + throw new Exception("str 配置不正确,请检查Apollo配置."); + } + + str = configuration["str"]; + } +} \ No newline at end of file diff --git a/Sln.Wcs.HoistSdk/Dto/HoistControl/HoistControlDto.cs b/Sln.Wcs.HoistSdk/Dto/HoistControl/HoistControlDto.cs new file mode 100644 index 0000000..87714f4 --- /dev/null +++ b/Sln.Wcs.HoistSdk/Dto/HoistControl/HoistControlDto.cs @@ -0,0 +1,41 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistSdk.HoistControl +* 唯一标识:DBFC7326-690D-41AE-8ACA-E6447525508F +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 13:31:13 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +using Sln.Wcs.HoistSdk.Enum; + +namespace Sln.Wcs.HoistSdk.Dto.HoistControl; + +public class HoistControlDto +{ + /// + /// 提升机编号 + /// + public string hoistCode { get; set; } + + /// + /// 动作 + /// + public ControlAction action { get; set; } +} \ No newline at end of file diff --git a/Sln.Wcs.HoistSdk/Dto/HoistControl/HoistControlResultDto.cs b/Sln.Wcs.HoistSdk/Dto/HoistControl/HoistControlResultDto.cs new file mode 100644 index 0000000..12117bc --- /dev/null +++ b/Sln.Wcs.HoistSdk/Dto/HoistControl/HoistControlResultDto.cs @@ -0,0 +1,44 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistSdk.HoistControl +* 唯一标识:C07056AD-8242-4096-88D0-B82DB5024F0E +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 13:31:32 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +namespace Sln.Wcs.HoistSdk.Dto.HoistControl; + +public class HoistControlResultDto +{ + /// + /// 返回码 + /// + public string code { get; set; } + + /// + /// 返回消息 + /// + public string message { get; set; } + + /// + /// 任务编号 + /// + public string taskCode { get; set; } +} \ No newline at end of file diff --git a/Sln.Wcs.HoistSdk/Dto/HoistTaskExecutor/HoistTaskExeDto.cs b/Sln.Wcs.HoistSdk/Dto/HoistTaskExecutor/HoistTaskExeDto.cs new file mode 100644 index 0000000..92ca41e --- /dev/null +++ b/Sln.Wcs.HoistSdk/Dto/HoistTaskExecutor/HoistTaskExeDto.cs @@ -0,0 +1,49 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistSdk.Dto.HoistTaskExecutor +* 唯一标识:56358DE7-36A6-4906-926B-DFDF21A3EBE2 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 14:02:02 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +namespace Sln.Wcs.HoistSdk.Dto.HoistTaskExecutor; + +public class HoistTaskExeDto +{ + /// + /// 提升机编号 + /// + public string hoistCode { get; set; } + + /// + /// 任务编号 + /// + public string taskCode { get; set; } + + /// + /// 起点 + /// + public int startPosition { get; set; } + + /// + /// 终点 + /// + public int endPosition { get; set; } +} \ No newline at end of file diff --git a/Sln.Wcs.HoistSdk/Dto/HoistTaskExecutor/HoistTaskExeResultDto.cs b/Sln.Wcs.HoistSdk/Dto/HoistTaskExecutor/HoistTaskExeResultDto.cs new file mode 100644 index 0000000..3ae85a6 --- /dev/null +++ b/Sln.Wcs.HoistSdk/Dto/HoistTaskExecutor/HoistTaskExeResultDto.cs @@ -0,0 +1,44 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistSdk.Dto.HoistTaskExecutor +* 唯一标识:5C951BAC-FDE6-4458-A559-BF31508EEE64 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 14:02:41 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +namespace Sln.Wcs.HoistSdk.Dto.HoistTaskExecutor; + +public class HoistTaskExeResultDto +{ + /// + /// 返回码 + /// + public string code { get; set; } + + /// + /// 返回消息 + /// + public string message { get; set; } + + /// + /// 任务编号 + /// + public string taskCode { get; set; } +} \ No newline at end of file diff --git a/Sln.Wcs.HoistSdk/Enum/ControlAction.cs b/Sln.Wcs.HoistSdk/Enum/ControlAction.cs new file mode 100644 index 0000000..aef5b7c --- /dev/null +++ b/Sln.Wcs.HoistSdk/Enum/ControlAction.cs @@ -0,0 +1,29 @@ +namespace Sln.Wcs.HoistSdk.Enum; + +public enum ControlAction +{ + /// + /// 移动 + /// + Move, + + /// + /// 开启 + /// + Start, + + /// + /// 停止 + /// + Stop, + + /// + /// 复位 + /// + Reset, + + /// + /// 校准 + /// + Calibrate +} \ No newline at end of file diff --git a/Sln.Wcs.HoistSdk/HoistSdk.cs b/Sln.Wcs.HoistSdk/HoistSdk.cs new file mode 100644 index 0000000..37ca188 --- /dev/null +++ b/Sln.Wcs.HoistSdk/HoistSdk.cs @@ -0,0 +1,50 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistSdk +* 唯一标识:6BE2CE90-15BA-43B1-88B0-78853870ECDA +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 14:09:47 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +using Sln.Wcs.HoistSdk.Config; +using Sln.Wcs.HoistSdk.Dto.HoistControl; +using Sln.Wcs.HoistSdk.Dto.HoistTaskExecutor; + +namespace Sln.Wcs.HoistSdk; + +public class HoistSdk:IHoistSdk +{ + private readonly HoistConfig hoistConfig; + + public HoistSdk(HoistConfig hoistConfig) + { + this.hoistConfig = hoistConfig; + } + + public HoistControlResultDto HoistControl(HoistControlDto hoistControlDto) + { + throw new NotImplementedException(); + } + + public HoistTaskExeResultDto HoistTaskExecutor(HoistTaskExeDto hoistTaskExeDto) + { + throw new NotImplementedException(); + } +} \ No newline at end of file diff --git a/Sln.Wcs.HoistSdk/IHoistSdk.cs b/Sln.Wcs.HoistSdk/IHoistSdk.cs new file mode 100644 index 0000000..d09baf6 --- /dev/null +++ b/Sln.Wcs.HoistSdk/IHoistSdk.cs @@ -0,0 +1,52 @@ +#region << 版 本 注 释 >> + +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:Mr.Wen's MacBook Pro +* 命名空间:Sln.Wcs.HoistSdk +* 唯一标识:D153DAFD-9BE2-4169-A3D3-B567FD243820 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-05-06 13:29:11 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ + +#endregion << 版 本 注 释 >> + +using Sln.Wcs.HoistSdk.Dto.HoistControl; +using Sln.Wcs.HoistSdk.Dto.HoistTaskExecutor; + +namespace Sln.Wcs.HoistSdk; + +/// +/// 提升机 SDK +/// +public interface IHoistSdk +{ + /// + /// 提升机控制 + /// MOVE_TO, STOP, EMERGENCY_STOP, RESET, CALIBRATE + /// + /// + /// + HoistControlResultDto HoistControl(HoistControlDto hoistControlDto); + + /// + /// 提升机任务执行 + /// + /// + /// + HoistTaskExeResultDto HoistTaskExecutor(HoistTaskExeDto hoistTaskExeDto); + + +} \ No newline at end of file diff --git a/Sln.Wcs.sln b/Sln.Wcs.sln index 05edac7..b8f87e6 100644 --- a/Sln.Wcs.sln +++ b/Sln.Wcs.sln @@ -14,14 +14,16 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sln.Wcs.Model", "Sln.Wcs.Mo EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sln.Wcs.Plc", "Sln.Wcs.Plc\Sln.Wcs.Plc.csproj", "{ECB2A29C-7A82-83D1-F9FD-5B8C41E55261}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sln.Wcs.ElevatorSdk", "SLn.Wcs.ElevatorSdk\Sln.Wcs.ElevatorSdk.csproj", "{504764BF-FD5F-4BE5-80C5-061C2EE9C79B}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sln.Wcs.Serilog", "Sln.Wcs.Serilog\Sln.Wcs.Serilog.csproj", "{5EF250AE-58B8-4C39-8F36-A579EA252A5C}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sln.Wcs.Repository", "Sln.Wcs.Repository\Sln.Wcs.Repository.csproj", "{549AF273-88BE-4316-88F8-CAD82BC5F1E7}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sln.Wcs.Cache", "Sln.Wcs.Cache\Sln.Wcs.Cache.csproj", "{97940311-1DE9-4282-8EE0-0174513BF245}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sln.Wcs.HoistSdk", "Sln.Wcs.HoistSdk\Sln.Wcs.HoistSdk.csproj", "{535F03DD-0A8C-45D6-A773-2C1E808B0CB4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sln.Wcs.HoistApi", "Sln.Wcs.HoistApi\Sln.Wcs.HoistApi.csproj", "{3839B3AA-D893-46ED-8230-4B22C071CC00}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -52,10 +54,6 @@ Global {ECB2A29C-7A82-83D1-F9FD-5B8C41E55261}.Debug|Any CPU.Build.0 = Debug|Any CPU {ECB2A29C-7A82-83D1-F9FD-5B8C41E55261}.Release|Any CPU.ActiveCfg = Release|Any CPU {ECB2A29C-7A82-83D1-F9FD-5B8C41E55261}.Release|Any CPU.Build.0 = Release|Any CPU - {504764BF-FD5F-4BE5-80C5-061C2EE9C79B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {504764BF-FD5F-4BE5-80C5-061C2EE9C79B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {504764BF-FD5F-4BE5-80C5-061C2EE9C79B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {504764BF-FD5F-4BE5-80C5-061C2EE9C79B}.Release|Any CPU.Build.0 = Release|Any CPU {5EF250AE-58B8-4C39-8F36-A579EA252A5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5EF250AE-58B8-4C39-8F36-A579EA252A5C}.Debug|Any CPU.Build.0 = Debug|Any CPU {5EF250AE-58B8-4C39-8F36-A579EA252A5C}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -68,6 +66,14 @@ Global {97940311-1DE9-4282-8EE0-0174513BF245}.Debug|Any CPU.Build.0 = Debug|Any CPU {97940311-1DE9-4282-8EE0-0174513BF245}.Release|Any CPU.ActiveCfg = Release|Any CPU {97940311-1DE9-4282-8EE0-0174513BF245}.Release|Any CPU.Build.0 = Release|Any CPU + {535F03DD-0A8C-45D6-A773-2C1E808B0CB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {535F03DD-0A8C-45D6-A773-2C1E808B0CB4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {535F03DD-0A8C-45D6-A773-2C1E808B0CB4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {535F03DD-0A8C-45D6-A773-2C1E808B0CB4}.Release|Any CPU.Build.0 = Release|Any CPU + {3839B3AA-D893-46ED-8230-4B22C071CC00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3839B3AA-D893-46ED-8230-4B22C071CC00}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3839B3AA-D893-46ED-8230-4B22C071CC00}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3839B3AA-D893-46ED-8230-4B22C071CC00}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Sln.Wcs/Program.cs b/Sln.Wcs/Program.cs index adda1de..3690ff8 100644 --- a/Sln.Wcs/Program.cs +++ b/Sln.Wcs/Program.cs @@ -45,6 +45,8 @@ namespace Sln.Wcs Assembly.LoadFrom(Path.Combine(basePath, "Sln.Wcs.Repository.dll")), Assembly.LoadFrom(Path.Combine(basePath, "Sln.Wcs.HikRoBotApi.dll")), Assembly.LoadFrom(Path.Combine(basePath, "Sln.Wcs.HikRoBotSdk.dll")), + Assembly.LoadFrom(Path.Combine(basePath, "Sln.Wcs.HoistApi.dll")), + Assembly.LoadFrom(Path.Combine(basePath, "Sln.Wcs.HoistSdk.dll")), }; services.Scan(scan => scan.FromAssemblies(assemblies) diff --git a/Sln.Wcs/Sln.Wcs.csproj b/Sln.Wcs/Sln.Wcs.csproj index 930eee3..dce3e8b 100644 --- a/Sln.Wcs/Sln.Wcs.csproj +++ b/Sln.Wcs/Sln.Wcs.csproj @@ -29,6 +29,8 @@ + +