package jnpf.cultivate.service;

import jnpf.base.vo.PageListVO;
import jnpf.model.cultivate.CultivatePage;
import jnpf.model.cultivate.dto.position.FtbCultivatePositionOrgStatisticesDTO;
import jnpf.model.cultivate.vo.position.FtbCultivatePositionAssessmentOrgStatisticVO;
import jnpf.model.cultivate.vo.position.web.FtbCultivatePositionAssessmentVO;

/**
 * @Author: peng.hao
 * @create: 2024/7/22:16:00
 */
public interface FtbCultivatePositionAssessmentService  {
    /**
     * 组织机构列表统计方法
     *
     * @param statisticDTO 统计参数对象，包含需要进行统计的组织机构信息
     * @return 返回一个分页数据对象，其中包含该组织机构下的培养职位评估统计数据
     *
     * 方法用途：
     * - 用于对特定组织机构下的所有培养职位评估数据进行统计
     * - 通过传入的统计参数对象来过滤和计算相关数据
     */
    PageListVO<FtbCultivatePositionAssessmentOrgStatisticVO> organizationListStatistics(FtbCultivatePositionOrgStatisticesDTO statisticDTO);

    /**
     * 职位评估列表方法
     *
     * @param orgId 组织机构ID，用于筛选特定组织下的职位评估数据
     * @param positionId 职位ID，用于筛选特定职位的评估数据
     * @param page 分页对象，包含分页查询的相关参数
     * @return 返回一个分页数据对象，其中包含按组织机构和职位筛选的培养职位评估数据
     *
     * 方法用途：
     * - 用于获取特定组织机构和职位下的培养职位评估列表
     * - 支持分页查询，便于处理大量数据时的高效检索
     */
    FtbCultivatePositionAssessmentVO jobAssessmentList(String orgId, String positionId, CultivatePage page);
}
