刘泉佳
|
4b3edf977c
|
Merge remote-tracking branch 'refs/remotes/origin/master' into feature/payment-apply-bfi-sync
# Conflicts:
# blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/CustomerArchiveServiceImpl.java
|
2026-10-01 13:47:00 +08:00 |
|
刘泉佳
|
a2abb3f921
|
Merge remote-tracking branch 'origin/feature/kingdee-attachment-sync' into feature/payment-apply-bfi-sync
# Conflicts:
# blade-common/src/main/java/org/springblade/common/feign/CustomFeignLogger.java
# blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java
# blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceApplicationServiceImpl.java
# blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceReceiptServiceImpl.java
# blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/PaymentApplicationServiceImpl.java
# blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeApBillSyncSupport.java
# blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeArBillSyncSupport.java
|
2026-09-28 10:50:09 +08:00 |
|
b2894lxlx
|
247440288b
|
🐛 修复运单计划-1占位,并对账导入失败明细按原表全量列导出
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-27 23:16:17 +08:00 |
|
weicw-dshsa
|
4ccc28e991
|
🐛 修复三处导入校验缺陷与失败明细行号错位
对全仓 31 处导入入口做了一次「导入校验 vs 新增/编辑校验」的一致性审计,
以下三处是审计中严重度最高的、且业务口径无歧义的缺陷:
1) 常用货物:型号必填只在新增/编辑生效,导入侧被放过
submit(CommonCargo) 走 validate(cargo, requireModel=true),而导入调
submit(cargo, false) —— 页面上存不进去的数据(型号为空)却能通过导入写进库。
CommonCargoExcel 的「型号」列也没标 *,用户按模板填根本不知道它必填。
改法:去掉 requireModel 开关(该参数已成死参数,留着只会让两边再次分叉),
导入与新增/编辑共用同一个 validate;模板表头改 *型号。
2) 运输对账:动态费用列填非数字被静默改成 0.00
VehicleReconciliationFeeReader / CargoReconciliationFeeReader 的 decimal()
在 catch (NumberFormatException) 后直接返回 ZERO —— 「一百元」变成 0.00 存进
feeItemsJson,参与结算金额与自动匹配,属静默写脏数据。
改法:抛新增的 ImportCellReadException(blade-common),带上行号/列名/原值,
由既有读取阶段兜底导出原表全量明细。
3) 运输计划:文案「数量/里程必须为正数」与规则不符
条件只判 < 0(0 是合法值),新增/编辑侧的文案是「不能小于0」。统一为「不能小于0」。
顺带修掉一个更基础的错位:
ImportFailureExcelUtil.readFailureRowIndex 直接拿
ExcelDataConvertException.getRowIndex() 当失败明细的行下标,但前者是
【绝对 0 基行号】(表头=0),后者只对数据行计数。错误恰好落在最后一行时
靠 clamping 侥幸正确,落在首行就会把原因标到下一行 —— 实测首行出错时原因
被标到了第 3 行(应为第 2 行)。现统一换算(-1)并把两类异常收口到
readFailureExcelRowIndex。
验证:
- mvn clean install -DskipTests 通过。
- 全套 16 个导入回归脚本 469 项断言全绿,其中:
- 运单核对新增用例 04(首行读取失败须标在第 2 行)、05(动态费用列填中文
必须报错),运单核对套件 28 项全绿;
- 常用货物新增用例 08(型号为空须整批回滚),套件 29 项全绿;
- 读取失败套件 4 项全绿,证明行号修正未破坏既有断言。
|
2026-09-26 12:45:17 +08:00 |
|
weicw-dshsa
|
2d185f0de6
|
🐛 导入单元格无法转换时改为返回可读失败明细,兜底 26 个导入接口
问题(用户实测反馈):金额列填「一万二千元」这类无法转换的内容时,EasyExcel 在
ExcelUtil.read(...) 阶段就抛 ExcelDataConvertException,根本走不到行级校验;
控制器只 catch ImportFailureException,异常穿透到全局处理器,用户看到的是
HTTP 500 + 「Convert data ... to class java.math.BigDecimal error」这类技术文案,
且完全拿不到失败明细。
影响面:全部 27 个导入接口(读阶段的 ExcelUtil.read 都在 try 内、只 catch
ImportFailureException),非维修记录独有。
改动:
- ImportFailureExcelUtil 新增三个能力(blade-common,公共层一次覆盖各模块):
1) describeReadFailure:把 ExcelDataConvertException 转成
「第N行「列名」格式不正确:<原值>」,列名按列序号反查 @ExcelProperty;
2) readRawRows:以原始文本(Map)方式重读文件,不做类型转换因此绝不抛异常,
用于拿回「原表全部行」;
3) exportReadFailure:一站式兜底(重读 → 导出全量行 + 仅出错行带原因 +
按列标红),返回 false 表示非转换类异常,调用方继续抛出保持原行为。
- 26 个导入控制器在现有 catch 之后追加 catch(Exception) 兜底,未改动原有
行级校验与整批回滚逻辑。
验证:
- 实测维修记录/费用项/币种汇率三个模块:HTTP 500→200,返回全量明细,
文案如「第5行「费用」格式不正确:一万二千元」(行号经单行/四行文件双向校准)。
- 既有回归无退化:记录类 80/80、台账 32/32、港口码头 45/45、货物类型 24/24、
费用项 20/20、币种汇率 25/25。
- 新增 scripts/api-read-failure-test.sh(4 断言)固化该场景。
|
2026-09-26 11:37:07 +08:00 |
|
weicw-dshsa
|
99c4bf4f7d
|
🐛 修复货物类型导入未整批回滚,并把导入回滚异常迁到公共模块
问题:CargoTypeServiceImpl.importCargoType 循环内吞掉异常后正常 return,
方法正常返回导致 Spring 照常提交事务,@Transactional 起不到回滚作用。
含 1 行错误的文件会写入前面若干行正确数据,与「任一行失败即整批零写入」口径不符。
改动:
- ImportFailureException 由 org.springblade.system.excel 迁至
org.springblade.common.excel(与 ImportFailureExcelUtil 同包)。
blade-transport 只依赖 blade-system-api,原先拿不到该异常,
迁到 blade-common 后 blade-system 与 blade-transport 均可引用。
- CargoTypeServiceImpl.importCargoType 补 @Transactional(rollbackFor = Exception.class),
错误收集完毕后抛 ImportFailureException 触发回滚,不再 return failureList。
- CargoTypeController.importCargoType 由「拿返回值导出」改为
「catch 异常 → 取 failureList 导出 → return null」,并补上传文件校验,
对齐 PortTerminalController 的写法。
- PortTerminalController / PortTerminalServiceImpl 仅调整 import 指向新包,行为不变。
验证:
- mvn install -DskipTests 全量编译通过。
- 港口码头回归 45/45 通过,确认「异常搬家」未破坏既有基线。
- 货物类型回归 24/24 通过,含 02_一行错误多行正确_应零写入(库中零写入)。
|
2026-09-25 08:20:05 +08:00 |
|
刘泉佳
|
4185372746
|
🐛 Feign日志multipart请求解析非文件字段打印,文件部分用占位符替代
|
2026-09-24 22:51:30 +08:00 |
|
刘泉佳
|
c10a6fc96f
|
🐛 修复Feign日志打印multipart文件上传内容
|
2026-09-24 22:47:41 +08:00 |
|
刘泉佳
|
976abdf73a
|
fix: 收票指定应付调试数据
|
2026-09-24 20:47:44 +08:00 |
|
刘泉佳
|
cae284483e
|
Merge remote-tracking branch 'origin/master' into feature/payment-apply-bfi-sync
# Conflicts:
# blade-common/src/main/java/org/springblade/common/config/BladeCommonConfiguration.java
# blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClient.java
# blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClientFallback.java
# blade-service/blade-system/src/main/java/org/springblade/system/feign/SysClient.java
# blade-service/blade-transport/pom.xml
# blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/CustomerArchiveMapper.xml
# blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/PaymentApplicationServiceImpl.java
# blade-service/blade-transport/src/main/java/org/springblade/transport/wrapper/PaymentApplicationWrapper.java
# blade-service/blade-transport/src/main/resources/application-dev.yml
# blade-third-party-api/pom.xml
# doc/nacos/blade-dev.yaml
# doc/nacos/blade-prod.yaml
# doc/nacos/third-party-api.yaml
# pom.xml
|
2026-09-24 03:15:30 +08:00 |
|
b2894lxlx
|
14c1d9dff0
|
✨ 认证退出与操作日志、密码规则,以及运输业务多项修正
|
2026-09-22 12:03:59 +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 |
|
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
|
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
|
8485efe00d
|
🐛 修复导入失败明细无法按列标红的问题
4e1a162 移除了按列名匹配逻辑后只剩失败原因列标红。
现恢复并修正误标红:命中片段被更长片段覆盖时只保留更长的列
(避免原因含「车船类型」时把子串「类型」列一起标红)。
|
2026-09-21 05:21:27 +08:00 |
|
刘泉佳
|
719ec4e8f6
|
✨ 客商档案同步金蝶完善:伙伴类型按客商性质字典解析、推送银行/联系人分录、BFI配置抽取BfiProperties
|
2026-09-20 16:05:54 +08:00 |
|
刘泉佳
|
c655e9f3b9
|
fix: - BFI 调用:完整出入参日志
|
2026-09-18 10:52:24 +08:00 |
|
b2894lxlx
|
2e7ab6f508
|
fix bug
|
2026-09-07 16:08:05 +08:00 |
|
b2894lxlx
|
b750f6ecf0
|
fix bug
|
2026-08-26 23:17:56 +08:00 |
|
b2894lxlx
|
4e1a162660
|
fix bug
|
2026-08-25 16:15:19 +08:00 |
|
b2894lxlx
|
4698ca34fb
|
fix bug
|
2026-08-24 23:28:30 +08:00 |
|
b2894lxlx
|
5aceb6e893
|
修复nacos问题
|
2026-08-18 14:57:42 +08:00 |
|
b2894lxlx
|
6c64b32a4a
|
修复nacos问题
|
2026-08-18 13:00:23 +08:00 |
|
b2894lxlx
|
98cd7ba4cf
|
Merge remote-tracking branch 'shucheng/mk'
# Conflicts:
# blade-service-api/blade-open-api/src/main/java/org/springblade/openapi/mk/api/IApi4MK.java
# blade-service-api/pom.xml
# blade-service/blade-file/src/main/java/org/springblade/file/FileApplication.java
# blade-service/blade-file/src/main/resources/bootstrap.yml
# blade-service/blade-openapi/src/main/java/org/springblade/openapi/OpenApiApplication.java
# blade-service/blade-openapi/src/main/resources/bootstrap.yml
# pom.xml
|
2026-08-15 12:16:05 +08:00 |
|
黄斌峰
|
1e1a817081
|
feat(launcher): 添加Nacos配置启用控制
|
2026-08-07 18:57:28 +08:00 |
|
b2894lxlx
|
30c51ba271
|
1、完善项目
2、完善合同
3、完善费用项
4、司机管理对接OCR
5、完善运输计划
6、完善临时额度
|
2026-08-04 02:49:59 +08:00 |
|
b2894lxlx
|
9419439668
|
1、新增常用货物
2、新增运输计划
3、新增项目管理
4、新增运单管理
5、新增常用线路
6、新增发货模板
7、新增合同管理
8、新增过程配置
9、新增临时额度管理
|
2026-07-28 23:14:18 +08:00 |
|
aguanleishen
|
b5246d4e58
|
feat:添加APP版本管理相关代码
|
2026-07-28 08:32:02 +08:00 |
|
b2894lxlx
|
74416dabaf
|
1、调整导入失败,导出excel功能
2、调整规范
|
2026-07-27 14:53:28 +08:00 |
|
b2894lxlx
|
4b6908d3bf
|
1、调整导入失败,导出excel功能
2、调整规范
|
2026-07-27 14:36:45 +08:00 |
|
b2894lxlx
|
f0b515c2e0
|
1、新增货物类型模块
2、新增导入失败,导出excel功能
|
2026-07-27 11:50:23 +08:00 |
|
aguanleishen
|
0970af239d
|
feat:添加OA系统对接相关代码
|
2026-07-22 17:09:39 +08:00 |
|
b2894lxlx
|
d9df98b5b1
|
1、新增维修记录
2、新增保养记录
3、新增港口码头主数据
4、新增铁路车站主数据
5、新增空港机场主数据
6、测试版nacos配置
7、测试版Harbor配置
8、其他配置修改
|
2026-07-10 22:08:46 +08:00 |
|
kk
|
f1e6599892
|
init
|
2026-07-08 17:57:11 +08:00 |
|
kk
|
d4ef46bf97
|
init
|
2026-07-07 18:05:54 +08:00 |
|