package com.mvc.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
* @Description: 服务侧配置
* @Author: guozhao
* @CreateDate: 2025-07-22 20:23:37
*/
public class TServerCfgModel extends ReqPageGeeker {
    /**
     * 
     */
    private Integer id;

    /**
     * DEVICE_SN 设备SN
     */
    private String deviceSn;

    /**
     * 表盘类型(0非水表,1数字+指针,2全指针,3全数字)
     */
    private String dialType;

    /**
     * 数字个数
     */
    private Integer digitNum;

    /**
     * 最后一个数字单位类型
     */
    private Integer unitType;

    /**
     * 字轮个数
     */
    private Integer wheelNum;

    /**
     * 水表类型(安装口径)
     */
    private Integer dnType;

    /**
     * 当前水表读数
     */
    private Double lastVal;

    /**
     * 最新读数对应的时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8",locale="zh")
    private Date lastValTime;

    /**
     * 表盘区域坐标(xMin,yMin,xMax,yMax)
     */
    private String dialAreaCoordinates;

    /**
     * 数字区域坐标(x0,y0,x1,y1,x2,y2,x3,y3)
     */
    private String digitAreaCoordinates;

    /**
     * 首尾指针坐标(xb,yb,xr,yr)
     */
    private String startEndPointerCoordinates;

    /**
     * 图片亮度(默认1.0,1位整数1位小数)
     */
    private Double imageBrightness;

    /**
     * AI输出测试(标注)图开关
     */
    private String enableAiImageProcess;

    /**
     * 是否上传红色指针部分(针对2N1版本)
     */
    private String isUploadRedPointer;

    /**
     * 运行/投运状态(0未安装,1已安装,2已配置,3已投运,4配置失效)
     */
    private String operationStatus;

    /**
     * 创建人
     */
    private String createMan;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8",locale="zh")
    private Date createTime;

    /**
     * 设备当前有效的配置
     */
    private String useFlag;

    private String deviceType;

    /**
     * t_server_cfg
     */
    private static final long serialVersionUID = 1L;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getDeviceSn() {
        return deviceSn;
    }

    public void setDeviceSn(String deviceSn) {
        this.deviceSn = deviceSn == null ? null : deviceSn.trim();
    }

    public String getDialType() {
        return dialType;
    }

    public void setDialType(String dialType) {
        this.dialType = dialType == null ? null : dialType.trim();
    }

    public Integer getDigitNum() {
        return digitNum;
    }

    public void setDigitNum(Integer digitNum) {
        this.digitNum = digitNum;
    }

    public Integer getUnitType() {
        return unitType;
    }

    public void setUnitType(Integer unitType) {
        this.unitType = unitType;
    }

    public Integer getWheelNum() {
        return wheelNum;
    }

    public void setWheelNum(Integer wheelNum) {
        this.wheelNum = wheelNum;
    }

    public Integer getDnType() {
        return dnType;
    }

    public void setDnType(Integer dnType) {
        this.dnType = dnType;
    }

    public Double getLastVal() {
        return lastVal;
    }

    public void setLastVal(Double lastVal) {
        this.lastVal = lastVal;
    }

    public Date getLastValTime() {
        return lastValTime;
    }

    public void setLastValTime(Date lastValTime) {
        this.lastValTime = lastValTime;
    }

    public String getDialAreaCoordinates() {
        return dialAreaCoordinates;
    }

    public void setDialAreaCoordinates(String dialAreaCoordinates) {
        this.dialAreaCoordinates = dialAreaCoordinates == null ? null : dialAreaCoordinates.trim();
    }

    public String getDigitAreaCoordinates() {
        return digitAreaCoordinates;
    }

    public void setDigitAreaCoordinates(String digitAreaCoordinates) {
        this.digitAreaCoordinates = digitAreaCoordinates == null ? null : digitAreaCoordinates.trim();
    }

    public String getStartEndPointerCoordinates() {
        return startEndPointerCoordinates;
    }

    public void setStartEndPointerCoordinates(String startEndPointerCoordinates) {
        this.startEndPointerCoordinates = startEndPointerCoordinates == null ? null : startEndPointerCoordinates.trim();
    }

    public Double getImageBrightness() {
        return imageBrightness;
    }

    public void setImageBrightness(Double imageBrightness) {
        this.imageBrightness = imageBrightness;
    }

    public String getEnableAiImageProcess() {
        return enableAiImageProcess;
    }

    public void setEnableAiImageProcess(String enableAiImageProcess) {
        this.enableAiImageProcess = enableAiImageProcess == null ? null : enableAiImageProcess.trim();
    }

    public String getIsUploadRedPointer() {
        return isUploadRedPointer;
    }

    public void setIsUploadRedPointer(String isUploadRedPointer) {
        this.isUploadRedPointer = isUploadRedPointer == null ? null : isUploadRedPointer.trim();
    }

    public String getOperationStatus() {
        return operationStatus;
    }

    public void setOperationStatus(String operationStatus) {
        this.operationStatus = operationStatus == null ? null : operationStatus.trim();
    }

    public String getCreateMan() {
        return createMan;
    }

    public void setCreateMan(String createMan) {
        this.createMan = createMan == null ? null : createMan.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUseFlag() {
        return useFlag;
    }

    public void setUseFlag(String useFlag) {
        this.useFlag = useFlag == null ? null : useFlag.trim();
    }

    public String getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType == null ? null : deviceType.trim();
    }

    /**
     * @Description: 
     * @Author: guozhao
     * @CreateDate: 2025-07-22 20:23:37
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", deviceSn=").append(deviceSn);
        sb.append(", dialType=").append(dialType);
        sb.append(", digitNum=").append(digitNum);
        sb.append(", unitType=").append(unitType);
        sb.append(", wheelNum=").append(wheelNum);
        sb.append(", dnType=").append(dnType);
        sb.append(", lastVal=").append(lastVal);
        sb.append(", lastValTime=").append(lastValTime);
        sb.append(", dialAreaCoordinates=").append(dialAreaCoordinates);
        sb.append(", digitAreaCoordinates=").append(digitAreaCoordinates);
        sb.append(", startEndPointerCoordinates=").append(startEndPointerCoordinates);
        sb.append(", imageBrightness=").append(imageBrightness);
        sb.append(", enableAiImageProcess=").append(enableAiImageProcess);
        sb.append(", isUploadRedPointer=").append(isUploadRedPointer);
        sb.append(", operationStatus=").append(operationStatus);
        sb.append(", createMan=").append(createMan);
        sb.append(", createTime=").append(createTime);
        sb.append(", useFlag=").append(useFlag);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}