From a95c4e748b01da8bea6ba0f8e6af9c281bc582d7 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期二, 29 七月 2025 09:22:13 +0800 Subject: [PATCH] 优化日志格式并增强库存查询逻辑在 CommonConveyorLineJob.cs和CommonConveyorLine_GWJob.cs文件中,修改了日志输出格式,添加了时间戳以提高可读性和可追溯性。部分代码中的ToJsonString()方法被替换为 Serialize()方法,以统一序列化方式。与此同时,在 Dt_TaskService.cs文件中增加了库存信息查询逻辑,以确保出库时能够正确处理库存条件,增强系统的健壮性。 --- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs | 23 ++++++++++++----------- 1 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs index b70ab53..bb94546 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs @@ -307,7 +307,7 @@ try { // 杈撳嚭璀﹀憡淇℃伅锛岃〃绀轰换鍔″凡鍒拌揪瀛愯澶囧苟璇锋眰鎵爜鍏ュ簱 - var log = $"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�"; + var log = $"鏃堕棿锛氥�恵DateTime.Now}銆戙�恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�"; ConsoleHelper.WriteWarningLine(log); // 鍙戦�侀�氱煡 await _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); @@ -334,7 +334,7 @@ conveyorLine.SendCommand(taskCommand, childDeviceCode); // 杈撳嚭璀﹀憡淇℃伅锛岃〃绀轰换鍔″凡鍒拌揪瀛愯澶囧苟璇锋眰鎵爜鍏ュ簱锛屼笅涓�鐩爣鍦板潃 - var logs = $"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�,涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�"; + var logs = $"鏃堕棿锛氥�恵DateTime.Now}銆戙�恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�,涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�"; ConsoleHelper.WriteWarningLine(logs); await _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = logs, time = DateTime.Now.ToString("G"), color = "red" }); @@ -376,13 +376,12 @@ /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param> public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode) { - var log = $"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傚叆搴撲笅涓�鍦板潃"; + var log = $"鏃堕棿锛氥�恵DateTime.Now}銆戙�恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傚叆搴撲笅涓�鍦板潃"; ConsoleHelper.WriteWarningLine(log); _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); WriteInfo(conveyorLine.DeviceName, log); - //Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode, command.Barcode); if (task != null) { @@ -423,13 +422,12 @@ { try { - var log = $"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎鍏ュ簱瀹屾垚"; + var log = $"鏃堕棿锛氥�恵DateTime.Now}銆戙�恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎鍏ュ簱瀹屾垚"; ConsoleHelper.WriteWarningLine(log); _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); WriteInfo(conveyorLine.DeviceName, log); - //var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode, command.Barcode); if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish) { @@ -461,6 +459,12 @@ else { WebResponseContent content = _taskService.UpdateTaskStatusToNext(task); + WriteInfo(conveyorLine.DeviceName, content.ToJsonString()); + if (!content.Status) + { + ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎鍏ュ簱瀹屾垚,浠诲姟鎵ц澶辫触{JsonConvert.SerializeObject(content)}"); + return; + } conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTargetAddress, "1000", childDeviceCode); @@ -472,7 +476,6 @@ ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); Console.Out.WriteLine(content.ToJsonString()); - WriteInfo(conveyorLine.DeviceName, content.ToJsonString()); } } } @@ -501,7 +504,7 @@ var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode); // 杈撳嚭鎴愬姛淇℃伅锛屽寘鎷緭閫佺嚎鍚嶇О銆佷换鍔″彿銆佹墭鐩樻潯鐮佸拰瀛愯澶囦唬鐮侊紝浠ュ強浠诲姟淇℃伅 - var logs = $"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎璇锋眰鍑哄簱,task{task.ToJsonString()}"; + var logs = $"鏃堕棿锛氥�恵DateTime.Now}銆戙�恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎璇锋眰鍑哄簱,task{task.ToJsonString()}"; ConsoleHelper.WriteSuccessLine(logs); _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = logs, time = DateTime.Now.ToString("G"), color = "red" }); @@ -536,7 +539,7 @@ _taskService.UpdateTaskStatusToNext(task); // 濡傛灉浠诲姟鐨勭洰鏍囧湴鍧�鏄�"1020-1"锛屽垯鍐嶆鏇存柊浠诲姟鐘舵�佸埌涓嬩竴涓姸鎬� - if (task.TargetAddress == "1020-1") + if (task.TargetAddress == "1020-1"|| task.TargetAddress == "1049-8") { _taskService.UpdateTaskStatusToNext(task); } @@ -563,7 +566,6 @@ WriteInfo(conveyorLine.DeviceName, log); // 鏌ヨ姝e湪鎵ц鐨勮緭閫佺嚎浠诲姟锛屾牴鎹换鍔″彿鍜屽瓙璁惧浠g爜鑾峰彇浠诲姟淇℃伅 - //Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode, command.Barcode); // 濡傛灉浠诲姟瀛樺湪 @@ -624,7 +626,6 @@ WriteInfo(conveyorLine.DeviceName, logs); // 鏌ヨ姝e湪鎵ц鐨勮緭閫佺嚎浠诲姟 - //var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode, command.Barcode); // 濡傛灉浠诲姟瀛樺湪 -- Gitblit v1.9.3