package org.dromara.rfid.domain.vo;

import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * 首页统计 VO（轻量级，不查询分表数据）
 */
@Data
public class HomeStatsVO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 位置统计
     */
    private LocationStats locationStats;

    /**
     * 位置列表（仅展示顶级）
     */
    private List<LocationItem> locations;

    /**
     * 位置统计
     */
    @Data
    public static class LocationStats {
        /** 位置总数 */
        private Long totalLocations;
        /** 车间数量 */
        private Long workshopCount;
        /** 工序数量 */
        private Long processCount;
        /** 工位数量 */
        private Long stationCount;
    }

    /**
     * 位置项
     */
    @Data
    public static class LocationItem {
        private Long id;
        private String locationCode;
        private String locationAlias;
        private String locationType;
        /** 子位置数量 */
        private Long childCount;
    }
}
