From 0e0a073ebc5756ce9e09bc2f01e8c2cf2ac39782 Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Fri, 5 Dec 2025 14:09:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E4=BF=AE=E6=94=B9=E7=AE=B1?= =?UTF-8?q?=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ecss/service/impl/CoDelServiceImpl.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java index 351b29db..13d55ce9 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java @@ -4631,7 +4631,32 @@ public class CoDelServiceImpl implements CoDelService { } log.info("=== 批量修改装箱信息完成 === Box: {}, 明细: {}", boxChanges.size(), detailChanges.size()); + if (isCustomsCleared) { + log.info("装箱数据删除:发货通知单{}状态为已报关,开始删除对应的报关单", delNo); + + // 查找对应的报关单 + EcssDeclarationHeaderData declarationQuery = new EcssDeclarationHeaderData(); + declarationQuery.setSite(site); + declarationQuery.setDelNo(delNo); + List deletedDeclarations = coDelMapper.searchDeclarationHeader( + new Page(1, 1000), declarationQuery).getRecords(); + + // 删除找到的报关单 + for (EcssDeclarationHeaderData declaration : deletedDeclarations) { + log.info("删除报关单,报关单号:{}", declaration.getDeclarationNo()); + coDelMapper.deleteDeclarationHeader(declaration); + coDelMapper.deleteDeclarationDetail(declaration); + } + + log.info("已删除发货通知单{}对应的{}个报关单", delNo, deletedDeclarations.size()); + + // 将通知单状态更新为仓库已确认 + notifyHeader.setNotifyStatus("仓库已确认"); + coDelMapper.changeEcssDelStatus(notifyHeader); + + log.info("发货通知单{}状态已更新为仓库已确认", delNo); + } // 3. 如果状态为已报关,发送邮件通知 if (isCustomsCleared && (!boxChanges.isEmpty() || !detailChanges.isEmpty())) { sendBatchUpdateNotificationEmail(notifyHeader, boxChanges, detailChanges, updateBy);