Commit Graph

12 Commits (9b12c76323f8f17e2a50ea0d0ff5060ddda23d8e)

Author SHA1 Message Date
haoliang 9b12c76323 日志按天归档到日期子目录:log4net改Size滚动+LogArchiveJob凌晨归档+过期目录自动清理 19 hours ago
haoliang 4366cf9347 修复仪表盘三个bug:采集状态精确区分5种+暂停恢复、产量结算保留实时值、车间平均产量排除停用机床 1 day ago
haoliang 724183997b 在线状态显示Ping延迟(在线-1ms/离线-1ms格式) 1 day ago
haoliang 711149199b 修复采集服务心跳service_id不匹配+机床在线判断简化为20秒+Ping 4次取平均延迟 1 day ago
haoliang ccdfec31bb feat: 在线状态改为基于last_ping_time实时判断,删除is_online列;新增online_timeout配置项(默认300秒);全链路修改Repository/Service/Collector/测试 2 days ago
haoliang 7d9634af48 feat(采集日志): 新增前端实现,包括 API 封装、Mock 数据、Vue 页面、路由和菜单;新增 CollectLog 页面组件、Mock 数据、API 接口,以及路由与侧边栏集成 3 days ago
haoliang e3f37d5433 feat: 实现采集分析引擎(AnalysisEngine)+ 后台管理API + 前端设计文档
- 新增 log_collect_analysis + log_collect_cycle 两张按月分区表DDL
- 完整实现 AnalysisEngine:9种分析类型检测、DB写入、异常告警联动
- 修改 CollectRecordWriter.WriteBatch 返回 rawLogId
- 集成 AnalysisEngine 到 CollectWorker 采集主流程
- 新增 CollectLogController 5个API端点(分析查询/详情/周期/原始日志)
- 新增 Entity/Enum/DTO/Repository/Service 全链路代码
- 修复子代理创建的文件:DTO命名空间、Repository方法名、SQL列映射、using引用
- 新增13-采集日志前端设计文档(索引+规范+页面)
- 全部5个主项目编译通过,0错误
3 days 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()(批量更新)
5 days ago
haoliang c2c4d15453 修复端到端测试发现的3个Bug
Bug1(中): 采集服务失败时记录实际HTTP状态码
- CollectWorker新增httpStatusCode变量,捕获响应状态码
- CollectRecordWriter.WriteBatch新增statusCode参数,失败时写入实际状态码(如500)
- ParseAndSave传入statusCode参数

Bug2(低): 模拟器Stop→Start端口冲突
- SimulatorServer.Start()复用已有HttpListener,不再重复创建
- 仅在_listener为null或未监听时才创建新HttpListener

Bug3(低): 新增手动触发日终汇总API
- CollectorApiServer新增 POST /api/collector/daily-summary 端点
- CollectorEngine新增 RunDailySummary(date) 公开方法
- DashboardController新增 POST /api/admin/collector/daily-summary 转发
5 days ago
haoliang 592ebfbe08 修复采集服务启动后仪表盘状态不刷新的问题
根因:CollectorEngine.Start()不立即写心跳,仪表盘读心跳表仍显示stopped
修复:Start()中_isRunning=true后立即WriteHeartbeat('running')
附带:ForwardToCollector连接失败时返回错误码(code=50001)而非成功
5 days ago
haoliang 5826e701fc 新增单元测试+Playwright实际测试(79个单元测试+11个E2E测试全部通过)
- 新增CollectRecordWriterTests(11个用例)和CollectorApiServerTests(11个用例)
- 修复Worker状态缺少url字段,修复Playwright配置全局API Key问题
- CncCollector共79个单元测试全部通过
- Playwright E2E测试实际执行:启动模拟器+采集服务,11个测试全部通过
- 测试覆盖:API认证、启停控制、状态查询、刷新配置、工作线程管理
6 days ago
haoliang 6fd1d616ac 新增CncCollector采集服务(配置加载+JSON解析+字段映射+HTTP采集+产量跟踪+日终汇总+心跳+管理API) 7 days ago