From f45293a0c3c9838567d6ff01eae53157a9ed5284 Mon Sep 17 00:00:00 2001
From: 刘磊 <1161824510@qq.com>
Date: 星期四, 05 三月 2026 10:59:38 +0800
Subject: [PATCH] 1
---
项目代码/WCS/WCSServer/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs | 260 ++++++++++++++++++++++-----------------------------
1 files changed, 111 insertions(+), 149 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServer/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServer/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs"
index 7c556b0..f67b6cc 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServer/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServer/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs"
@@ -2,6 +2,7 @@
using Mapster;
using MoYu.Localization;
using Newtonsoft.Json;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
using System.Diagnostics.CodeAnalysis;
using WIDESEAWCS_Common;
using WIDESEAWCS_Common.TaskEnum;
@@ -74,66 +75,6 @@
}
}
- /// <summary>
- /// 鏍规嵁鎵樼洏鍙枫�佽捣濮嬪湴鍧�鍚慦MS璇锋眰浠诲姟锛堝叆搴撶増鏈�)
- /// </summary>
- /// <param name="palletCode">鎵樼洏鍙�</param>
- /// <param name="sourceAddress">璧峰鍦板潃</param>
- /// <returns></returns>
- public Dt_Task? InBeforeCheck(int taskNum)
- {
- WebResponseContent content = new WebResponseContent();
- try
- {
- var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
- var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
- var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.InTransferCheck)?.ConfigValue;
- if (wmsBase == null || requestTask == null)
- {
- throw new InvalidOperationException("WMS IP 鏈厤缃�");
- }
- var wmsIpAddrss = wmsBase + requestTask;
-
- var result = HttpHelper.Post(wmsIpAddrss, new { taskNum = taskNum }.ToJsonString());
- content = JsonConvert.DeserializeObject<WebResponseContent>(result);
-
- if (!content.Status)
- {
- // wms澶辫触
- throw new Exception();
- }
-
-
- //todo 浼樺寲 濡傛湭鏌ヨ鍒颁换鍔″垯澶勭悊
- //if (content.Data != null)
- //{
- var task = JsonConvert.DeserializeObject<Dt_Task>(content.Data.ToString());
-
- Dt_Task? Relocationtask = null;
- if (task.TaskNum != taskNum)
- {
-
- BaseDal.AddData(task);
- Relocationtask = BaseDal.QueryFirst(x => x.TaskNum == task.TaskNum);
- }
- //}
-
- if (Relocationtask != null)
- {
- return task;
- }
- else
- {
- return null;
- }
-
- }
- catch (Exception ex)
- {
- throw new Exception($"璇锋眰寮傚父锛歿ex.Message}");
- }
- }
-
#region 鏍规嵁鎵樼洏鍙枫�佺珯鍙板悜WMS璇锋眰浠诲姟
/// <summary>
/// 鏍规嵁鎵樼洏鍙枫�佺珯鍙板悜WMS璇锋眰浠诲姟
@@ -141,7 +82,109 @@
/// <param name="palletCode">鎵樼洏鍙�</param>
/// <param name="stationManager">绔欏彴</param>
/// <returns></returns>
- public async Task<WebResponseContent> RequestTask(string palletCode, Dt_StationManager stationManager)
+ public async Task<WebResponseContent> RequestTask(string palletCode, string PVI, Dt_StationManager stationManager)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ StaticVariable.isLineRun = false;
+
+ // 妫�鏌ュ綋鍓嶆墭鐩樻槸鍚﹀瓨鍦ㄤ换鍔�
+ if (await HasTask(PVI))
+ {
+ return content.Error("褰撳墠鎵樼洏瀛樺湪浠诲姟");
+ }
+
+ //palletCode = "QT101025"; // 妯℃嫙鎵樼洏璇锋眰浠诲姟
+
+ // 鍙戣捣璇锋眰鑾峰彇鍏ュ簱浠诲姟
+ if (stationManager.stationType == 1)
+ {
+ content = await RequestInTask(palletCode, PVI, stationManager);
+ }
+ else if (stationManager.stationType == 6)
+ {
+ content = await RequestInEmptyTask(palletCode, PVI, stationManager);
+ }
+
+ ConsoleHelper.WriteErrorLine($"{stationManager.stationChildCode}绔欏彴璇锋眰鍝嶅簲淇℃伅:{content.ToJsonString()}");
+
+ if (!content.Status)
+ {
+ return content;
+ }
+
+ var task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
+ ConsoleHelper.WriteSuccessLine(content.Data.ToString());
+ return ReceiveByWMSTask(task);
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ finally
+ {
+ StaticVariable.isLineRun = true;
+ }
+ }
+
+
+ // 妫�鏌ュ綋鍓嶆墭鐩樻槸鍚﹀瓨鍦ㄤ换鍔�
+ private async Task<bool> HasTask(string PVI)
+ {
+ var hasTask = await BaseDal.QueryFirstAsync(x => x.PVI == PVI);
+ return hasTask != null;
+ }
+
+ // 鑾峰彇 WMS 璇锋眰鍦板潃
+ private string GetWmsIpAddress(string configKey)
+ {
+ var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+ var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+ var requestTask = config.FirstOrDefault(x => x.ConfigKey == configKey)?.ConfigValue;
+
+ if (wmsBase == null || requestTask == null)
+ {
+ throw new InvalidOperationException("WMS IP 鏈厤缃�");
+ }
+ return wmsBase + requestTask;
+ }
+
+ // 鍙戣捣璇锋眰鑾峰彇鍏ュ簱浠诲姟
+ private async Task<WebResponseContent> RequestInTask(string palletCode, string PVI, Dt_StationManager stationManager)
+ {
+ var wmsIpAddrss = GetWmsIpAddress(SysConfigKeyConst.RequestInTask);
+ var result = await HttpHelper.PostAsync(wmsIpAddrss, new { palletCode = palletCode, Roadways = stationManager.Roadway, area = stationManager.stationArea, Position = stationManager.stationChildCode, PVI = PVI }.ToJsonString());
+ return JsonConvert.DeserializeObject<WebResponseContent>(result);
+ }
+
+ private async Task<WebResponseContent> RequestInEmptyTask(string palletCode, string PVI, Dt_StationManager stationManager)
+ {
+ var wmsIpAddrss = GetWmsIpAddress(SysConfigKeyConst.RequestInTask);
+ var result = await HttpHelper.PostAsync(wmsIpAddrss, new { palletCode = palletCode, Roadways = stationManager.Roadway, area = stationManager.stationArea, Position = stationManager.stationChildCode, PVI = PVI }.ToJsonString());
+ return JsonConvert.DeserializeObject<WebResponseContent>(result);
+ }
+
+
+ #endregion 鏍规嵁鎵樼洏鍙枫�佺珯鍙板悜WMS璇锋眰浠诲姟
+
+ public async Task<WebResponseContent> RequestWhiteBody(string palletCode, string PVI, Dt_StationManager stationManager)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ var wmsIpAddrss = GetWmsIpAddress(SysConfigKeyConst.RequestWhiteBody);
+ var result = await HttpHelper.PostAsync(wmsIpAddrss, new { palletCode = palletCode, Roadways = stationManager.Roadway, area = stationManager.stationArea, Position = stationManager.stationChildCode, PVI = PVI }.ToJsonString());
+ return JsonConvert.DeserializeObject<WebResponseContent>(result);
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+
+ }
+
+ public async Task<WebResponseContent> RequestRoadWayTask(string palletCode, string PVI, Dt_StationManager stationManager)
{
WebResponseContent content = new WebResponseContent();
try
@@ -154,10 +197,11 @@
return content.Error("褰撳墠鎵樼洏瀛樺湪浠诲姟");
}
- palletCode = "QT101025"; // 妯℃嫙鎵樼洏璇锋眰浠诲姟
+ //PVI = "J26000456TF12"; // 妯℃嫙PVI璇锋眰浠诲姟
// 鍙戣捣璇锋眰鑾峰彇鍏ュ簱浠诲姟
- content = await RequestInTask(palletCode, stationManager);
+ content = await RequestInRoadWayTask(palletCode, PVI, stationManager);
+
ConsoleHelper.WriteErrorLine($"{stationManager.stationChildCode}绔欏彴璇锋眰鍝嶅簲淇℃伅:{content.ToJsonString()}");
if (!content.Status)
@@ -179,90 +223,12 @@
}
}
- public async Task<WebResponseContent> UpdateCheckTask(string palletCode, Dt_StationManager stationManager)
+ private async Task<WebResponseContent> RequestInRoadWayTask(string palletCode, string PVI, Dt_StationManager stationManager)
{
- WebResponseContent content = new WebResponseContent();
- try
- {
- var wmsIpAddrss = GetWmsIpAddress(SysConfigKeyConst.UpdateCheckTask);
- var result = await HttpHelper.PostAsync(wmsIpAddrss, new { palletCode = palletCode, Roadways = stationManager.Roadway, Position = stationManager.stationChildCode }.ToJsonString());
- return JsonConvert.DeserializeObject<WebResponseContent>(result);
- }
- catch (Exception ex)
- {
- return content.Error($"{ex.Message}");
- }
- }
-
- /// <summary>
- /// 杞﹁疆娴佸悜鍒嗛厤
- /// </summary>
- /// <param name="czCode"></param>
- /// <param name="stationManager"></param>
- /// <returns></returns>
- public async Task<WebResponseContent> RequestWheelsFlow(string czCode)
- {
- WebResponseContent content = new WebResponseContent();
- try
- {
- var wmsIpAddrss = GetWmsIpAddress(SysConfigKeyConst.RequestWheelsFlow);
- var result = await HttpHelper.PostAsync(wmsIpAddrss, new { palletCode = czCode }.ToJsonString());
- return JsonConvert.DeserializeObject<WebResponseContent>(result);
- }
- catch (Exception ex)
- {
- return content.Error($"{ex.Message}");
- }
- }
-
- /// <summary>
- /// 杞﹁疆娴佸悜鍒嗛厤鏌ヨ鍘嗗彶璇锋眰
- /// </summary>
- /// <param name="czCode"></param>
- /// <param name="stationManager"></param>
- /// <returns></returns>
- public string RequestWheletHty(string czCode)
- {
- WebResponseContent content = new WebResponseContent();
- Dt_Task_Hty dt_Task_Hty = _taskHtyRepository.QueryFirst(x => x.task_CZInfo == czCode && x.CreateDate >= DateTime.Now.AddMinutes(-30));
- if (dt_Task_Hty == null) return null;
- if (dt_Task_Hty.Towhereabouts == null && dt_Task_Hty.Towhereabouts == "") return null;
-
- return dt_Task_Hty.Towhereabouts;
- }
-
- // 妫�鏌ュ綋鍓嶆墭鐩樻槸鍚﹀瓨鍦ㄤ换鍔�
- private async Task<bool> HasTask(string palletCode)
- {
- var hasTask = await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode);
- return hasTask != null;
- }
-
- // 鑾峰彇 WMS 璇锋眰鍦板潃
- private string GetWmsIpAddress(string configKey)
- {
- var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
- var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
- var requestTask = config.FirstOrDefault(x => x.ConfigKey == configKey)?.ConfigValue;
-
- if (wmsBase == null || requestTask == null)
- {
- throw new InvalidOperationException("WMS IP 鏈厤缃�");
- }
-
- return wmsBase + requestTask;
- }
-
- // 鍙戣捣璇锋眰鑾峰彇鍏ュ簱浠诲姟
- private async Task<WebResponseContent> RequestInTask(string palletCode, Dt_StationManager stationManager)
- {
- var wmsIpAddrss = GetWmsIpAddress(SysConfigKeyConst.RequestInTask);
- var result = await HttpHelper.PostAsync(wmsIpAddrss, new { palletCode = palletCode, Roadways = stationManager.Roadway, area = stationManager.stationArea, Position = stationManager.stationChildCode }.ToJsonString());
+ var wmsIpAddrss = GetWmsIpAddress(SysConfigKeyConst.RequestInboundRoadWayNo);
+ var result = await HttpHelper.PostAsync(wmsIpAddrss, new { palletCode = palletCode, Roadways = stationManager.Roadway, area = stationManager.stationArea, Position = stationManager.stationChildCode, PVI = PVI }.ToJsonString());
return JsonConvert.DeserializeObject<WebResponseContent>(result);
}
-
- #endregion 鏍规嵁鎵樼洏鍙枫�佺珯鍙板悜WMS璇锋眰浠诲姟
-
/// <summary>
@@ -282,17 +248,13 @@
Dt_Task task = _mapper.Map<Dt_Task>(taskDTO);
task.Creater = "WMS";
task.CarType = taskDTO.CarType;
+ task.PVI = taskDTO.PVI;
if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
{
var stationinfo = _stationManagerRepository.QueryFirst(x => x.stationLocation == taskDTO.TargetAddress && x.Roadway == taskDTO.RoadWay);
task.TaskState = (int)TaskOutStatusEnum.OutNew;
- if (task.SourceAddress == "2009")
- {
- task.TaskState = (int)TaskOutStatusEnum.SC_OutFinish;
- }
-
task.CurrentAddress = taskDTO.RoadWay;
task.NextAddress = stationinfo.stationChildCode;
task.SourceAddress = taskDTO.SourceAddress;
--
Gitblit v1.9.3