$options */ public function afterSave(Entity $entity, array $options): void { if (!empty($options['skipStopProcess'])) { return; } if ($entity->isNew()) { return; } if (!$entity->isAttributeChanged('status')) { return; } if ($entity->getStatus() !== BpmnProcess::STATUS_STOPPED) { return; } $manager = $this->injectableFactory->create(BpmnManager::class); $manager->stopProcess($entity); $subProcessList = $this->entityManager ->getRDBRepositoryByClass(BpmnProcess::class) ->where(['parentProcessId' => $entity->getId()]) ->find(); foreach ($subProcessList as $e) { $manager->stopProcess($e); } } }