1
dengjunjie
2026-03-04 761260f2ac0aa211625c8904cc86fc2400a8adfc
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/HKTaskExtend.cs
@@ -5,7 +5,10 @@
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_DTO;
using WIDESEAWCS_DTO.AGV.HIKROBOT;
using WIDESEAWCS_DTO.RGV.FOURBOT;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_Tasks
@@ -13,25 +16,73 @@
    public partial class TaskJob
    {
        #region å¤„理海康AGV任务
        /// <summary>
        /// å¤„理海康不同类型的任务,进行不同的业务逻辑处理(配套任务:修改平库货位信息/换层任务记录小车信息(小车位置层);出入库任务处理库位信息)
        /// </summary>
        /// <param name="tasks"></param>
        public void HIKROBOTTask(List<Dt_Task> tasks)
        {
            foreach (var item in tasks)
            {
                SendHIKROBOTTask(item);
                var content = SendHIKROBOTTask(item);
            }
        }
        #endregion
        #region å¤„理海康待继续执行任务
        public void SendAGVWaitToExecuteTask(List<Dt_Task> tasks)
        {
            foreach (var item in tasks)
            {
                var content = SendHIKROBOTTask(item);
            }
        }
        #endregion
        #region ä¸‹å‘海康AGV任务
        public void SendHIKROBOTTask(Dt_Task task)
        public WebResponseContent SendHIKROBOTTask(Dt_Task task)
        {
            WebResponseContent content = new WebResponseContent();
            HIKROBOTTaskSubmit hIKROBOTTaskSubmit = new HIKROBOTTaskSubmit();
            try
            {
                hIKROBOTTaskSubmit.taskType = "";
                hIKROBOTTaskSubmit.targetRoute = new List<TargetRouteDto> { new TargetRouteDto() };
                hIKROBOTTaskSubmit.initPriority = task.Grade;
                Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(HIKROBOTTaskSubmit)) ?? throw new Exception("未找到海康AGV任务下发接口配置信息!请检查接口配置");
                #region ä»»åŠ¡ä¿¡æ¯è½¬æ¢
                HIKROBOTTaskSubmit hIKROBOTTaskSubmit = new HIKROBOTTaskSubmit()
                {
                    taskType = "",
                    initPriority = task.Grade,
                    targetRoute = new List<TargetRouteDto>
                    {
                        new TargetRouteDto
                        {
                            type= "SITE",
                            code=task.CurrentAddress,
                            operation="COLLECT",//取货
                        },
                        new TargetRouteDto
                        {
                            type= "SITE",
                            code=task.NextAddress,
                            operation="DELIVERY",//送货
                        }
                    }
                };
                #endregion
                string response = HttpHelper.Post(apiInfo.ApiAddress, hIKROBOTTaskSubmit.Serialize());
                var hIKROBOTReturn = response.DeserializeObject<HIKROBOTReturn>();
                if (hIKROBOTReturn.code == "SUCCESS")
                {
                    var data = hIKROBOTReturn.data.ToString().DeserializeObject<HIKROBOTReturnData>();
                    content.OK(data: data);
                    //task.Remark = data.robotTaskCode;
                }
                else
                {
                    throw new Exception(hIKROBOTReturn.message);
                }
                //_taskService.UpdateData(task);
            }
            catch (Exception ex)
            {
@@ -41,6 +92,7 @@
            {
            }
            return content;
        }
        #endregion
    }