package com.casic.missiles.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.GeneralApprovalDTO; import com.casic.missiles.dto.*; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import java.util.List; /** * @Description: 通用审批处理Service * @Author: wangpeng * @Date: 2023/8/15 9:50 */ public interface IGeneralApprovalService<O extends GeneralApprovalDTO, T extends GeneralApprovalDTO, R extends BaseApprovalListRequest, S extends BaseApprovalSubmitRequest> extends IService<T> { Page<O> listPage(Page<O> page, R queryRequest) throws Exception; ReturnDTO draftUpdate(T request); ReturnDTO draftDelete(Long id); ReturnDTO draftBatchDelete(List<Long> ids); ReturnDTO submit(S submitRequest); ReturnDTO approvalRefuse(BaseApprovalRefuseRequest request); ReturnDTO approvalRevoke(BaseApprovalRevokeRequest request); ReturnDTO approvalDelete(ApprovalDeleteRequest request); ReturnDTO failUpdate(T request); List<O> listExport(R request); List<O> listExportByIds(List<Long> ids); }