zhengxuan.zhang
|
bdbded367f
|
#260520 新增忽略和编译的文件
|
2026-05-20 17:23:31 +08:00 |
|
zhengxuan.zhang
|
08e623410f
|
260520 优化历史已解析入库但没有分发成功的问题
新到文件是否仍然正常出现 匹配成功 -> 待解析区 -> 解析成功 -> 正式区 -> 双侧完成 -> 客户报告生成。
历史遗留文件是否出现 已补充分发到正式区 这类新日志,并从源目录消失。
已经真正分发完成的文件,是否仍然保持 已处理且目标区域已存在,跳过,没有重复搬运。
|
2026-05-20 16:06:37 +08:00 |
|
zhengxuan.zhang
|
4d5449f186
|
优化分发规则
|
2026-05-20 13:36:31 +08:00 |
|
zhengxuan.zhang
|
172a29f082
|
fix: 修复并发安全问题导致的数据库崩溃和数据错乱
问题根因:
FileSortTimer 每15秒触发 Task.Run 执行 ProcessFiles(),当P盘文件量大时
上一轮未完成新一轮又启动,多线程并发操作同一数据库连接和全局变量,导致:
1. SQLHelper 静态 SqlConnection/SqlCommand/SqlDataReader 被多线程覆盖,连接状态异常
2. ConfigDfn.strEquipNo 等全局静态变量被并发覆盖,事件触发时使用错误车号
3. 定时器无重入保护,多个 ProcessFiles() 实例并发执行
4. HasBothSidesMeasureResult 查询返回空表时直接访问列导致崩溃
修复内容:
[P0] SQLHelper.cs - 线程安全改造
- 删除静态 conn/cmd/sdr 字段和 GetConn() 方法
- 所有方法(ExecuteQuery/ExecuteNonQuery/ExecuteDs/BulkCopy)改为 using 独立连接模式
- 每次调用创建独立 SqlConnection,彻底消除连接竞争
[P0] FormMain.cs - 防止定时器重入
- 新增 _isProcessing 原子标志位(Interlocked.CompareExchange)
- FileSortTimer_Tick 检测到上一轮仍在执行时跳过本次触发
- finally 块确保标志位一定被释放
[P1] FileSorter.cs - 消除全局变量竞争
- 新增 CsvParseResult 类封装解析结果(CarID/CarModel/Position/MeasureTime)
- ImportCsv2Sql 改为返回 CsvParseResult,不再写入 ConfigDfn 全局变量
- GenerateSingleSideStatistics 改为参数传入(carID/carModel/groupName/position/measureTime)
- GenCustomerReport/GenerateCsvReport 改为参数传入 carModel
- OnFileParsed 事件改为三参数签名(carID, position, measureTime)
[P1] FormMain.cs - UI事件适配
- FileSorter_OnFileParsed 适配新的三参数签名
- DisplayMeasureData 接收 measureTime 参数,不再从全局变量读取
[P2] CjlrDAL.cs - 防御性检查
- HasBothSidesMeasureResult 增加 carId 空值检查
- 增加 dt.Columns.Contains("HasBothSides") 检查,避免空表异常
[P2] FileSorter.cs - 增强日志
- ProcessFiles() 开头打印查询到的任务总数,便于现场确认任务是否全部加载
影响文件:
- Analysis/DAL/SQLHelper.cs
- Analysis/CjlrForm/FileSorter.cs
- Analysis/FormMain.cs
- Analysis/DAL/CjlrDAL.cs
|
2026-05-20 11:35:33 +08:00 |
|
zhengxuan.zhang
|
690dfcda32
|
#260520 新增问题分析
|
2026-05-20 10:31:25 +08:00 |
|
zhengxuan.zhang
|
eed9d64b58
|
#260520 修复界面设计
|
2026-05-20 10:08:31 +08:00 |
|
HM-CN\zhengxuan.zhang
|
8d0cc4c418
|
#250901: 客户要求针对 551_MY21 车型不进行报告合并和上传动作
|
2025-09-03 11:06:13 +08:00 |
|
HM-CN\zhengxuan.zhang
|
0d55e9b1dc
|
#250901 修复上传文件格式,增加本地备份目录
|
2025-09-01 10:14:57 +08:00 |
|
HM-CN\zhengxuan.zhang
|
d6cffa81f0
|
#250831 增加对 22列数据的解析调整,匹配 两个公差带的情况
|
2025-08-31 15:30:07 +08:00 |
|
HM-CN\zhengxuan.zhang
|
d4a658d641
|
#013 新增备份;解析或提取有效内容失败时,移动到源\error文件夹,避免影响后续服务;3、修复查询结果错误
|
2025-08-28 21:51:13 +08:00 |
|
HM-CN\zhengxuan.zhang
|
8533d5109f
|
#012 修复CLMS 依赖,使用标准PCC 公钥和LIB库
|
2025-08-27 20:15:07 +08:00 |
|
HM-CN\zhengxuan.zhang
|
821d34997a
|
#011 客户报告特殊字段替换,报告内容 inv 测试
|
2025-08-19 16:59:00 +08:00 |
|
HM-CN\zhengxuan.zhang
|
f865e8653c
|
#010 修复解析入库,分发,和前端界面显示逻辑,增加 解析前判断是否已经处理过,增加clms授权检测
|
2025-08-19 16:07:09 +08:00 |
|
HM-CN\zhengxuan.zhang
|
a15d9efd64
|
#009 优化解析,分发逻辑
|
2025-08-18 15:02:31 +08:00 |
|
HM-CN\zhengxuan.zhang
|
7da05e900b
|
# 008 数据查询与导出功能
|
2025-08-11 15:04:54 +08:00 |
|
HM-CN\zhengxuan.zhang
|
bb6285dbd7
|
#007 调试导入解析功能
|
2025-08-11 14:36:14 +08:00 |
|
HM-CN\zhengxuan.zhang
|
3b986f5146
|
#006 调试解析文件,录入数据库,生成客户所需报告样式的功能;(对比奇瑞间隙面差自动化项目)
|
2025-08-06 18:12:49 +08:00 |
|
HM-CN\zhengxuan.zhang
|
89ab9cce88
|
#005 增加必要的整理
|
2025-08-06 16:41:47 +08:00 |
|
HM-CN\zhengxuan.zhang
|
247699faf6
|
#004 增加分发功能
|
2025-08-06 15:38:06 +08:00 |
|
HM-CN\zhengxuan.zhang
|
dd24937c1f
|
#003 完善分发配置
|
2025-08-05 09:13:50 +08:00 |
|
HM-CN\zhengxuan.zhang
|
03ee90302f
|
#002 对分发任务的 数据对象,操作对象,查询,新增,编辑,与删除功能进行开发
|
2025-08-04 16:46:14 +08:00 |
|
HM-CN\zhengxuan.zhang
|
1857eea8a4
|
#001 初版提交
|
2025-08-04 13:03:33 +08:00 |
|