package jnpf.cultivate.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jnpf.base.vo.PageListVO;
import jnpf.model.cultivate.CultivatePage;
import jnpf.model.cultivate.dto.position.app.FtbCultivatePositionForAppNewDTO;
import jnpf.model.cultivate.vo.identify.IdentifyApplyInfoApiVo;
import jnpf.model.cultivate.vo.position.app.FtbPopUpPromptVO;
import jnpf.model.cultivate.vo.position.app.FtbSubordinateLearningCoursesVO;
import jnpf.model.cultivate.vo.position.app.OnTheJobLearningCourseVO;

/**
 * @Title:FtbCultivatePositionForAppService
 * @Author:peng.hao
 * @create: 2023/12/2717:35
 */
public interface FtbCultivatePositionForAppService {
    /**
     * 查询app岗位学习本岗课程
     *
     * @param dto 本岗课程参数
     * @return 本岗课程信息
     */
    OnTheJobLearningCourseVO onTheJobLearningCourse(FtbCultivatePositionForAppNewDTO dto);

    /**
     * 花名册查看学习课程
     */
    Page<FtbSubordinateLearningCoursesVO> subordinateLearningCourses(FtbCultivatePositionForAppNewDTO dto, Page<FtbSubordinateLearningCoursesVO> result);

    /**
     * 花名册查看鉴定信息
     */
    PageListVO<IdentifyApplyInfoApiVo> queryIdentityTrainDataDetail(FtbCultivatePositionForAppNewDTO dto, CultivatePage page);

    /**
     * 岗位学习-下属实操鉴定
     */
    PageListVO<IdentifyApplyInfoApiVo> subordinatePracticalAppraisal(FtbCultivatePositionForAppNewDTO dto,
                                                               CultivatePage result);

    /**
     * 岗位学习-下属学习课程
     */
    Page<FtbSubordinateLearningCoursesVO> subordinateLearningCoursess(FtbCultivatePositionForAppNewDTO dto, Page<FtbSubordinateLearningCoursesVO> result);

    /**
     * 弹出提示
     * @param userId 用户id
     * @param positionId 岗位id
     * @return 弹出提示信息
     */
    FtbPopUpPromptVO popUpPrompt(String userId, String positionId);

}
