#region << 版 本 注 释 >> /*-------------------------------------------------------------------- * 版权所有 (c) 2026 WenJY 保留所有权利。 * CLR版本:4.0.30319.42000 * 机器名称:Mr.Wen's MacBook Pro * 命名空间:Sln.Wcs.HoistAdapter.Service.Impl * 唯一标识:E44EB57C-A5C0-49F3-9C90-602B14CF613B * * 创建者:WenJY * 电子邮箱: * 创建时间:2026-05-06 14:23:55 * 版本:V1.0.0 * 描述: * *-------------------------------------------------------------------- * 修改人: * 时间: * 修改说明: * * 版本:V1.0.0 *--------------------------------------------------------------------*/ #endregion << 版 本 注 释 >> using Sln.Wcs.HoistAdapter.Domain.Dto.GetHoistStatus; using Sln.Wcs.HoistAdapter.Domain.Dto.HoistTaskExecutor; using Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistAction; using Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistAlarm; using Sln.Wcs.HoistAdapter.Domain.Dto.SetHoistTask; using Sln.Wcs.HoistAdapter.Domain.Enum; using Sln.Wcs.HoistAdapter.Domain.Model.GetHoistStatus; using Sln.Wcs.HoistAdapter.Domain.Model.SetHoistAction; using Sln.Wcs.HoistAdapter.Domain.Model.SetHoistAlarm; using Sln.Wcs.HoistAdapter.Domain.Model.SetHoistTask; using Sln.Wcs.HoistAdapter.Util; using Sln.Wcs.HoistSdk; namespace Sln.Wcs.HoistAdapter.Service.Impl; public class HoistService:IHoistService { private readonly IHoistSdk hoistSdk; private readonly ApiResultCodeUtil codeUtil; public HoistService(IHoistSdk hoistSdk, ApiResultCodeUtil codeUtil) { this.hoistSdk = hoistSdk; this.codeUtil = codeUtil; } /// /// 设置提升机动作 /// /// /// /// public SetHoistActionResultDto SetHoistAction(SetHoistActionDto setHoistActionDto) { try { if (setHoistActionDto == null) { throw new ArgumentException($"输入参数为空。"); } var data = new HoistSdk.Dto.HoistControl.SetHoistActionDto() { hoistCode = setHoistActionDto.hoistCode, action = (HoistSdk.Enum.ControlAction)setHoistActionDto.action, }; var resp = this.hoistSdk.SetHoistAction(data); bool parseRes = this.codeUtil.parse(resp.code, resp.message, out HoistStatusEnum hoistStatusEnum); return new SetHoistActionResultDto() { code = hoistStatusEnum, msg = resp.message, data = new SetHoistActionResultModel() { code = resp.code, message = resp.message, taskCode = resp.taskCode, }, }; } catch (Exception ex) { return new SetHoistActionResultDto() { code = HoistStatusEnum.SDK调用异常, msg = ex.Message, }; } } /// /// 设置提升机任务 /// /// /// /// public SetHoistTaskResultDto SetHoistTask(SetHoistTaskDto setHoistTaskDto) { try { if (setHoistTaskDto == null) { throw new ArgumentException($"输入参数为空。"); } var data = new HoistSdk.Dto.SetHoistTask.SetHoistTaskDto() { hoistCode = setHoistTaskDto.hoistCode, taskCode = setHoistTaskDto.taskCode, deviceSerialNo = setHoistTaskDto.deviceSerialNo, startPoint = setHoistTaskDto.startPoint, endPoint = setHoistTaskDto.endPoint, }; var resp = this.hoistSdk.SetHoistTask(data); bool parseRes = this.codeUtil.parse(resp.code, resp.message, out HoistStatusEnum hoistStatusEnum); return new SetHoistTaskResultDto() { code = hoistStatusEnum, msg = resp.message, data = new SetHoistTaskResultModel() { code = resp.code, message = resp.message, taskCode = resp.taskCode, }, }; } catch (Exception ex) { return new SetHoistTaskResultDto() { code = HoistStatusEnum.SDK调用异常, msg = ex.Message, }; } } /// /// 获取提升机状态 /// /// /// /// public GetHoistStatusResultDto GetHoistStatus(GetHoistStatusDto hoistStatusDto) { try { if (hoistStatusDto == null) { throw new ArgumentException($"输入参数为空。"); } var data = new HoistSdk.Dto.GetHoistStatus.GetHoistStatusDto() { hoistCode = hoistStatusDto.hoistCode, }; var resp = this.hoistSdk.GetHoistStatus(data); bool parseRes = this.codeUtil.parse(resp.code, resp.message, out HoistStatusEnum hoistStatusEnum); return new GetHoistStatusResultDto() { code = hoistStatusEnum, msg = resp.message, data = new GetHoistStatusResultModel() { code = resp.code, message = resp.message, hoistCode = resp.hoistCode, deviceParamStr = resp.deviceParamStr }, }; } catch (Exception ex) { return new GetHoistStatusResultDto() { code = HoistStatusEnum.SDK调用异常, msg = ex.Message, }; } } /// /// 设置提升机报警 /// /// /// /// public SetHoistAlarmResultDto SetHoistAlarm(SetHoistAlarmDto hoistAlarmDto) { try { if (hoistAlarmDto == null) { throw new ArgumentException($"输入参数为空。"); } var data = new HoistSdk.Dto.SetHoistAlarm.SetHoistAlarmDto() { hoistCode = hoistAlarmDto.hoistCode, deviceSerialNo = hoistAlarmDto.deviceSerialNo, key = hoistAlarmDto.key, value = hoistAlarmDto.value, }; var resp = this.hoistSdk.SetHoistAlarm(data); bool parseRes = this.codeUtil.parse(resp.code, resp.message, out HoistStatusEnum hoistStatusEnum); return new SetHoistAlarmResultDto() { code = hoistStatusEnum, msg = resp.message, data = new SetHoistAlarmResultModel() { code = resp.code, message = resp.message, }, }; } catch (Exception ex) { return new SetHoistAlarmResultDto() { code = HoistStatusEnum.SDK调用异常, msg = ex.Message, }; } } }