package cn.iocoder.yudao.module.hrm.service.approval.listener; import cn.iocoder.yudao.module.bpm.api.event.BpmProcessInstanceStatusEvent; import cn.iocoder.yudao.module.bpm.api.event.BpmProcessInstanceStatusEventListener; import cn.iocoder.yudao.module.hrm.enums.HrmAuditStatusEnum; import cn.iocoder.yudao.module.hrm.service.approval.HrmOvertimeApplicationService; import cn.iocoder.yudao.module.hrm.util.HrmAuditStatusUtils; import jakarta.annotation.Resource; import org.springframework.stereotype.Component; @Component public class HrmOvertimeApplicationStatusListener extends BpmProcessInstanceStatusEventListener { @Resource private HrmOvertimeApplicationService service; @Override protected String getProcessDefinitionKey() { return HrmOvertimeApplicationService.BPM_PROCESS_DEFINITION_KEY; } @Override protected void onEvent(BpmProcessInstanceStatusEvent event) { Integer status = HrmAuditStatusUtils.convertBpmResultToAuditStatus(event.getStatus()); if (status == null) status = HrmAuditStatusEnum.PROCESS.getStatus(); service.updateAuditStatus(Long.valueOf(event.getBusinessKey()), status); } }