Commit Graph

476 Commits

Author SHA1 Message Date
刘泉佳 40181a64b0 chore: 样例配置补充receivedInvoiceResult/billLock/customer金蝶调度段
三个定时任务此前仅在代码里有默认值、Nacos无显式配置,错峰值无法按环境显式下发;样例与 Nacos blade-dev.yaml 同步补齐(receivedInvoiceResult :08/10min、billLock.retry :02/5min、customer 每日02:00),开关默认关闭与代码兜底一致
2026-10-14 11:29:40 +08:00
刘泉佳 5211e8f18e chore: 按业务复杂度错峰分散金蝶BFI定时任务调度时间
原 6 个调度默认值全部压在整点边界(:00/:10/:20 同时起 4 个重任务),按复杂度错开起始分钟、频率不变、互不重叠:payResult :01/10min、receiptClaimPush :04/10min、autoSync.retry :05/10min、receivedInvoiceResult :08/10min、invoiceReceipt :16/30min、billLock.retry :02/5min;整点留缓冲,同步更新代码默认值、本地 yaml 兜底与 Nacos blade-dev.yaml
2026-10-14 11:10:38 +08:00
刘泉佳 5470eaf9c5 refactor: 统一金蝶BFI配置为BfiProperties类注入并补齐Nacos配置缺项
1. BfiProperties 新增 payResult/receivedInvoiceResult/receiptClaimPush/invoiceReceipt/customer/blacklist/invoiceResult/arResult/billLock/autoSync 嵌套配置类,收口 thirdParty.bfi.* 全部键;receivedInvoice 补 queryWindowDays/resultWindowDays/lockLeaseSeconds
2. 6 个定时任务、审批监听器及 6 个 ServiceImpl 共 13 处 @Value 改为 BfiProperties 注入(Nacos 刷新后自动重绑定,无需重启)
3. 本地 third-party-api.yaml 补 invoiceReceipt.invoiceTypes/compensateLimit 与 autoSync 整段,Nacos blade-dev.yaml 补 invoiceReceipt.lockLeaseSeconds
2026-10-14 11:10:20 +08:00
刘泉佳 805ca9d380 chore: 归集刘泉佳提交的金蝶对接SQL迁移脚本到doc/sql/transport/lqj 2026-10-13 18:47:11 +08:00
刘泉佳 975ff75eb3 fix: 金蝶分录拆分跳过0元费用项避免生成0元明细行
fee_items_json 中金额为0的费用项(附加运输补贴/仓储服务费等)不再参与分组,0元货物行整体跳过;修复FJS2026101300005推送8条分录(其中5条为0元行)的问题,修复后该单应为3条有效分录
2026-10-13 15:02:26 +08:00
刘泉佳 52da9aab24 docs: 补充金蝶物料映射Nacos配置样例与分录拆分逻辑梳理文档
third-party-api.yaml 新增 thirdParty.bfi.material 物料映射段(中文key方括号写法);新增业务流程文档:取值来源总表、三级拆分规则、大类判定与税率取值、物料计量单位映射、场景算例与已知口径
2026-10-13 11:34:55 +08:00
刘泉佳 60c1cbe98d test: 新增金蝶分录费用项按大类税率拆分逻辑单元测试
覆盖同大类多税率拆行、运输+装卸拆行、费用项档案分类判定、残差勾稽、空费用项兜底、同组金额合并六个场景
2026-10-13 11:34:33 +08:00
刘泉佳 f2b00b22af feat: 应付应收收票单分录按货物-费用大类-税率拆分并按配置映射金蝶物料编码
结算明细解析收口至应付支撑组件共享:一车多货按货物拆、费用大类(费用项档案+fee_category字典判定,关键字兜底)拆、合同计费方案税率拆行(运输类每行取运输量、装卸类数量1);残差并入运输类无税率组保证金额勾稽;手动添加结算合计费用每行单独一条(非运费类映射装卸物料);物料编码/计量单位映射调整:物料编码收口 Nacos thirdparty.bfi.material.* 配置(去兜底),计量单位非必填不再解析传参;移除三处联调调试块与废弃物料常量
2026-10-13 11:34:21 +08:00
刘泉佳 3b7559e9d6 Merge branch 'feature/payment-apply-bfi-autoSync' into feature/payment-apply-bfi-sync
# Conflicts:
#	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
2026-10-12 10:59:15 +08:00
刘泉佳 0bedc36c5c Merge branch 'feature/kingdee-bill-lock' into feature/payment-apply-bfi-sync 2026-10-12 10:53:05 +08:00
刘泉佳 bce360350c fix: 审批通过自动同步金蝶文档 2026-10-11 15:51:03 +08:00
刘泉佳 5a630bb102 fix: 开票申请单保存时送上游单据号 2026-10-11 14:44:33 +08:00
刘泉佳 2c87231cc6 fix: 审批通过自动同步金蝶失败原因提示到前端 2026-10-11 14:35:45 +08:00
刘泉佳 5d1f977abd feat: 付款申请纳入金蝶单据锁定与解锁流程(推送后锁单-删单回调还原-作废守卫-锁状态展示) 2026-10-10 16:00:32 +08:00
刘泉佳 15d6f736e5 feat: 金蝶锁单改1对1逐张调用并新增列表锁状态展示 2026-10-10 15:18:57 +08:00
刘泉佳 558c20efc2 fix: 锁单接口调整 2026-10-10 14:38:07 +08:00
刘泉佳 48fb5ad86c fix: 锁单失败提示区分金蝶请求回显场景(应答缺少updateCount字段) 2026-10-10 14:26:07 +08:00
刘泉佳 44130fd8b2 fix: 推送客商所属组织编码对应的金蝶组织编码 2026-10-10 14:06:42 +08:00
刘泉佳 276dd813d4 feat: 审批通过事件触发自动同步金蝶(AFTER_COMMIT+4域开关)
- 新增 KingdeeBillApprovedEvent(bizType复用MK处理器取值)与 KingdeeApprovalSyncListener:事务提交后同线程复用手动按钮同一Service方法推送,fallbackExecution兜底无事务场景,全量try/catch吞异常,审批结果不受推送影响
- 4域 approve 置approved成功后发布事件(重复审批被状态校验拒绝天然不重复推送);正式结算单 approve 补 @Transactional(原缺失会致AFTER_COMMIT事件被丢弃,顺带使更新与变更记录原子化)
- 域开关 thirdParty.bfi.autoSync.{settlement,payment,invoiceApply,receipt} 默认全关(Nacos显式打开),关闭即回到现状;手动同步按钮全部保留,三入口并存:自动+定时+手动
- 推送失败由上一独立事务落failed+定时重推兜底
2026-10-10 13:51:55 +08:00
刘泉佳 cfbbc756eb feat: 新增金蝶failed单据定时重推任务(兜底)
- 新增 KingdeeAutoSyncRetryTask:仅重推各域 failed,不扫 unsynced(存量审批通过但从未推送的历史单不自动补推,仍走手动按钮)
- 4域新增 retryKingdeeFailed:逐单独立成败不中断,返回执行摘要;前置未就绪再次failed下轮继续,节点硬顺序由既有 A102-4/A302-4/A303-4/A801-3 预检保证,不做级联
- 收票重推以落库状态 pushed/assigned 判成败(批量推送方法逐单吞异常返回摘要)
- 开关 thirdParty.bfi.autoSync.retryEnabled 默认关闭,cron 默认每10分钟;重推无次数上限(噪音可接受后再加 retry_count)
2026-10-10 13:50:12 +08:00
刘泉佳 03b343102e feat: 推送失败统一落failed口径(修总纲11.2-#3)
- 结算单/开票申请推送失败由整体回滚保持unsynced改为:事务回滚后独立事务落failed+原因(结算写变更记录、开票写操作流水,无新列),与付款/收票口径统一
- 收票新增pushKingdeeReceivedInvoice(ids,autoSync)重载:自动推送路径前置拦截(未绑定镜像/查验未通过/前置应付单未生成等)置failed+原因纳入重推循环,已指定应付的良性跳过不改状态;手动批量路径保持拦截不动状态逐单报因
- 汇率未维护照旧不传不阻断
2026-10-10 13:48:26 +08:00
刘泉佳 9365fd7738 refactor: MK流程结算/付款审批回调统一改调service.approve
- 结算/付款 OA handler 不再直置 approved,与开票/收票 handler 对齐走 service.approve 统一入口
- 顺修两处绕过:付款审批补上票据额度联动 useBillBalance,结算审批补上变更记录
- 仅审批中单据可通过,重复 OA 回调被状态校验拒绝,为后续审批事件触发推送保证不重复推送
2026-10-10 13:45:45 +08:00
刘泉佳 9d708c2fbe fix: 金蝶解锁回调端点 2026-10-10 13:12:16 +08:00
刘泉佳 d109e0dc9b feat: 金蝶锁单失败摘要拼入同步返回供页面提示,重推重置补偿计数并新增手动补偿端点 2026-10-10 12:21:41 +08:00
刘泉佳 6bff852760 fix: 财务应付单往来类型固定为bd_customer 2026-10-10 12:17:25 +08:00
刘泉佳 7cae2034a4 chore: 模板补齐kingdee-bfi回调secure.auth放行规则并与Nacos实际配置对齐 2026-10-10 10:34:48 +08:00
刘泉佳 b4119d9dfa feat: 金蝶解锁回调端点加入secure免登放行白名单(blade.secure.skip-url) 2026-10-10 09:38:46 +08:00
刘泉佳 1063d5875c docs: 金蝶单据锁定与解锁业务流程文档 2026-10-09 19:52:53 +08:00
刘泉佳 e08be9a297 feat: 正式结算单/开票申请同步金蝶后联带锁单,支持解锁回调与金蝶删单还原 2026-10-09 19:52:15 +08:00
刘泉佳 92a975b5e4 feat: BFI新增单据锁定接口lockBusiData(批量逗号拼接传参,updateCount/updateResultList应答结构) 2026-10-09 19:51:59 +08:00
刘泉佳 22b0b07ae2 feat: A303-1 开票申请推送放开特殊票种E04并随单报送货物运输单据体 2026-10-09 10:33:53 +08:00
刘泉佳 311da67744 feat: A303-1 开票申请单保存入参新增货物运输/旅客运输/代收车船税单据体 2026-10-09 10:21:25 +08:00
刘泉佳 ef0f9e6e36 fix: A303-1 开票申请推送放开来源单据字段 2026-10-08 19:59:04 +08:00
刘泉佳 36c264bfab Revert "feat: 金蝶应付/应收单分录按费用大类×税率拆分,一车多货再按货物拆分"
This reverts commit 5d1c01e15e.
2026-10-08 18:39:57 +08:00
刘泉佳 638a38a467 Revert "perf: 分录拆分补齐上下文缓存消除N+1,联调详细日志"
This reverts commit b7beb949fb.
2026-10-08 18:39:57 +08:00
刘泉佳 8f60bd5597 feat: 金蝶黑名单查询支持number企业税号数组入参,客商提审按发票信息纳税人识别号过滤校验 2026-10-08 18:25:58 +08:00
刘泉佳 a6af9a2ccd feat: 收款认领公告查询认领人改取Nacos配置thirdParty.bfi.claimAnnounce.claimusers,不再按当前登录用户姓名查询 2026-10-08 17:34:11 +08:00
刘泉佳 f4a4f1780e fix: 金蝶A801-5黑名单查询补必填分页参数并循环翻页取全量,查询异常上抛阻断客商提审
- BfiBlacklistQueryDTO 补 pageNo/pageSize 必填字段,pageSize 取值范围[1,2000]
- BfiConstant 新增 BLACKLIST_QUERY_PAGE_SIZE=2000,IBfiClient.blacklistQuery 返回契约改为 BfiPageVO 分页结构
- BfiServiceImpl.queryBlacklist 复用 BfiUtil.queryAllPages 循环翻页聚合全量黑名单
- CustomerArchiveServiceImpl.validateBlacklist 移除吞异常放行逻辑,金蝶查询失败直接上抛 BfiException 阻断提审
2026-10-08 17:33:25 +08:00
刘泉佳 7b41128db7 fix: 金蝶票池字段 出行人列表,客运票 2026-10-08 14:42:15 +08:00
刘泉佳 7505d9bc55 feat: 全票池同步发票种类白名单下推远端——invoiceTypes单值参数按编码拆轮独立切片续扫,不再拉回后内存过滤消耗翻页额度;配置键 thirdParty.bfi.invoiceReceipt.invoiceTypes 2026-10-08 10:59:09 +08:00
刘泉佳 cefe001c19 fix: 全票池同步切片续扫+有变化才写——单查询窗口2.5万硬上限触顶自动二分时间片递归(根治窗口尾部永久漏同步),镜像upsert轻量比对(流水号/价税合计/税额/可用金额/使用状态)无变化跳过重写消整窗无效写 2026-10-08 10:54:54 +08:00
刘泉佳 a1348fd381 feat: 全票池同步补绑定回填步骤(39ffac1口径瘦身版)——同页票号批量定位未绑定存量登记补绑+页级事务批量落库+同步流水,绑定关系无变化的已绑定登记零写入(新架构登记无金蝶流水号/状态字段,不做状态跟随刷新) 2026-10-08 09:50:25 +08:00
刘泉佳 eb1edd3bbe docs: 金蝶票池选票回切镜像读终态口径文档,09-22实时版加退役声明 2026-10-05 17:54:03 +08:00
刘泉佳 d3f549bf42 feat: 金蝶票池选票回切镜像读(本地真分页+票号未命中回源+瘦身版全票池定时同步+结算认领确认重查闸门,下线实时游标透传)
- 选票两门面端点改查 blade_kingdee_invoice_pool 本地镜像:Mapper.xml 真分页+total 跳页,
  名称模糊/票种(invoice_type_code)/双税号/claimed/registered 三态过滤 SQL 直出,
  仅出可用票(available_amount>0 且 amount_use_status='0',本地化执行原 isUsablePoolRow 口径)
- 票号精确查本地未命中→窄查一次 A801-1 回源入库后重查,兜底增量窗口缝隙内当日新票
- 瘦身版同步任务回归:增量窗口分页拉取+镜像全列批量 upsert(无绑定/补偿/白名单/指纹),
  复用 KingdeeSyncLockSupport single-flight;手动端点 POST /invoice-receipt/sync-invoice-pool 供 bootstrap
- 镜像实体/表新增 available_amount/amount_use_status,fillInvoicePool 统一回填(存根/回源/同步同口径)
- 结算认领确认补齐服务端按票号重查闸门(与收票保存 persistMirrorFromRemote 同闸门),收票保存重查原样保留
- 删除 KingdeeInvoicePoolPageVO 游标分页契约与 PoolScanCursor/decorateUseFlags 等实时链路代码
2026-10-05 17:52:32 +08:00
刘泉佳 0dc6c9457a chore: 金蝶票池镜像读回切SQL(可用过滤两列+认领索引幂等脚本)与全票池同步Nacos配置键 2026-10-05 17:51:54 +08:00
刘泉佳 aa8526fbd4 fix: 附件下载对齐金蝶契约——A801-1 pdfurl 优先取 PDF 版式走 A801-2 2026-10-05 16:24:00 +08:00
刘泉佳 927e5a8139 fix: 金蝶PDF版式文件响应强制application/pdf,修复查看时blob不渲染退化为静默下载 2026-10-05 16:17:00 +08:00
刘泉佳 1d37596c2d fix: 票池附件优先取PDF版式(taxPdfUrl)并按实际格式命名,修复OFD文件被当.pdf预览/下载失败 2026-10-05 16:00:17 +08:00
刘泉佳 08d9a87e29 feat: A303-1 开票申请推送特殊票种映射(运费票送E04、其余送00非特殊票种),hsbz统一按不含税口径送0(金蝶联调反馈) 2026-10-02 00:17:32 +08:00
刘泉佳 048bcaf8ad feat: 客商提审接入国资委黑名单校验(A801-5)
- submitApproval 前置实时查询金蝶黑名单(enable=1),按统一社会信用代码大写精确匹配
- 禁止交易类(A)硬拦截报错并提示失信类别与列入事由;风险警示类(B)默认放行告警,thirdparty.bfi.blacklist.blockRiskWarning=true 时一并拦截
- 黑名单查询异常不阻断准入,记 error 日志放行(金蝶可用性口径待联调确认)
2026-10-01 23:47:49 +08:00