package com.steerinfo.ems.emsprodplanmonth.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.steerinfo.framework.model.IBasePO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;

@ApiModel(value="月计划编制表")
public class EmsProdplanMonth implements IBasePO<String> {
    /**
     * 主键ID(ID,VARCHAR,32)
     */
    @ApiModelProperty(value="主键ID",required=true)
    private String id;

    /**
     * 产品ID(PRODUCTID,VARCHAR,100)
     */
    @ApiModelProperty(value="产品ID",required=false)
    private String productid;

    /**
     * 工序ID(WORKPROCID,VARCHAR,20)
     */
    @ApiModelProperty(value="工序ID",required=false)
    private String workprocid;

    /**
     * 月份(MAY,TIMESTAMP,7)
     */
    @JSONField(format = "yyyy-MM-dd")
    @ApiModelProperty(value="月份",required=false)
    private Date may;

    /**
     * 目标计划量(月)(WEIGHT_MONTH,DECIMAL,0)
     */
    @ApiModelProperty(value="目标计划量(月)",required=false)
    private BigDecimal weightMonth;

    /**
     * 目标计划量(日)(WEIGHT_DAY,DECIMAL,0)
     */
    @ApiModelProperty(value="目标计划量(日)",required=false)
    private BigDecimal weightDay;

    /**
     * 单位名称(UNIT,VARCHAR,10)
     */
    @ApiModelProperty(value="单位名称",required=false)
    private String unit;

    /**
     * 检修天数(JXDAYS,VARCHAR,20)
     */
    @ApiModelProperty(value="检修天数",required=false)
    private String jxdays;

    /**
     * 创建时间(CREATETIME,TIMESTAMP,7)
     */
    @ApiModelProperty(value="创建时间",required=false)
    private Date createtime;

    /**
     * 创建人(CREATEMAN,VARCHAR,20)
     */
    @ApiModelProperty(value="创建人",required=false)
    private String createman;

    /**
     * 修改时间(UPDATETIME,TIMESTAMP,7)
     */
    @ApiModelProperty(value="修改时间",required=false)
    private Date updatetime;

    /**
     * 修改人(UPDATEMAN,VARCHAR,20)
     */
    @ApiModelProperty(value="修改人",required=false)
    private String updateman;

    /**
     * 备注(MEMO,VARCHAR,100)
     */
    @ApiModelProperty(value="备注",required=false)
    private String memo;

    @ApiModelProperty(value = "状态",required = false)
    private String state;

    @ApiModelProperty(value = "已下发量",required = false)
    private BigDecimal yxf_weight;
    @ApiModelProperty(value = "可下发量",required = false)
    private BigDecimal kxf_weight;
    @ApiModelProperty(value = "序号",required = false)
    private Long sqno;

    public Long getSqno() {
        return sqno;
    }

    public void setSqno(Long sqno) {
        this.sqno = sqno;
    }

    public BigDecimal getYxf_weight() {
        return yxf_weight;
    }

    public void setYxf_weight(BigDecimal yxf_weight) {
        this.yxf_weight = yxf_weight;
    }

    public BigDecimal getKxf_weight() {
        return kxf_weight;
    }

    public void setKxf_weight(BigDecimal kxf_weight) {
        this.kxf_weight = kxf_weight;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    private String type;

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    private String startTime;
    private String endTime;

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    private static final long serialVersionUID = 1L;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public String getProductid() {
        return productid;
    }

    public void setProductid(String productid) {
        this.productid = productid == null ? null : productid.trim();
    }

    public String getWorkprocid() {
        return workprocid;
    }

    public void setWorkprocid(String workprocid) {
        this.workprocid = workprocid == null ? null : workprocid.trim();
    }

    public Date getMay() {
        return may;
    }

    public void setMay(Date may) {
        this.may = may;
    }

    public BigDecimal getWeightMonth() {
        return weightMonth;
    }

    public void setWeightMonth(BigDecimal weightMonth) {
        this.weightMonth = weightMonth;
    }

    public BigDecimal getWeightDay() {
        return weightDay;
    }

    public void setWeightDay(BigDecimal weightDay) {
        this.weightDay = weightDay;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit == null ? null : unit.trim();
    }

    public String getJxdays() {
        return jxdays;
    }

    public void setJxdays(String jxdays) {
        this.jxdays = jxdays == null ? null : jxdays.trim();
    }

    public Date getCreatetime() {
        return createtime;
    }

    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    public String getCreateman() {
        return createman;
    }

    public void setCreateman(String createman) {
        this.createman = createman == null ? null : createman.trim();
    }

    public Date getUpdatetime() {
        return updatetime;
    }

    public void setUpdatetime(Date updatetime) {
        this.updatetime = updatetime;
    }

    public String getUpdateman() {
        return updateman;
    }

    public void setUpdateman(String updateman) {
        this.updateman = updateman == null ? null : updateman.trim();
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo == null ? null : memo.trim();
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", productid=").append(productid);
        sb.append(", workprocid=").append(workprocid);
        sb.append(", may=").append(may);
        sb.append(", weightMonth=").append(weightMonth);
        sb.append(", weightDay=").append(weightDay);
        sb.append(", unit=").append(unit);
        sb.append(", jxdays=").append(jxdays);
        sb.append(", createtime=").append(createtime);
        sb.append(", createman=").append(createman);
        sb.append(", updatetime=").append(updatetime);
        sb.append(", updateman=").append(updateman);
        sb.append(", memo=").append(memo);
        sb.append(", state=").append(state);
        sb.append(", startTime=").append(startTime);
        sb.append(", endTime=").append(endTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}