diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceReceiptServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceReceiptServiceImpl.java index 8ebc06de..017b1ac8 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceReceiptServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceReceiptServiceImpl.java @@ -70,6 +70,7 @@ import org.springblade.transport.mapper.KingdeeInvoicePoolMapper; import org.springblade.transport.pojo.dto.InvoiceReceiptSaveRequest; import org.springblade.transport.pojo.dto.InvoiceReceiptStatusRequest; import org.springblade.transport.pojo.dto.KingdeeInvoicePoolQueryDTO; +import org.springblade.transport.pojo.entity.ContractManage; import org.springblade.transport.pojo.entity.CustomerArchive; import org.springblade.transport.pojo.entity.CustomerContact; import org.springblade.transport.pojo.entity.CustomerInvoiceInfo; @@ -691,7 +692,8 @@ public class InvoiceReceiptServiceImpl extends BaseServiceImpl entryGroups = + kingdeeApBillSyncSupport.resolveEntryGroups(plan.details(), context); KingdeeReceivedInvoiceSyncSupport.ReceivedInvoicePushOutcome pushOutcome = - kingdeeReceivedInvoiceSyncSupport.pushReceivedInvoice(receipt, plan.mirror(), context); + kingdeeReceivedInvoiceSyncSupport.pushReceivedInvoice(receipt, plan.mirror(), contract, entryGroups, context); billNo = pushOutcome.billNo(); billPkId = pushOutcome.billId(); log.info("收票登记[{}]A303-2 推送成功:金蝶收票单[{}],星瀚内码={}", receipt.getInvoiceNo(), billNo, billPkId); @@ -814,23 +820,23 @@ public class InvoiceReceiptServiceImpl extends BaseServiceImpl mirrorById) { String pushStatus = Func.toStrWithEmpty(receipt.getKingdeePushStatus(), KingdeeBfiConstant.RECEIVED_PUSH_UNSYNCED); if (!TransportBusiConstant.APPROVED.equals(receipt.getApprovalStatus())) { - return new ReceivedInvoicePushPlan(receipt, null, "仅审批通过的收票登记允许推送金蝶"); + return new ReceivedInvoicePushPlan(receipt, null, null, null, null, "仅审批通过的收票登记允许推送金蝶"); } if (KingdeeBfiConstant.RECEIVED_PUSH_ASSIGNED.equals(pushStatus)) { - return new ReceivedInvoicePushPlan(receipt, null, "收票单已指定应付,无需重复推送"); + return new ReceivedInvoicePushPlan(receipt, null, null, null, null, "收票单已指定应付,无需重复推送"); } KingdeeInvoicePool mirror = receipt.getKingdeeInvoicePoolId() == null ? null : mirrorById.get(receipt.getKingdeeInvoicePoolId()); if (mirror == null) { - return new ReceivedInvoicePushPlan(receipt, null, "收票登记未绑定票池镜像,请先完成同步绑定"); + return new ReceivedInvoicePushPlan(receipt, null, null, null, null, "收票登记未绑定票池镜像,请先完成同步绑定"); } if ("2".equals(mirror.getCheckStatus())) { - return new ReceivedInvoicePushPlan(receipt, mirror, "金蝶发票查验不通过,请先人工核实票池发票"); + return new ReceivedInvoicePushPlan(receipt, mirror, null, null, null, "金蝶发票查验不通过,请先人工核实票池发票"); } if (receipt.getDeptId() == null) { - return new ReceivedInvoicePushPlan(receipt, mirror, "收票登记未选择结算组织,无法确定金蝶结算组织编码"); + return new ReceivedInvoicePushPlan(receipt, mirror, null, null, null, "收票登记未选择结算组织,无法确定金蝶结算组织编码"); } - return new ReceivedInvoicePushPlan(receipt, mirror, null); + return new ReceivedInvoicePushPlan(receipt, mirror, null, null, null, null); } /** A801-3 幂等预检批量查询:未终态计划按购方单位分组,窗口内翻页匹配防重键 */ @@ -897,14 +903,17 @@ public class InvoiceReceiptServiceImpl extends BaseServiceImpl details, String apBillSrcCode, String blockedReason) { } // ==================== 先票后款:发票明细查询 / 认领候选 / 结算侧关系同步与指定应付 ==================== diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeReceivedInvoiceSyncSupport.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeReceivedInvoiceSyncSupport.java index a4313cc8..7208829f 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeReceivedInvoiceSyncSupport.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeReceivedInvoiceSyncSupport.java @@ -44,6 +44,7 @@ import org.springblade.thirdparty.bfi.service.IBfiService; import org.springblade.thirdparty.bfi.util.BfiUtil; import org.springblade.transport.config.BfiProperties; import org.springblade.transport.constant.KingdeeBfiConstant; +import org.springblade.transport.pojo.entity.ContractManage; import org.springblade.transport.pojo.entity.InvoiceReceipt; import org.springblade.transport.pojo.entity.KingdeeInvoicePool; import org.springblade.transport.service.KingdeeSyncContext;