| | |
| | | string deviceType) |
| | | { |
| | | // 记录当前请求状态的调试日志,供排查问题使用 |
| | | _logger.LogDebug("ProcessDeviceRequest:{DeviceType},子设备: {ChildDeviceCode},物料请求: {MaterialReq},出料请求: {OutputReq}", |
| | | deviceType, childDeviceCode, materialRequest, outputRequest); |
| | | // 同步写入 Quartz 日志文件(双写可追溯,这里保留与原逻辑一致的行为) |
| | | QuartzLogger.Debug($"ProcessDeviceRequest:{deviceType},子设备: {childDeviceCode},物料请求: {materialRequest},出料请求: {outputRequest}", conveyorLine.DeviceCode); |
| | | QuartzLogHelper.LogDebug(_logger, "ProcessDeviceRequest:{DeviceType},子设备: {ChildDeviceCode},物料请求: {MaterialReq},出料请求: {OutputReq}", $"ProcessDeviceRequest:{deviceType},子设备: {childDeviceCode},物料请求: {materialRequest},出料请求: {outputRequest}", conveyorLine.DeviceCode, deviceType, childDeviceCode, materialRequest, outputRequest); |
| | | |
| | | // 分支判断:设备是需要物料还是需要出料 |
| | | if (materialRequest) |
| | |
| | | // 2. 回复 ACK 确认信号,告知设备已收到请求 |
| | | conveyorLine.SetValue(ConveyorLineDBNameNew.WCS_ACK, 1, childDeviceCode); |
| | | // 3. 记录信息日志,表明已完成目标地址设置和 ACK 回复 |
| | | _logger.LogInformation("ProcessDeviceRequest:{DeviceType} 需要物料,已设置目标地址和ACK", deviceType); |
| | | QuartzLogger.Info($"ProcessDeviceRequest:{deviceType} 需要物料,已设置目标地址和ACK", conveyorLine.DeviceCode); |
| | | QuartzLogHelper.LogInfo(_logger, "ProcessDeviceRequest:{DeviceType} 需要物料,已设置目标地址和ACK", $"ProcessDeviceRequest:{deviceType} 需要物料,已设置目标地址和ACK", conveyorLine.DeviceCode, deviceType); |
| | | } |
| | | else |
| | | { |
| | |
| | | private void WriteDebug(CommonConveyorLine conveyorLine, string scenario, string childDeviceCode, string nextAddress) |
| | | { |
| | | // 写入结构化日志(可被 Serilog 等日志框架捕获) |
| | | _logger.LogDebug("Handle{Scenario}:子设备: {ChildDeviceCode},目标地址: {NextAddress}", |
| | | scenario, childDeviceCode, nextAddress); |
| | | // 写入 Quartz 专用日志文件(供定时任务轨迹追踪) |
| | | QuartzLogger.Debug($"Handle{scenario}:子设备: {childDeviceCode},目标地址: {nextAddress}", conveyorLine.DeviceCode); |
| | | QuartzLogHelper.LogDebug(_logger, "Handle{Scenario}:子设备: {ChildDeviceCode},目标地址: {NextAddress}", $"Handle{scenario}:子设备: {childDeviceCode},目标地址: {nextAddress}", conveyorLine.DeviceCode, scenario, childDeviceCode, nextAddress); |
| | | } |
| | | } |
| | | } |