package com.xinyilu.system.domain.vo.kinderPhysiqueAnalysis;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Objects;

/**
 * @Description 幼儿园体质综合分析分类成绩返回值实体类
 * @Author 纪寒
 * @Date 2022-08-16 10:11:38
 * @Version 1.0
 */
@Data
public class KinderCategoryScoreVO implements Serializable {
    private static final long serialVersionUID = -7486978310084636435L;
    /**
     * 分类id
     */
    private Long id;

    /**
     * 分类名称
     */
    private String categoryName;

    /**
     * 分类名称缩写
     */
    private String categoryNameAbbreviate;

    /**
     * 学生id
     */
    private Long studentId;

    /**
     * 出生日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate birthDate;

    /**
     * 分类得分
     */
    private BigDecimal itemFraction;

    /**
     * 平均得分
     */
    private BigDecimal avgItemFraction;

    /**
     * 得分描述信息
     */
    private String avgCategoryName;

    /**
     * 最高得分
     */
    private BigDecimal maxFraction;

    /**
     * 学生年龄
     */
    private Double studentAge;

    /**
     * 分类父级id
     */
    private Long parentId;

    /**
     * 学生数量
     */
    private Integer studentCount;

    /**
     * 项目id
     */
    private Long testItemId;

    /**
     * 分类名称
     */
    private String itemName;

    /**
     * 项目测试项目编号
     */
    private String itemCode;

    /**
     * 班级id
     */
    private Long classId;

    /**
     * 幼儿园id
     */
    private Long kindergartenId;

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        KinderCategoryScoreVO scoreVO = (KinderCategoryScoreVO) o;
        return Objects.equals(id, scoreVO.id);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id);
    }
}
