From 457b75b642a1fdaa7158e5b047cabc5d7ae16333 Mon Sep 17 00:00:00 2001
From: xxyy <cathay_xy@163.com>
Date: 星期一, 10 三月 2025 10:10:13 +0800
Subject: [PATCH] 修复和优化 Dt_TaskService.cs 中的任务请求逻辑
---
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 119 ++++++++++++++++++-----------------------------------------
1 files changed, 37 insertions(+), 82 deletions(-)
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index 5b06bf3..909b441 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -1,11 +1,9 @@
锘縰sing AutoMapper;
using HslCommunication;
using Mapster;
-using Microsoft.AspNetCore.Components.Routing;
using Newtonsoft.Json;
using SqlSugar;
using System.Diagnostics.CodeAnalysis;
-using System.Threading.Tasks;
using WIDESEAWCS_BasicInfoRepository;
using WIDESEAWCS_BasicInfoService;
using WIDESEAWCS_Common;
@@ -20,12 +18,9 @@
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DeviceBase;
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_QuartzJob.Repository;
using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_TaskInfoRepository;
namespace WIDESEAWCS_TaskInfoService
{
@@ -98,7 +93,7 @@
if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
{
// 鍒ゆ柇浠诲姟鐩爣鍦板潃鍜岃矾寰勬槸鍚︽弧瓒崇壒瀹氭潯浠�
- if (task.TargetAddress == "002-021-001" && task.Roadway.Contains("JZ") && task.TaskType == (int)TaskOutboundTypeEnum.OutTray)
+ if ((task.TargetAddress == "002-021-001" || task.TargetAddress == "001-021-001") && task.Roadway.Contains("JZ"))
{
// 璁剧疆浠诲姟鐘舵�佷负鍑哄簱鏂板缓
task.TaskState = (int)TaskOutStatusEnum.OutNew;
@@ -139,8 +134,11 @@
// 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄叆搴撲换鍔�
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
{
+ var value = _sys_ConfigService.GetByConfigKey(CateGoryConst.CONFIG_SYS_InStation, SysConfigKeyConst.JZNGInBoundStation).ConfigValue;
+ var valueList = value.Split(',').ToList();
// 鍒ゆ柇婧愬湴鍧�鏄惁涓嶇瓑浜�"1359-4"
- if (task.SourceAddress != "1359-4")
+ //if (task.SourceAddress != "1359-4" && task.SourceAddress != "1357-4")
+ if (!valueList.Contains(task.SourceAddress))
{
// 鏌ヨ浠庢簮鍦板潃鍒扮洰鏍囧湴鍧�鐨勮矾鐢�
List<Dt_Router> routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress);
@@ -156,8 +154,13 @@
}
else
{
- // 璁剧疆褰撳墠鍦板潃涓�"002-021-001"
- task.CurrentAddress = "002-021-001";
+ task.CurrentAddress = string.Empty;
+ if (task.SourceAddress == "1325-6")
+ // 璁剧疆褰撳墠鍦板潃涓�"001-021-001"
+ task.CurrentAddress = "001-021-001";
+ else
+ // 璁剧疆褰撳墠鍦板潃涓�"002-021-001"
+ task.CurrentAddress = "002-021-001";
// 璁剧疆涓嬩竴涓湴鍧�涓虹洰鏍囧湴鍧�
task.NextAddress = item.TargetAddress;
}
@@ -211,7 +214,7 @@
wmsIpAddrss = GetIpAddress(SysConfigKeyConst.WMSIP_BASE, SysConfigKeyConst.RequestTask);
}
- var result = await HttpHelper.PostAsync(wmsIpAddrss, new { Position = sourceAddress, PalletCode = palletCode }.ToJsonString());
+ var result = await HttpHelper.PostAsync(wmsIpAddrss, new { Position = sourceAddress, PalletCode = palletCode, stationManager.productLine }.ToJsonString());
content = JsonConvert.DeserializeObject<WebResponseContent>(result);
if (!content.Status)
@@ -505,81 +508,11 @@
_taskHtyRepository.AddData(task_Hty);
}
-
if (task.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)
{
- #region WMS鍚屾浠诲姟瀹屾垚
-
- var keys = new Dictionary<string, object>()
- {
- {"taskNum", task.TaskNum}
- };
- // 鑾峰彇WMSip鍦板潃
- var configs = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
- var wmsBasex = configs.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
- var completeTask = configs.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
- if (wmsBasex == null || completeTask == null)
- {
- throw new InvalidOperationException("WMS IP 鏈厤缃�");
- }
- var wmsIpAddressx = wmsBasex + completeTask;
-
- var results = HttpHelper.GetAsync(wmsIpAddressx, keys).Result;
- content = JsonConvert.DeserializeObject<WebResponseContent>(results);
- if (!content.Data.IsNullOrEmpty())
- {
- if (content.Data.ToString() == "NG")
- {
- task.Remark = "NG";
- }
- }
- task.ExceptionMessage += " " + content.Message;
-
- #endregion WMS鍚屾浠诲姟瀹屾垚
-
-
- if (!task.Roadway.Contains("GW"))
- {
- var routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
- if (!routers.Any()) return WebResponseContent.Instance.Error($"鏈壘鍒拌澶囪矾鐢变俊鎭�");
- task.CurrentAddress = task.NextAddress;
- task.NextAddress = routers.FirstOrDefault().ChildPosi;
- task.ModifyDate = DateTime.Now;
- task.Modifier = "System";
- BaseDal.UpdateData(task);
- _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�");
- }
- else
- {
- task.TaskState = (int)TaskOutStatusEnum.OutFinish;
- //濡傞珮娓╁嚭搴撳悗 NG 鍒欏皢浠诲姟鏍囪涓篘G 骞跺湪鍑哄簱鐢宠鍚庡皢浠诲姟鍑鸿嚦NG鍙�
- if (task.Remark == "NG")
- {
- BaseDal.UpdateData(task);
- }
- else
- {
- BaseDal.DeleteData(task);
- ConsoleHelper.WriteWarningLine($"楂樻俯鍑哄簱鐩殑鍦板潃{task.TargetAddress}");
- }
-
- var taskHty = task.Adapt<Dt_Task_Hty>();
- _taskHtyRepository.AddData(taskHty);
- _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�");
- }
-
- //鏆備笉鑰冭檻澶氫釜鍑哄簱鍙�
-
- if (task.Roadway.Contains("CH") && task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
- {
- Dt_Task? newTask = UpdatePosition(task.TaskNum, task.CurrentAddress);
- if (newTask != null)
- {
- task = newTask;
- }
- }
+ content = StackCraneTaskCompleted(task.TaskNum);
+ return content;
}
-
}
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
{
@@ -630,6 +563,12 @@
}
else if (task.TaskState == (int)TaskInStatusEnum.SC_InFinish)
{
+ if (App.User.UserId > 0)
+ {
+ content = StackCraneTaskCompleted(task.TaskNum);
+ return content;
+ }
+
task.ModifyDate = DateTime.Now;
task.Modifier = "System";
@@ -944,5 +883,21 @@
}
return wcsBasez + address;
}
+
+ #region 閲嶅啓鏂规硶
+
+ public override WebResponseContent DeleteData(object[] key)
+ {
+ foreach (var item in key)
+ {
+ var task = BaseDal.QueryFirst(x => x.TaskId == Convert.ToInt32(item));
+ var taskHty = task.Adapt<Dt_Task_Hty>();
+ taskHty.Creater = App.User.UserName != null ? App.User.UserName : "System";
+ _taskHtyRepository.AddData(taskHty);
+ }
+ return base.DeleteData(key);
+ }
+
+ #endregion 閲嶅啓鏂规硶
}
}
\ No newline at end of file
--
Gitblit v1.9.3