/*
 * Copyright (c) 2023 codvision.com All Rights Reserved.
 */

package com.codvision.workflow.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.codvision.webcore.bean.QueryPage;
import com.codvision.workflow.entity.WorkFlowDelayRecord;
import com.codvision.workflow.entity.dto.WorkFlowDelayDTO;

import java.util.Map;

/**
 * @author hxl
 */
public interface WorkFlowDelayRecordService extends IService<WorkFlowDelayRecord> {


    /**
     * 分页列表
     * @param queryPage 查询条件
     * @return 列表
     */
    IPage<WorkFlowDelayRecord> getPageResult(QueryPage<Map<String, Object>> queryPage);

    /**
     * 我的延期申请记录
     * @param queryPage 查询条件
     * @return 列表
     */
    IPage<WorkFlowDelayRecord> myDelayRecords(QueryPage<Map<String, Object>> queryPage);

    /**
     * 添加延期申请
     * @param workFlowDelayDTO 参数
     */
    void add(WorkFlowDelayDTO workFlowDelayDTO);

    /**
     * 延期申请审核
     * @param id 申请ID
     * @param status 审核状态
     * @param comment 审核意见
     */
    void audit(Integer id, Integer status, String comment);
}
