haoliang
|
7d66a397b4
|
禁用DailySummaryJob:新架构下ProductionTracker已实时写daily_production
|
1 month ago |
haoliang
|
ab94396497
|
修复跨页面跳转URL双重admin路径
|
1 month ago |
haoliang
|
507283850c
|
产量报表前端:删饼图+柱状图铺满百分比标签+跨页面联动跳转+URL参数初始化
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
1 month ago |
haoliang
|
be8d8c323e
|
产量报表后端:支持机床多选、程序名多值、跨页面联动MachineIds/ProgramNames字段
|
1 month ago |
haoliang
|
61ef4d71db
|
修复员工产量为0时明细和饼图仍显示数据
|
1 month ago |
haoliang
|
60dc26a26f
|
修复产量为0时子页面图表和明细仍显示无意义数据
|
1 month ago |
haoliang
|
3fe20a24a2
|
修复产量为0时排行和图表仍显示无意义数据
|
1 month ago |
haoliang
|
f9ce0254b0
|
修复产量为0时最高产量指标显示随机数据的问题
|
1 month ago |
haoliang
|
4a3acb5d58
|
重放工具:恢复全量查询,去掉测试日期过滤
|
1 month ago |
haoliang
|
aace303692
|
修复ProductionTracker日期:CURDATE()改为collectTime.Date参数化,支持跨天重放
|
1 month ago |
haoliang
|
88eb8391a9
|
修复 GetTodayProduction/GetProductionTrend 方法 — 使用新字段 end_total_count/base_total_count 替代旧字段 total_quantity/total_run_time,移除对已废弃 cnc_production_segment 表的降级查询
|
1 month ago |
haoliang
|
650ed5db43
|
修复产量页面下拉框:el-select选项改为value/label属性以匹配API返回格式
|
1 month ago |
haoliang
|
c79c56874c
|
修复产量报表:DailyProductionRepository全部改为查询cnc_daily_production新表
|
1 month ago |
haoliang
|
748affbeb6
|
重放工具:移除测试用的LIMIT 10限制,支持全量重放
|
1 month ago |
haoliang
|
c13ed696aa
|
新增CncReplay重放工具:按时间顺序重放采集日志重新计算产量
|
1 month ago |
haoliang
|
cdb88744cf
|
新增 WriteBatchReplay 静态方法:支持重放模式批量写入采集记录
|
1 month ago |
haoliang
|
f7f3711008
|
适配ProductionTracker新四参数签名并写入分析日志到log_collect_raw
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
1 month ago |
haoliang
|
b1f487c077
|
重构仪表盘产量查询:全部从cnc_production_segment改为只读cnc_daily_production表,移除UNION和NOT EXISTS逻辑
|
1 month ago |
haoliang
|
d8d5fe32b8
|
重构产量跟踪:从内存分段引擎改为数据库对比CNC日产量表
|
1 month ago |
haoliang
|
196e9c97f5
|
修复采集服务:移除INSERT和UPDATE中不存在的total_part_count列引用
|
1 month ago |
haoliang
|
e610b6fed8
|
修复设备详情500错误:移除不存在的数据库列last_total_part_count引用
|
1 month ago |
haoliang
|
b5c92dbd30
|
新增相对时间工具函数和RelativeTime组件(Wave3-T11遗漏提交)
|
1 month ago |
haoliang
|
0909d9926c
|
新增Service方法xUnit集成测试(≥15个用例),更新ServiceFactory支持MachineLatestTag/CollectAnalysis仓库
- ServiceFactory: 新增NewLatestTagRepo/NewCollectAnalysisRepo工厂方法,更新CreateMachineService传参
- DashboardServiceTests: 新增GetProgramRank/GetProgramDistribution的4个测试(无数据+有数据)
- MachineServiceTests: 新增GetLatestTags/GetCollectRecords的3个验证测试
- ProductionServiceTests: 新增GetMachineSummary/GetMachineList/GetWorkerSummary/GetWorkerList/GetProgramSummary/GetProgramList的8个测试
- 修复2个预存测试断言:DashboardService状态值not_installed、CollectAddressService删除抛异常
|
1 month ago |
haoliang
|
e356506c30
|
新增三模块重构E2E测试:仪表盘新布局、产量报表3子页导航、设备详情页改造
|
1 month ago |
haoliang
|
0921c04dd7
|
重设计仪表盘首页:4行布局(统计卡片→双图表→双排行→双排行),新增NC程序产量分布饼图+NC程序排行表,排序控件改el-select默认降序,删除活跃告警/采集成功率/状态分布/告警表格
|
1 month ago |
haoliang
|
31b331467c
|
实现员工产量子页面 WorkerProduction.vue:筛选栏(日期+员工下拉)、4统计卡片、双图表(柱状图+饼图)、明细表格,编译通过
|
1 month ago |
haoliang
|
3eeb3cb30c
|
实现程序产量子页面 ProgramProduction.vue:筛选栏、统计卡片、双图表(柱状图+饼图)、明细表格,编译通过
|
1 month ago |
haoliang
|
bde469485f
|
改造(设备详情): 实时状态区改为el-table展示6指标各自采集时间(RelativeTime组件),采集记录支持日期筛选,新增30秒latest-tags轮询
|
1 month ago |
haoliang
|
f53024fd02
|
实现机床产量子页面 MachineProduction.vue(筛选栏+统计卡片+柱状图+饼图+明细表格)
|
1 month ago |
haoliang
|
c439cd5c46
|
新增产量报表3个子路由:机床产量/员工产量/程序产量,/production 重定向到 /production/machine
|
1 month ago |
haoliang
|
5f9176ece0
|
重构(前端): 产量报表菜单改为el-sub-menu,包含机床产量/员工产量/程序产量三个子项
|
1 month ago |
haoliang
|
71d4947712
|
feat(后端): CollectAnalysisRepository新增按机床+日期查询采集记录方法(T7数据源切换)
|
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
|
a781dfabb8
|
新增仪表盘API端点:NC程序产量排行TOP10和NC程序产量分布(饼图数据)
|
1 month ago |
haoliang
|
4f04fec9e0
|
feat(后端): 新增三模块重构所需DTO
|
1 month ago |
haoliang
|
121434ec2a
|
FANUC模拟器Tag对齐:删除Tag11(操作模式),新增Tag24(切削时间)/Tag25(循环时间)/Tag26(加工状态),Tag数从10个增至12个
|
1 month ago |
haoliang
|
fa1adc826a
|
fix(数据库): FANUC品牌字段映射 Tag11→删除 Tag26→machining_status已存在
|
1 month ago |
haoliang
|
2153a1fed9
|
修复累计总数(totalPartCount)显示异常+模拟器time_freeze功能
- Machine entity新增LastTotalPartCount字段映射DB last_total_part_count列
- MachineStatusResponse DTO新增TotalPartCount属性
- MachineRepository SelectColumns新增last_total_part_count列映射
- MachineService.GetStatus填充TotalPartCount值
- 模拟器新增time_freeze/time_unfreeze事件支持(DeviceState/DeviceSimulator/FanucDataGenerator)
|
1 month ago |
haoliang
|
54910626b1
|
采集服务产量统计全流程测试验证:DB Schema同步、品牌映射修正、采集/模拟器代码修改、10场景测试全通过
|
1 month ago |
haoliang
|
e1f086015c
|
优化告警详情弹窗样式:加宽至720px、详情区域可滚动max-height 200px、pre-wrap换行、缩小标签宽度
|
1 month ago |
haoliang
|
689f0b1798
|
修复告警中心4个Bug:时间显示0001-01-01、统计卡片全0、新增告警类型无标签、机床下拉为空
1. AlertRepository SQL缺少列别名致Dapper无法映射created_at→CreatedAt
2. AlertStatisticsResponse返回嵌套unresolvedByType,前端期望扁平collectFail等
3. AlertPage缺少production_error/summary_error的中文标签映射
4. 机床下拉模板用m.id/m.name,API返回value/label格式不匹配
|
1 month ago |
haoliang
|
4d5cdeafe8
|
升级log4net 2.0.15→3.3.1 修复GHSA-4f7c-pmjv-c25w安全漏洞
|
1 month ago |
haoliang
|
7a7b2baafc
|
修复JSON解析异常不写log_collect_raw的遗漏
ParseAndSave内部的JSON解析异常被自吞(catch+return),外层DoCollectCycle
的WriteBatch永远走不到。修复:在ParseAndSave内部catch也调用WriteBatch
ErrorSimulation工具升级为真实代码路径验证(含HTTP服务器模拟JSON解析)
|
1 month ago |
haoliang
|
cdb03d4db3
|
增强错误诊断:递归展开异常链+分类写入DB/告警
1. CollectWorker新增GetDetailedErrorMessage递归展开AggregateException
解决HTTP异常只记录模糊的'发生一个或多个错误',现可追踪到SocketException
2. JSON解析失败新增WriteBatch写入log_collect_raw(之前丢失DB记录)
3. ProductionTracker失败→cnc_alert(alert_type=production_error)
4. DailySummaryJob失败→cnc_alert(alert_type=summary_error)
5. CollectRecordWriter.DB写失败时本地日志记录完整异常链
6. log_collect_raw.error_message VARCHAR(500)→TEXT
7. 新增ErrorSimulation验证工具(模拟4类异常→验证DB/日志)
|
1 month ago |
haoliang
|
e6b941f9e1
|
修复产量报表分页翻页无效:改用watch监听page变化自动加载数据
Element Plus的@current-change事件中v-model更新时序导致
loadData()读到旧的page值,使翻页后数据不变化。
改为watch([page.page, page.pageSize])监听,数据变化后自动重载。
|
1 month ago |
haoliang
|
87d7dfeee1
|
新增产量重建工具RebuildProduction:从log_collect_raw原始JSON重放修复后的ProductionTracker算法,修正2026-05-07产量数据
工具用法: dotnet run --project tools/RebuildProduction
产量修正结果(2026-05-07):
- 总产量: 5,732 → 14,770 (+158%)
- manual_reset段: 0 → 8,740 (50段全部修正)
- program_change段: 830 → 1,128 (76段中偏差的已修正)
- end_of_day段: 4,902 (无变化)
修正后工人产量:
- 郭浩: 4,176 → 11,359
- 李文科: 692 → 1,574
- 公用: 214 → 642
- 冷春英: 211 → 367
- 赵福新: 132 → 253
- 宋志国: 95 → 226
- 赵双,胡东歌: 137 → 205
- 李梦梦,李玉蒙: 75 → 144
- 王涛: 0 (机床实际未运行)
|
1 month ago |
haoliang
|
f83364ec7a
|
修复产量统计3个Bug:manual_reset/program_change产量丢失、日终汇总失败不重试、日志归档文件锁冲突
Bug#1(核心): ProductionTracker.Track()中manual_reset和program_change段结账时
endPartCount传入了复位后/新程序的值而非结账段最后已知值,导致50个manual_reset
段产量全部为0,program_change段产量偏差
Bug#2: _lastSummaryDate在DailySummaryJob.Execute()执行前就设置,若汇总失败则
永久无法重试。修改为Execute返回bool,成功后设置;时间窗口扩大到±2分钟
Bug#3: log4net RollingFileAppender默认排他锁与LogArchiveJob的File.WriteAllText冲突
导致IOException。改用Date滚动+MinimalLock模式,删除手写LogArchiveJob
|
1 month ago |
haoliang
|
bdf0e6b085
|
WebAPI增加log4net错误日志:GlobalExceptionFilter记录异常堆栈到App_Data\logs
|
2 months ago |
haoliang
|
09efa51b0c
|
安装脚本v3.0:脚本与exe同级,基于PSScriptRoot自动定位,无需硬编码路径
|
2 months ago |