package org.dromara.elevator.domain.vo;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 大屏电梯统计
 *
 * @author ym
 * @version 1.0.0
 * @date 2024-11-11 10:13
 */
@Data
public class ELargeScreenElevatorVo {

    /**
     * 维保单位统计
     */
    private List<ELargeScreenMaintenanceInfo> maintenanceInfoList;

    /**
     * 物业单位统计
     */
    private List<ELargeScreenTenementInfo> tenementInfoList;

    /**
     * 部门统计
     */
    private List<ELargeScreenDeptInfo> deptInfoList;

    /**
     * 维保信息
     */
    @Data
    public static class ELargeScreenMaintenanceInfo {

        /**
         * id
         */
        private Long maintenanceId;

        /**
         * 维保单位名称
         */
        private String maintenanceName;

        /**
         * 电梯数量
         */
        private Integer elevatorTotal;

        /**
         * 维保员工数量
         */
        private Integer employTotal;

        /**
         * 电梯信息
         */
        private List<ELargeScreenElevatorInfo> elevatorList;

    }

    /**
     * 物业信息
     */
    @Data
    public static class ELargeScreenTenementInfo {

        /**
         * 物业id
         */
        private Long tenementId;

        /**
         * 物业单位名称
         */
        private String tenementName;

        /**
         * 电梯数量
         */
        private Integer elevatorTotal;

        /**
         * 电梯信息
         */
        private List<ELargeScreenElevatorInfo> elevatorList;

    }

    /**
     * 部门(区域)信息
     */
    @Data
    public static class ELargeScreenDeptInfo {

        /**
         * 部门id
         */
        private Long deptId;

        /**
         * 部门名称
         */
        private String deptName;

        /**
         * 电梯数量
         */
        private Integer elevatorTotal;

        /**
         * 电梯信息
         */
        private List<ELargeScreenElevatorInfo> elevatorList;

    }

    /**
     * 电梯信息
     */
    @Data
    public static class ELargeScreenElevatorInfo {
        /**
         * 电梯编号
         */
        private String elevatorNum;

        /**
         * 电梯名称
         */
        private String elevatorName;

        /**
         * 三方电梯id
         */
        private Long eleId;
    }

    public ELargeScreenElevatorVo() {
        this.deptInfoList = new ArrayList<>();
        this.tenementInfoList = new ArrayList<>();
        this.maintenanceInfoList = new ArrayList<>();
    }
}
