package com.ruoyi.project.business.domain;

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.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 【请填写功能名称】对象 tp_para_library
 *
 * @author ruoyi
 * @date 2024-04-23
 */
@Data
@TableName("tp_para_library")
public class TpParaLibrary extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    @TableField(exist = false)
    private List<Long> ids;

    /**
     * 参数编码
     */
    @Excel(name = "参数编码", i18nCode = "paraLibrary.paraCode")
    private String paraCode;

    /**
     * 参数名称
     */
    @Excel(name = "参数名称", i18nCode = "paraLibrary.paraName")
    private String paraName;

    /**
     * 参数名称
     */
    @Excel(name = "参数名称(英)", i18nCode = "paraLibrary.paraNameUS")
    @TableField("para_nameUS")
    private String paraNameUS;

    /**
     * 参数名称
     */
    @Excel(name = "参数名称(俄)", i18nCode = "paraLibrary.paraNameRU")
    @TableField("para_nameRU")
    private String paraNameRU;

    /**
     * 参数名称
     */
    @Excel(name = "参数名称(西)", i18nCode = "paraLibrary.paraNameES")
    @TableField("para_nameES")
    private String paraNameES;

    /**
     * 参数大类（00：基本参数 01：井道参数 02：轿厢参数 03：门机参数 04：选配参数 05：装潢参数 06：楼层参数）
     */
    @Excel(name = "参数大类", i18nCode = "paraLibrary.paraCategory")
    @TableField(exist = false)
    private String paraCategoryK;
    private String paraCategory;

    @TableField(exist = false)
    private String[] paraCategoryArray;

    /**
     * 输入方式（00：Input 01：InputNumber 02：Select）
     */
    @Excel(name = "输入方式", i18nCode = "paraLibrary.inputType")
    @TableField(exist = false)
    private String inputTypeK;
    private String inputType;

    @TableField(exist = false)
    private String[] inputTypeArray;

    @Excel(name = "电梯类型", i18nCode = "paraLibrary.elevatorType")
    @TableField(exist = false)
    private String elevatorTypeK;
    private String elevatorType;

    @TableField(exist = false)
    private String[] elevatorTypeArray;

    /**
     * 参数排序
     */
    @Excel(name = "参数排序", i18nCode = "paraLibrary.sortNumber")
    private Long sortNumber;

    /**
     * 是否报价参数
     */
    @Excel(name = "是否报价参数", i18nCode = "paraLibrary.isQuotation")
    @TableField(exist = false)
    private String isQuotationK;
    private String isQuotation;
    /**
     * 是否土建参数
     */
    @Excel(name = "是否土建参数", i18nCode = "paraLibrary.isCivil")
    @TableField(exist = false)
    private String isCivilK;
    private String isCivil;
    /**
     * 是否计算参数
     */
    @Excel(name = "是否计算参数", i18nCode = "paraLibrary.isCalc")
    @TableField(exist = false)
    private String isCalcK;
    private String isCalc;

    /**
     * 状态（0：启用  1：停用）
     */
    @Excel(name = "状态", i18nCode = "paraLibrary.status")
    @TableField(exist = false)
    private String statusK;
    private String status;

    /**
     * 删除标记（0：未删除  1：已删除）
     */
    private String delFlag;


    @TableField(exist = false)
    private String language;

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

    public Long getId() {
        return id;
    }

    public void setParaCode(String paraCode) {
        this.paraCode = paraCode;
    }

    public String getParaCode() {
        return paraCode;
    }

    public void setParaName(String paraName) {
        this.paraName = paraName;
    }

    public String getParaName() {
        return paraName;
    }

    public void setParaCategory(String paraCategory) {
        this.paraCategory = paraCategory;
    }

    public String getParaCategory() {
        return paraCategory;
    }

    public void setInputType(String inputType) {
        this.inputType = inputType;
    }

    public String getInputType() {
        return inputType;
    }

    public void setSortNumber(Long sortNumber) {
        this.sortNumber = sortNumber;
    }

    public Long getSortNumber() {
        return sortNumber;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("paraCode", getParaCode())
                .append("paraName", getParaName())
                .append("paraCategory", getParaCategory())
                .append("inputType", getInputType())
                .append("sortNumber", getSortNumber())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .append("remark", getRemark())
                .toString();
    }
}
