b2894lxlx
|
2fbbf9b0bb
|
组织同步逻辑修改
|
2026-09-21 16:21:15 +08:00 |
|
b2894lxlx
|
427e4b0c84
|
组织同步逻辑修改
|
2026-09-21 16:03:28 +08:00 |
|
b2894lxlx
|
2404281bff
|
项目、合同、运单、预结算、正式结算、付款对接mk
|
2026-09-21 13:52:34 +08:00 |
|
刘泉佳
|
9a82ed2eaf
|
📝 新增收票管理同步金蝶全票池发票(A801-1 查询+批量同步+定时绑定关联)业务流程文档
|
2026-09-21 13:19:10 +08:00 |
|
刘泉佳
|
738c5c2539
|
🔧 收票管理金蝶全票池同步新增 Nacos 配置(开关/cron/增量窗口/种类白名单/补偿限量)
|
2026-09-21 13:19:01 +08:00 |
|
刘泉佳
|
f13f983467
|
✨ 收票管理对接金蝶全票池(A801-1):批量同步/定时绑定/补偿兜底
批量同步按钮改调 A801-1 按发票号码精确查询并回填绑定;新增定时绑定任务(滚动增量窗口分页、镜像批量 upsert、绑定页级事务批量落库、发票种类与客商税号白名单过滤、未绑定登记按号补偿兜底);新增手动触发端点 /invoice-receipt/sync-invoice-pool
|
2026-09-21 13:18:52 +08:00 |
|
刘泉佳
|
69fee13242
|
✨ 收票管理金蝶全票池同步:镜像表新增票池字段(幂等脚本)与实体字段备注
|
2026-09-21 13:18:41 +08:00 |
|
b2894lxlx
|
2dafd44c26
|
项目、合同、运单、预结算、正式结算、付款对接mk
|
2026-09-21 12:54:13 +08:00 |
|
b2894lxlx
|
cfe36dfc8b
|
项目、合同、运单、预结算、正式结算、付款对接mk
|
2026-09-21 11:38:44 +08:00 |
|
weicw-dshsa
|
6b97685165
|
🐛 修复网关经 blade-common 传递依赖启动失败
fd6563f 为 LenientDateParser 引入的 blade-starter-log(compile scope)
把 blade-core-tool 等整棵依赖树传递给所有依赖 common 的模块。网关
(WebFlux) 的 pom 排除了 spring-boot-starter-web(无 spring-webmvc),
而 blade-core-tool 的自动配置 BladeConverterConfiguration implements
WebMvcConfigurer 且无 @ConditionalOnClass 守卫,Spring 解析该配置类时
抛 FileNotFoundException 导致网关启动即崩。
修复:starter-log 改为 provided —— 编译期 ServiceException 可见,
不再向下游传递。业务服务运行时的 ServiceException 由 blade-core-boot
传递提供,行为不变。
验证:网关以原 classpath 启动成功(Started GateWayApplication in
16.4s);blade-common 与全仓 BUILD SUCCESS。
|
2026-09-21 10:44:30 +08:00 |
|
b2894lxlx
|
0797785176
|
项目、合同、运单、预结算、正式结算、付款对接mk
|
2026-09-21 10:36:00 +08:00 |
|
weicw-dshsa
|
fd6563f53b
|
✨ 批量导入日期宽容解析:兼容 2026-08-02 与 2026-8-2 等书写变体
- blade-common 新增 LenientDateParser(宽容解析:- / . 分隔符、补零与否、
时间可省略秒/分;拒绝两位年份、日在前、无分隔符)
- 新增 LenientDateStringConverter / LenientDateTimeStringConverter:
Excel 数值日期转文本透传,文本解析留待服务层以进入失败明细流程
- 8 个裸走 fastexcel 内置转换的导入 DTO(保险/年检/事故/其他费用/运单/
币种/用户生日/设备台账)日期字段改为 String 承载,服务层统一经
LenientDateParser 解析,失败报「<列名> 日期格式无法识别:<原值>」
- MaintenancePlanDateTimeConverter / TireReplacementDateStringConverter
内部委托公共解析器,6 个 DTO 注解零改动
- 运输计划、运单批量、运输对账、换胎 4 处手动解析点收敛至同一工具类
- UserMapper 导出 SQL 的生日改 DATE_FORMAT 输出,保持导出格式不变
口径见根工作区 docs/import-spec.md(weicw/tms-erp#1)。
回归:port-terminal 45 断言、violation-record 40 断言(含新增不补零
用例 09)、waybill-import 48 断言、insurance-record 新增用例 6 断言,
全部通过。
|
2026-09-21 09:47:50 +08:00 |
|
weicw-dshsa
|
ddfa52a2ac
|
⚡ 收窄运输方式枚举为公路/铁路/水路/航空四种
运输计划导入校验白名单去掉「公路整车、公路配载/零担、跨境海运」
运单批量导入字典兜底值去掉多余枚举,仅保留四种运输方式
|
2026-09-21 06:24:31 +08:00 |
|
weicw-dshsa
|
37d0ebc21e
|
⚡ 导入失败明细去掉空单元格底纹
标红统一只改红色字体,不再对空单元格加浅红底纹(IndexedColors.ROSE)。
底纹原本是为「必填项为空时红字在屏幕上看不见」而加,但它超出
AGENTS.md §6.11「仅出错字段/列使用红色文字」的口径,视觉上也偏重。
- markRed(Cell, boolean) 简化为 markRed(Cell),删除 redFillStyleCache 与 isBlankValue
- 空单元格的红色字体样式照旧写入 styles.xml,api-violation-xlsx-cols.js
按字体色判定,回归用例 03/04 不受影响
- 影响所有使用 ImportFailureExcelUtil 的导入模块(20+ 个)
|
2026-09-21 05:52:31 +08:00 |
|
weicw-dshsa
|
993f802111
|
⚡ 精简运单导入车牌号校验的失败原因
一次车牌号错误原来最多会叠出「长度不能少于7位」「首位必须是省份简称、
第二位必须是英文字母」「格式不正确」三条原因,导出的失败明细里这一格很长。
现将公路运输下的必填、长度与格式统一为一条「车牌号校验不通过」。
- 校验强度不变:长度 7/8 位本就由 VEHICLE_NO_PATTERN 蕴含,省份简称白名单照旧
- 保留「车牌号」字样,失败明细仍能按列名拆词匹配并标红车牌号列;车牌为空时
走空单元格红底纹分支,比原来只有文字更容易定位
- 未改动「同一配载标识号下,车牌号不一致」,该原因由 tests/fixtures/waybill-import
用例 04 断言
|
2026-09-21 05:45:49 +08:00 |
|
weicw-dshsa
|
4c96583701
|
🐛 修复码头导入父港口取列不一致导致的静默丢数据
importTerminals 中 setParentCode 取「港口编码」列,而抑制连带报错时
却用「上级港口编码」判断父行是否已声明。用户若把完整编码填入
「码头编码」并让「港口编码」留空,父港口解析失败的异常会被误判为
「父行已声明」而吞掉,码头被静默丢弃且接口返回成功。
- splitByCategory 增加码头行「港口编码」非空校验,明确报错
- 抑制逻辑改为与 setParentCode 取同一列
|
2026-09-21 05:34:59 +08:00 |
|
weicw-dshsa
|
8485efe00d
|
🐛 修复导入失败明细无法按列标红的问题
4e1a162 移除了按列名匹配逻辑后只剩失败原因列标红。
现恢复并修正误标红:命中片段被更长片段覆盖时只保留更长的列
(避免原因含「车船类型」时把子串「类型」列一起标红)。
|
2026-09-21 05:21:27 +08:00 |
|
weicw-dshsa
|
b02aff8ff6
|
✨ 运单导入支持多货物合并与配载路线串联
- 同一运单标识号的多行货物合并为一条运单,各行转为货物明细写入 goodsJson,数量与其他费用合计按行累加
- 新增组内一致性校验:发货地址、到货地址、数量单位、配载标识号不一致时报错,避免无法合并的数据静默落库
- 配载单路线按导入顺序串联,上一票到货地与下一票发货地重合时去重写入途经地,到货地取末票
|
2026-09-21 04:19:55 +08:00 |
|
刘泉佳
|
933f9ffdb9
|
📝 toInvoicePoolVO 字段映射补充备注
|
2026-09-20 21:27:31 +08:00 |
|
刘泉佳
|
7ec3b2adbc
|
⚡ A801-1 全票池发票查询改为 pageNo/pageSize 透传分页
- IBfiService.queryInvoicePool 改为单页查询返回 BfiPageVO,BfiServiceImpl 移除 queryAllPages 全量翻页
- 正式结算单认领查询透传 current/size,多取 1 条探测 hasMore 并合成 total,前端 R<IPage> 契约不变
- 移除内存作废过滤(rim 无对应查询条件,透传分页下会产生页内空洞)
- 同步更新 BfiUtil 技术文档 A801-1 说明与使用方清单
|
2026-09-20 21:08:42 +08:00 |
|
weicw-dshsa
|
37309b24f9
|
🐛 维修记录导出移除多余的“导出失败原因”列
- MaintenanceRecordExportExcel 仅为把父类 @ExcelIgnore 的 errorMessage 重新暴露成
第 18 列“导出失败原因”而存在,正式导出该列恒为空白,属遗留冗余
- 删除该字段与对应 import,导出回归 17 列,与导入模板字段顺序一致
- 导入失败明细导出不依赖本类:ImportFailureExcelUtil 自行按字段构建列并过滤
errorMessage,再反射读取失败原因追加“导入失败原因”列,逻辑不受影响
|
2026-09-20 20:34:56 +08:00 |
|
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 |
|
刘泉佳
|
f9433cbc78
|
🐛 A801-1 查询入参字段 data 更正为 queryParam
|
2026-09-20 19:51:43 +08:00 |
|
刘泉佳
|
74512e6b66
|
fix: 修改BfiCustomerGroupEntryDTO备注
|
2026-09-20 19:47:18 +08:00 |
|
刘泉佳
|
c5d65f5678
|
⚡ 优化金蝶客商定时同步消除N+1查询与逐条写入,快照纳入金蝶字段修复变更不落变更记录
|
2026-09-20 19:44:57 +08:00 |
|
刘泉佳
|
9a35d408dc
|
✨ 正式结算单新增全票池发票认领查询端点(多条件+内存精确分页)
|
2026-09-20 19:41:19 +08:00 |
|
刘泉佳
|
31a039245c
|
✨ blade-bfi-api 新增发票云全票池发票查询能力(A801-1 rim契约,queryAllPages全量翻页)
|
2026-09-20 19:41:07 +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 |
|
b2894lxlx
|
86adb47392
|
调试mk
|
2026-09-20 19:03:13 +08:00 |
|
b2894lxlx
|
780cd56ffe
|
调试mk
|
2026-09-20 18:34:40 +08:00 |
|
b2894lxlx
|
8cf9140f56
|
调试mk
|
2026-09-20 18:12:45 +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 |
|
b2894lxlx
|
2f56ca07cb
|
调试mk
|
2026-09-20 17:35:59 +08:00 |
|
b2894lxlx
|
6987a0e790
|
调试mk
|
2026-09-20 17:11:08 +08:00 |
|
刘泉佳
|
44a34f57f0
|
🔥 移除业财融合资料文档的版本跟踪(TMS业财融合方案/接口文档/编码规范/集成流程梳理)
|
2026-09-20 16:46:15 +08:00 |
|
刘泉佳
|
a78aa770c7
|
✅ 金蝶客商定时同步补充执行日志并新增手动触发测试类
|
2026-09-20 16:45:56 +08:00 |
|
b2894lxlx
|
0bfc9cbc86
|
调试mk
|
2026-09-20 16:36:31 +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 |
|
刘泉佳
|
719ec4e8f6
|
✨ 客商档案同步金蝶完善:伙伴类型按客商性质字典解析、推送银行/联系人分录、BFI配置抽取BfiProperties
|
2026-09-20 16:05:54 +08:00 |
|
b2894lxlx
|
d5e7787e89
|
调试mk
|
2026-09-20 16:05:25 +08:00 |
|
b2894lxlx
|
aa2084090a
|
调试mk
|
2026-09-20 14:14:39 +08:00 |
|
b2894lxlx
|
a138f3b916
|
调试mk
|
2026-09-20 13:16:44 +08:00 |
|
weicw-dshsa
|
cc33bc5ef2
|
🐛 修复港口码头批量导入的一二级顺序与全量回滚问题
对应 BUG.xlsx 序号 1 与序号 2。
序号 1(同表混装一二级数据):
- 改为两阶段导入,先落库港口(一级)再落库码头(二级),
消除对 Excel 行序的依赖;码头优先引用本批次新增的港口
序号 2(全失败即整批回滚):
- 逐行收集错误,只要有一行失败就抛异常触发整批回滚,不再部分成功
- 失败明细按【原表全部行】返回,未出错的行不标注,用户只需改错行
附带修复:
- 父港口找不到时改抛专用 ParentPortNotFoundException:
上级港口声明在本文件里、但那一行自身校验失败时,不再连带给码头行报错,
避免用户看到"两行都错"的假象;父港口确实漏填时仍照常报错
- 批内重复编码在落库前预检并定位到行,两行都标注原因
- 父港口区域信息为空(历史数据)时保留码头自身填写的值,
此前会被覆盖成空值导致码头无法导入
|
2026-09-20 06:27:33 +08:00 |
|
刘泉佳
|
3950a3a0b0
|
Merge remote-tracking branch 'origin/feature/payment-apply-bfi-sync' into feature/payment-apply-bfi-sync
|
2026-09-19 14:13:56 +08:00 |
|
b2894lxlx
|
380fd117c5
|
调整定位
|
2026-09-18 22:12:43 +08:00 |
|
刘泉佳
|
ba93a9b0ca
|
⚡ 付款申请同步金蝶推送成功即时回填付款申请单编号,无需等待定时回写
|
2026-09-18 21:35:35 +08:00 |
|
刘泉佳
|
0531177ed7
|
✨ 新增金蝶客商数据定时同步任务(自动推送+使用状态停用联动)
|
2026-09-18 21:34:37 +08:00 |
|
b2894lxlx
|
a2e23ea264
|
1、修改同步组织
2、新增北斗定位
|
2026-09-18 21:12:01 +08:00 |
|
刘泉佳
|
0e1334be23
|
⚡ 金蝶应付单分录不再按多货物类型拆行:整行一条分录,物料编码取第一种货物类型
|
2026-09-18 21:07:12 +08:00 |
|