Commit Graph

13 Commits (be8d8c323e675987c830a6c8f12c019f268998fe)

Author SHA1 Message Date
haoliang be8d8c323e 产量报表后端:支持机床多选、程序名多值、跨页面联动MachineIds/ProgramNames字段 1 month ago
haoliang 61ef4d71db 修复员工产量为0时明细和饼图仍显示数据 1 month ago
haoliang 60dc26a26f 修复产量为0时子页面图表和明细仍显示无意义数据 1 month ago
haoliang f9ce0254b0 修复产量为0时最高产量指标显示随机数据的问题 1 month ago
haoliang c79c56874c 修复产量报表:DailyProductionRepository全部改为查询cnc_daily_production新表 1 month ago
haoliang 287281e7b3 新增API端点 GET /api/admin/machine/{id}/latest-tags:从log_collect_raw.raw_json解析最新采集数据,提取6个Tag各带独立采集时间返回;补全三维度产量报表接口定义和实现 1 month ago
haoliang 56f00f4558 新增产量报表三维度API端点(机床/员工/程序各含summary+list),从cnc_production_segment实时计算 1 month ago
haoliang cb3a6071bd 修复管理后台4个Bug + 改进Ping逻辑
Bug1(告警中心分页不工作): AlertPage.vue添加watch监听page.page和page.pageSize变化触发loadData

Bug2(仪表盘按钮报错): DashboardPage.vue为刷新配置/停止采集/启动采集添加ElMessage成功提示,导入ElMessage

Bug3(设备详情页数据不对): MachineService四个方法从返回空数据改为查询实际数据
- GetStatus: 从Machine entity的last_*字段获取实时状态
- GetTodayProduction: 从cnc_daily_production或cnc_production_segment查今日产量
- GetProductionTrend: 从cnc_daily_production或segment查7天趋势
- GetCollectRecords: 从cnc_collect_record查最近20条采集记录
- IMachineRepository新增4个方法声明,MachineRepository实现SQL查询

Bug4(产量报表员工筛选不正确):
- DailyProductionRepository.GetList添加WorkerId过滤(通过cnc_worker_machine关联表)
- ProductionController.GetSummary扩展参数接受startDate/endDate/machineId/workerId
- IProductionService/ProductionService.GetSummary签名同步更新

Ping逻辑改进: CollectWorker从Ping采集URL主机改为Ping每台机床IP地址
- 新增PingAllMachines()并行Ping所有机床IP,逐台更新在线状态
- 新增PingHost()执行单次ICMP Ping(超时2秒)
- 移除旧的PingAddress()(Ping URL主机)和UpdateMachineOnlineStatus()(批量更新)
2 months ago
haoliang de5e636fdc 修复产量报表:下拉框字段映射、汇总卡片数值、表格运行时间/切削时间 2 months ago
haoliang ee0b5da1c1 产量报表改为混合查询:已汇总用daily_production,未汇总从segment实时计算;默认日期改为今天;参数名统一为startDate/endDate 2 months ago
haoliang 8845ffb3f6 新增CncService.Tests(180个测试全部通过)+ 修复Repository层SQL字段名bug
- 新增12个Service测试文件(180个测试用例,覆盖全部Service方法)
- 修复BrandFieldMappingRepository.BatchCreate连接未打开的bug
- 修复DailyProductionRepository中引用不存在的worker_id列的bug
- 修复DashboardRepository.GetWorkerRank中引用不存在的worker_id列的bug
- 修复SystemLogRepository.GetList参数未添加Limit/Offset的bug
2 months ago
haoliang 3a1912f4a1 修复所有Repository SQL列名为snake_case,新增CncRepository.Tests(37个测试全部通过)
- 修复20个Repository文件中SQL列名从PascalCase改为snake_case匹配数据库
- 新增TestDb.cs测试辅助类(DELETE+重置自增+种子数据)
- 新增5个测试类(Alert/Brand/Machine/SysConfig/Workshop)共37个测试
- 添加[Collection(Database)]串行执行避免并行竞争
- 解决TRUNCATE外键约束问题改用DELETE FROM
2 months ago
haoliang fc7d350c3d feat(repository): CncRepository完整实现 - 20接口+16实现,编译通过
- Interface: 20个仓储接口(ISysConfig/IWorkshop/IBrand/IBrandFieldMapping/ICollectAddress/IMachine/IWorker/IWorkerMachine/IDailyProduction/IProductionSegment/IMachineDailyStatus/IWorkerDailySummary/IProductionAdjustment/IAlert/IScreenConfig/IScreenFilter/ICollectRaw/ISystemLog/ICollectorHeartbeat/IDashboard)
- Impl: 16个仓储实现(BusinessRepository子类+LogRepository子类)
- 包含: 基础CRUD/分页查询/多表JOIN/统计聚合/仪表盘查询
- 修复: AlertRepository继承修正(BusinessRepository)/dynamic替换为强类型
2 months ago