Compare commits

..

1 Commits

1 changed files with 36 additions and 0 deletions

View File

@ -262,6 +262,15 @@ public class EquipmentApprovalServiceImpl implements EquipmentApprovalService {
// 保存到数据库 // 保存到数据库
equipmentApprovalMapper.insert(entity); equipmentApprovalMapper.insert(entity);
// 更新设备采购状态 - 新增逻辑
try {
updateEquipmentProcurementStatus(req.getEquipmentId(), "PENDING_APPROVAL");
log.info("设备采购状态更新成功设备ID: {}", req.getEquipmentId());
} catch (Exception e) {
log.error("设备采购状态更新失败设备ID: {}", req.getEquipmentId(), e);
// 不抛出异常避免影响审批流程
}
// 发送通知 - 使用日志记录后续可以扩展为WebSocket通知 // 发送通知 - 使用日志记录后续可以扩展为WebSocket通知
log.info("采购申请提交成功,设备名称: {}, 申请人: {}", log.info("采购申请提交成功,设备名称: {}, 申请人: {}",
req.getEquipmentName(), getCurrentUserName()); req.getEquipmentName(), getCurrentUserName());
@ -279,6 +288,33 @@ public class EquipmentApprovalServiceImpl implements EquipmentApprovalService {
log.info("采购申请提交成功审批ID: {}", entity.getApprovalId()); 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 @Override
public IPage<EquipmentApprovalResp> getMyProcurementApplications(EquipmentApprovalListReq req) { public IPage<EquipmentApprovalResp> getMyProcurementApplications(EquipmentApprovalListReq req) {