冀北干扰源常态化管理接口

This commit is contained in:
cdf
2024-05-21 08:47:36 +08:00
parent f03fc1d1cf
commit ed1241a192
14 changed files with 537 additions and 3 deletions

View File

@@ -146,4 +146,11 @@ public interface IBpmProcessInstanceService {
*/
void updateProcessInstanceReject(String id, String reason);
/**
* 用于测试过程删除流程,正式环境慎用
* @author cdf
* @date 2024/5/20
*/
void delete(String id, String reason);
}

View File

@@ -316,8 +316,35 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceStatusEvent(this, processInstance, BpmProcessInstanceStatusEnum.REJECT.getStatus()));
}
private void deleteProcessInstance(String id, String reason) {
public void deleteProcessInstance(String id, String reason) {
runtimeService.deleteProcessInstance(id, reason);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String instanceId, String deleteReason) {
// 查询历史数据
HistoricProcessInstance historicProcessInstance = getHistoricProcessInstanceById(instanceId);
if (historicProcessInstance.getEndTime() != null) {
historyService.deleteHistoricProcessInstance(historicProcessInstance.getId());
return;
}
// 删除流程实例
runtimeService.deleteProcessInstance(instanceId, deleteReason);
// 删除历史流程实例
historyService.deleteHistoricProcessInstance(instanceId);
}
public HistoricProcessInstance getHistoricProcessInstanceById(String processInstanceId) {
HistoricProcessInstance historicProcessInstance =
historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
if (Objects.isNull(historicProcessInstance)) {
throw new BusinessException("流程实例不存在: " + processInstanceId);
}
return historicProcessInstance;
}
}