From 63ca4ac71443473a0ff72758e1ae3739b7640a68 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期二, 21 四月 2026 00:32:22 +0800
Subject: [PATCH] refactor(TaskService_Inbound): InboundInContainer改为Task.Run异步执行
---
Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WCS/TaskService_Inbound.cs | 98 ++++++++++++++++++++++++++++++++-----------------
1 files changed, 64 insertions(+), 34 deletions(-)
diff --git a/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WCS/TaskService_Inbound.cs b/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WCS/TaskService_Inbound.cs
index 20956e7..c8a798c 100644
--- a/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WCS/TaskService_Inbound.cs
+++ b/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WCS/TaskService_Inbound.cs
@@ -179,41 +179,71 @@
return WebResponseContent.Instance.Error("浠诲姟瀹屾垚澶辫触");
// 鏍规嵁搴撳瓨Remark閫夋嫨闈欑疆璁惧锛屾煡MES鍔ㄦ�佸嚟璇�
- //string deviceName = stockInfo.Remark == "GW_1" ? "楂樻俯闈欑疆1"
- // : stockInfo.Remark == "GW_2" ? "楂樻俯闈欑疆2"
- // : "甯告俯闈欑疆1";
- //var mesConfig = _mesDeviceConfigService.GetByDeviceName(deviceName);
- //string equipmentCode = mesConfig?.EquipmentCode ?? StockConstants.MES_EQUIPMENT_CODE;
- //string resourceCode = mesConfig?.ResourceCode ?? StockConstants.MES_RESOURCE_CODE;
- //string token = mesConfig?.Token;
+ string deviceName = stockInfo.Remark == "GW_1" ? "楂樻俯闈欑疆1"
+ : stockInfo.Remark == "GW_2" ? "楂樻俯闈欑疆2"
+ : "甯告俯闈欑疆1";
+ var mesConfig = _mesDeviceConfigService.GetByDeviceName(deviceName);
+ string equipmentCode = mesConfig?.EquipmentCode ?? StockConstants.MES_EQUIPMENT_CODE;
+ string resourceCode = mesConfig?.ResourceCode ?? StockConstants.MES_RESOURCE_CODE;
+ string token = mesConfig?.Token;
- // 璋冪敤MES鎵樼洏杩涚珯
- //var inboundRequest = new InboundInContainerRequest
- //{
- // EquipmentCode = equipmentCode,
- // ResourceCode = resourceCode,
- // LocalTime = DateTime.Now,
- // ContainerCode = taskDto.PalletCode
- //};
- //string requestJson = inboundRequest.ToJson();
- //var inboundResult = string.IsNullOrWhiteSpace(token)
- // ? _mesService.InboundInContainer(inboundRequest)
- // : _mesService.InboundInContainer(inboundRequest, token);
- //stopwatch.Stop();
- //await _mesLogService.LogAsync(new MesApiLogDto
- //{
- // ApiType = "InboundInContainer",
- // RequestJson = requestJson,
- // ResponseJson = JsonConvert.SerializeObject(inboundResult),
- // IsSuccess = inboundResult.IsSuccess,
- // ErrorMessage = inboundResult.ErrorMessage,
- // ElapsedMs = (int)stopwatch.ElapsedMilliseconds,
- // Creator = "systeam"
- //});
- //if (inboundResult == null || inboundResult.Data == null || !inboundResult.Data.IsSuccess)
- //{
- // return content.Error($"浠诲姟瀹屾垚澶辫触锛歁ES杩涚珯澶辫触: {inboundResult?.Data?.Msg ?? inboundResult?.ErrorMessage ?? "鏈煡閿欒"}");
- //}
+ // 寮傛璋冪敤MES鎵樼洏杩涚珯锛屼笉闃诲涓婚�昏緫
+ var palletCode = taskDto.PalletCode;
+ var localEquipmentCode = equipmentCode;
+ var localResourceCode = resourceCode;
+ var localToken = token;
+ _ = Task.Run(async () =>
+ {
+ var localStopwatch = Stopwatch.StartNew();
+ try
+ {
+ var inboundRequest = new InboundInContainerRequest
+ {
+ EquipmentCode = localEquipmentCode,
+ ResourceCode = localResourceCode,
+ LocalTime = DateTime.Now,
+ ContainerCode = palletCode
+ };
+ string localRequestJson = inboundRequest.ToJson();
+ var inboundResult = string.IsNullOrWhiteSpace(localToken)
+ ? _mesService.InboundInContainer(inboundRequest)
+ : _mesService.InboundInContainer(inboundRequest, localToken);
+ localStopwatch.Stop();
+
+ bool isSuccess = inboundResult?.Data?.IsSuccess ?? false;
+ int status = isSuccess
+ ? (int)MesUploadStatusEnum.杩涚珯涓婁紶鎴愬姛
+ : (int)MesUploadStatusEnum.杩涚珯涓婁紶澶辫触;
+
+ await _stockInfoService.UpdateMesUploadStatusAsync(palletCode, status);
+
+ await _mesLogService.LogAsync(new MesApiLogDto
+ {
+ PalletCode = palletCode,
+ ApiType = "InboundInContainer",
+ RequestJson = localRequestJson,
+ ResponseJson = JsonConvert.SerializeObject(inboundResult),
+ IsSuccess = isSuccess,
+ ErrorMessage = inboundResult?.Data?.Msg ?? inboundResult?.ErrorMessage ?? "鏈煡閿欒",
+ ElapsedMs = (int)localStopwatch.ElapsedMilliseconds,
+ Creator = "systeam"
+ });
+ }
+ catch (Exception ex)
+ {
+ localStopwatch.Stop();
+ await _stockInfoService.UpdateMesUploadStatusAsync(palletCode, (int)MesUploadStatusEnum.杩涚珯涓婁紶澶辫触);
+ await _mesLogService.LogAsync(new MesApiLogDto
+ {
+ PalletCode = palletCode,
+ ApiType = "InboundInContainer",
+ IsSuccess = false,
+ ErrorMessage = ex.Message,
+ ElapsedMs = (int)localStopwatch.ElapsedMilliseconds,
+ Creator = "systeam"
+ });
+ }
+ });
return await CompleteTaskAsync(task, "鍏ュ簱瀹屾垚");
});
}
--
Gitblit v1.9.3