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);