package com.casic.missiles.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.dto.BaseQueryForm; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; import java.util.List; public interface ICommonApprovalService<T extends CommonApproval,Q extends BaseQueryForm> extends IService<T> { void removeApproval(Long approvalId); ReturnDTO submitApproval(ApprovalSubmitRequest submitRequest); ReturnDTO cancelApproval(ApprovalRevokeRequest revokeRequest); ReturnDTO agreeApproval(BaseApprovalRequest agreeRequest); ReturnDTO refuseApproval(BaseApprovalRequest refuseRequest); void finishApproval(Long approvalId); Page<T> listPage(Page<T> page, Q queryForm); Page<T> toApprovalListPage(Page<T> page, Q queryForm); List<T> toApprovalList(String formId); Page<T> approvedListPage(Page<T> page, Q queryForm); List<T> approvedList(String formId); Page<T> allPage(Page<T> page, Q queryForm); List<T> allExport(Q queryForm); QueryWrapper<T> commonQuery(Q queryForm); T warpper(T obj); void setBizNo(T obj); List<T> approveAllList(String formId); }