package com.yida.data.school.smart.service;

import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yida.data.school.dto.smart.AddUploadFileStepDTO;
import com.yida.data.school.vo.smart.GuideStepColVO;

import java.util.List;

/**
 * 智慧迎新指南步骤表Service接口
 *
 * @author ZYJ
 * @date 2023-05-15 15:33:18
 */
public interface EduSmartWelcomeGuideStepService extends IService<EduSmartWelcomeGuideStep> {


    void addUploadFile(AddUploadFileStepDTO dto);

    /**
     * 查询人员步骤信息
     *
     * @param relationId 绑定关系id
     * @param guideId    指南id
     * @return java.util.List<com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep>
     * @author ZYJ
     * @date 2023/5/19 16:01
     */
    List<EduSmartWelcomeGuideStep> listStepInfo(Long relationId, Long guideId);

    /**
     * 查询花名册动态表头
     *
     * @param guideId 指南id
     * @return java.util.List<com.yida.data.school.vo.smart.GuideStepColVO>
     * @author ZYJ
     * @date 2023/5/23 16:15
     */
    List<GuideStepColVO> listGuideRosterTableCol(Long guideId);

    /**
     * 查询人员步骤详细信息(包括审核信息) 后台花名册详情页面使用
     *
     * @param rosterId 花名册id
     * @param guideId  指南id
     * @return java.util.List<com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep>
     * @author ZYJ
     * @date 2023/6/1 10:02
     */
    List<EduSmartWelcomeGuideStep> listStepDetailInfo(Long rosterId, Long guideId);

    /**
     * 查询人员步骤详细信息(包括审核信息) 职工扫码显示信息
     *
     * @param rosterId 花名册id
     * @param guideId  指南id
     * @param staffId  职工id
     * @return java.util.List<com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep>
     * @author ZYJ
     * @date 2023/6/5 13:45
     */
    List<EduSmartWelcomeGuideStep> listExamineStepInfo(Long rosterId, Long guideId, Long staffId);

    /**
     * 获取上一步需要审核的步骤
     */
    EduSmartWelcomeGuideStep premiseStep(Long stepId, EduSmartWelcomeGuideStep step);

}
