package com.agri.system.domain;

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

import java.util.Date;

/**
 * 执行时间限位管理对象 sys_agri_limit
 * 
 * @author agri
 * @date 2026-01-08
 */
@TableName("sys_agri_limit")
public class SysAgriLimit extends BaseEntity
{
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

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

    /** 大棚ID（如IMEI/自定义编号） */
    @Excel(name = "大棚ID", readConverterExp = "如=IMEI/自定义编号")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long agriId;

    /** 大棚名称（冗余字段） */
    @Excel(name = "大棚名称", readConverterExp = "冗=余字段")
    private String agriName;

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

    /** 卷被开限位时间(秒) */
    @Excel(name = "卷被开限位时间(秒)")
    private String jbkLimit;

    /** 卷被关限位时间(秒) */
    @Excel(name = "卷被关限位时间(秒)")
    private String jbgLimit;

    /** 卷被开限位时间(秒) */
    @Excel(name = "卷帘开限位时间(秒)")
    private String jlkLimit;

    /** 卷被关限位时间(秒) */
    @Excel(name = "卷帘关限位时间(秒)")
    private String jlgLimit;

    /** 卷膜1开限位时间(秒) */
    @Excel(name = "卷膜1开限位时间(秒)")
    private String jm1kLimit;

    /** 卷膜1关限位时间(秒) */
    @Excel(name = "卷膜1关限位时间(秒)")
    private String jm1gLimit;

    /** 卷膜2开限位时间(秒) */
    @Excel(name = "卷膜2开限位时间(秒)")
    private String jm2kLimit;

    /** 卷膜2关限位时间(秒) */
    @Excel(name = "卷膜2关限位时间(秒)")
    private String jm2gLimit;

    /** 卷膜3开限位时间(秒) */
    @Excel(name = "卷膜3开限位时间(秒)")
    private String jm3kLimit;

    /** 卷膜3关限位时间(秒) */
    @Excel(name = "卷膜3关限位时间(秒)")
    private String jm3gLimit;

    /** 数据版本号（乐观锁） */
    @Excel(name = "数据版本号", readConverterExp = "乐=观锁")
    @Version
    private String version;

    /** 删除标识：0-未删 1-已删 */
    @Excel(name = "删除标识：0-未删 1-已删")
    private String deleted;

    /** 删除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deleteTime;

    public String getJlkLimit() {
        return jlkLimit;
    }

    public void setJlkLimit(String jlkLimit) {
        this.jlkLimit = jlkLimit;
    }

    public String getJlgLimit() {
        return jlgLimit;
    }

    public void setJlgLimit(String jlgLimit) {
        this.jlgLimit = jlgLimit;
    }

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

    public String getId() 
    {
        return id;
    }
    public void setAgriId(Long agriId) 
    {
        this.agriId = agriId;
    }

    public Long getAgriId() 
    {
        return agriId;
    }
    public void setAgriName(String agriName) 
    {
        this.agriName = agriName;
    }

    public String getAgriName() 
    {
        return agriName;
    }
    public void setImei(String imei) 
    {
        this.imei = imei;
    }

    public String getImei() 
    {
        return imei;
    }
    public void setJbkLimit(String jbkLimit) 
    {
        this.jbkLimit = jbkLimit;
    }

    public String getJbkLimit() 
    {
        return jbkLimit;
    }
    public void setJbgLimit(String jbgLimit) 
    {
        this.jbgLimit = jbgLimit;
    }

    public String getJbgLimit() 
    {
        return jbgLimit;
    }
    public void setJm1kLimit(String jm1kLimit) 
    {
        this.jm1kLimit = jm1kLimit;
    }

    public String getJm1kLimit() 
    {
        return jm1kLimit;
    }
    public void setJm1gLimit(String jm1gLimit) 
    {
        this.jm1gLimit = jm1gLimit;
    }

    public String getJm1gLimit() 
    {
        return jm1gLimit;
    }
    public void setJm2kLimit(String jm2kLimit) 
    {
        this.jm2kLimit = jm2kLimit;
    }

    public String getJm2kLimit() 
    {
        return jm2kLimit;
    }
    public void setJm2gLimit(String jm2gLimit) 
    {
        this.jm2gLimit = jm2gLimit;
    }

    public String getJm2gLimit() 
    {
        return jm2gLimit;
    }
    public void setJm3kLimit(String jm3kLimit) 
    {
        this.jm3kLimit = jm3kLimit;
    }

    public String getJm3kLimit() 
    {
        return jm3kLimit;
    }
    public void setJm3gLimit(String jm3gLimit) 
    {
        this.jm3gLimit = jm3gLimit;
    }

    public String getJm3gLimit() 
    {
        return jm3gLimit;
    }
    public void setVersion(String version) 
    {
        this.version = version;
    }

    public String getVersion() 
    {
        return version;
    }
    public void setDeleted(String deleted) 
    {
        this.deleted = deleted;
    }

    public String getDeleted() 
    {
        return deleted;
    }
    public void setDeleteTime(Date deleteTime) 
    {
        this.deleteTime = deleteTime;
    }

    public Date getDeleteTime() 
    {
        return deleteTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("agriId", getAgriId())
            .append("agriName", getAgriName())
            .append("imei", getImei())
            .append("jbkLimit", getJbkLimit())
            .append("jbgLimit", getJbgLimit())
            .append("jlkLimit", getJlkLimit())
            .append("jlgLimit", getJlgLimit())
            .append("jm1kLimit", getJm1kLimit())
            .append("jm1gLimit", getJm1gLimit())
            .append("jm2kLimit", getJm2kLimit())
            .append("jm2gLimit", getJm2gLimit())
            .append("jm3kLimit", getJm3kLimit())
            .append("jm3gLimit", getJm3gLimit())
            .append("remark", getRemark())
            .append("version", getVersion())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("deleted", getDeleted())
            .append("deleteTime", getDeleteTime())
            .toString();
    }
}
