From 75f34e9ba2e8b249c96333f3d7936c8968e12ec7 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期三, 11 二月 2026 14:44:12 +0800
Subject: [PATCH] 集成WMS调用与入库任务处理
---
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 45 ++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 42 insertions(+), 3 deletions(-)
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index 0a58b09..2c57b09 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -20,10 +20,13 @@
using AutoMapper;
using SqlSugar;
using System.Diagnostics.CodeAnalysis;
+using System.Text.Json;
+using WIDESEAWCS_Common.HttpEnum;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Core.Enums;
+using WIDESEAWCS_Core.Http;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
@@ -358,10 +361,36 @@
if (task.TaskState == (int)TaskInStatusEnum.Line_InFinish)
{
- Random random = new Random();
+ //Random random = new Random();
+ //task.CurrentAddress = task.NextAddress;
+ //task.NextAddress = $"{random.Next(1, 100).ToString().PadLeft(3, '0')}-{random.Next(1, 100).ToString().PadLeft(3, '0')}-{random.Next(1, 100).ToString().PadLeft(3, '0')}";
+ //task.TargetAddress = task.NextAddress;
+
+ // 璋冪敤WMS绯荤粺鎺ュ彛锛岃幏鍙栨渶缁堢洰鏍囧湴鍧�
+ CreateTaskDto taskDto = new CreateTaskDto()
+ {
+ Roadway = task.TargetAddress,
+ PalletCode = task.PalletCode,
+ SourceAddress = task.SourceAddress,
+ // 鐩爣鍦板潃寰呭畾
+ TargetAddress = "CLOutAreaA",
+ TaskType = task.TaskType,
+ };
+ content = HttpRequestHelper.HTTPPostAsync(nameof(Category.WMS), taskDto.ToString(), nameof(ConfigKey.GetTasksLocation)).Result;
+ if (!content.Status)
+ {
+ return WebResponseContent.Instance.Error($"璋冪敤WMS鎺ュ彛鑾峰彇浠诲姟鐩爣鍦板潃澶辫触,浠诲姟鍙�:銆恵task.TaskNum}銆�,閿欒淇℃伅:銆恵content.Message}銆�");
+ }
+
+ string wmsTargetAddress = content.Data?.ToString() ?? string.Empty;
+ if (string.IsNullOrEmpty(wmsTargetAddress))
+ {
+ return WebResponseContent.Instance.Error($"璋冪敤WMS鎺ュ彛鑾峰彇浠诲姟鐩爣鍦板潃澶辫触,浠诲姟鍙�:銆恵task.TaskNum}銆�,閿欒淇℃伅:銆愭湭鑾峰彇鍒版湁鏁堢殑鐩爣鍦板潃銆�");
+ }
+
+ task.NextAddress = wmsTargetAddress;
+ task.TargetAddress = wmsTargetAddress;
task.CurrentAddress = task.NextAddress;
- task.NextAddress = $"{random.Next(1, 100).ToString().PadLeft(3, '0')}-{random.Next(1, 100).ToString().PadLeft(3, '0')}-{random.Next(1, 100).ToString().PadLeft(3, '0')}";
- task.TargetAddress = task.NextAddress;
}
}
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OtherGroup)
@@ -627,5 +656,15 @@
else
return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskRobotTypes.Contains(x.TaskType) && x.CurrentAddress == currentAddress && x.TaskState <= (int)TaskRobotStatusEnum.RobotExecuting, TaskOrderBy);
}
+
+ /// <summary>
+ /// 鑾峰彇涓庢寚瀹氫换鍔$紪鍙峰叧鑱旂殑浠诲姟銆�
+ /// </summary>
+ /// <param name="taskNum">瑕佽幏鍙栫殑浠诲姟鐨勫敮涓�鏍囪瘑绗︺��</param>
+ /// <returns>琛ㄧず鎸囧畾缂栧彿浠诲姟鐨�<see cref="Dt_Task"/>瀵硅薄锛屽鏋滀笉瀛樺湪璇ヤ换鍔″垯杩斿洖<c>null</c>銆�</returns>
+ public Dt_Task QueryByTaskNum(int taskNum)
+ {
+ return BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+ }
}
}
\ No newline at end of file
--
Gitblit v1.9.3