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) { diff --git a/web/src/main/resources/application-dev.yml b/web/src/main/resources/application-dev.yml index 155f1d2..40e9bfb 100644 --- a/web/src/main/resources/application-dev.yml +++ b/web/src/main/resources/application-dev.yml @@ -14,7 +14,7 @@ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://39.99.201.243:3306/test01?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://39.99.201.243:3306/znpt_dev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: BUw8YW6%@^8q druid: