From d3ac736e217638d66dc40ce0124842666899d696 Mon Sep 17 00:00:00 2001 From: haoliang <821644@qq.com> Date: Sun, 17 May 2026 03:26:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DMachineRepository=20GROUP=20B?= =?UTF-8?q?Y/WHERE=E9=A1=BA=E5=BA=8F+=E7=A7=BB=E9=99=A4WorkerId=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=E5=A4=9A=E4=BA=BA=E6=9F=A5=E8=AF=A2=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/CncRepository/Impl/MachineRepository.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/CncRepository/Impl/MachineRepository.cs b/src/CncRepository/Impl/MachineRepository.cs index 1c60480..8b2b897 100644 --- a/src/CncRepository/Impl/MachineRepository.cs +++ b/src/CncRepository/Impl/MachineRepository.cs @@ -44,15 +44,15 @@ namespace CncRepository.Impl m.is_enabled as IsEnabled, (CASE WHEN m.last_ping_time IS NOT NULL AND m.last_ping_time >= NOW() - INTERVAL 20 SECOND THEN 1 ELSE 0 END) as IsOnline, m.last_ping_latency as LastPingLatency, - w.id as WorkerId, GROUP_CONCAT(w.name SEPARATOR ', ') as WorkerNames, + GROUP_CONCAT(w.name SEPARATOR ', ') as WorkerNames, m.last_program_name as LastProgramName, m.last_collect_time as LastCollectTime FROM cnc_machine m LEFT JOIN cnc_workshop ws ON m.workshop_id = ws.id LEFT JOIN cnc_brand b ON m.brand_id = b.id LEFT JOIN cnc_worker_machine wm ON m.id = wm.machine_id LEFT JOIN cnc_worker w ON wm.worker_id = w.id - GROUP BY m.id, m.name, m.device_code, m.workshop_id, ws.name, m.collect_address_id, m.brand_id, b.brand_name, m.ip_address, m.is_enabled, m.last_ping_latency, m.last_program_name, m.last_collect_time - WHERE m.id = @Id"; + WHERE m.id = @Id + GROUP BY m.id, m.name, m.device_code, m.workshop_id, ws.name, m.collect_address_id, m.brand_id, b.brand_name, m.ip_address, m.is_enabled, m.last_ping_latency, m.last_program_name, m.last_collect_time, m.last_ping_time"; return conn.QuerySingleOrDefault(sql, new { Id = id }); } } @@ -90,13 +90,13 @@ namespace CncRepository.Impl var sql = @"SELECT m.id as Id, m.device_code as DeviceCode, m.name as Name, m.workshop_id as WorkshopId, ws.name as WorkshopName, m.collect_address_id as CollectAddressId, m.brand_id as BrandId, b.brand_name as BrandName, m.ip_address as IpAddress, m.is_enabled as IsEnabled, (CASE WHEN m.last_ping_time IS NOT NULL AND m.last_ping_time >= NOW() - INTERVAL 20 SECOND THEN 1 ELSE 0 END) as IsOnline, m.last_ping_latency as LastPingLatency, - m.last_program_name as LastProgramName, m.last_collect_time as LastCollectTime, w.id as WorkerId, GROUP_CONCAT(w.name SEPARATOR ', ') as WorkerNames + m.last_program_name as LastProgramName, m.last_collect_time as LastCollectTime, GROUP_CONCAT(w.name SEPARATOR ', ') as WorkerNames FROM cnc_machine m LEFT JOIN cnc_workshop ws ON m.workshop_id = ws.id LEFT JOIN cnc_brand b ON m.brand_id = b.id LEFT JOIN cnc_worker_machine wm ON m.id = wm.machine_id - LEFT JOIN cnc_worker w ON wm.worker_id = w.id - GROUP BY m.id, m.device_code, m.name, m.workshop_id, ws.name, m.collect_address_id, m.brand_id, b.brand_name, m.ip_address, m.is_enabled, m.last_ping_latency, m.last_program_name, m.last_collect_time" + where + @" ORDER BY m.id DESC LIMIT @Limit OFFSET @Offset"; + LEFT JOIN cnc_worker w ON wm.worker_id = w.id" + where + @" + GROUP BY m.id, m.device_code, m.name, m.workshop_id, ws.name, m.collect_address_id, m.brand_id, b.brand_name, m.ip_address, m.is_enabled, m.last_ping_latency, m.last_program_name, m.last_collect_time, m.last_ping_time ORDER BY m.id DESC LIMIT @Limit OFFSET @Offset"; p.Add("Limit", limit); p.Add("Offset", offset); var totalSql = @"SELECT COUNT(*) FROM cnc_machine m" + where + @"";