weicw-dshsa
|
30e1ada0cc
|
🐛 修复币种汇率导入未整批回滚,派生写随事务一起退
问题:CurrencyServiceImpl.importCurrency 无 @Transactional,循环内吞掉异常
后正常 return,失败行之前的正确行已落库。且循环内除 save 外还有
rebuildEnabledValidity 派生写(按 code 重算启用记录有效期区间),
若只回滚主表遗漏派生写,会留下「主表回滚了、有效期却按失败批次算过」的脏数据。
改动:
- 服务层:补 @Transactional(rollbackFor = Exception.class),错误收集完后
抛 ImportFailureException(org.springblade.common.excel),
主表 save 与派生写 rebuildEnabledValidity 在同一事务内一起回滚。
- CurrencyExcel.errorMessage 由 @ExcelProperty 改为 @ExcelIgnore:
原先导出模板会多出 errorMessage 空列(与 issue #12 运单模板同款问题)。
- 控制器:改 catch 异常导出 + 补上传文件校验,对齐 PortTerminal 写法。
验证:mvn install -DskipTests 通过;币种回归 25/25(含派生区间
正确性断言与零写入断言);同批修复顺带覆盖 issue #12 同类问题。
|
2026-09-25 08:20:06 +08:00 |
|
weicw-dshsa
|
cd2052e5d0
|
🐛 修复常用线路导入未整批回滚
问题:CommonRouteServiceImpl.importCommonRoute 循环内吞掉异常后正常 return,
方法正常返回导致 Spring 照常提交事务。方法虽有 @Transactional(rollbackFor =
Exception.class),但异常被吞后注解救不了——失败行之前的正确行已经落库。
改动:
- 服务层:错误收集完毕后若 failureList 非空,抛 ImportFailureException
(org.springblade.common.excel)触发整批回滚。catch 里原本就把原因
写在原行对象上,失败明细原因不丢,无需额外处理。
- 控制器:改为 catch 异常 → 取 failureList 导出(exportFailureReasonOnly)
→ return null,并补上传文件校验,对齐 PortTerminalController 写法。
验证:
- mvn install -DskipTests 全量编译通过。
- 常用线路回归 29/29 通过(新增 tests/fixtures/common-route/,
scripts/api-common-route-import-test.sh),含 02_一行错误多行正确_应零写入、
07_与库中线路重名(基线行不受回滚影响)。
- 港口码头 45/45、常用货物 25/25 基线回归通过,确认无连带影响。
|
2026-09-25 08:20:06 +08:00 |
|
weicw-dshsa
|
07b2f2766e
|
🐛 修复常用货物导入未整批回滚,失败明细原因写回原行
问题:CommonCargoServiceImpl.importCommonCargo 循环内吞掉异常后正常 return,
方法正常返回导致 Spring 照常提交事务。方法虽有 @Transactional(rollbackFor =
Exception.class),但异常被吞后注解救不了——失败行之前的正确行已经落库。
改动:
- 服务层:错误收集完毕后若 failureList 非空,抛 ImportFailureException
(org.springblade.common.excel,#2 已迁入 blade-common)触发整批回滚。
- 修复失败明细原因为空的问题:catch 里除写入 failureExcel 副本外,
还必须把原因写回原行对象 excel.setErrorMessage(...)——抛出异常时携带的是
原表 data,导出工具从行对象的 errorMessage 字段取原因,只写副本会丢。
- 控制器:改为 catch 异常 → 取 failureList 导出 → return null,并补上传
文件校验,对齐 PortTerminalController 写法。
验证:
- mvn install -DskipTests 全量编译通过。
- 常用货物回归 25/25 通过(新增 tests/fixtures/common-cargo/,
scripts/api-common-cargo-import-test.sh),含 02_一行错误多行正确_应零写入。
- 港口码头基线回归 45/45 通过,确认无连带影响。
|
2026-09-25 08:20:06 +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 |
|
b2894lxlx
|
5f036ebe6a
|
mk调试
|
2026-09-24 23:29:43 +08:00 |
|
刘泉佳
|
50573e7263
|
feat: 收款认领金蝶对接业务侧接线(A301-2公告同步/A301-3认领推送/A301-1收款单回写)
|
2026-09-24 22:21:00 +08:00 |
|
刘泉佳
|
e50f4cbba6
|
feat: 收款认领金蝶对接新增数据字段与迁移SQL(流水表公告字段、认领来源编码)
|
2026-09-24 22:20:21 +08:00 |
|
刘泉佳
|
976abdf73a
|
fix: 收票指定应付调试数据
|
2026-09-24 20:47:44 +08:00 |
|
刘泉佳
|
aa06379737
|
feat: 付款申请金蝶推送完善往来账户(客商收款账户联行号)与结算方式映射
|
2026-09-24 19:42:58 +08:00 |
|
刘泉佳
|
851deb2959
|
feat: 开票申请金蝶推送支持发票张次拆分与幂等重推,回写金蝶单号
|
2026-09-24 19:42:48 +08:00 |
|
刘泉佳
|
e4095c6e60
|
feat: 正式结算与收票登记适配金蝶推送新分录口径(结算单维度传参、汇率/汇率日期)
|
2026-09-24 19:42:36 +08:00 |
|
刘泉佳
|
e923e07947
|
feat: 金蝶应付/应收/收票单推送支撑组件重构——结算明细行与结算合计费用项同口径,物料/计量单位映射完善
|
2026-09-24 19:42:19 +08:00 |
|
刘泉佳
|
5225444c3e
|
feat: 金蝶物料编码映射常量与同步上下文缓存扩展(计量单位/客商收款账户)
|
2026-09-24 19:42:04 +08:00 |
|
刘泉佳
|
6d0dc9a24a
|
feat: 系统服务新增计量单位档案查询 Feign 接口
|
2026-09-24 19:41:21 +08:00 |
|
刘泉佳
|
1932ffe2d7
|
📝 补充金蝶附件同步关键链路日志(A902/A801-2 调用、单附件成功、内码反查回填与推送完成)
|
2026-09-24 13:47:30 +08:00 |
|
刘泉佳
|
c2f3a48c0e
|
✨ 金蝶附件同步(A902):五类单据推送后联带上传附件、独立同步状态与列表聚合
|
2026-09-24 13:26:54 +08:00 |
|
刘泉佳
|
ff96cc8544
|
feat: A103-1下推结算方式按付款方式映射并本地组装勾稽键,应付分录含税金额兜底修复
|
2026-09-24 04:51:50 +08:00 |
|
刘泉佳
|
3516282510
|
fix: 合并master,解决编译报错
|
2026-09-24 03:30:05 +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 |
|
刘泉佳
|
243d5be580
|
fix: 修复收票单推送金蝶防重键不匹配导致指定应付和幂等预检失败
A303-2保存收票单时awrp_src_code使用receipt.getId(),但A302-6指定应付
和A801-3幂等预检误用receipt.getInvoiceNo(),导致:
1. A302-6指定应付传入发票号而非收票登记ID,金蝶报收票单不存在
2. A801-3预检用发票号匹配金蝶awrp_src_code(收票登记ID),永远匹配不到
已存在的收票单,重推时重复调A303-2被金蝶拒绝(已审核不允许修改)
修复:统一使用receipt.getId()作为收票单防重键
- assignApBill入参改为receipt.getId()(含补偿方法)
- queryKingdeeReceivedInvoiceRows传入receipt.getId()
- kingdeeRows.get()的key改为receipt.getId()
- 更正assignApBill方法注释
|
2026-09-23 19:00:02 +08:00 |
|
b2894lxlx
|
f0732765cf
|
✨ 完善配载草稿确认与运单数量/里程落库
配载暂存免校验且确认生成待执行正式单,草稿仅预占运单不改其状态;里程 -1 对外置空;多货物运单按 goodsJson 合计回写数量并用于应收应付。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-23 18:35:28 +08:00 |
|
刘泉佳
|
0c064f06c9
|
feat: 收票单分录改为与应付单同源结算费用行,防重键改用收票登记id
|
2026-09-23 16:01:17 +08:00 |
|
刘泉佳
|
cb0d9a0602
|
feat: 批量转结算候选明细接口新增单据号和合同编码查询参数
|
2026-09-23 15:39:35 +08:00 |
|
刘泉佳
|
c91ab359ba
|
feat: 金蝶票池选票仅出可用票并改造有界循环补页游标分页
- 选票过滤:剩余可用金额availableAmount>0且金额使用状态amountUseStatus=0(未使用),保存落镜像前按同口径复核,防选票到保存之间票被他人使用造成超用
- 单据使用状态不再作为前端条件,后端固定下推未用(expenseStatus=1)
- 分页改造:单请求最多3次远程调用循环补页凑满一页,返回nextCursor(远程页码:已消费过滤行数)供下一页续扫,防过滤后翻页漏行重行,游标解析失败降级页码锚定
- 新增剩余可用金额availableTaxAmount展示字段(金蝶可用税额口径,不改可认领金额的价税合计口径)
|
2026-09-23 15:06:07 +08:00 |
|
b2894lxlx
|
29b846017b
|
⚡ 固定金额与里程类计费跳过数量单位匹配
按车辆、固定金额、按公里/吨公里等计费要素不再要求货物数量单位一致。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-23 14:49:19 +08:00 |
|
b2894lxlx
|
6eb5362d5f
|
🐛 修复车辆调度列表排序规则冲突
JOIN 车牌号/租户时统一 utf8mb4_general_ci,并补充车辆表排序规则对齐脚本。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-23 14:49:19 +08:00 |
|
b2894lxlx
|
809790e737
|
🐛 修复本地无法运行的问题
|
2026-09-23 14:08:53 +08:00 |
|
b2894lxlx
|
f09879d1dc
|
🐛 修复客商类型无法保存的问题
|
2026-09-23 11:29:52 +08:00 |
|
刘泉佳
|
7b7a40b94d
|
chore: 补充收票单推送金蝶方法注释与批量推送关键环节日志
|
2026-09-23 11:08:50 +08:00 |
|
刘泉佳
|
c60954ad86
|
refactor: 清理收票金蝶同步下线后的死代码
|
2026-09-23 10:54:29 +08:00 |
|
刘泉佳
|
70d5d34461
|
refactor: 收票管理下线金蝶同步功能,金蝶状态改按推送结果二值展示
|
2026-09-23 10:47:40 +08:00 |
|
刘泉佳
|
562127232b
|
✨ 收票单推送金蝶全链路(A303-2保存+A302-6指定应付+A801-3回写)与金蝶票池实时游标分页重构,下线镜像分页与定时绑定任务
|
2026-09-23 10:15:36 +08:00 |
|
刘泉佳
|
6c81e7771d
|
fix: 金蝶推送组织编码缺失报错改显示组织名称替代部门ID
|
2026-09-23 03:34:39 +08:00 |
|
b2894lxlx
|
f91fc19745
|
⚡ 计费方案运输方式精确匹配,并完善付款与运单费用生成
修复公路/铁路子串误匹配导致错生成应收应付;尾款付款支持关联预结算单;运单新建/复制为已完成时按合同计费生成应收应付。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-23 00:17:13 +08:00 |
|
刘泉佳
|
56e3e9deb0
|
feat: 金蝶票池选票统一查镜像(收票登记与结算单认领统一分页查询+按票号补查+A801-1限定正常票,下线实时透传假分页)
|
2026-09-22 21:24:00 +08:00 |
|
b2894lxlx
|
3e23507b3a
|
✨ 客商评分提交校验、复评状态与空评分持久化
提交审批前必须完成且仅保留一条自评,审核通过前必须完成复评。
列表返回最新复评状态;删除最后一条评分会落库;评分为 0 时不再被当成空值覆盖。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-22 20:21:43 +08:00 |
|
刘泉佳
|
b17f07b6c1
|
♻️ 修复FormalSettlementServiceImpl审批状态常量引用
|
2026-09-22 14:49:54 +08:00 |
|
刘泉佳
|
06e6c9543f
|
♻️ syncKingdeeInvoiceResult优化N+1问题,使用批量查询和批量插入/更新
|
2026-09-22 14:29:37 +08:00 |
|
刘泉佳
|
1268561fd9
|
✨ A303-5开票结果回写支持Base64解码响应并补充关键日志
|
2026-09-22 14:07:25 +08:00 |
|
刘泉佳
|
430fc6b5a7
|
✨ 开票申请推送金蝶数电普票增加是否含税标记(hsbz=1)
|
2026-09-22 12:10:11 +08:00 |
|
b2894lxlx
|
14c1d9dff0
|
✨ 认证退出与操作日志、密码规则,以及运输业务多项修正
|
2026-09-22 12:03:59 +08:00 |
|
刘泉佳
|
dd37c01500
|
♻️ 审批状态常量抽取至TransportBusiConstant公共类
|
2026-09-22 11:26:20 +08:00 |
|
刘泉佳
|
b0cc93bf08
|
✨ 开票申请推送金蝶补齐购销方地址电话与开户行票面展示字段
销方 showsaleraddresstel/showsalerbank 随地址电话、开户行账号一同置 true;新增购方 buyeraddr/buyerbank(取申请单受票方快照注册地址+联系电话、开户行+银行账号)及展示开关 showbuyeraddresstel/showbuyerbank;同时注释掉分录税收分类编码的联调硬编码,恢复取商品行快照。
|
2026-09-22 11:03:12 +08:00 |
|
刘泉佳
|
3edefa9b4b
|
♻️ 开票申请同步金蝶分录组装改为纯页面商品行透传
resolveInvoiceApplyEntries 去掉开票项目主数据全量拉取(ISysClient.getInvoiceItems)与合同计费规则链路(开票明细→正式结算明细→应收费用行 billing_rules_json)两处回查,分录的分类/简称/税收分类编码/税率/金额/税额/单价/备注全部取商品行落库值,行缺编码或缺税率直接报错;取数收敛为张次+商品行两条查询,避免逐张 N+1。
|
2026-09-22 10:51:49 +08:00 |
|
b2894lxlx
|
5254a46de8
|
Merge remote-tracking branch 'websoft/master'
|
2026-09-21 22:33:12 +08:00 |
|
刘泉佳
|
447b087f67
|
✨ 开票申请同步金蝶分录改按开票明细费用行展开逐行勾稽,税率透传开票项目小数,补销方地址电话与开户行账号,主表仅传必填字段
|
2026-09-21 21:19:26 +08:00 |
|
刘泉佳
|
72a1cfa9ec
|
✨ 开票项目主数据新增跨服务Feign查询(ISysClient.getInvoiceItems,启用档案按分类简称排序)
|
2026-09-21 21:19:18 +08:00 |
|
刘泉佳
|
b454bdc6e3
|
✨ 金蝶结果定时任务编排应收勾稽纠偏与开票结果回写子流程
|
2026-09-21 19:14:38 +08:00 |
|
刘泉佳
|
39ffac15e2
|
✨ 开票申请同步金蝶A303-1并回写A303-5开票结果(销方与税收分类编码随单据取数,新增发票结果表)
|
2026-09-21 19:14:20 +08:00 |
|
刘泉佳
|
82b347cb18
|
✨ 应收正式结算单同步金蝶财务应收单(A302-2保存+A302-4幂等预检与定时勾稽纠偏)
|
2026-09-21 19:14:05 +08:00 |
|