package cn.iocoder.yudao.module.system.api.bpm;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.api.bpm.vo.CheckInWaitApiPageReqVO;
import cn.iocoder.yudao.module.system.api.bpm.vo.CheckInWaitCreateReqVO;
import cn.iocoder.yudao.module.system.api.bpm.vo.CheckInWaitRecordRespVO;
import cn.iocoder.yudao.module.system.api.bpm.vo.CheckInWaitSupplementReqVO;
import com.alibaba.fastjson.JSONObject;

import java.util.List;

public interface BpmCheckInWaitApi {

    Long createCheckInWait(CheckInWaitCreateReqVO reqVO);

    Integer updateInfo(CheckInWaitSupplementReqVO reqVO);

    Integer updateFirstReviewInfo(CheckInWaitSupplementReqVO reqVO);
    Integer updateSecondReviewInfo(CheckInWaitSupplementReqVO reqVO);

    Integer updateCheckInWaitStatus(Long id, Integer status);

    Integer updateCheckInWaitStatusByBusinessId(Long businessId, Integer status);

    Integer updateThirdReviewInfo(CheckInWaitSupplementReqVO reqVO);

    Integer updateFourthReviewInfo(CheckInWaitSupplementReqVO reqVO);
    Integer updateFifthReviewInfo(CheckInWaitSupplementReqVO reqVO);

    Integer updateSixthReviewInfo(CheckInWaitSupplementReqVO reqVO);

    JSONObject selectById(Long id);


    PageResult<CheckInWaitRecordRespVO> getProcessInstanceCheckInWaitPage(CheckInWaitApiPageReqVO pageReqVO);
}
