haoliang
|
b74c3db6af
|
清理根目录临时文件和旧代码;修复采集服务名称不匹配(collector-service→CncCollector)
|
11 hours ago |
haoliang
|
ccdfec31bb
|
feat: 在线状态改为基于last_ping_time实时判断,删除is_online列;新增online_timeout配置项(默认300秒);全链路修改Repository/Service/Collector/测试
|
13 hours ago |
haoliang
|
0563da73e8
|
feat: 品牌字段映射增加启用/禁用开关(is_enabled);前端增加开关列和行样式;新增6个Repository测试+6个Service/Controller测试;迁移脚本幂等执行
|
15 hours ago |
haoliang
|
089f3e502a
|
添加 BrandFieldMappingRepositoryTests 测试用例; 扩展 BrandServiceTests/BrandControllerTests 的测试覆盖 IsEnabled 字段
|
15 hours ago |
haoliang
|
7d9634af48
|
feat(采集日志): 新增前端实现,包括 API 封装、Mock 数据、Vue 页面、路由和菜单;新增 CollectLog 页面组件、Mock 数据、API 接口,以及路由与侧边栏集成
|
2 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错误
|
2 days ago |
haoliang
|
acdc502be2
|
test(cnc-service): 新增 Starting 状态测试用例,验证服务启动中状态返回正确
|
2 days ago |
haoliang
|
d69817bf45
|
test(cnc-service): expand DashboardServiceTests with DI-enabled scenario using FakeDashboardRepository + FakeCollectorHeartbeatRepository + FakeWindowsServiceChecker; fix tests for Run Running state
|
4 days ago |
haoliang
|
d8f59250d7
|
feat: 自动化推进 Windows 服务状态检查相关改造,阶段4-6 全流程实现(前端适配、后端测试扩展、CI/Playwright E2E)
|
4 days ago |
haoliang
|
e9802a195d
|
feat(cnc-service): add Windows service status checker, integrate into dashboard status, enhance startup flow; stage4 plan initialized; add frontend typings and dashboard view updates; add test scaffold for WindowsServiceChecker
|
4 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()(批量更新)
|
4 days ago |
haoliang
|
5826e701fc
|
新增单元测试+Playwright实际测试(79个单元测试+11个E2E测试全部通过)
- 新增CollectRecordWriterTests(11个用例)和CollectorApiServerTests(11个用例)
- 修复Worker状态缺少url字段,修复Playwright配置全局API Key问题
- CncCollector共79个单元测试全部通过
- Playwright E2E测试实际执行:启动模拟器+采集服务,11个测试全部通过
- 测试覆盖:API认证、启停控制、状态查询、刷新配置、工作线程管理
|
5 days ago |
haoliang
|
bfb9c5a014
|
新增CncCollector.Tests单元测试项目(58个测试全部通过)
|
6 days ago |
haoliang
|
3e7c34c52f
|
修复设备详情关联名称为空(Bug6)+布尔字段类型(Bug7)+异常过滤器生产模式
|
1 week ago |
haoliang
|
6fb571f565
|
补齐采集地址3个详情子端点(machines/collect-records/raw-json)+修复前端详情页API路径参数 + 新增3个DTO + DI注册
|
1 week ago |
haoliang
|
16016d0df7
|
新增CncWebApi.Tests:14个控制器127个测试全部通过
- ControllerFactory:封装14个Controller的创建(含完整Repository→Service→Controller依赖链)
- TestDb:测试数据库辅助(TruncateAll+SeedData+SetRealPasswordHash+辅助查询)
- DatabaseCollection:xUnit串行测试集合(共享cnc_test库)
- 14个Controller测试文件覆盖所有API端点:
Health(1) + Auth(6) + Brand(15) + Machine(10) + CollectAddress(10) +
Worker(13) + Dashboard(9) + Settings(15) + Production(6) + Alert(7) +
Log(4) + ScreenConfig(12) + Screen(11) + Option(8) = 127个测试
- 直接实例化Controller调用方法,不经过HTTP管线
- 使用真实数据库(cnc_test库),与Service.Tests共享同一测试库
|
1 week 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
|
1 week 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
|
1 week ago |
haoliang
|
5ec37e6724
|
test(models): CncModels.Tests 46个测试全部通过
- EnumTests: 9个snake_case枚举约定验证 + LogLevel大写验证
- ConstantsTests: 20个TableName精确值 + 3个SensitiveConfigKey + 6个ErrorCode数字校验
- EntityTests: 20个实体属性赋值读回测试
- PagedQueryTests: 边界值测试(page=0/-1/pageSize=0/101自动修正)
- PagedResultTests: TotalPages计算(空数据/满页/跨页/除零保护)
- ApiResponseTests: Success/Fail工厂方法+null数据+复杂对象
- DtoTests: LoginRequest/MachineQuery/CreateMachineRequest/MachineListItem赋值测试
|
1 week ago |
haoliang
|
0ba5cede73
|
feat: 搭建VS2017解决方案骨架(8项目+前端文件夹),编译通过0错误
- CncDataSystem.sln: 4层源码项目 + 4测试项目 + frontend解决方案文件夹
- CncModels: ApiResponse/PagedResult/PagedQuery/ErrorCode 基础类
- CncRepository: BaseRepository 双库连接管理(BusinessRepository/LogRepository)
- CncService: BusinessException 业务异常基类
- CncWebApi: WebApiConfig路由配置/GlobalExceptionFilter/HealthController/Web.config
- 测试项目: xUnit + Moq + Microsoft.NET.Test.Sdk
- NuGet: Dapper + MySqlConnector + Newtonsoft.Json + log4net + JWT
- 编译: dotnet build 8项目全部通过
|
1 week ago |