package com.inspect.ivs.domain;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

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

@Data
@NoArgsConstructor
@AllArgsConstructor
public class TempConfiguration {

    private String cameraCode;

    private Integer configType;

    private Integer blockBodyTemp;

    /**
     * 测温使能
     * 0: 不使能
     * 1：使能
     */
    private Integer enable;
    //预置点编号
    private Integer presetId;
    //规则编号
    private Integer ruleId;
    //自定义名称，最大127字节
    private String name;
    /**
     *温模式的类型
     * 0：未知
     * 1：点
     * 2：线
     * 3：区域
     */
    private Integer meterType;
    //温度采样周期，单位：秒
    private Integer samplePeriod;
    /**
     *区域测温的子类型
     * 0：未知
     * 1：矩形
     * 2：椭圆
     * 3：多边形
     */
    private Integer areaSubType;


    //是否启用本地配置
    private Integer localEnable;
    //目标辐射系数 浮点数 0~1
    private float objectDistance;
    //目标距离
    private Integer objectEmissivity;
    //标反射温度
    private Integer refalectedTemp;

    //
    private List<Map<String, Object>> polygonList;


    //报警唯一编号
    //报警编号统一编码
    private Integer id;
    /**
     * 是否开启该点报警
     * 0：去使能
     * 1：使能
     */
    private Integer alarmEnable;

    //下面是可选
    /**
     * 报警条件
     * 0：未知
     * 1：低于
     * 2：匹配
     * 3：高于
     */
    private Integer alarmCondition;
    //阈值温度持续时间 单位：秒
    private Integer duration;

    //温度误差，浮点数，比如0.1 表示正负误差在0.1范围内
    private float hysteresis;

    /**
     * 测温报警结果类型
     * 0：未知
     * 1：具体值
     * 2：最大
     * 3：最小
     * 4：平均
     * 5：标准
     * 6：中间
     * 7：ISO
     */
    private Integer resultType;

    //报警阈值温度(可选)
    private Double threshold;

}
