From 2a0c2cd9c9bac598987ebc96ea031d166cd81617 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Fri, 16 Oct 2026 19:59:01 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=BB=93=E7=AE=97=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=8D=95=E6=8E=A8=E9=80=81=E9=87=91=E8=9D=B6=E4=B8=8E?= =?UTF-8?q?=E9=87=8D=E6=96=B0=E6=8E=A8=E9=80=81=E5=90=88=E5=B9=B6=E4=B8=BA?= =?UTF-8?q?=E5=8D=95=E4=B8=80=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...算调整单接入金蝶设计(未推送自动推-已推送冲销后重推新单).md | 6 +++--- .../blade_settlement_adjustment_kingdee_20261016.sql | 7 ++----- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/doc/docs/业务流程/2026-10-16-结算调整单接入金蝶设计(未推送自动推-已推送冲销后重推新单).md b/doc/docs/业务流程/2026-10-16-结算调整单接入金蝶设计(未推送自动推-已推送冲销后重推新单).md index d671f903..a33bdcc2 100644 --- a/doc/docs/业务流程/2026-10-16-结算调整单接入金蝶设计(未推送自动推-已推送冲销后重推新单).md +++ b/doc/docs/业务流程/2026-10-16-结算调整单接入金蝶设计(未推送自动推-已推送冲销后重推新单).md @@ -228,7 +228,7 @@ ALTER TABLE blade_formal_settlement ADD COLUMN origin_formal_settlement_no VARCH ALTER TABLE blade_formal_settlement ADD COLUMN adjust_status VARCHAR(32) NULL COMMENT '调整状态:adjusted=已被结算调整'; ``` -同时生成新增按钮(「推送金蝶」「重新推送」)的菜单插入 SQL。 +推送金蝶与重新推送合并为**单一按钮**(按金蝶状态分流),复用既有「重新推送」菜单,无需新增菜单 SQL。 ## 11. 改动清单(文件级) @@ -243,7 +243,7 @@ ALTER TABLE blade_formal_settlement ADD COLUMN adjust_status VARCHAR(32) NULL CO | 7 | `FormalSettlementServiceImpl`(或新 support) | 新增 `cloneFormalSettlement(...)`(含重建 `FormalSettlementSource`) | | 8 | `FormalSettlementServiceImpl` / `KingdeeApBillSyncSupport` | 冲销查询(A102-4/A302-4 读 `hadwrittenoff`)封装 | | 9 | `FormalSettlementWrapper` / 列表 Mapper | 回填 `adjustStatus` / `originFormalSettlementNo` | -| 10 | 前端 `settlement-adjustment.vue`、`settlementAdjustment.js` | 金蝶状态/单号列、「推送金蝶」「重新推送」按钮(重推前冲销预检);选单后调预检接口并展示软提示 | +| 10 | 前端 `settlement-adjustment.vue`、`settlementAdjustment.js` | 金蝶状态/单号列、「推送金蝶 / 重新推送」合并按钮(未同步→推原单;已同步→冲销后重推新单,重推前冲销预检);选单后调预检接口并展示软提示 | | 11 | 前端 `formal-settlement.vue` / `formal-settlement-table-panel.vue` / 详情 | 「调整后单 / 已调整」标识、查看弹窗补重推入口 | | 12 | `doc/sql/...` | DDL + 菜单 SQL | | 13 | `SettlementAdjustmentServiceImpl` + `SettlementAdjustmentController` | 新增选单预检接口(返回 未推送 / 已推送已冲销 / 已推送未冲销;金蝶异常降级返回未校验) | @@ -285,6 +285,6 @@ ALTER TABLE blade_formal_settlement ADD COLUMN adjust_status VARCHAR(32) NULL CO 2. **重推为「非事务编排 + 段内事务」**:`repush` 依次执行 —— 冲销硬闸门(旧键查 A102-4/A302-4,`hadwrittenoff=true`)→ 自代理事务 `cloneAndApplyForRepush`(克隆新单 + 应用调整,原子)→ `syncKingdee(新单)` 推送 → 成功后调整单改挂新单 + 原单标记「已调整」+ 旧锁解锁。推送失败**不回滚已克隆新单**,重试按 `origin_formal_settlement_no = 调整单当前关联单号` 幂等复用,从推送步骤续上(§8.8、§9.5)。 3. **改挂时机**:调整单改挂新单在**推送成功之后**,故成功后再点重推会被冲销闸门拦截(无副作用);如需彻底隐藏,前端按「关联单是否克隆单」判断。 4. **新单不克隆发票**:遵循决策 A「下游关联不迁移」,新单 `invoiceStatus=unreceived`、`paymentStatus=unpaid`,`invoiceAmount/paidAmount/appliedPaymentAmount` 归零,发票不复制。 -5. **菜单**:新增按钮 `settlement_adjustment_sync`(推送金蝶);`settlement_adjustment_repush`(重新推送)复用既有菜单,不重复插入。 +5. **按钮与菜单**:「推送金蝶」与「重新推送」合并为**单一入口**(按金蝶状态分流:未同步/失败→推原结算单;已同步→冲销后重推新单),统一复用既有菜单 `settlement_adjustment_repush`,不新增菜单。 6. **待实测**:A102-4/A302-4 的 `hadwrittenoff` 实际回传(§13.1);克隆新单对 `PreSettlement` 占用的影响(§13.2)。 diff --git a/doc/sql/transport/blade_settlement_adjustment_kingdee_20261016.sql b/doc/sql/transport/blade_settlement_adjustment_kingdee_20261016.sql index 8e0df4e9..67f5cc02 100644 --- a/doc/sql/transport/blade_settlement_adjustment_kingdee_20261016.sql +++ b/doc/sql/transport/blade_settlement_adjustment_kingdee_20261016.sql @@ -57,8 +57,5 @@ PREPARE ddl_stmt FROM @ddl_sql; EXECUTE ddl_stmt; DEALLOCATE PREPARE ddl_stmt; --- 新增按钮菜单:推送金蝶(未推送/生成失败场景手动推送关联正式结算单) --- 重新推送(settlement_adjustment_repush)菜单已在 blade_settlement_adjustment_20260818.sql 初始化,此处不重复插入 -INSERT INTO `blade_menu` (`id`,`parent_id`,`code`,`name`,`alias`,`path`,`source`,`sort`,`category`,`action`,`is_open`,`component`,`remark`,`is_deleted`) VALUES -(2090000000000001068,2090000000000001060,'settlement_adjustment_sync','推送金蝶','settlement_adjustment_sync','','',8,2,0,1,NULL,'',0) -ON DUPLICATE KEY UPDATE `name`=VALUES(`name`),`path`=VALUES(`path`),`is_deleted`=0; +-- 推送金蝶 / 重新推送已合并为单一按钮(按金蝶状态自动分流),复用既有菜单 settlement_adjustment_repush, +-- 菜单已在 blade_settlement_adjustment_20260818.sql 初始化,本脚本无需新增菜单。