package com.steerinfo.ems.emsprodplanround.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 EmsProdplanRound implements IBasePO<String> {
    /**
     * 主键(ID,VARCHAR,100)
     */
    @ApiModelProperty(value="主键",required=true)
    private String id;

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

    /**
     * 序号(SQNO,VARCHAR,20)
     */
    @ApiModelProperty(value="序号",required=false)
    private Long sqno;

    /**
     * 单位ID(UNITID,VARCHAR,20)
     */
    @ApiModelProperty(value="单位ID",required=false)
    private String unitid;

    /**
     * 描述(DESCRIBE,VARCHAR,100)
     */
    @ApiModelProperty(value="描述",required=false)
    private String describe;

    /**
     * 状态(STATE,VARCHAR,10)
     */
    @ApiModelProperty(value="状态",required=false)
    private String state;

    /**
     * 钢种(GRADES,VARCHAR,100)
     */
    @ApiModelProperty(value="钢种",required=false)
    private String grades;

    /**
     * 计划量(PLAN_WEIGHT,DECIMAL,0)
     */
    @ApiModelProperty(value="计划量",required=false)
    private BigDecimal planWeight;

    /**
     * 规格(SPECIFICATIONS,VARCHAR,100)
     */
    @ApiModelProperty(value="规格",required=false)
    private String specifications;

    /**
     * 长度(LENGTHS,VARCHAR,100)
     */
    @ApiModelProperty(value="长度",required=false)
    private String lengths;

    /**
     * 化学成分执行标准(CHEMICAL_STANDARD,VARCHAR,100)
     */
    @ApiModelProperty(value="化学成分执行标准",required=false)
    private String chemicalStandard;

    /**
     * 表面成分执行标准(SURFACE_STANDARD,VARCHAR,100)
     */
    @ApiModelProperty(value="表面成分执行标准",required=false)
    private String surfaceStandard;

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

    /**
     * 下发时间(ISSUED_TIME,TIMESTAMP,7)
     */
    @ApiModelProperty(value="下发时间",required=false)
    private Date issuedTime;

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

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

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

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

    /**
     * 运输方式(TRANSPORT_TYPE,VARCHAR,100)
     */
    @ApiModelProperty(value="运输方式",required=false)
    private String transportType;

    /**
     * 用途(PURPOSE,VARCHAR,100)
     */
    @ApiModelProperty(value="用途",required=false)
    private String purpose;

    /**
     * 工序类别(WORKPROC_TYPE,VARCHAR,100)
     */
    @ApiModelProperty(value="工序类别",required=false)
    private String workprocType;

    /**
     * I:Insert;U:Update;D:Delete (MSG_FLAG,VARCHAR,20)
     */
    @ApiModelProperty(value="I:Insert;U:Update;D:Delete ",required=true)
    private String msgFlag;

    public String getType() {
        return type;
    }

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

    private String type;
    /**
     * N:未读;Y已读(READ_FLAG,VARCHAR,20)
     */
    @ApiModelProperty(value="N:未读;Y已读",required=true)
    private String readFlag;

    @ApiModelProperty(value="父级id",required=true)
    private String parentid;

    public String getParentid() {
        return parentid;
    }
    @ApiModelProperty(value = "断面",required = true)

    private String iateralArea;
    @ApiModelProperty(value = "长度*宽度",required = true)

    private String lengthTimesWidth;
    @ApiModelProperty(value = "截面尺寸",required = true)
    private String dimension;

    @ApiModelProperty(value = "处理状态",required = true)
    private String status;

    @ApiModelProperty(value = "错误信息",required = true)
    private  String err_msg;

    @ApiModelProperty(value = "去向", required =  true)
    private String goinfo;
    @ApiModelProperty
    private BigDecimal  fetchPlanWeight;
    //交货时间
    @JSONField(format = "yyyy-MM-dd")
    private Date deliveryDate;
    //订单归属(0国贸 1内部)
    private String ascription;

    public String getAscription() {
        return ascription;
    }

    public void setAscription(String ascription) {
        this.ascription = ascription;
    }

    public Date getDeliveryDate() {
        return deliveryDate;
    }

    public void setDeliveryDate(Date deliveryDate) {
        this.deliveryDate = deliveryDate;
    }
    //审核状态
    private String auditState;

    public String getAuditState() {
        return auditState;
    }

    public void setAuditState(String auditState) {
        this.auditState = auditState;
    }

    public String getGoinfo() {
        return goinfo;
    }

    public void setGoinfo(String goinfo) {
        this.goinfo = goinfo;
    }

    public BigDecimal getFetchPlanWeight() {
        return fetchPlanWeight;
    }

    public void setFetchPlanWeight(BigDecimal fetchPlanWeight) {
        this.fetchPlanWeight = fetchPlanWeight;
    }

    public String getStatus() {
        return status;
    }

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

    public String getErr_msg() {
        return err_msg;
    }

    public void setErr_msg(String err_msg) {
        this.err_msg = err_msg;
    }

    public String getIateralArea() {
        return iateralArea;
    }

    public void setIateralArea(String iateralArea) {
        this.iateralArea = iateralArea;
    }

    public String getLengthTimesWidth() {
        return lengthTimesWidth;
    }

    public void setLengthTimesWidth(String lengthTimesWidth) {
        this.lengthTimesWidth = lengthTimesWidth;
    }

    public String getDimension() {
        return dimension;
    }

    public void setDimension(String dimension) {
        this.dimension = dimension;
    }

    public void setParentid(String parentid) {
        this.parentid = parentid;
    }

    private static final long serialVersionUID = 1L;

    public String getId() {
        return id;
    }

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

    public Date getMay() {
        return may;
    }

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

    public Long getSqno() {
        return sqno;
    }

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

    public String getUnitid() {
        return unitid;
    }

    public void setUnitid(String unitid) {
        this.unitid = unitid == null ? null : unitid.trim();
    }

    public String getDescribe() {
        return describe;
    }

    public void setDescribe(String describe) {
        this.describe = describe == null ? null : describe.trim();
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state == null ? null : state.trim();
    }

    public String getGrades() {
        return grades;
    }

    public void setGrades(String grades) {
        this.grades = grades == null ? null : grades.trim();
    }


    public BigDecimal getPlanWeight() {
        return planWeight;
    }

    public void setPlanWeight(BigDecimal planWeight) {
        this.planWeight = planWeight;
    }

    public String getSpecifications() {
        return specifications;
    }

    public void setSpecifications(String specifications) {
        this.specifications = specifications == null ? null : specifications.trim();
    }

    public String getLengths() {
        return lengths;
    }

    public void setLengths(String lengths) {
        this.lengths = lengths;
    }

    public String getChemicalStandard() {
        return chemicalStandard;
    }

    public void setChemicalStandard(String chemicalStandard) {
        this.chemicalStandard = chemicalStandard == null ? null : chemicalStandard.trim();
    }

    public String getSurfaceStandard() {
        return surfaceStandard;
    }

    public void setSurfaceStandard(String surfaceStandard) {
        this.surfaceStandard = surfaceStandard == null ? null : surfaceStandard.trim();
    }

    public String getMemo() {
        return memo;
    }

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

    public Date getIssuedTime() {
        return issuedTime;
    }

    public void setIssuedTime(Date issuedTime) {
        this.issuedTime = issuedTime;
    }

    public String getCreateman() {
        return createman;
    }

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

    public Date getCreatetime() {
        return createtime;
    }

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

    public String getUpdateman() {
        return updateman;
    }

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

    public Date getUpdatetime() {
        return updatetime;
    }

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

    public String getTransportType() {
        return transportType;
    }

    public void setTransportType(String transportType) {
        this.transportType = transportType == null ? null : transportType.trim();
    }

    //下发和取消下发的标志
    public String isxf;

    public String getIsxf() {
        return isxf;
    }

    public void setIsxf(String isxf) {
        this.isxf = isxf;
    }

    public String getPurpose() {
        return purpose;
    }

    public void setPurpose(String purpose) {
        this.purpose = purpose == null ? null : purpose.trim();
    }

    public String getWorkprocType() {
        return workprocType;
    }

    public void setWorkprocType(String workprocType) {
        this.workprocType = workprocType == null ? null : workprocType.trim();
    }

    public String getMsgFlag() {
        return msgFlag;
    }

    public void setMsgFlag(String msgFlag) {
        this.msgFlag = msgFlag == null ? null : msgFlag.trim();
    }

    public String getReadFlag() {
        return readFlag;
    }

    public void setReadFlag(String readFlag) {
        this.readFlag = readFlag == null ? null : readFlag.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(", may=").append(may);
        sb.append(", sqno=").append(sqno);
        sb.append(", unitid=").append(unitid);
        sb.append(", describe=").append(describe);
        sb.append(", state=").append(state);
        sb.append(", grades=").append(grades);
        sb.append(", planWeight=").append(planWeight);
        sb.append(", specifications=").append(specifications);
        sb.append(", lengths=").append(lengths);
        sb.append(", chemicalStandard=").append(chemicalStandard);
        sb.append(", surfaceStandard=").append(surfaceStandard);
        sb.append(", memo=").append(memo);
        sb.append(", issuedTime=").append(issuedTime);
        sb.append(", createman=").append(createman);
        sb.append(", createtime=").append(createtime);
        sb.append(", updateman=").append(updateman);
        sb.append(", updatetime=").append(updatetime);
        sb.append(", transportType=").append(transportType);
        sb.append(", purpose=").append(purpose);
        sb.append(", workprocType=").append(workprocType);
        sb.append(", msgFlag=").append(msgFlag);
        sb.append(", readFlag=").append(readFlag);
        sb.append(",parentid=").append(parentid);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}