From 1c637ea862816ae6fa53945fa0327b95c79aa18b Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期五, 22 八月 2025 16:20:27 +0800
Subject: [PATCH] 增强 WMS IP 地址处理逻辑的健壮性在 `TaskService.cs` 文件中,添加了对 `result` 是否为 `null` 的检查,以确保在反序列化之前 `result` 是有效的。同时,调整了对 `content.Data` 的检查逻辑,确保在 `content.Data` 不为空的情况下,才会进一步检查其值是否为 "NG"。如果是 "NG",则设置 `task.Remark` 为 "NG"。这些更改提高了代码的健壮性,避免了潜在的空引用异常。
---
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 35 ++++++++++++++++++++++++-----------
1 files changed, 24 insertions(+), 11 deletions(-)
diff --git a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
index 7095436..c346b05 100644
--- a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
+++ b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -13,6 +13,7 @@
using WIDESEA_IServices;
using WIDESEA_IStoragIntegrationServices;
using WIDESEA_Model.Models;
+using WIDESEA_Repository;
using WIDESEAWCS_BasicInfoRepository;
using WIDESEAWCS_QuartzJob.Models;
@@ -36,6 +37,7 @@
private readonly IAgingInOrOutInputService _agingInOrOutInputService; //闈欑疆\闄堝寲
private readonly IDt_StationManagerRepository _stationManagerRepository;
private readonly ISys_ConfigService _configService;
+ private readonly IDt_ChangeoversRepository _dt_ChangeoversRepository;
private readonly ISimpleCacheService _simpleCacheService;
public Dt_TaskService(IDt_TaskRepository BaseDal,
@@ -55,6 +57,7 @@
IStockInfoDetailRepository stockInfoDetailRepository,
IDt_StationManagerRepository stationManagerRepository,
ISys_ConfigService configService,
+ IDt_ChangeoversRepository dt_ChangeoversRepository,
ISimpleCacheService simpleCacheService) : base(BaseDal)
{
_unitOfWorkManage = unitOfWorkManage;
@@ -72,6 +75,7 @@
_stockInfoDetailRepository = stockInfoDetailRepository;
_stationManagerRepository = stationManagerRepository;
_configService = configService;
+ _dt_ChangeoversRepository = dt_ChangeoversRepository;
_simpleCacheService = simpleCacheService;
}
@@ -609,13 +613,13 @@
}
LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "楠岃瘉浠诲姟鏄惁瀛樺湪", JsonConvert.SerializeObject(task));
- if (task.TaskType == (int)TaskOutboundTypeEnum.InToOut)
- {
- return await CompleteInToOutTaskAsync(task);
- }
+
// 楠岃瘉搴撳瓨鏄惁瀛樺湪
var stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == task.PalletCode);
-
+ if (task.TaskType == (int)TaskOutboundTypeEnum.InToOut)
+ {
+ return await CompleteInToOutTaskAsync(task,stock);
+ }
// 鏍规嵁浠诲姟绫诲瀷璋冪敤鐩稿簲鐨勫畬鎴愪换鍔℃柟娉�
switch (task.TaskType)
{
@@ -666,6 +670,11 @@
var stock = await QueryStockInfo(input.PalletCode);
if (stock != null)
{
+ List<string> strings = new List<string>() { "GW", "CW", "FR" };
+ if (stock.AreaCode.Contains(strings))
+ {
+ return content.Error($"鎵樼洏銆恵stock.PalletCode}銆戝瓨鍦ㄥ簱瀛樹笉鍏佽鍏ュ簱");
+ }
Dt_Task taskNew = new Dt_Task
{
Grade = 1,
@@ -978,7 +987,9 @@
return null;
}
- var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel");
+ //var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel");
+
+ var outBoundMateriel = _dt_ChangeoversRepository.QueryData(x => x.Status == "1").ToList();
List<string>? materielCodes = outBoundMateriel.Count != 0
? outBoundMateriel.Where(x => x.ProductionLine == productionLine && x.ProcessCode == area.AreaCode)
.Select(x => x.MaterielCode)
@@ -1031,7 +1042,9 @@
// materielCodes = outBoundMateriel.Where(x => x.ProductionLine == productionLine && x.ProcessCode == areaCodes[0]).Select(x => x.MaterielCode).ToList();
//}
- var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel");
+ //var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel");
+
+ var outBoundMateriel = _dt_ChangeoversRepository.QueryData(x => x.Status == "1").ToList();
List<string>? materielCodes = outBoundMateriel.Count != 0
? outBoundMateriel.Where(x => x.ProductionLine == productionLine && x.ProcessCode == areaCodes[0])
.Select(x => x.MaterielCode)
@@ -2238,10 +2251,10 @@
// 鑾峰彇鐩爣鍦板潃鍜屾洿鏂颁换鍔$姸鎬�
input.Position = Regex.Replace(input.Position, @"-(\d+)", "");
- if (Convert.ToInt32(input.Position) > 1999)
- {
- input.Position = (Convert.ToInt32(input.Position) - 1000).ToString();
- }
+ //if (Convert.ToInt32(input.Position) > 1999)
+ //{
+ // input.Position = (Convert.ToInt32(input.Position) - 1000).ToString();
+ //}
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
{
--
Gitblit v1.9.3