package com.agri.system.domain;

import com.agri.common.annotation.Excel;
import com.agri.common.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 卷膜参数配置对象 sys_roller_param
 *
 * @author lld
 * @date 2026-02-27
 */
@Data
@TableName("sys_roller_param")
public class SysRollerParam extends BaseEntity
{
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(type = IdType.ASSIGN_ID)
    @JsonSerialize(using = ToStringSerializer.class)
    private String id;

    /** imei */
    @Excel(name = "imei")
    private String imei;

    /** 卷膜标识 */
    @Excel(name = "卷膜标识")
    private String roller;

    /** 参考温度 */
    @Excel(name = "参考温度")
    private String refTempCode;
    /** 参考温度 */
    @TableField(exist = false)
    @Excel(name = "参考温度")
    private String refTemp;

    /** 预留风口长度(cm) */
    @Excel(name = "预留风口长度(cm)")
    private BigDecimal reservedLen;

    /** 手动计算风口总长(cm) */
    @Excel(name = "手动计算风口总长(cm)")
    private BigDecimal manualTotalLen;

    /** 自动计算风口总长(cm) */
    @Excel(name = "自动计算风口总长(cm)")
    private BigDecimal autoTotalLen;

    @Excel(name = "最终风口总长")
    private BigDecimal ventTotalLen;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("imei", getImei())
            .append("roller", getRoller())
            .append("refTempCode", getRefTempCode())
            .append("reservedLen", getReservedLen())
            .append("manualTotalLen", getManualTotalLen())
            .append("autoTotalLen", getAutoTotalLen())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
