package com.ruoyi.project.plant.domain;

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

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;

/**
 * 目标录入对象 t_targetlist
 *
 * @author ruoyi
 * @date 2020-11-24
 */
public class TTargetlist extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

    /** 父菜单ID */
    private Long parentId;

    /** 装置名称 */
    @Excel(name = "装置名称", dictType = "PLANT_DIVIDE")
    private String plantCode;

    /** 序号 */
    @Excel(name = "序号")
    private String item;

    /** 内容 */
    @Excel(name = "内容")
    private String description;

    /** 目标 */
    @Excel(name = "目标")
    private String targets;

    /** 年度 */
    @Excel(name = "年度")
    private String year;

    /** 方案/行动计划/措施 */
    @Excel(name = "方案/行动计划/措施")
    private String measures;

    /** 负责人 */
    @Excel(name = "负责人")
    private String responsible;

    /** 计划完成日期 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = "计划完成日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expectedDate;

    /** 行动项 */
    @Excel(name = "行动项")
    private String actionItem;

    /** 负责人 */
    @Excel(name = "负责人")
    private String principal;
    private String principalName;

    /** 计划完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = "计划完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expected;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completionDate;

    /** 判定标准 */
    @Excel(name = "判定标准")
    private String yardstick;

    /** 合作者 */
    @Excel(name = "合作者")
    private String partners;

    /** 状态 0：正常 2：删除 */
    private Long delFlag;

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

    /** 创建时间 */
    private Date createdate;

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

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

    /** 部门编号 */
    private Long deptId;

    /** 部门名称 */
    @Excel(name = "部门名称")
    private String deptName;

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

    /** 序号前位 */
    private Long itemTop;

    /** 序号后位 */
    private Long itemLast;

    /** 子菜单 */
    private List<TTargetlist> children = new ArrayList<TTargetlist>();

    /** 次级目标列表 */
    private List<TTargetlist> secondaryList;

    /** 目标措施列表 */
    private List<TTargetmeasures> targetmeasures;

    /** 第一条目标措施 */
    private TTargetmeasures measure;

    /** 目标措施数量 */
    private int measuresNum;

    /** 目标措施id */
    private Long measuresId;

    /** 第一季度 */
    @Excel(name = "第一季度")
    private String firstquarter;

    /** 第二季度 */
    @Excel(name = "第二季度")
    private String halfyear;

    /** 第三季度 */
    @Excel(name = "第三季度")
    private String threequarter;

    /** 第四季度 */
    @Excel(name = "第四季度")
    private String annual;

    /** 第一季度状态 */
    @Excel(name = "第一季度状态")
    private String firstquarterStatus;

    /** 第二季度状态 */
    @Excel(name = "第二季度状态")
    private String halfyearStatus;

    /** 第三季度状态 */
    @Excel(name = "第三季度状态")
    private String threequarterStatus;

    /** 第四季度状态 */
    @Excel(name = "第四季度状态")
    private String annualStatus;

    /** 第一季度检查人 */
    @Excel(name = "第一季度检查人")
    private String firstChecker;

    /** 第二季度检查人 */
    @Excel(name = "第二季度检查人")
    private String secondChecker;

    /** 第三季度检查人 */
    @Excel(name = "第三季度检查人")
    private String threeChecker;

    /** 第四季度检查人 */
    @Excel(name = "第四季度检查人")
    private String annualChecker;

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

    public Long getId()
    {
        return id;
    }
    public Long getParentId()
    {
        return parentId;
    }

    public void setParentId(Long parentId)
    {
        this.parentId = parentId;
    }
    public void setPlantCode(String plantCode)
    {
        this.plantCode = plantCode;
    }

    public String getPlantCode()
    {
        return plantCode;
    }
    public void setItem(String item)
    {
        this.item = item;
    }

    public String getItem()
    {
        return item;
    }
    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription()
    {
        return description;
    }
    public void setTargets(String targets)
    {
        this.targets = targets;
    }

    public String getTargets()
    {
        return targets;
    }
    public void setYear(String year)
    {
        this.year = year;
    }

    public String getYear()
    {
        return year;
    }
    public void setMeasures(String measures)
    {
        this.measures = measures;
    }

    public String getMeasures()
    {
        return measures;
    }
    public void setResponsible(String responsible)
    {
        this.responsible = responsible;
    }

    public String getResponsible()
    {
        return responsible;
    }
    public void setExpectedDate(Date expectedDate)
    {
        this.expectedDate = expectedDate;
    }

    public Date getExpectedDate()
    {
        return expectedDate;
    }
    public void setActionItem(String actionItem)
    {
        this.actionItem = actionItem;
    }

    public String getActionItem()
    {
        return actionItem;
    }
    public void setPrincipal(String principal) { this.principal = principal; }

    public String getPrincipal() { return principal; }
    public String getPrincipalName() { return principalName; }

    public void setPrincipalName(String principalName) { this.principalName = principalName; }
    public void setExpected(Date expected)
    {
        this.expected = expected;
    }

    public Date getExpected()
    {
        return expected;
    }
    public void setCompletionDate(Date completionDate)
    {
        this.completionDate = completionDate;
    }

    public Date getCompletionDate()
    {
        return completionDate;
    }
    public void setYardstick(String yardstick)
    {
        this.yardstick = yardstick;
    }

    public String getYardstick()
    {
        return yardstick;
    }
    public void setPartners(String partners)
    {
        this.partners = partners;
    }

    public String getPartners()
    {
        return partners;
    }
    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(String updaterCode)
    {
        this.updaterCode = updaterCode;
    }

    public String 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;
    }
    public void setRemarks(String remarks)
    {
        this.remarks = remarks;
    }

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

    public String getDeptName()
    {
        return deptName;
    }
    public List<TTargetlist> getChildren()
    {
        return children;
    }

    public void setChildren(List<TTargetlist> children)
    {
        this.children = children;
    }
    public void setItemTop(Long itemTop) { this.itemTop = itemTop; }

    public Long getItemTop() { return itemTop; }
    public void setItemLast(Long itemLast) { this.itemLast = itemLast; }

    public Long getItemLast() { return itemLast; }
    public List<TTargetlist> getSecondaryList() { return secondaryList; }

    public void setSecondaryList(List<TTargetlist> secondaryList) { this.secondaryList = secondaryList; }
    public List<TTargetmeasures> getTargetmeasures() { return targetmeasures; }

    public void setTargetmeasures(List<TTargetmeasures> targetmeasures) { this.targetmeasures = targetmeasures; }
    public TTargetmeasures getMeasure() { return measure; }

    public void setMeasure(TTargetmeasures measure) { this.measure = measure; }
    public int getMeasuresNum() { return measuresNum; }

    public void setMeasuresNum(int measuresNum) { this.measuresNum = measuresNum; }
    public Long getMeasuresId() { return measuresId; }

    public void setMeasuresId(Long measuresId) { this.measuresId = measuresId; }
    public void setFirstquarter(String firstquarter) { this.firstquarter = firstquarter; }

    public String getFirstquarter() { return firstquarter; }
    public void setHalfyear(String halfyear) { this.halfyear = halfyear; }

    public String getHalfyear() { return halfyear; }
    public void setThreequarter(String threequarter) { this.threequarter = threequarter; }

    public String getThreequarter() { return threequarter; }
    public void setAnnual(String annual) { this.annual = annual; }

    public String getAnnual() { return annual; }
    public void setFirstquarterStatus(String firstquarterStatus) { this.firstquarterStatus = firstquarterStatus; }

    public String getFirstquarterStatus() { return firstquarterStatus; }
    public void setHalfyearStatus(String halfyearStatus) { this.halfyearStatus = halfyearStatus; }

    public String getHalfyearStatus() { return halfyearStatus; }
    public void setThreequarterStatus(String threequarterStatus) { this.threequarterStatus = threequarterStatus; }

    public String getThreequarterStatus() { return threequarterStatus; }
    public void setAnnualStatus(String annualStatus) { this.annualStatus = annualStatus; }

    public String getAnnualStatus() { return annualStatus; }
    public void setFirstChecker(String firstChecker) { this.firstChecker = firstChecker; }

    public String getFirstChecker() { return firstChecker; }
    public void setSecondChecker(String secondChecker) { this.secondChecker = secondChecker; }

    public String getSecondChecker() { return secondChecker; }
    public void setThreeChecker(String threeChecker) { this.threeChecker = threeChecker; }

    public String getThreeChecker() { return threeChecker; }
    public void setAnnualChecker(String annualChecker) { this.annualChecker = annualChecker; }

    public String getAnnualChecker() { return annualChecker; }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("plantCode", getPlantCode())
            .append("item", getItem())
            .append("description", getDescription())
            .append("targets", getTargets())
            .append("year", getYear())
            .append("delFlag", getDelFlag())
            .append("createrCode", getCreaterCode())
            .append("createdate", getCreatedate())
            .append("updaterCode", getUpdaterCode())
            .append("updatedate", getUpdatedate())
            .append("deptId", getDeptId())
            .append("remarks", getRemarks())
            .append("deptName", getDeptName())
            .append("itemTop", getItemTop())
            .append("itemLast", getItemLast())
            .append("targetmeasures", getTargetmeasures())
            .toString();
    }
}
