weicw-dshsa
|
56c7bc020a
|
🐛 修复维修记录批量导出文件空白的问题
- MaintenanceRecordExcel 的 createTime/updateTime 字段类型为 java.util.Date,
但仍绑定了 MaintenancePlanDateTimeConverter(Converter<LocalDateTime>),
导出写单元格时 Date 强转 LocalDateTime 抛 ClassCastException,
写流中断导致下载到损坏的 xlsx,打开后一片空白
- 移除这两个 Date 审计字段上的 converter,仅保留 @DateTimeFormat("yyyy-MM-dd HH:mm:ss"),
与 AccidentRecordExportExcel 等同模块导出模型写法保持一致
- 维修时间、出厂时间仍为 LocalDateTime,转换器保留不变,导入解析不受影响
|
2026-09-20 20:31:02 +08:00 |
|
weicw-dshsa
|
af1430eaee
|
🐛 修复未配置 MinIO 时 transport 服务无法启动的问题
凭证图片 MinIO 客户端此前为无条件装配,缺少 file.storage.minio.endpoint
配置时会在启动阶段直接抛 IllegalArgumentException,导致整个
blade-transport 服务起不来,并在关闭失败上下文时连带抛出
nacosGracefulShutdownDelegate 的 BeanCreationNotAllowedException,
掩盖了真正的失败原因。
- VoucherMinioConfig 增加 @ConditionalOnProperty,未配置 endpoint 时不注册客户端
- ProcessConfigController、VoucherManageServiceImpl 改用 ObjectProvider
可选注入,避免构造器注入因 bean 缺失而启动失败
- 新增 minioClient() 访问器,在真正调用时给出"未配置"的明确提示,
与已有 validateMinioConfig() 的提示风格保持一致
未配置 MinIO 时服务可正常启动,凭证相关接口仅在使用时提示配置缺失;
已配置 MinIO 时行为不变。
|
2026-09-20 19:31:58 +08:00 |
|
weicw-dshsa
|
304061774e
|
🔀 合并 dev 分支到 master
解决 9 个文件的冲突,取舍如下:
- 导出模型:采用 dev 的 *ExportExcel 命名与拆分,并保留 master 的
@DateTimeFormat(dev 改名时漏加,会导致时间列显示为 Date.toString)。
- PortTerminal 导入:保留 master 的两阶段导入 + ImportFailureException
全量回滚(ImportFailureException 仅 master 有,合并后的 controller 依赖它),
导出失败明细改用 dev 的 exportFailureReasonOnly(仅标红失败原因列)。
- PortTerminal 导入模板:采用 dev 的"港口编码/码头编码"两列结构,
相应补上 resolveImportCode 归并规则,并在构建实体时显式赋 code/parentCode。
- PortTerminal 导出:采用 dev 的 PortTerminalExportExcel(接口已如此声明),
并保留 updateUserName 审计人翻译。
- 违章记录导入:保留 dev 的多错误收集 + 导入失败明细导出流水线,
删除已被拆列取代的 violationTypeOrItem 映射,补上 clearIrrelevantField,
并为导入校验补齐"对侧字段应留空"规则以与表单校验一致。
验证:mvn compile -DskipTests 全模块 BUILD SUCCESS。
|
2026-09-20 18:04:43 +08:00 |
|
weicw-dshsa
|
98697af6df
|
🐛 修复违章记录导入的类型与事项字段混淆问题
- 导入模型将合并的"类型/事项"列拆分为"*类型"与"*事项"两列,与导出模型保持一致
- 校验与清空逻辑改为按车船类型严格匹配:车辆只允许填类型,船舶只允许填事项,误填对侧字段直接报错而非静默丢弃
- 将清空对侧字段的时机从 prepare 移到 validate 之后,避免用户误填内容被静默丢弃
- 提取 CAR/SHIP 常量,替换散落的"车辆"/"船舶"字面量
|
2026-09-20 17:51:29 +08:00 |
|
weicw-dshsa
|
9668f6059a
|
🐛 修复导出文件创建时间与更新时间列为空的问题
- 导出模型的 createTime/updateTime 由 LocalDateTime 改为 java.util.Date,与 BaseEntity 审计字段类型保持一致,避免 BeanUtil.copyProperties 因类型不兼容而静默跳过
- 覆盖车/船务管理 12 个页面导出模型及基础数据等 11 个导出模型,并为新增 Date 字段补齐 @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
- 运单导入显式清空审计时间,避免把导入文件中的创建/更新时间带入实体
|
2026-09-20 16:32:31 +08:00 |
|
weicw-dshsa
|
cc33bc5ef2
|
🐛 修复港口码头批量导入的一二级顺序与全量回滚问题
对应 BUG.xlsx 序号 1 与序号 2。
序号 1(同表混装一二级数据):
- 改为两阶段导入,先落库港口(一级)再落库码头(二级),
消除对 Excel 行序的依赖;码头优先引用本批次新增的港口
序号 2(全失败即整批回滚):
- 逐行收集错误,只要有一行失败就抛异常触发整批回滚,不再部分成功
- 失败明细按【原表全部行】返回,未出错的行不标注,用户只需改错行
附带修复:
- 父港口找不到时改抛专用 ParentPortNotFoundException:
上级港口声明在本文件里、但那一行自身校验失败时,不再连带给码头行报错,
避免用户看到"两行都错"的假象;父港口确实漏填时仍照常报错
- 批内重复编码在落库前预检并定位到行,两行都标注原因
- 父港口区域信息为空(历史数据)时保留码头自身填写的值,
此前会被覆盖成空值导致码头无法导入
|
2026-09-20 06:27:33 +08:00 |
|