package jnpf.cultivate.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jnpf.model.cultivate.po.promotion.FtbCultivatePromotionPost;
import jnpf.model.cultivate.vo.promotion.FtbCultivatePromotionPostVO;
import jnpf.model.cultivate.vo.promotion.FtbCultivatePromotionVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface FtbCultivatePromotionPostMapper extends BaseMapper<FtbCultivatePromotionPost> {
    /**
     * 查询同一岗位的其他任职信息
     *
     * 本方法用于查询与当前任职信息相同岗位但不同的任职信息，以便于比较和分析
     * 同一岗位的不同任职路径和条件
     *
     * @param postId 当前任职信息的岗位ID
     * @param promotionVOId 当前任职信息的ID，用于排除自身
     * @return 返回一个列表，包含所有与当前岗位相同但ID不同的任职信息
     */
    List<FtbCultivatePromotionVO> queryPromonChanOfTheSamePosition(
            @Param("postId") String postId,
            @Param("promotionVOId") String promotionVOId);


    /**
     * 查询个人下一次晋职信息
     *
     * 通过个人ID和当前岗位ID，查询个人下一次可能的晋职信息
     * 这包括了下一次晋职所需的条件、路径等详细信息
     *
     * @param postId 当前任职信息的岗位ID
     * @param userId 个人用户ID
     * @return 返回个人下一次晋职信息的详细对象，包括所有相关条件和路径
     */
    FtbCultivatePromotionPostVO findOutAboutTheNextPromotion(@Param("postId") String postId,
                                                            @Param("userId") String userId);
}