package jnpf.model.cultivate.vo.position;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * @author fantaibao
 * @date 2024/03/22
 */
@Data
public class FtbCultivatePersonStatisticesVO {

    @JsonIgnore
    @JSONField(serialize = false)
    private String postLearnId;

    /**
     * 岗位主键id
     */
    private String positionId;
    /**
     * 组织主键id
     */
    private List<String> orgIds;
    /**
     * 岗位名称
     */
    private String positionTitle;
    /**
     * 岗位ID(页面显示)
     */
    private String positionCustomId;
    /**
     * 所属组织
     */
    private List<String> organization;
    /**
     * 组织ID(页面显示)
     */
    private List<String> organizationCustomId;
    /**
     * 岗位人数
     */
    private Integer numberOfPositions;
    /**
     * 岗位学习人数
     */
    private Integer numberOfPeopleStudyingOnTheJob;
    /**
     * 学习时长（h）
     */
    private BigDecimal studyDuration;
    /**
     * 岗位学习完课率（%）
     */
    private BigDecimal courseCompletionRate = BigDecimal.ZERO;
    /**
     * 人均学习时长（h）
     */
    private BigDecimal averageStudyTimePerPerson;
    /**
     * 已学习课程数
     */
    private Integer numberOfCoursesTaken;
    /**
     * 岗位学习课程总数
     */
    private Integer totalNumberOfOnTheJobLearningCourses;
    /**
     * 岗位学习考试合格率（%)
     */
    private BigDecimal averageStudyHoursPerSubordinate;
    /**
     * 参与学习人员，用于点击之后跳转代入到个人维度中
     */
    private List<String> participantsInTheStudy = new ArrayList<>();

    @Data
    public static class PassedTheExam {
        /**
         * 岗位主键id
         */
        private String positionId;
        /**
         * 岗位学习考试合格率（%)
         */
        private BigDecimal averageStudyHoursPerSubordinate;
    }

    @Data
    public static class NumberOfCoursesTaken {
        /**
         * 岗位主键id
         */
        private String positionId;
        /**
         * 已学习课程数
         */
        private Integer numberOfCoursesTaken;
    }

    @Data
    public static class TotalNumberOfOnTheJobLearningCourses {
        /**
         * 岗位主键id
         */
        private String positionId;
        /**
         * 岗位学习课程总数
         */
        private Integer totalNumberOfOnTheJobLearningCourses;
    }


}
