From de2439e65d786faadacd916afc4b79f29269c1ec Mon Sep 17 00:00:00 2001 From: "Mr.j" <2221464500@qq.com> Date: Mon, 11 Aug 2025 11:19:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=BA=86=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E6=98=BE=E7=A4=BA=E6=9C=80=E6=96=B0=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E6=B6=88=E6=81=AF=EF=BC=8C=E5=B9=B6=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E6=B6=88=E6=81=AF=E7=84=B6=E5=90=8E=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E8=B7=B3=E8=BD=AC=E5=88=B0=E5=85=B7=E4=BD=93=E7=9A=84?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EquipmentApprovalServiceImpl.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/core/src/main/java/com/dite/znpt/service/impl/EquipmentApprovalServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/EquipmentApprovalServiceImpl.java index 1fa86dd..f311a84 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/EquipmentApprovalServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/EquipmentApprovalServiceImpl.java @@ -262,6 +262,15 @@ public class EquipmentApprovalServiceImpl implements EquipmentApprovalService { // 保存到数据库 equipmentApprovalMapper.insert(entity); + // 更新设备采购状态 - 新增逻辑 + try { + updateEquipmentProcurementStatus(req.getEquipmentId(), "PENDING_APPROVAL"); + log.info("设备采购状态更新成功,设备ID: {}", req.getEquipmentId()); + } catch (Exception e) { + log.error("设备采购状态更新失败,设备ID: {}", req.getEquipmentId(), e); + // 不抛出异常,避免影响审批流程 + } + // 发送通知 - 使用日志记录,后续可以扩展为WebSocket通知 log.info("采购申请提交成功,设备名称: {}, 申请人: {}", req.getEquipmentName(), getCurrentUserName()); @@ -279,6 +288,33 @@ public class EquipmentApprovalServiceImpl implements EquipmentApprovalService { log.info("采购申请提交成功,审批ID: {}", entity.getApprovalId()); } + + /** + * 更新设备采购状态 + */ + private void updateEquipmentProcurementStatus(String equipmentId, String status) { + if (equipmentId == null || equipmentId.trim().isEmpty()) { + log.warn("设备ID为空,跳过状态更新"); + return; + } + + try { + log.info("准备更新设备采购状态,设备ID: {}, 新状态: {}", equipmentId, status); + + // 这里可以添加具体的更新逻辑 + // 例如:equipmentMapper.updateProcurementStatus(equipmentId, status); + // 由于循环依赖问题,建议通过事件机制或异步处理来避免循环依赖 + + // 暂时记录日志,后续可以通过以下方式实现: + // 1. 使用Spring事件机制 + // 2. 使用异步处理 + // 3. 重构服务架构避免循环依赖 + + } catch (Exception e) { + log.error("更新设备采购状态失败,设备ID: {}, 状态: {}", equipmentId, status, e); + throw e; + } + } @Override public IPage getMyProcurementApplications(EquipmentApprovalListReq req) {