package com.ruoyi.project.apply.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 破锁管理对象 t_apply_lock
 *
 * @author ruoyi
 * @date 2023-03-06
 */
public class TApplyLock extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识ID
     */
    private Long id;

    /**
     * 单元
     */
    @Excel(name = "单元")
    private String unit;

    /**
     * 岗位
     */
    @Excel(name = "岗位")
    private String lockPost;

    /**
     * P&ID图号
     */
    @Excel(name = "P&ID图号")
    private String pidNo;

    /**
     * 编号
     */
    @Excel(name = "编号")
    private String lockCode;

    /**
     * 介质
     */
    @Excel(name = "介质")
    private String medium;

    /**
     * 位置描述
     */
    @Excel(name = "位置描述")
    private String position;

    /**
     * 锁开锁关原因
     */
    @Excel(name = "锁开锁关原因")
    private String reason;

    /**
     * 安全阀/工艺
     */
    @Excel(name = "安全阀/工艺")
    private String technology;

    /**
     * 风险等级
     */
    @Excel(name = "风险等级")
    private String riskLevel;

    /**
     * 尺寸
     */
    @Excel(name = "尺寸")
    private String lockSize;

    /**
     * 阀门状态
     */
    @Excel(name = "阀门状态")
    private String valveStatus;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String remarks;

    /**
     * 状态
     */
    @Excel(name = "状态",readConverterExp = "1=已拆锁,2=已删除,0=挂锁")
    private Long status;

    /**
     * 删除标识
     */
    private Long delFlag;

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

    /**
     * 部门名称
     */
    @TableField(exist = false)
    private String deptName;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createdate;

    /**
     * 修改人
     */
    private Long updaterCode;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date updatedate;

    /**
     * 部门id
     */
    private Long deptId;

    private Long subId;

    private List<String> units;
    private List<String> posts;

    public List<String> getPosts() {
        return posts;
    }

    public void setPosts(List<String> posts) {
        this.posts = posts;
    }

    public List<String> getUnits() {
        return units;
    }

    public void setUnits(List<String> units) {
        this.units = units;
    }

    public Long getSubId() {
        return subId;
    }

    public void setSubId(Long subId) {
        this.subId = subId;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getValveStatus() {
        return valveStatus;
    }

    public void setValveStatus(String valveStatus) {
        this.valveStatus = valveStatus;
    }

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

    public Long getId() {
        return id;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getUnit() {
        return unit;
    }

    public void setLockPost(String lockPost) {
        this.lockPost = lockPost;
    }

    public String getLockPost() {
        return lockPost;
    }

    public void setPidNo(String pidNo) {
        this.pidNo = pidNo;
    }

    public String getPidNo() {
        return pidNo;
    }

    public void setLockCode(String lockCode) {
        this.lockCode = lockCode;
    }

    public String getLockCode() {
        return lockCode;
    }

    public void setMedium(String medium) {
        this.medium = medium;
    }

    public String getMedium() {
        return medium;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public String getPosition() {
        return position;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getReason() {
        return reason;
    }

    public void setTechnology(String technology) {
        this.technology = technology;
    }

    public String getTechnology() {
        return technology;
    }

    public void setRiskLevel(String riskLevel) {
        this.riskLevel = riskLevel;
    }

    public String getRiskLevel() {
        return riskLevel;
    }

    public void setLockSize(String lockSize) {
        this.lockSize = lockSize;
    }

    public String getLockSize() {
        return lockSize;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getRemarks() {
        return remarks;
    }

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

    public Long getStatus() {
        return status;
    }

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

    public Long getDelFlag() {
        return delFlag;
    }

    public void setCreaterCode(String createrCode) {
        this.createrCode = createrCode;
    }

    public String getCreaterCode() {
        return createrCode;
    }

    public void setCreatedate(Date createdate) {
        this.createdate = createdate;
    }

    public Date getCreatedate() {
        return createdate;
    }

    public void setUpdaterCode(Long updaterCode) {
        this.updaterCode = updaterCode;
    }

    public Long getUpdaterCode() {
        return updaterCode;
    }

    public void setUpdatedate(Date updatedate) {
        this.updatedate = updatedate;
    }

    public Date getUpdatedate() {
        return updatedate;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("unit", getUnit())
                .append("lockPost", getLockPost())
                .append("pidNo", getPidNo())
                .append("lockCode", getLockCode())
                .append("medium", getMedium())
                .append("position", getPosition())
                .append("reason", getReason())
                .append("technology", getTechnology())
                .append("riskLevel", getRiskLevel())
                .append("lockSize", getLockSize())
                .append("remarks", getRemarks())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("createrCode", getCreaterCode())
                .append("createdate", getCreatedate())
                .append("updaterCode", getUpdaterCode())
                .append("updatedate", getUpdatedate())
                .append("deptId", getDeptId())
                .toString();
    }
}
