diff --git a/src/CncRepository/Impl/MachineRepository.cs b/src/CncRepository/Impl/MachineRepository.cs index 0ff4846..04314de 100644 --- a/src/CncRepository/Impl/MachineRepository.cs +++ b/src/CncRepository/Impl/MachineRepository.cs @@ -232,23 +232,11 @@ namespace CncRepository.Impl { using (var conn = CreateConnection()) { - // 优先从已汇总的日产量表取 - string dpSql = @"SELECT program_name AS ProgramName, CAST(total_quantity AS SIGNED) AS Quantity, - total_run_time AS RunTime, total_cutting_time AS CuttingTime - FROM cnc_daily_production - WHERE machine_id = @MachineId AND production_date = CURDATE()"; - var dpItems = conn.Query(dpSql, new { MachineId = machineId }).AsList(); - if (dpItems.Count > 0) return dpItems; - - // 没有汇总数据则从分段表实时计算 - string segSql = @"SELECT seg.program_name AS ProgramName, - CAST(SUM(CASE WHEN seg.is_settled=1 THEN seg.quantity - ELSE COALESCE(seg.end_part_count, seg.start_part_count) - seg.start_part_count END) AS SIGNED) AS Quantity, - NULL AS RunTime, NULL AS CuttingTime - FROM cnc_production_segment seg - WHERE seg.machine_id = @MachineId AND seg.production_date = CURDATE() - GROUP BY seg.program_name"; - return conn.Query(segSql, new { MachineId = machineId }).AsList(); + string sql = @"SELECT dp.program_name AS ProgramName, + (dp.end_total_count - dp.base_total_count) AS Quantity + FROM cnc_daily_production dp + WHERE dp.machine_id = @MachineId AND dp.production_date = CURDATE()"; + return conn.Query(sql, new { MachineId = machineId }).AsList(); } } @@ -257,27 +245,14 @@ namespace CncRepository.Impl { using (var conn = CreateConnection()) { - // 优先从日产量表取近N天数据 string sql = @"SELECT DATE_FORMAT(dp.production_date, '%Y-%m-%d') AS Date, - CAST(SUM(dp.total_quantity) AS SIGNED) AS Quantity + CAST(SUM(dp.end_total_count - dp.base_total_count) AS SIGNED) AS Quantity FROM cnc_daily_production dp WHERE dp.machine_id = @MachineId AND dp.production_date >= DATE_SUB(CURDATE(), INTERVAL @Days DAY) GROUP BY dp.production_date ORDER BY dp.production_date"; - var items = conn.Query(sql, new { MachineId = machineId, Days = days - 1 }).AsList(); - if (items.Count > 0) return items; - - // 没有汇总数据则从分段表实时计算 - string segSql = @"SELECT DATE_FORMAT(seg.production_date, '%Y-%m-%d') AS Date, - CAST(SUM(CASE WHEN seg.is_settled=1 THEN seg.quantity - ELSE COALESCE(seg.end_part_count, seg.start_part_count) - seg.start_part_count END) AS SIGNED) AS Quantity - FROM cnc_production_segment seg - WHERE seg.machine_id = @MachineId - AND seg.production_date >= DATE_SUB(CURDATE(), INTERVAL @Days DAY) - GROUP BY seg.production_date - ORDER BY seg.production_date"; - return conn.Query(segSql, new { MachineId = machineId, Days = days - 1 }).AsList(); + return conn.Query(sql, new { MachineId = machineId, Days = days - 1 }).AsList(); } }