package com.zd.laboratory.domain.vo;

import com.zd.laboratory.domain.LabHardware;
import com.zd.laboratory.domain.LabSubjectHardwarePosition;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

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

/**
 * Controller
 *
 * @author cyl
 * @date 2021/9/26
 */
@ApiModel("硬件表")
public class LabHardwareVO extends LabHardware {

    @ApiModelProperty("实验室名称")
    private String subjectName;

    @ApiModelProperty("硬件类型")
    private String[] hardWareTypes;

    @ApiModelProperty("硬件状态：0 关，1 开")
    private Integer status;

    @ApiModelProperty("实验室ids")
    private String[] subjectIds;

    @ApiModelProperty("实验室位置")
    private String posi;

    /** 报警器响铃时长（单位秒） */
    @ApiModelProperty(value = "报警器响铃时长")
    private Integer ringTime;
    /** 处理时长（单位分钟） */
    @ApiModelProperty(value = "处理时长")
    private Integer dealTime;

    /**
     * 批量操作的id集合
     */
    private List<Long> ids;

    /**
     * 按照分钟计算，默认给10分钟，（目前只有柜锁类型使用）
     */
    @ApiModelProperty(value = "关联的机柜id(一个锁子只能绑定一个机柜，一个机柜可以绑定多把锁子)")
    private String joinCabinetId;

    @ApiModelProperty(value = "机柜名称")
    private String cabinetName;

    public String getCabinetName() {
        return cabinetName;
    }

    public void setCabinetName(String cabinetName) {
        this.cabinetName = cabinetName;
    }

    private List<LabSubjectHardwarePosition> subjectHardPosiList = new ArrayList<>();

    private List<Map <String,String>> cabinetList = new ArrayList<>();

    public String getSubjectName() {
        return subjectName;
    }

    public void setSubjectName(String subjectName) {
        this.subjectName = subjectName;
    }

    public List<LabSubjectHardwarePosition> getSubjectHardPosiList() {
        return subjectHardPosiList;
    }

    public void setSubjectHardPosiList(List<LabSubjectHardwarePosition> subjectHardPosiList) {
        this.subjectHardPosiList = subjectHardPosiList;
    }

    public String[] getHardWareTypes() {
        return hardWareTypes;
    }

    public void setHardWareType(String[] hardWareType) {
        this.hardWareTypes = hardWareType;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String[] getSubjectIds() {
        return subjectIds;
    }

    public void setSubjectIds(String[] subjectIds) {
        this.subjectIds = subjectIds;
    }

    public String getPosi() {
        return posi;
    }

    public void setPosi(String posi) {
        this.posi = posi;
    }

    public Integer getRingTime() {
        return ringTime;
    }

    public void setRingTime(Integer ringTime) {
        this.ringTime = ringTime;
    }

    public Integer getDealTime() {
        return dealTime;
    }

    public void setDealTime(Integer dealTime) {
        this.dealTime = dealTime;
    }

    @Override
    public List <Long> getIds() {
        return ids;
    }

    @Override
    public void setIds(List <Long> ids) {
        this.ids = ids;
    }

    public List <Map <String, String>> getCabinetList() {
        return cabinetList;
    }

    public void setCabinetList(List <Map <String, String>> cabinetList) {
        this.cabinetList = cabinetList;
    }

    public String getJoinCabinetId() {
        return joinCabinetId;
    }

    public void setJoinCabinetId(String joinCabinetId) {
        this.joinCabinetId = joinCabinetId;
    }
}
