package com.gk.hotwork.specialWork.service; import com.gk.hotwork.Domain.Vo.SearchResultVO; import com.gk.hotwork.Domain.co.ContextCacheUser; import com.gk.hotwork.Domain.Vo.PageQuery; import com.gk.hotwork.Domain.Vo.ResultVO; import com.gk.hotwork.specialWork.model.dto.req.ApprovalItemAbordDataReqDTO; import com.gk.hotwork.specialWork.model.dto.req.ApprovalItemDataReqDTO; import com.gk.hotwork.specialWork.model.dto.req.WorkApplyEight; import com.gk.hotwork.specialWork.model.dto.req.WorkApplyReqDTO; import com.gk.hotwork.specialWork.model.dto.resp.*; import com.gk.hotwork.specialWork.model.query.AllWorkApplyPageQuery; import com.gk.hotwork.specialWork.model.query.WorkApplyApplyingPageQuery; import com.gk.hotwork.specialWork.model.query.WorkApplyPendingPageQuery; import javax.servlet.http.HttpServletResponse; import java.util.List; public interface WorkApplyService { /** * @Description: 作业申请 */ void workApply(ContextCacheUser currentUser, WorkApplyReqDTO applyReqDTO); /** * @Description: 取消申请 */ void cancelWorkApply(ContextCacheUser currentUser, Long workApplyId); /** * @Description: 申请中作业分页 */ ResultVO> listApplyingWorkApplyByPage(ContextCacheUser currentUser, PageQuery pageQuery); /** * @Description: 待审批的作业分页 */ ResultVO> listPendingWorkApplyByPage(ContextCacheUser currentUser, PageQuery pageQuery); /** * @Description: 获取已经审批的进度(申请人) */ ApplicantWorkApprovedApplyDetailRespDTO getApprovedApplyDetailForApplicant(ContextCacheUser currentUser, Long workApplyId); /** * @Description: 获取已经审批的进度(审批人) */ ApproverWorkApprovedApplyDetailRespDTO getApprovedApplyDetailForApprover(ContextCacheUser currentUser, Long workApplyId); /** * @Description: 获取作业当前待审批的内容(审批人) */ ApproverWorkPendingApprovalDataRespDTO getPendingApprovalData(ContextCacheUser currentUser, Long workApplyId); /** * @Description: 审批接口 */ void approveItem(ContextCacheUser currentUser, ApprovalItemDataReqDTO approvalItemData); /** * @Description: 终止 */ void abordItem(ContextCacheUser currentUser, ApprovalItemAbordDataReqDTO abordDataReqDTO); /** * @Description: 所有作业申请查询 */ SearchResultVO> listAllWorkApply(ContextCacheUser currentUser, PageQuery pageQuery); /** * @Description: 给其他人查看的作业情况 */ OthersWorkApprovedApplyDetailRespDTO getWorkApplyDetailForOthers(ContextCacheUser currentUser, Long workApplyId); /** * 打印 * @param currentUser */ void printing(ContextCacheUser currentUser, Long applyWorkId, HttpServletResponse response); }