feat(bpm): add admin cancel process instance functionality

- Added admin-cancel endpoint in BpmProcessInstanceController
- Implemented adminCancelProcessInstance method in service layer
- Added permission check for admin cancel operation
- Handled both active and historic process instance cancellation
- Updated bill approval status after cancellation
- Added corresponding service method declaration in interface
This commit is contained in:
2025-11-17 10:30:19 +08:00
parent 28037792cf
commit ba19342fa9
3 changed files with 500 additions and 1 deletions

View File

@@ -84,4 +84,12 @@ public class BpmProcessInstanceController extends BaseController {
return success(true); return success(true);
} }
@DeleteMapping("/admin-cancel")
@Operation(tags = "流程管理", summary = "管理员取消流程实例", description = "管理员强制取消任意流程实例")
@PreAuthorize("@ss.hasPermission('bpm:process-instance:admin-cancel')")
public CommonResult<Boolean> adminCancelProcessInstance(@Valid @RequestBody BpmProcessInstanceCancelReqVO cancelReqVO) {
processInstanceService.adminCancelProcessInstance(getLoginUserId(), cancelReqVO);
return success(true);
}
} }

View File

@@ -111,6 +111,14 @@ public interface IBpmProcessInstanceService {
*/ */
void cancelProcessInstance(Long userId, @Valid BpmProcessInstanceCancelReqVO cancelReqVO); void cancelProcessInstance(Long userId, @Valid BpmProcessInstanceCancelReqVO cancelReqVO);
/**
* 管理员取消流程实例
*
* @param adminUserId 管理员用户编号
* @param cancelReqVO 取消信息
*/
void adminCancelProcessInstance(Long adminUserId, @Valid BpmProcessInstanceCancelReqVO cancelReqVO);
/** /**
* 获得历史的流程实例 * 获得历史的流程实例
* *