package com.sundot.airport.common.core.domain;

import lombok.Data;

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

/**
 * 箱线图数据DTO
 *
 * @author ruoyi
 * @date 2026-02-24
 */
@Data
public class BoxPlotDataDto {

    /**
     * 最小观察值（Q1 -  IQR）
     */
    private BigDecimal minObservation;

    /**
     * 第一四分位数（Q1）
     */
    private BigDecimal q1;

    /**
     * 中位数（Q2）
     */
    private BigDecimal median;

    /**
     * 第三四分位数（Q3）
     */
    private BigDecimal q3;

    /**
     * 最大观察值（Q3 +  IQR）
     */
    private BigDecimal maxObservation;

    /**
     * 箱线图下限（真实最小值与最小观察值的较大值）
     */
    private BigDecimal lowerBound;

    /**
     * 箱线图上限（真实最大值与最大观察值的较小值）
     */
    private BigDecimal upperBound;

    /**
     * 离群点列表（超出上下限的数据）
     */
    private List<BigDecimal> outliers;

    /**
     * 数据总数
     */
    private Integer totalCount;

    /**
     * 非离群点数据列表（用于绘制箱体）
     */
    private List<BigDecimal> nonOutliers;

}