package com.zd.system.api.laboratory.domain.vo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.zd.common.core.domain.hazard.BaseHardware;
import com.zd.common.core.domain.hazard.HardwareType;
import com.zd.common.core.enums.HardwareTypeEnum;
import com.zd.system.api.laboratory.domain.Control;
import com.zd.system.api.laboratory.domain.FunctionStatus;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;

/**
 * 硬件设备
 *
 * @Author: zhoupan
 * @Date: 2021/09/17/14:31
 * @Description:
 */
public class HardwareCVO extends BaseHardware {

    @ApiModelProperty("硬件类型")
    HardwareTypeEnum hardwareTypeEnum;

    @ApiModelProperty("开关状态")
    Control.SwitchEnums switchEnums;

    /**
     * 设备功能状态-当前状态
     */
    @Deprecated
    FunctionStatus functionStatus;

    /**
     * 设备功能状态-所有状态
     */
    @Deprecated
    List<FunctionStatus> functionStatusList;

    /**
     * 设备类型
     *
     * @return
     */
    @Override
    protected HardwareType hardwareType() {
        return hardwareTypeEnum;
    }


    public Control.SwitchEnums getSwitchEnums() {
        return switchEnums;
    }

    public void setSwitchEnums(Control.SwitchEnums switchEnums) {
        this.switchEnums = switchEnums;
    }

    public List<FunctionStatus> getFunctionStatusList() {
        return functionStatusList;
    }

    public void setFunctionStatusList(List<FunctionStatus> functionStatusList) {
        this.functionStatusList = functionStatusList;
    }

    public FunctionStatus getFunctionStatus() {
        return functionStatus;
    }

    public void setFunctionStatus(FunctionStatus functionStatus) {
        this.functionStatus = functionStatus;
    }

    public HardwareTypeEnum getHardwareTypeEnum() {
        return hardwareTypeEnum;
    }

    public void setHardwareTypeEnum(HardwareTypeEnum hardwareTypeEnum) {
        this.hardwareTypeEnum = hardwareTypeEnum;
    }
}
