package digital.laboratory.platform.reagent.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import digital.laboratory.platform.common.mybatis.security.service.DLPUser;
import digital.laboratory.platform.reagent.dto.AuditAndApproveDTO;
import digital.laboratory.platform.reagent.dto.PeriodVerificationPlanDTO;
import digital.laboratory.platform.reagent.entity.CheckSchedule;
import digital.laboratory.platform.reagent.vo.CheckScheduleVO;

import java.util.List;

/**
 * 服务类
 *
 * @author Zhang Xiaolong created at  2023-04-10
 * @describe  服务类
 */
public interface CheckScheduleService extends IService<CheckSchedule> {

    CheckSchedule addPlan(List<PeriodVerificationPlanDTO> periodVerificationPlanDTOS, DLPUser dlpUser);

    CheckSchedule editPlan(List<PeriodVerificationPlanDTO> periodVerificationPlanDTOS);

    CheckSchedule commitPlan(List<PeriodVerificationPlanDTO> periodVerificationPlanDTOS, DLPUser dlpUser);

    CheckSchedule auditPlan(AuditAndApproveDTO auditAndApproveDTO, DLPUser dlpUser);

    IPage<CheckScheduleVO> getCheckScheduleVOPage (IPage<CheckSchedule> page, QueryWrapper<CheckSchedule> qw);

    CheckScheduleVO getCheckScheduleVO (String checkScheduleId);
}
