From d2194d17c0d476395f35371f48eb591c86deca50 Mon Sep 17 00:00:00 2001 From: wenjy Date: Wed, 25 Feb 2026 15:14:03 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=20=E6=8A=BD=E8=B1=A1=E5=87=BA?= =?UTF-8?q?=E6=B5=B7=E5=BA=B7SDK=EF=BC=8C=E5=B0=86SDK=E4=B8=8EAPI=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E5=88=86=E7=A6=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sln.Wcs.Common/Domain/Dto/ResultDto.cs | 4 +- .../Domain/Dto/CancelTask/CancelTaskDto.cs | 69 +++++++ .../Dto/CancelTask/CancelTaskResultDto.cs | 18 +- .../Dto/ContinueTask/ContinueTaskDto.cs | 71 +++++++ .../Dto/ContinueTask/ContinueTaskResultDto.cs | 41 ++++ .../GenAgvSchedulingTaskDto.cs | 175 ++++++++++++++++++ .../GenAgvSchedulingTaskResultDto.cs | 18 +- .../Domain/Enum/HikRoBotStatusEnum.cs | 20 +- .../Model/CancelTask/CancelTaskResultModel.cs | 51 +++++ .../ContinueTask/ContinueTaskResultModel.cs | 51 +++++ .../GenAgvSchedulingTaskResultModel.cs | 8 +- .../Sln.Wcs.HikRoBotApi.csproj | 0 Sln.Wcs.HikRoBotApi/Util/ApiResultCodeUtil.cs | 77 ++++++++ Sln.Wcs.HikRoBotSdk/Config/HikRoBotConfig.cs | 87 +++++++++ .../Dto/CancelTask/CancelTaskDto.cs | 70 +++++++ .../Dto/CancelTask/CancelTaskResultDto.cs | 48 +++++ .../Dto/ContinueTask/ContinueTaskDto.cs | 71 +++++++ .../Dto/ContinueTask/ContinueTaskResultDto.cs | 48 +++++ .../GenAgvSchedulingTaskDto.cs | 158 ++++++++++++++++ .../GenAgvSchedulingTaskResultDto.cs | 56 ++++++ .../Dto/GenAgvSchedulingTask/Position.cs | 43 +++++ Sln.Wcs.HikRoBotSdk/HIkRoBotSdk.cs | 94 ++++++++++ .../Sln.Wcs.HikRoBotSdk.csproj | 16 ++ Sln.Wcs.sln | 20 +- 24 files changed, 1276 insertions(+), 38 deletions(-) create mode 100644 Sln.Wcs.HikRoBotApi/Domain/Dto/CancelTask/CancelTaskDto.cs rename Sln.Wcs.Api/Domain/Dto/genAgvSchedulingTask/GenAgvSchedulingTaskDto.cs => Sln.Wcs.HikRoBotApi/Domain/Dto/CancelTask/CancelTaskResultDto.cs (59%) create mode 100644 Sln.Wcs.HikRoBotApi/Domain/Dto/ContinueTask/ContinueTaskDto.cs create mode 100644 Sln.Wcs.HikRoBotApi/Domain/Dto/ContinueTask/ContinueTaskResultDto.cs create mode 100644 Sln.Wcs.HikRoBotApi/Domain/Dto/GenAgvSchedulingTask/GenAgvSchedulingTaskDto.cs rename {Sln.Wcs.Api/Domain/Dto/genAgvSchedulingTask => Sln.Wcs.HikRoBotApi/Domain/Dto/GenAgvSchedulingTask}/GenAgvSchedulingTaskResultDto.cs (61%) rename Sln.Wcs.Api/Domain/Enum/ApiBaseStatusEnum.cs => Sln.Wcs.HikRoBotApi/Domain/Enum/HikRoBotStatusEnum.cs (58%) create mode 100644 Sln.Wcs.HikRoBotApi/Domain/Model/CancelTask/CancelTaskResultModel.cs create mode 100644 Sln.Wcs.HikRoBotApi/Domain/Model/ContinueTask/ContinueTaskResultModel.cs rename {Sln.Wcs.Api/Domain/Model/genAgvSchedulingTask => Sln.Wcs.HikRoBotApi/Domain/Model/GenAgvSchedulingTask}/GenAgvSchedulingTaskResultModel.cs (86%) rename Sln.Wcs.Api/Sln.Wcs.Api.csproj => Sln.Wcs.HikRoBotApi/Sln.Wcs.HikRoBotApi.csproj (100%) create mode 100644 Sln.Wcs.HikRoBotApi/Util/ApiResultCodeUtil.cs create mode 100644 Sln.Wcs.HikRoBotSdk/Config/HikRoBotConfig.cs create mode 100644 Sln.Wcs.HikRoBotSdk/Dto/CancelTask/CancelTaskDto.cs create mode 100644 Sln.Wcs.HikRoBotSdk/Dto/CancelTask/CancelTaskResultDto.cs create mode 100644 Sln.Wcs.HikRoBotSdk/Dto/ContinueTask/ContinueTaskDto.cs create mode 100644 Sln.Wcs.HikRoBotSdk/Dto/ContinueTask/ContinueTaskResultDto.cs create mode 100644 Sln.Wcs.HikRoBotSdk/Dto/GenAgvSchedulingTask/GenAgvSchedulingTaskDto.cs create mode 100644 Sln.Wcs.HikRoBotSdk/Dto/GenAgvSchedulingTask/GenAgvSchedulingTaskResultDto.cs create mode 100644 Sln.Wcs.HikRoBotSdk/Dto/GenAgvSchedulingTask/Position.cs create mode 100644 Sln.Wcs.HikRoBotSdk/HIkRoBotSdk.cs create mode 100644 Sln.Wcs.HikRoBotSdk/Sln.Wcs.HikRoBotSdk.csproj diff --git a/Sln.Wcs.Common/Domain/Dto/ResultDto.cs b/Sln.Wcs.Common/Domain/Dto/ResultDto.cs index dbba167..c97c03f 100644 --- a/Sln.Wcs.Common/Domain/Dto/ResultDto.cs +++ b/Sln.Wcs.Common/Domain/Dto/ResultDto.cs @@ -36,9 +36,9 @@ namespace Sln.Wcs.Common.Domain.Dto public TCode? code { get; set; } /// - /// 错误信息 + /// /// - public string? error { get; set; } + public string? msg { get; set; } /// /// 结果 diff --git a/Sln.Wcs.HikRoBotApi/Domain/Dto/CancelTask/CancelTaskDto.cs b/Sln.Wcs.HikRoBotApi/Domain/Dto/CancelTask/CancelTaskDto.cs new file mode 100644 index 0000000..36fedb7 --- /dev/null +++ b/Sln.Wcs.HikRoBotApi/Domain/Dto/CancelTask/CancelTaskDto.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotApi.Domain.Dto.CancelTask +* 唯一标识:a58b49bc-2f35-43aa-95f0-bee6bd291067 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 15:07:15 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotApi.Domain.Dto.CancelTask +{ + /// + /// 任务取消请求参数 + /// + public class CancelTaskDto + { + /// + /// 请求编号,每个请求都要一个唯一编号, 同一个请求重复提交, 使用同一编号。; + /// + public string reqCode { get; set; } + + /// + /// 请求时间截 格式: “yyyy-MM-dd HH:mm:ss”。 + /// + public string reqTime { get; set; } + + /// + /// 客户端编号,如PDA,HCWMS等。 + /// + public string clientCode { get; set; } + + /// + /// 令牌号, 由调度系统颁发 + /// + public string tokenCode { get; set; } + + /// + /// 工作位,与RCS-2000端配置的位置名称一致。 + /// + public string forceCancel { get; set; } + + /// + /// 货架号,采用货架号触发的方式。 + /// + public string matterArea { get; set; } + + public string agvCode { get; set; } + public string taskCode { get; set; } + } +} diff --git a/Sln.Wcs.Api/Domain/Dto/genAgvSchedulingTask/GenAgvSchedulingTaskDto.cs b/Sln.Wcs.HikRoBotApi/Domain/Dto/CancelTask/CancelTaskResultDto.cs similarity index 59% rename from Sln.Wcs.Api/Domain/Dto/genAgvSchedulingTask/GenAgvSchedulingTaskDto.cs rename to Sln.Wcs.HikRoBotApi/Domain/Dto/CancelTask/CancelTaskResultDto.cs index 36a97ea..97de3b3 100644 --- a/Sln.Wcs.Api/Domain/Dto/genAgvSchedulingTask/GenAgvSchedulingTaskDto.cs +++ b/Sln.Wcs.HikRoBotApi/Domain/Dto/CancelTask/CancelTaskResultDto.cs @@ -1,4 +1,7 @@ -using System; +using Sln.Wcs.Common.Domain.Dto; +using Sln.Wcs.HikRoBotApi.Domain.Model.CancelTask; +using Sln.Wcs.HikRoBotApi.Enum; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -9,12 +12,12 @@ using System.Threading.Tasks; * 版权所有 (c) 2026 WenJY 保留所有权利。 * CLR版本:4.0.30319.42000 * 机器名称:T14-GEN3-7895 -* 命名空间:Sln.Wcs.Api.Domain.Dto.genAgvSchedulingTask -* 唯一标识:8050269f-214b-4b32-96aa-f5dc77ee4f54 +* 命名空间:Sln.Wcs.HikRoBotApi.Domain.Dto.CancelTask +* 唯一标识:1f582438-5412-4ae4-8fdf-cc1a2a990527 * * 创建者:WenJY * 电子邮箱: -* 创建时间:2026-02-25 10:06:10 +* 创建时间:2026-02-25 15:07:38 * 版本:V1.0.0 * 描述: * @@ -26,13 +29,12 @@ using System.Threading.Tasks; * 版本:V1.0.0 *--------------------------------------------------------------------*/ #endregion << 版 本 注 释 >> -namespace Sln.Wcs.Api.Domain.Dto.genAgvSchedulingTask +namespace Sln.Wcs.HikRoBotApi.Domain.Dto.CancelTask { /// - /// 生成任务单请求参数 + /// 任务继续返回参数 /// - public class GenAgvSchedulingTaskDto + public class CancelTaskResultDto : ResultDto { - //这里写请求参数 } } diff --git a/Sln.Wcs.HikRoBotApi/Domain/Dto/ContinueTask/ContinueTaskDto.cs b/Sln.Wcs.HikRoBotApi/Domain/Dto/ContinueTask/ContinueTaskDto.cs new file mode 100644 index 0000000..6282028 --- /dev/null +++ b/Sln.Wcs.HikRoBotApi/Domain/Dto/ContinueTask/ContinueTaskDto.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotApi.Domain.Dto.ContinueTask +* 唯一标识:d2278c13-5f0c-423a-b4d2-997a1aba71bc +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 15:09:47 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotApi.Domain.Dto.ContinueTask +{ + /// + /// 任务继续请求参数 + /// + public class ContinueTaskDto + { + /// + /// 请求编号,每个请求都要一个唯一编号, 同一个请求重复提交, 使用同一编号。; + /// + public string reqCode { get; set; } + + /// + /// 请求时间截 格式: “yyyy-MM-dd HH:mm:ss”。 + /// + public string reqTime { get; set; } + + /// + /// 客户端编号,如PDA,HCWMS等。 + /// + public string clientCode { get; set; } + + /// + /// 令牌号, 由调度系统颁发 + /// + public string tokenCode { get; set; } + + /// + /// 工作位,与RCS-2000端配置的位置名称一致。 + /// + public string wbCode { get; set; } + + /// + /// 货架号,采用货架号触发的方式。 + /// + public string podCode { get; set; } + + public string agvCode { get; set; } + public string taskCode { get; set; } + public string taskSeq { get; set; } + public string nextPositionCode { get; set; } + } +} diff --git a/Sln.Wcs.HikRoBotApi/Domain/Dto/ContinueTask/ContinueTaskResultDto.cs b/Sln.Wcs.HikRoBotApi/Domain/Dto/ContinueTask/ContinueTaskResultDto.cs new file mode 100644 index 0000000..ddd1de0 --- /dev/null +++ b/Sln.Wcs.HikRoBotApi/Domain/Dto/ContinueTask/ContinueTaskResultDto.cs @@ -0,0 +1,41 @@ +using Sln.Wcs.Common.Domain.Dto; +using Sln.Wcs.HikRoBotApi.Domain.Model.ContinueTask; +using Sln.Wcs.HikRoBotApi.Enum; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotApi.Domain.Dto.ContinueTask +* 唯一标识:5abd89da-3753-4977-8117-b4cbf9fd73d0 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 15:10:08 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotApi.Domain.Dto.ContinueTask +{ + /// + /// 任务继续返回参数 + /// + public class ContinueTaskResultDto : ResultDto + { + + } +} diff --git a/Sln.Wcs.HikRoBotApi/Domain/Dto/GenAgvSchedulingTask/GenAgvSchedulingTaskDto.cs b/Sln.Wcs.HikRoBotApi/Domain/Dto/GenAgvSchedulingTask/GenAgvSchedulingTaskDto.cs new file mode 100644 index 0000000..7f71b92 --- /dev/null +++ b/Sln.Wcs.HikRoBotApi/Domain/Dto/GenAgvSchedulingTask/GenAgvSchedulingTaskDto.cs @@ -0,0 +1,175 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotApi.Domain.Dto.GenAgvSchedulingTask +* 唯一标识:3cad8de3-17fd-4714-b809-b89168713a6d +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 15:04:31 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotApi.Domain.Dto.GenAgvSchedulingTask +{ + /// + /// 生成任务单请求参数 + /// + public class GenAgvSchedulingTaskDto + { + //这里写请求参数 + /// + /// 请求编号,每个请求都要一个唯一编号, 同一个请求重复提交, 使用同一编号。; + /// + public string reqCode { get; set; } + + /// + /// 请求时间截 格式: “yyyy-MM-dd HH:mm:ss”。 + /// + public string reqTime { get; set; } + + /// + /// 客户端编号,如PDA,HCWMS等。 + /// + public string clientCode { get; set; } + + /// + /// 令牌号, 由调度系统颁发 + /// + public string tokenCode { get; set; } + + /// + /// 任务类型, + /// 业务流程 + /// 5层柜体来料验收拆分 柜体物料 提升机输送线对接位-验收拆分区 WMS F501 2 + /// 5层柜体来料入库 柜体物料 验收拆分区-原材料周转区 WMS F502 2 + /// 5层辅料立体库物料入库 辅料料箱 回转输送线回库口-辅料库货架 WMS F503 1 + /// 5层辅料立体库分拣出库 辅料料箱 辅料库货架-回转输送线出库口 WMS F504 1 + /// 5层辅料立体库分拣回库 辅料料箱 回转输送线回库口-辅料库货架 WMS F505 1 + /// 5层辅料配送流程 辅料料箱 物料分拣位-装配区领料工位 WMS F506 空值 + /// 5层背板安装区物料配送 柜体物料 原材料周转区-背板安装区 WMS F507 2 + /// 5层半成品下线 半成品柜 背板安装区-半成品周转区 WMS F508 2 + /// 5层半成品检验 半成品柜 半成品周转区-检测台 WMS F509 2 + /// 5层成品柜体入库 成品柜体 检验台-成品区 WMS F510 2 + /// 5层成品柜体出库 成品柜体 成品区-提升机输送线对接点 WMS F511 2 + /// + public string taskTyp { get; set; } + + /// + /// 容器类型(叉车/CTU专用)叉车项目必传 + /// + public string ctnrTyp { get; set; } + + /// + /// 容器编号(叉车/CTU专用) + /// + public string ctnrCode { get; set; } + + /// + /// 容器数量(叉车堆叠专用),默认值1,仅记录堆叠的数量不记录堆叠的每个容器号 + /// + public string ctnrNum { get; set; } + + /// + /// 任务模式 0-普通move 1-出库move 2-入库move 3-移库move + /// + public string taskMode { get; set; } + + /// + /// 工作位,一般为机台或工作台位置,与RCS-2000端配置的位置名称一致, 工作位名称为字母\数字\或组合, 不超过32位。 + /// + public string wbCode { get; set; } + + /// + /// 位置路径:AGV关键路径位置集合,与任务类型中模板配置的位置路径一一对应。待现场地图部署、配置完成后可获取。 + /// + public List positionCodePath { get; set; } + + /// + /// “180”,”0”,”90”,”-90” 分别对应地图的”左”,”右”,”上”,”下” ,不指定方向可以为空 + /// + public string podDir { get; set; } + + /// + /// “180”,”0”,”90”,”-90” 分别对应地图的”左”,”右”,”上”,”下” ,不指定方向可以为空 + /// + public string podTyp { get; set; } + + /// + /// “180”,”0”,”90”,”-90” 分别对应地图的”左”,”右”,”上”,”下” ,不指定方向可以为空 + /// + public string podCode { get; set; } + + /// + /// 物料批次或货架上的物料唯一编码, + /// + public string materialLot { get; set; } + + /// + /// 物料类型, 仅移载机器人协议专用必填, 其它车型任务不填 + /// + public string materialType { get; set; } + + /// + /// 优先级,从(1~127)级,最大优先级最高。为空时,采用任务模板的优先级。 + /// + public string priority { get; set; } + + /// + /// 任务单号,选填, 不填系统自动生成,UUID小于等于64位 + /// + public string taskCode { get; set; } + + /// + /// AGV编号,填写表示指定某一编号的AGV执行该任务 + /// + public string agvCode { get; set; } + + /// + /// 组编号 + /// + public string groupId { get; set; } + + /// + /// 设备类型 + /// + public string agvTyp { get; set; } + + /// + /// 区域/策略中挑选货架以及根据物料批次挑选货架时的先进先出规则 + /// + public string positionSelStrategy { get; set; } + + public string data { get; set; } + + } + + public class Position + { + /// + /// 货架编号,不指定货架可以为空 + /// + public string positionCode { get; set; } + + /// + /// 货架类型, 传空时表示随机找个货架 + /// + public string type { get; set; } + } +} diff --git a/Sln.Wcs.Api/Domain/Dto/genAgvSchedulingTask/GenAgvSchedulingTaskResultDto.cs b/Sln.Wcs.HikRoBotApi/Domain/Dto/GenAgvSchedulingTask/GenAgvSchedulingTaskResultDto.cs similarity index 61% rename from Sln.Wcs.Api/Domain/Dto/genAgvSchedulingTask/GenAgvSchedulingTaskResultDto.cs rename to Sln.Wcs.HikRoBotApi/Domain/Dto/GenAgvSchedulingTask/GenAgvSchedulingTaskResultDto.cs index 19ffacf..cdc789e 100644 --- a/Sln.Wcs.Api/Domain/Dto/genAgvSchedulingTask/GenAgvSchedulingTaskResultDto.cs +++ b/Sln.Wcs.HikRoBotApi/Domain/Dto/GenAgvSchedulingTask/GenAgvSchedulingTaskResultDto.cs @@ -1,6 +1,6 @@ -using Sln.Wcs.Api.Domain.Enum; -using Sln.Wcs.Api.Domain.Model.genAgvSchedulingTask; -using Sln.Wcs.Common.Domain.Dto; +using Sln.Wcs.Common.Domain.Dto; +using Sln.Wcs.HikRoBotApi.Domain.Model.GenAgvSchedulingTask; +using Sln.Wcs.HikRoBotApi.Enum; using System; using System.Collections.Generic; using System.Linq; @@ -12,12 +12,12 @@ using System.Threading.Tasks; * 版权所有 (c) 2026 WenJY 保留所有权利。 * CLR版本:4.0.30319.42000 * 机器名称:T14-GEN3-7895 -* 命名空间:Sln.Wcs.Api.Domain.Dto.genAgvSchedulingTask -* 唯一标识:9a4a5630-b508-4b56-a5c1-240b156c6af1 +* 命名空间:Sln.Wcs.HikRoBotApi.Domain.Dto.GenAgvSchedulingTask +* 唯一标识:cc400640-5628-41bf-90d5-f0926202bc34 * * 创建者:WenJY * 电子邮箱: -* 创建时间:2026-02-25 10:06:22 +* 创建时间:2026-02-25 15:05:12 * 版本:V1.0.0 * 描述: * @@ -29,12 +29,14 @@ using System.Threading.Tasks; * 版本:V1.0.0 *--------------------------------------------------------------------*/ #endregion << 版 本 注 释 >> -namespace Sln.Wcs.Api.Domain.Dto.genAgvSchedulingTask +namespace Sln.Wcs.HikRoBotApi.Domain.Dto.GenAgvSchedulingTask { /// /// 生成任务单返回参数 /// - public class GenAgvSchedulingTaskResultDto:ResultDto + public class GenAgvSchedulingTaskResultDto : ResultDto { + + } } diff --git a/Sln.Wcs.Api/Domain/Enum/ApiBaseStatusEnum.cs b/Sln.Wcs.HikRoBotApi/Domain/Enum/HikRoBotStatusEnum.cs similarity index 58% rename from Sln.Wcs.Api/Domain/Enum/ApiBaseStatusEnum.cs rename to Sln.Wcs.HikRoBotApi/Domain/Enum/HikRoBotStatusEnum.cs index ab57e5e..225e7a3 100644 --- a/Sln.Wcs.Api/Domain/Enum/ApiBaseStatusEnum.cs +++ b/Sln.Wcs.HikRoBotApi/Domain/Enum/HikRoBotStatusEnum.cs @@ -9,12 +9,12 @@ using System.Threading.Tasks; * 版权所有 (c) 2026 WenJY 保留所有权利。 * CLR版本:4.0.30319.42000 * 机器名称:T14-GEN3-7895 -* 命名空间:Sln.Wcs.Api.Domain.Enum -* 唯一标识:7d0a31f2-ad5a-475d-97a3-f3c124bdb776 +* 命名空间:Sln.Wcs.HikRoBotSdk.Enum +* 唯一标识:011d2435-3325-4055-b1ec-a3e1834e3af6 * * 创建者:WenJY * 电子邮箱: -* 创建时间:2026-02-25 10:09:13 +* 创建时间:2026-02-25 14:52:00 * 版本:V1.0.0 * 描述: * @@ -26,13 +26,15 @@ using System.Threading.Tasks; * 版本:V1.0.0 *--------------------------------------------------------------------*/ #endregion << 版 本 注 释 >> -namespace Sln.Wcs.Api.Domain.Enum +namespace Sln.Wcs.HikRoBotApi.Enum { - public enum ApiBaseStatusEnum + public enum HikRoBotStatusEnum { - SUCCESS = 0, - 参数校验不通过 = 1, - 供应商API限流 = 2, - 供应商API鉴权失败 = 3, + 成功 = 0, + 参数相关的错误 = 1, + 重复发送上层系统不需要重发 = 6, + 其他未知错误调用失败后可以重试 = 99, + 该任务不存在上层系统不需重发需要人工介入处理=100, + SDK异常=101, } } diff --git a/Sln.Wcs.HikRoBotApi/Domain/Model/CancelTask/CancelTaskResultModel.cs b/Sln.Wcs.HikRoBotApi/Domain/Model/CancelTask/CancelTaskResultModel.cs new file mode 100644 index 0000000..aea4864 --- /dev/null +++ b/Sln.Wcs.HikRoBotApi/Domain/Model/CancelTask/CancelTaskResultModel.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotApi.Domain.Model.CancelTask +* 唯一标识:ac71b2ae-be38-49b0-88ae-982226661531 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 15:08:30 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotApi.Domain.Model.CancelTask +{ + /// + /// 取消任务返回实体 + /// + public class CancelTaskResultModel + { + /// + /// 返回码 + /// + public string code { get; set; } + + /// + /// 返回消息 + /// + public string message { get; set; } + + /// + /// 请求编号 + /// + public string reqCode { get; set; } + } +} diff --git a/Sln.Wcs.HikRoBotApi/Domain/Model/ContinueTask/ContinueTaskResultModel.cs b/Sln.Wcs.HikRoBotApi/Domain/Model/ContinueTask/ContinueTaskResultModel.cs new file mode 100644 index 0000000..6011b9b --- /dev/null +++ b/Sln.Wcs.HikRoBotApi/Domain/Model/ContinueTask/ContinueTaskResultModel.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotApi.Domain.Model.ContinueTask +* 唯一标识:4cf335d2-ab55-4c40-9a23-f2bf5ce7f597 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 15:09:13 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotApi.Domain.Model.ContinueTask +{ + /// + /// 任务继续返回实体 + /// + public class ContinueTaskResultModel + { + /// + /// 返回码 + /// + public string code { get; set; } + + /// + /// 返回消息 + /// + public string message { get; set; } + + /// + /// 请求编号 + /// + public string reqCode { get; set; } + } +} diff --git a/Sln.Wcs.Api/Domain/Model/genAgvSchedulingTask/GenAgvSchedulingTaskResultModel.cs b/Sln.Wcs.HikRoBotApi/Domain/Model/GenAgvSchedulingTask/GenAgvSchedulingTaskResultModel.cs similarity index 86% rename from Sln.Wcs.Api/Domain/Model/genAgvSchedulingTask/GenAgvSchedulingTaskResultModel.cs rename to Sln.Wcs.HikRoBotApi/Domain/Model/GenAgvSchedulingTask/GenAgvSchedulingTaskResultModel.cs index 56808ed..f5c3210 100644 --- a/Sln.Wcs.Api/Domain/Model/genAgvSchedulingTask/GenAgvSchedulingTaskResultModel.cs +++ b/Sln.Wcs.HikRoBotApi/Domain/Model/GenAgvSchedulingTask/GenAgvSchedulingTaskResultModel.cs @@ -9,12 +9,12 @@ using System.Threading.Tasks; * 版权所有 (c) 2026 WenJY 保留所有权利。 * CLR版本:4.0.30319.42000 * 机器名称:T14-GEN3-7895 -* 命名空间:Sln.Wcs.Api.Domain.Model -* 唯一标识:a31bd1f2-40e6-4286-82a8-aeb545a5db4c +* 命名空间:Sln.Wcs.HikRoBotApi.Domain.Model +* 唯一标识:b61df9f9-1fcc-46ac-b3e9-4d37a3fd0d29 * * 创建者:WenJY * 电子邮箱: -* 创建时间:2026-02-25 10:15:15 +* 创建时间:2026-02-25 15:06:37 * 版本:V1.0.0 * 描述: * @@ -26,7 +26,7 @@ using System.Threading.Tasks; * 版本:V1.0.0 *--------------------------------------------------------------------*/ #endregion << 版 本 注 释 >> -namespace Sln.Wcs.Api.Domain.Model.genAgvSchedulingTask +namespace Sln.Wcs.HikRoBotApi.Domain.Model.GenAgvSchedulingTask { /// /// 生成任务单返回实体 diff --git a/Sln.Wcs.Api/Sln.Wcs.Api.csproj b/Sln.Wcs.HikRoBotApi/Sln.Wcs.HikRoBotApi.csproj similarity index 100% rename from Sln.Wcs.Api/Sln.Wcs.Api.csproj rename to Sln.Wcs.HikRoBotApi/Sln.Wcs.HikRoBotApi.csproj diff --git a/Sln.Wcs.HikRoBotApi/Util/ApiResultCodeUtil.cs b/Sln.Wcs.HikRoBotApi/Util/ApiResultCodeUtil.cs new file mode 100644 index 0000000..3481301 --- /dev/null +++ b/Sln.Wcs.HikRoBotApi/Util/ApiResultCodeUtil.cs @@ -0,0 +1,77 @@ +using Sln.Wcs.HikRoBotApi.Enum; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotApi.Util +* 唯一标识:7cea7d00-c417-480f-b2af-ff47d07e25d8 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 15:11:14 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotApi.Util +{ + public class ApiResultCodeUtil + { + + /// + /// + /// + /// + /// + /// + /// + public bool parse(string respCode, string respMsg, out HikRoBotStatusEnum hikRoBotStatus) + { + bool isRes = false; + + hikRoBotStatus = HikRoBotStatusEnum.成功; + + switch (respCode) + { + case "0": + if (respMsg.Contains("成功")) + { + hikRoBotStatus = HikRoBotStatusEnum.成功; + isRes = true; + } + break; + case "1": + hikRoBotStatus = HikRoBotStatusEnum.参数相关的错误; + break; + case "6": + hikRoBotStatus = HikRoBotStatusEnum.重复发送上层系统不需要重发; + break; + case "99": + hikRoBotStatus = HikRoBotStatusEnum.其他未知错误调用失败后可以重试; + break; + case "100": + hikRoBotStatus = HikRoBotStatusEnum.该任务不存在上层系统不需重发需要人工介入处理; + break; + default: + isRes = true; + break; + } + + return isRes; + } + } +} diff --git a/Sln.Wcs.HikRoBotSdk/Config/HikRoBotConfig.cs b/Sln.Wcs.HikRoBotSdk/Config/HikRoBotConfig.cs new file mode 100644 index 0000000..f1c75dd --- /dev/null +++ b/Sln.Wcs.HikRoBotSdk/Config/HikRoBotConfig.cs @@ -0,0 +1,87 @@ +using Microsoft.Extensions.Configuration; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotSdk.Config +* 唯一标识:c1ac02e9-7ad4-4356-8043-2cf04a09ede8 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 14:42:08 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotSdk.Config +{ + public class HikRoBotConfig + { + public readonly string api = ""; + public readonly string partnerId; + public readonly string accesskey; + public readonly string secretkey; + public readonly string version; + public readonly string test; + + /// + /// 注入海康 SDK 配置参数 + /// + /// + /// IConfiguration configuration + public HikRoBotConfig(IConfiguration configuration) + { + if (string.IsNullOrEmpty(configuration["sdk_api"])) + { + throw new Exception("sdk_api 配置不正确,请检查Apollo配置."); + } + if (string.IsNullOrEmpty(configuration["sdk_partner_id"])) + { + throw new Exception("sdk_partner_id 配置不正确,请检查Apollo配置."); + } + if (string.IsNullOrEmpty(configuration["sdk_accesskey"])) + { + throw new Exception("sdk_accesskey 配置不正确,请检查Apollo配置."); + } + if (string.IsNullOrEmpty(configuration["sdk_secretkey"])) + { + throw new Exception("sdk_secretkey 配置不正确,请检查Apollo配置."); + } + if (string.IsNullOrEmpty(configuration["sdk_partner_id"])) + { + throw new Exception("sdk_partner_id 配置不正确,请检查Apollo配置."); + } + if (string.IsNullOrEmpty(configuration["sdk_version"])) + { + throw new Exception("sdk_version 配置不正确,请检查Apollo配置."); + } + + api = configuration["sdk_api"]; + accesskey = configuration["sdk_accesskey"]; + secretkey = configuration["sdk_secretkey"]; + 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.HikRoBotSdk/Dto/CancelTask/CancelTaskDto.cs b/Sln.Wcs.HikRoBotSdk/Dto/CancelTask/CancelTaskDto.cs new file mode 100644 index 0000000..a26a2d2 --- /dev/null +++ b/Sln.Wcs.HikRoBotSdk/Dto/CancelTask/CancelTaskDto.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotSdk.Dto.CancelTask +* 唯一标识:88e5b038-9755-4141-8ba6-15cafafddc3f +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 14:49:37 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotSdk.Dto.CancelTask +{ + /// + /// 任务取消请求参数 + /// + public class CancelTaskDto + { + /// + /// 请求编号,每个请求都要一个唯一编号, 同一个请求重复提交, 使用同一编号。; + /// + public string reqCode { get; set; } + + /// + /// 请求时间截 格式: “yyyy-MM-dd HH:mm:ss”。 + /// + public string reqTime { get; set; } + + /// + /// 客户端编号,如PDA,HCWMS等。 + /// + public string clientCode { get; set; } + + /// + /// 令牌号, 由调度系统颁发 + /// + public string tokenCode { get; set; } + + /// + /// 工作位,与RCS-2000端配置的位置名称一致。 + /// + public string forceCancel { get; set; } + + /// + /// 货架号,采用货架号触发的方式。 + /// + public string matterArea { get; set; } + + public string agvCode { get; set; } + + public string taskCode { get; set; } + } +} diff --git a/Sln.Wcs.HikRoBotSdk/Dto/CancelTask/CancelTaskResultDto.cs b/Sln.Wcs.HikRoBotSdk/Dto/CancelTask/CancelTaskResultDto.cs new file mode 100644 index 0000000..5c2815c --- /dev/null +++ b/Sln.Wcs.HikRoBotSdk/Dto/CancelTask/CancelTaskResultDto.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotSdk.Dto.CancelTask +* 唯一标识:5476e634-dee3-4540-bdaa-26c83eddab5b +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 14:49:03 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotSdk.Dto.CancelTask +{ + public class CancelTaskResultDto + { + /// + /// 返回码 + /// + public string code { get; set; } + + /// + /// 返回消息 + /// + public string message { get; set; } + + /// + /// 请求编号 + /// + public string reqCode { get; set; } + } +} diff --git a/Sln.Wcs.HikRoBotSdk/Dto/ContinueTask/ContinueTaskDto.cs b/Sln.Wcs.HikRoBotSdk/Dto/ContinueTask/ContinueTaskDto.cs new file mode 100644 index 0000000..e8e5c00 --- /dev/null +++ b/Sln.Wcs.HikRoBotSdk/Dto/ContinueTask/ContinueTaskDto.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotSdk.Dto.ContinueTask +* 唯一标识:8e27fc6d-93df-4b51-983a-02aaa3772137 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 14:50:23 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotSdk.Dto.ContinueTask +{ + /// + /// 任务继续请求参数 + /// + public class ContinueTaskDto + { + /// + /// 请求编号,每个请求都要一个唯一编号, 同一个请求重复提交, 使用同一编号。; + /// + public string reqCode { get; set; } + + /// + /// 请求时间截 格式: “yyyy-MM-dd HH:mm:ss”。 + /// + public string reqTime { get; set; } + + /// + /// 客户端编号,如PDA,HCWMS等。 + /// + public string clientCode { get; set; } + + /// + /// 令牌号, 由调度系统颁发 + /// + public string tokenCode { get; set; } + + /// + /// 工作位,与RCS-2000端配置的位置名称一致。 + /// + public string wbCode { get; set; } + + /// + /// 货架号,采用货架号触发的方式。 + /// + public string podCode { get; set; } + + public string agvCode { get; set; } + public string taskCode { get; set; } + public string taskSeq { get; set; } + public string nextPositionCode { get; set; } + } +} diff --git a/Sln.Wcs.HikRoBotSdk/Dto/ContinueTask/ContinueTaskResultDto.cs b/Sln.Wcs.HikRoBotSdk/Dto/ContinueTask/ContinueTaskResultDto.cs new file mode 100644 index 0000000..858e83f --- /dev/null +++ b/Sln.Wcs.HikRoBotSdk/Dto/ContinueTask/ContinueTaskResultDto.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotSdk.Dto.ContinueTask +* 唯一标识:ba99f261-feee-4344-8529-0fafb4785fe9 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 14:50:44 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotSdk.Dto.ContinueTask +{ + public class ContinueTaskResultDto + { + /// + /// 返回码 + /// + public string code { get; set; } + + /// + /// 返回消息 + /// + public string message { get; set; } + + /// + /// 请求编号 + /// + public string reqCode { get; set; } + } +} diff --git a/Sln.Wcs.HikRoBotSdk/Dto/GenAgvSchedulingTask/GenAgvSchedulingTaskDto.cs b/Sln.Wcs.HikRoBotSdk/Dto/GenAgvSchedulingTask/GenAgvSchedulingTaskDto.cs new file mode 100644 index 0000000..21ad4ba --- /dev/null +++ b/Sln.Wcs.HikRoBotSdk/Dto/GenAgvSchedulingTask/GenAgvSchedulingTaskDto.cs @@ -0,0 +1,158 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotSdk.Dto +* 唯一标识:19479d6e-828e-4406-a182-b32aed64a718 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 14:38:41 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotSdk.Dto.GenAgvSchedulingTask +{ + public class GenAgvSchedulingTaskDto + { + //这里写请求参数 + /// + /// 请求编号,每个请求都要一个唯一编号, 同一个请求重复提交, 使用同一编号。; + /// + public string reqCode { get; set; } + + /// + /// 请求时间截 格式: “yyyy-MM-dd HH:mm:ss”。 + /// + public string reqTime { get; set; } + + /// + /// 客户端编号,如PDA,HCWMS等。 + /// + public string clientCode { get; set; } + + /// + /// 令牌号, 由调度系统颁发 + /// + public string tokenCode { get; set; } + + /// + /// 任务类型, + /// 业务流程 + /// 5层柜体来料验收拆分 柜体物料 提升机输送线对接位-验收拆分区 WMS F501 2 + /// 5层柜体来料入库 柜体物料 验收拆分区-原材料周转区 WMS F502 2 + /// 5层辅料立体库物料入库 辅料料箱 回转输送线回库口-辅料库货架 WMS F503 1 + /// 5层辅料立体库分拣出库 辅料料箱 辅料库货架-回转输送线出库口 WMS F504 1 + /// 5层辅料立体库分拣回库 辅料料箱 回转输送线回库口-辅料库货架 WMS F505 1 + /// 5层辅料配送流程 辅料料箱 物料分拣位-装配区领料工位 WMS F506 空值 + /// 5层背板安装区物料配送 柜体物料 原材料周转区-背板安装区 WMS F507 2 + /// 5层半成品下线 半成品柜 背板安装区-半成品周转区 WMS F508 2 + /// 5层半成品检验 半成品柜 半成品周转区-检测台 WMS F509 2 + /// 5层成品柜体入库 成品柜体 检验台-成品区 WMS F510 2 + /// 5层成品柜体出库 成品柜体 成品区-提升机输送线对接点 WMS F511 2 + /// + public string taskTyp { get; set; } + + /// + /// 容器类型(叉车/CTU专用)叉车项目必传 + /// + public string ctnrTyp { get; set; } + + /// + /// 容器编号(叉车/CTU专用) + /// + public string ctnrCode { get; set; } + + /// + /// 容器数量(叉车堆叠专用),默认值1,仅记录堆叠的数量不记录堆叠的每个容器号 + /// + public string ctnrNum { get; set; } + + /// + /// 任务模式 0-普通move 1-出库move 2-入库move 3-移库move + /// + public string taskMode { get; set; } + + /// + /// 工作位,一般为机台或工作台位置,与RCS-2000端配置的位置名称一致, 工作位名称为字母\数字\或组合, 不超过32位。 + /// + public string wbCode { get; set; } + + /// + /// 位置路径:AGV关键路径位置集合,与任务类型中模板配置的位置路径一一对应。待现场地图部署、配置完成后可获取。 + /// + public List positionCodePath { get; set; } + + /// + /// “180”,”0”,”90”,”-90” 分别对应地图的”左”,”右”,”上”,”下” ,不指定方向可以为空 + /// + public string podDir { get; set; } + + /// + /// “180”,”0”,”90”,”-90” 分别对应地图的”左”,”右”,”上”,”下” ,不指定方向可以为空 + /// + public string podTyp { get; set; } + + /// + /// “180”,”0”,”90”,”-90” 分别对应地图的”左”,”右”,”上”,”下” ,不指定方向可以为空 + /// + public string podCode { get; set; } + + /// + /// 物料批次或货架上的物料唯一编码, + /// + public string materialLot { get; set; } + + /// + /// 物料类型, 仅移载机器人协议专用必填, 其它车型任务不填 + /// + public string materialType { get; set; } + + /// + /// 优先级,从(1~127)级,最大优先级最高。为空时,采用任务模板的优先级。 + /// + public string priority { get; set; } + + /// + /// 任务单号,选填, 不填系统自动生成,UUID小于等于64位 + /// + public string taskCode { get; set; } + + /// + /// AGV编号,填写表示指定某一编号的AGV执行该任务 + /// + public string agvCode { get; set; } + + /// + /// 组编号 + /// + public string groupId { get; set; } + + /// + /// 设备类型 + /// + public string agvTyp { get; set; } + + /// + /// 区域/策略中挑选货架以及根据物料批次挑选货架时的先进先出规则 + /// + public string positionSelStrategy { get; set; } + + public string data { get; set; } + } +} diff --git a/Sln.Wcs.HikRoBotSdk/Dto/GenAgvSchedulingTask/GenAgvSchedulingTaskResultDto.cs b/Sln.Wcs.HikRoBotSdk/Dto/GenAgvSchedulingTask/GenAgvSchedulingTaskResultDto.cs new file mode 100644 index 0000000..6791912 --- /dev/null +++ b/Sln.Wcs.HikRoBotSdk/Dto/GenAgvSchedulingTask/GenAgvSchedulingTaskResultDto.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotSdk.Dto +* 唯一标识:fb6be58f-7b1d-4ad6-8987-6dd041ca769d +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 14:36:27 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotSdk.Dto.GenAgvSchedulingTask +{ + /// + /// 生成任务单返回实体 + /// + public class GenAgvSchedulingTaskResultDto + { + /// + /// 返回码 + /// + public string code { get; set; } + + /// + /// 返回消息 + /// + public string message { get; set; } + + /// + /// 请求编号 + /// + public string reqCode { get; set; } + + /// + /// 自定义返回(返回任务单号) + /// + public string data { get; set; } + } +} diff --git a/Sln.Wcs.HikRoBotSdk/Dto/GenAgvSchedulingTask/Position.cs b/Sln.Wcs.HikRoBotSdk/Dto/GenAgvSchedulingTask/Position.cs new file mode 100644 index 0000000..d0b1dd7 --- /dev/null +++ b/Sln.Wcs.HikRoBotSdk/Dto/GenAgvSchedulingTask/Position.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotSdk.Dto.GenAgvSchedulingTask +* 唯一标识:2edaa5c5-0df6-4f36-8764-86f0ca2070da +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 14:54:19 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotSdk.Dto.GenAgvSchedulingTask +{ + public class Position + { + /// + /// 货架编号,不指定货架可以为空 + /// + public string positionCode { get; set; } + + /// + /// 货架类型, 传空时表示随机找个货架 + /// + public string type { get; set; } + } +} diff --git a/Sln.Wcs.HikRoBotSdk/HIkRoBotSdk.cs b/Sln.Wcs.HikRoBotSdk/HIkRoBotSdk.cs new file mode 100644 index 0000000..c33c3c8 --- /dev/null +++ b/Sln.Wcs.HikRoBotSdk/HIkRoBotSdk.cs @@ -0,0 +1,94 @@ +using Flurl.Http; +using Newtonsoft.Json; +using Sln.Wcs.HikRoBotSdk.Config; +using Sln.Wcs.HikRoBotSdk.Dto.CancelTask; +using Sln.Wcs.HikRoBotSdk.Dto.ContinueTask; +using Sln.Wcs.HikRoBotSdk.Dto.GenAgvSchedulingTask; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2026 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:Sln.Wcs.HikRoBotSdk +* 唯一标识:17e983b2-0c7e-4b27-ae05-e333d623b85d +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2026-02-25 14:40:23 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace Sln.Wcs.HikRoBotSdk +{ + public class HIkRoBotSdk + { + + private readonly HikRoBotConfig hikRoBotConfig; + + public HIkRoBotSdk(HikRoBotConfig hikRoBotConfig) + { + this.hikRoBotConfig = hikRoBotConfig; + } + + /// + /// 生成任务单 + /// + /// 上层系统平台发送调度请求, RCS通过请求参数, 生成调度AGV任务单。 + /// + /// 生成所有车型的搬运任务。 + /// + /// + /// + public GenAgvSchedulingTaskResultDto GenAgvSchedulingTask(GenAgvSchedulingTaskDto genAgvSchedulingTask) + { + + Console.WriteLine($"请求报文:{JsonConvert.SerializeObject(genAgvSchedulingTask)}"); + + return this.hikRoBotConfig.api.PostJsonAsync(genAgvSchedulingTask).Result.GetJsonAsync().Result; + } + + /// + /// 继续执行任务 + /// + /// 上层系统平台发送继续调度请求,RCS-2000获取AGV下一个动作,继续执行。 + /// + /// + /// + public ContinueTaskResultDto ContinueTask(ContinueTaskDto continueTask) + { + + Console.WriteLine($"请求报文:{JsonConvert.SerializeObject(continueTask)}"); + + return this.hikRoBotConfig.api.PostJsonAsync(continueTask).Result.GetJsonAsync().Result; + } + + /// + /// 取消任务 + /// + /// 通过正在执行的任务编号,取消该任务,不再执行,AGV如果背着货架, 取消类型为0时,会把货架直接放在路上, AGV为空闲状态,需要人工介入发指令搬走或拖走货架; 取消类型为1时,称为软取消, AGV仍然背着货架,通过货架所属库区或回库区域执行回库指令,如果回库区域没有位置,返回错误信息,取消不成功。CTU取到料箱后取消,取消类型为0时,会把料箱留在CTU上,需要人工取走;取消类型为1时,CTU将料箱搬回指定的区域的空仓位,若区域没位置,返回错误信息,取消不成功。CTU只能软取消回库区,支持双伸位场景,不支持软取消回输送线等工作位。叉车、辊筒车不支持软取消 + /// + /// + /// + public CancelTaskResultDto CancelTask(CancelTaskDto cancelTask) + { + + Console.WriteLine($"请求报文:{JsonConvert.SerializeObject(cancelTask)}"); + + return this.hikRoBotConfig.api.PostJsonAsync(cancelTask).Result.GetJsonAsync().Result; + } + } +} diff --git a/Sln.Wcs.HikRoBotSdk/Sln.Wcs.HikRoBotSdk.csproj b/Sln.Wcs.HikRoBotSdk/Sln.Wcs.HikRoBotSdk.csproj new file mode 100644 index 0000000..bc89c06 --- /dev/null +++ b/Sln.Wcs.HikRoBotSdk/Sln.Wcs.HikRoBotSdk.csproj @@ -0,0 +1,16 @@ + + + + net8.0 + enable + enable + + + + + + + + + + diff --git a/Sln.Wcs.sln b/Sln.Wcs.sln index 7b9d305..8889808 100644 --- a/Sln.Wcs.sln +++ b/Sln.Wcs.sln @@ -3,11 +3,13 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.10.35122.118 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sln.Wcs", "Sln.Wcs\Sln.Wcs.csproj", "{747BB353-A39B-4C49-A729-0260CC5A0C16}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sln.Wcs", "Sln.Wcs\Sln.Wcs.csproj", "{747BB353-A39B-4C49-A729-0260CC5A0C16}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sln.Wcs.Common", "Sln.Wcs.Common\Sln.Wcs.Common.csproj", "{D94D5F31-AA0D-4F60-A3B4-667A1FFCD6ED}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sln.Wcs.Common", "Sln.Wcs.Common\Sln.Wcs.Common.csproj", "{D94D5F31-AA0D-4F60-A3B4-667A1FFCD6ED}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sln.Wcs.Api", "Sln.Wcs.Api\Sln.Wcs.Api.csproj", "{4C6BE335-DC72-4369-AEA8-AE812C849A12}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sln.Wcs.HikRoBotSdk", "Sln.Wcs.HikRoBotSdk\Sln.Wcs.HikRoBotSdk.csproj", "{F2956A97-69F4-4073-B4C6-72CB7B945565}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sln.Wcs.HikRoBotApi", "Sln.Wcs.HikRoBotApi\Sln.Wcs.HikRoBotApi.csproj", "{9E3193CA-590C-4965-B2EF-02C2AE252095}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -23,10 +25,14 @@ Global {D94D5F31-AA0D-4F60-A3B4-667A1FFCD6ED}.Debug|Any CPU.Build.0 = Debug|Any CPU {D94D5F31-AA0D-4F60-A3B4-667A1FFCD6ED}.Release|Any CPU.ActiveCfg = Release|Any CPU {D94D5F31-AA0D-4F60-A3B4-667A1FFCD6ED}.Release|Any CPU.Build.0 = Release|Any CPU - {4C6BE335-DC72-4369-AEA8-AE812C849A12}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4C6BE335-DC72-4369-AEA8-AE812C849A12}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4C6BE335-DC72-4369-AEA8-AE812C849A12}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4C6BE335-DC72-4369-AEA8-AE812C849A12}.Release|Any CPU.Build.0 = Release|Any CPU + {F2956A97-69F4-4073-B4C6-72CB7B945565}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F2956A97-69F4-4073-B4C6-72CB7B945565}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F2956A97-69F4-4073-B4C6-72CB7B945565}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F2956A97-69F4-4073-B4C6-72CB7B945565}.Release|Any CPU.Build.0 = Release|Any CPU + {9E3193CA-590C-4965-B2EF-02C2AE252095}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9E3193CA-590C-4965-B2EF-02C2AE252095}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9E3193CA-590C-4965-B2EF-02C2AE252095}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9E3193CA-590C-4965-B2EF-02C2AE252095}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE