Commit Graph

55 Commits (4b70b8eacf28e0575e93b1531aa0b44005612d0a)

Author SHA1 Message Date
haoliang ccdfec31bb feat: 在线状态改为基于last_ping_time实时判断,删除is_online列;新增online_timeout配置项(默认300秒);全链路修改Repository/Service/Collector/测试 18 hours ago
haoliang 0563da73e8 feat: 品牌字段映射增加启用/禁用开关(is_enabled);前端增加开关列和行样式;新增6个Repository测试+6个Service/Controller测试;迁移脚本幂等执行 19 hours ago
haoliang 2d698b277d fix: 修复 LogDashboard 类型定义缺少 messageSnippet 属性 2 days ago
haoliang 6e468089ea feat: 前端采集日志页面 + 自动分区存储过程 + 日志清理调度 + 告警类型扩展
- 新增 CollectLogPage.vue(分析记录/采集周期/原始数据 三个Tab页)
- 新增 collect-log.ts API封装和Mock数据
- 路由和侧边栏菜单添加采集日志入口
- 新增 sp_ensure_partitions 自动分区存储过程 + MariaDB Event
- 新增 LogCleanupJob 日志清理定时任务(保留天数=0不删除)
- CollectorConfig 新增日志清理配置属性
- AlertType 新增 DataAnomaly 常量
- 后端0错误,前端仅1个预存TS错误
2 days ago
haoliang 7d9634af48 feat(采集日志): 新增前端实现,包括 API 封装、Mock 数据、Vue 页面、路由和菜单;新增 CollectLog 页面组件、Mock 数据、API 接口,以及路由与侧边栏集成 2 days ago
haoliang eedf5fa8be fix: 修复前端类型错误(CollectorStatus重复声明、serviceStatusLabel位置);修复CI配置SDK版本;新增上线回滚文档 3 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 d6bbab7744 修复工人产量排行表格未铺满卡片宽度:工人姓名列改为弹性宽度 4 days ago
haoliang 1cf21a7245 补充冒烟测试:表格全列验证、分页、日期筛选、程序名筛选、API对账、下拉框字段映射、修正提交闭环 4 days ago
haoliang 1edcda9be5 新增测试规范文档、冒烟测试脚本、AGENTS.md铁律第5/6条 4 days ago
haoliang de5e636fdc 修复产量报表:下拉框字段映射、汇总卡片数值、表格运行时间/切削时间 4 days ago
haoliang cf9f0575a8 添加产量报表修正弹窗HTML模板,修正按钮调用doAdjust函数,Playwright 37项测试全部通过 5 days ago
haoliang 3094ede8a4 修复产量报表日期显示错误:value-format从yyyy-MM-dd改为YYYY-MM-DD(Element Plus/dayjs格式),日期格式化改用本地时间避免时区问题 5 days ago
haoliang 667e215322 修复产量报表字段映射:添加前端兼容字段(date/quantity/runTime/cuttingTime/dataStatus),产量列直接显示数值 5 days ago
haoliang ee0b5da1c1 产量报表改为混合查询:已汇总用daily_production,未汇总从segment实时计算;默认日期改为今天;参数名统一为startDate/endDate 5 days ago
haoliang c836393d3f 仪表盘和产量报表全部改为从实时表查询:今日总产量、切削时间、车间产量、机床排行、工人排行、产量趋势均直接查cnc_production_segment;产量报表默认日期改为今天 5 days ago
haoliang 45cb84c08d 修复采集成功率计算bug、添加IIS localhost绑定和Vite proxy配置
- DashboardRepository: 采集成功率改用 log_collect_raw 的成功/失败比率计算(修复-800%的bug)
- Web.config: 添加 runAllManagedModulesForAllRequests=true 使API路由生效
- Vite: 添加/api代理到IIS后端(127.0.0.1),前端显示真实数据
- 测试脚本: 阶段6指定原端口重启避免URL不同步,添加仪表盘API验证
5 days ago
haoliang cb504215b9 添加前端诊断和手动验证测试脚本 6 days ago
haoliang 5f47164532 添加Playwright浏览器UI测试(16个测试,3个模块批量删除+启用停用)并补充mock API端点 6 days ago
haoliang b76f1acc55 新增三模块批量删除API+采集地址启用停用+安装测试脚本 6 days ago
haoliang ce53e343cf 品牌编辑页面字段映射表格改为自适应宽度 7 days ago
haoliang 6c3ca47fb7 采集地址:穿梭框显示全部同品牌机床、删除按钮禁用、后端Delete抛异常、数据库允许NULL 1 week ago
haoliang f015afe301 采集地址穿梭框改为显示同品牌全部机床,可从其他地址转移机床 1 week ago
haoliang 74b611d6e1 采集地址关联机床改为穿梭框:后端DTO加MachineIds+SetCollectAddress,前端el-transfer替换checkbox 1 week ago
haoliang 3166ee94a5 弹窗加宽900px,穿梭框左侧过滤已绑定其他工人的机床,改为按需加载 1 week ago
haoliang aeddfad8c8 修复编辑工人时已绑定机床未回填:改用/worker/{id}/machines接口获取machineId列表 1 week ago
haoliang 6b74ef2bd1 穿梭框状态色点改用内联style,修复scoped样式无法穿透el-transfer问题 1 week ago
haoliang 5493277b8b 穿梭框右侧标题改为'已选择',移到右侧即生效无需勾选 1 week ago
haoliang feb388286c 修复穿梭框图例色点CSS选择器:添加.status-dot.online/offline/disabled直接class规则 1 week ago
haoliang e91fc70ca7 员工管理穿梭框改造:显示全部机床+状态色点(绿在线/灰离线/红停用)+图例说明 1 week ago
haoliang 8a18fdc998 前端默认语言改为中文:html lang设为zh-CN,页面标题改为CNC机床数据采集系统 1 week ago
haoliang d7fb9fc2b1 修复前端API路径与后端RESTful路由不匹配:升级mock插件支持参数化路由,修正6处API URL 1 week ago
haoliang 2065bf75c5 表头内容居中+操作列按钮统一nowrap+员工穿梭框绑定机床
- 02-前端全局规范.md: el-table增加居中规则,操作按钮增加link统一风格+nowrap规则
- 8个页面设计文档§4: 对齐列全部改为center
- 06-01-员工管理页面.md: 弹窗改为穿梭框(el-transfer),宽度700px,离线机床可绑定
- admin.scss: 全局el-table单元格居中
- 8个Vue组件: 操作列按钮统一link风格+white-space:nowrap
- WorkerListPage.vue: el-select multiple改为el-transfer穿梭框,弹窗700px
1 week ago
haoliang c5847b1f71 全局列宽均分+批量按钮统一到上方+修改预处理协议增加执行验证阶段
- 02-前端全局规范.md: 新增el-table列宽均分规则和操作按钮统一布局规则
- 8个页面设计文档: 列表字段列宽改为自动均分,批量操作按钮从底部栏改为页头
- 05-修改请求预处理协议.md: 新增第四步执行中验证和第五步完成验收,配2个完整示例
- 8个Vue组件: 移除数据列固定width,批量操作按钮移到操作栏
1 week ago
haoliang 126cecfa09 补齐产量报表2个端点(adjustment-history/export占位)+修复前端API路径参数 + 新增DTO + Repository方法 1 week ago
haoliang 1168b3c4ac 补齐员工管理4个端点(machines/production-today/production-trend/available-machines)+修复前端详情页API路径参数 + 新增4个DTO 1 week ago
haoliang 6fb571f565 补齐采集地址3个详情子端点(machines/collect-records/raw-json)+修复前端详情页API路径参数 + 新增3个DTO + DI注册 1 week ago
haoliang b5bff2a815 修复分页切换不生效:添加@current-change和@size-change事件触发loadData 1 week ago
haoliang dfc18fabb5 设备管理联调:修复brandId缺失、batchToggle改逐个toggle、详情页添加4个子API端点
- 前端:新增/编辑机床时传递brandId字段
- 前端:启停切换改为逐个调用PUT /admin/machine/{id}/toggle
- 前端:详情页API调用从query参数改为RESTful路径参数
- 后端:新增4个详情页API(status/production-today/production-trend/collect-records)
- 后端:新增3个DTO(MachineTodayProdItem/MachineTrendItem/MachineCollectRecordItem)
- 后端:更新MachineStatusResponse字段以匹配前端展示需求
1 week ago
haoliang 2e3199490c 前端:19处写操作URL从Mock风格切换为RESTful(PUT/DELETE+路径参数) 1 week ago
haoliang 0cd61a51b3 修复路由重定向到/login + 登录失败提示不显示
- router: createWebHistory base设为import.meta.env.BASE_URL(build=/admin/, dev=/)
- vite.config: base按command区分(build时/admin/,dev时/)
- request.ts: HTTP错误(4xx/5xx)时解析后端返回的message显示给用户
- request.ts: token过期跳转登录页使用routerBase而非硬编码路径
1 week ago
haoliang b28a89f263 IIS部署联调修复:OWIN禁用+程序集绑定+SPA路由回退+错误详情输出
- Web.config: 禁用OWIN自动发现(owin:AutomaticAppStartup=false),添加MySqlConnector依赖的程序集绑定重定向
- Global.asax.cs: Application_BeginRequest实现/admin/路径的SPA路由回退(无需URL Rewrite模块)
- GlobalExceptionFilter: 输出完整异常堆栈+InnerException,便于联调定位问题
- request.ts: 错误提示直接显示后端返回的message,不再覆盖为固定文案
- vite.config.ts: base设为/admin/,静态资源路径正确指向/admin/assets/
1 week ago
haoliang 126154fc7b IIS部署准备:csproj输出到bin\ + 前端build输出到admin + 修复全部TS类型错误
- CncWebApi.csproj: OutputPath改为bin\,AppendTargetFrameworkToOutputPath=false
- .gitignore: 排除src/CncWebApi/admin/目录
- vite.config.ts: build.outDir指向../src/CncWebApi/admin
- deploy-admin.ps1: 一键编译后端+前端部署脚本
- request.ts: 类型安全封装,返回Promise<ApiResponse<T>>
- types/index.ts: 扩展Machine/Alert/OperationLog/ScreenCard/CollectAddress/MachineStatus字段
- 修复11个页面文件的TS类型错误(vue-tsc 0错误)
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
haoliang 3d07293510 feat(dashboard): 车间平均单机产量tooltip记录日终汇总规则,多天范围改为日均单机产量 1 week ago
haoliang 8ce0c11e0f feat(dashboard): 车间产量/机床排行/工人排行增加独立日期筛选(今日/昨日/近3天/近7天/自定义) 1 week ago
haoliang e663bbd388 refactor(dashboard): 去掉仪表盘30秒自动刷新逻辑 1 week ago
haoliang b756b3d58c feat(dashboard): 仪表盘所有指标添加统计说明tooltip,hover显示通俗易懂的计算口径 1 week ago
haoliang f93b57365f fix(mock): 补充采集服务启停/刷新配置的Mock API
POST /admin/collector/start|stop|refresh 三个端点,停止/启动会切换状态

Ultraworked with Sisyphus

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
1 week ago