pan
2025-11-29 b511ce686d438b202b73fc4f3b2d1abd5cf72dc4
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ESSController.cs
@@ -46,12 +46,9 @@
            _logger.LogInformation(" ESSController  ContainerArrivalReport : CallId={CallId},ContainerCode={ContainerCode},SlotCode={SlotCode}", request.CallId, request.ContainerCode, request.SlotCode);
            var response = new ApiResponse<ContainerArrivalResponseData>
            {
                Code = 0,
                Msg = "",
                Data = new ContainerArrivalResponseData
                {
                    direction = "100" // ç¤ºä¾‹å€¼ï¼šå¯æ ¹æ®å®žé™…情况返回方向或其他信息
                }
                Code = 1,
                Data = null,
            };
            // ç”Ÿæˆè¯·æ±‚的唯一标识(基于callId + æ—¶é—´æˆ³ï¼‰
@@ -62,8 +59,8 @@
            {
                _logger.LogWarning("检测到重复请求,已忽略: CallId={CallId}", request.CallId);
                response.Code = 1;
                response.Msg = "error";
                response.Data.direction = "0";
                response.Msg = null;
                response.Data = null;
                return Ok(response);
            }
@@ -75,36 +72,51 @@
                {
                    _logger.LogWarning("双重检查检测到重复请求,已忽略: CallId={CallId}", request.CallId);
                    response.Code = 1;
                    response.Msg = "error";
                    response.Data.direction = "0";
                    response.Msg = null;
                    response.Data = null;
                    return Ok(response);
                }
                var result = await _taskService.RequestInboundTask(request.ContainerCode, request.SlotCode);
                WebResponseContent result = await _taskService.RequestInboundTask(request.ContainerCode, request.SlotCode);
                if (result != null && !string.IsNullOrEmpty(result.Message))
                {
                    _logger.LogError(" ESSController  ContainerArrivalReport  RequestInboundTask: Message={Message}", result?.Message);
                }
                var cacheOptions = new MemoryCacheEntryOptions
                {
                    AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(1)
                    AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(20)
                };
                _memoryCache.Set(requestKey, true, cacheOptions);
                if (result.Status)
                response = new ApiResponse<ContainerArrivalResponseData>
                {
                    response = new ApiResponse<ContainerArrivalResponseData>
                    Code = 0,
                    Msg = "",
                    Data = null,
                };
                if (result != null && !string.IsNullOrEmpty( result.Message ) && result.Message.Contains("该托盘已生成任务"))
                {
                    response.Data = new ContainerArrivalResponseData
                    {
                        Code = 0,
                        Msg = "",
                        Data = new ContainerArrivalResponseData
                        {
                            direction = "100"
                        }
                        direction = "100"
                    };
                    return Ok(response);
                }
                if (result != null && result.Status)
                {
                    response.Data = new ContainerArrivalResponseData
                    {
                        direction = "100"
                    };
                    return Ok(response);
                }
                else
                {
                    response.Code = 1;
                    response.Msg = "error";
                    response.Data.direction = "0";
                    response.Msg = null;
                    response.Data = null;
                    _logger.LogError(" ESSController  ContainerArrivalReport  Error: Message={Message}", result.Message);
                    return Ok(response);
@@ -217,7 +229,7 @@
            _logger.LogInformation("任务完成: TaskCode={TaskCode}, Container={Container}, Robot={Robot}",
                request.TaskCode, request.ContainerCode, request.RobotCode);
            _taskService.TaskCompleted(request.TaskCode);
            await _taskService.TaskCompleted(request.TaskCode);
            // æ ¹æ®ä¸åŒçš„任务类型进行特殊处理
            if (request.Weight.HasValue)
            {