package com.sw.common.accessory.server.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import java.util.Date;

/**
 * @Author
 * @Description：
 * @Date: Create in
 * @Modified By:
 */
@Data
@ApiModel(value = "加工工单列表返回对象DTO")
public class ProductionOrderDto {

    private Long id;
    @ApiModelProperty(value = "SAP 订单编号 SAP中最多12位")
    @Length(max = 30, message = "订单编号，最多30位")
    String aufnr;
    @ApiModelProperty(value = "FAB Name工厂编码")
    String werks;
    @ApiModelProperty(value = "订单类型")
    String auart;
    @ApiModelProperty(value = " 产品料号")
    String matnr;
    @ApiModelProperty(value = "数量")
    Long menge;
    @ApiModelProperty(value = "单位")
    String meins;
    @ApiModelProperty(value = "1 ~ 9，优先级")
    String aprio;
    @ApiModelProperty(value = "客户信息")
    String customerid;
    @ApiModelProperty(value = "销售订单号")
    String salesorder;
    @ApiModelProperty(value = "销售订单行号")
    String kdpos;
    @ApiModelProperty(value = "负责人")
    String ownerengineer;
    @ApiModelProperty(value = "计划结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date gltrp;
    @ApiModelProperty(value = " 计划开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date gstrp;
    @ApiModelProperty(value = "订单状态 (正常:REL) 其他则为关闭状态")
    String status;
    @ApiModelProperty(value = "Comment 订单备注")
    String comment;
    @ApiModelProperty(value = "保税号")
    String bonded;
    @ApiModelProperty(value = "研发项目编号")
    String rdNum;
    @ApiModelProperty(value = "晶体板块用来标注特殊圆棒或方棒的字段")
    String rdInd;
    @ApiModelProperty(value = "预留字段")
    String field1;
    @ApiModelProperty(value = "预留字段")
    String field2;
    @ApiModelProperty(value = "预留字段")
    String field3;
    @ApiModelProperty(value = "预留字段")
    String field4;
    @ApiModelProperty(value = "预留字段")
    String field5;
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date createDate;
    @ApiModelProperty(value = "创建人id" )
    Integer createUserId;
    @ApiModelProperty(value = "创建人姓名" )
    String createUserName;
    @ApiModelProperty(value = "工程模式id" )
    Integer factoryId;
    @ApiModelProperty(value = "导电型号")
    String productModelConductionType;
    @ApiModelProperty(value = "规格")
    String productModelSpecs;

    @ApiModelProperty(value = "长度范围")
    String productModelLenRange;
    @ApiModelProperty(value = "产品等级")
    String productModelProductGrade;
    @ApiModelProperty(value = "掺杂剂")
    String productModelDopant;
    @ApiModelProperty(value = "定向标识")
    String productModelDirectionalSign;
    @ApiModelProperty(value = "拼棒数")
    Integer productModelSticksCount;

    @ApiModelProperty(value = "组合号")
    private String zCollectNo;
    @ApiModelProperty(value = "组合行号")
    private String zCollectItm;

    @ApiModelProperty(value = " 是否生产")
    Boolean productionStatus;

    @ApiModelProperty(value = "安装孔距")
    private String zeinr;
    @ApiModelProperty(value = "技术文件编号")
    private String zjswjbh;
    @ApiModelProperty(value = "名称1")
    private String name1;
    @ApiModelProperty(value = "目的地国家")
    private String zzlandd;
    @ApiModelProperty(value = "工序号")
    private String vornr;

    @ApiModelProperty(value = "特征名称")
    private String atnam;
    @ApiModelProperty(value = "特性描述")
    private String tbez;
    @ApiModelProperty(value = "特性值")
    private String atwrt;
    @ApiModelProperty(value = "特性值文本")
    private String atwtb;
    
    @ApiModelProperty(value = "销售区域")
    private String bezei;
    
    @ApiModelProperty(value = "国内国外")
    private String zzcountry;

    @ApiModelProperty(value = "毛重")
    private String brgew;
    //对应绑定物料信息
    @ApiModelProperty(value = "绑定物料 - 物料组")
    private String wgbez;
    @ApiModelProperty(value = "绑定物料 - 物料类型")
    private String mtbez;
    @ApiModelProperty(value = "绑定物料 - 产品组")
    private String vtext;
    @ApiModelProperty(value = "绑定物料 - 毛重")
    private String matkl;
    @ApiModelProperty(value = "绑定物料 - 净重")
    private String ntgew;
    @ApiModelProperty(value = "绑定物料 - 长度")
    private String laeng;
    @ApiModelProperty(value = "绑定物料 - 宽度")
    private String breit;
    @ApiModelProperty(value = "绑定物料 - 高度")
    private String hoehe;
    //对应绑定物料信息
    
 
    //工作中心类别 20240105新增
    private String zarbplLb;
    //外发标识 20240106新增
    private String zwfFlag;
    //销售订单行需求数量
    private String netGamng;
    
    @ApiModelProperty(value = "工单类型描述")
    private String auarttxt;
    
    
    /**
     * 研发唯一标识
     */
    @ApiModelProperty(value = "研发唯一标识")
    String rdonlylogo;

    @ApiModelProperty(value = "加工能力编码")
    Integer machineCapacityId;

    /**
     * 排程属性
     */
    @ApiModelProperty(value = "排程数量")
    Long sumCount;
    @ApiModelProperty(value = "排程设备数量")
    Long counts;


    @ApiModelProperty(value = "产品类别")
    String productType;

    @ApiModelProperty(value = "产品类别（汉字，根据productType从字典中查到）")
    String productTypeS;
    /**
     * 电阻类型
     */
    @ApiModelProperty(value = "电阻类型")
    private String resistanceType;

    @ApiModelProperty(value = "方棒边长范围")
    private String sideLengthRange;

    @ApiModelProperty(value = "车间")
    private String workShop;

    @ApiModelProperty(value = "溯源标识")
    private String fromMark;

    @ApiModelProperty(value = "基地")
    private String baseMark;


    @ApiModelProperty(value = "方棒订单单号")
    private String fbOrderNo;

    @ApiModelProperty(value = "部门编码")
    private String deptCode;

    @ApiModelProperty(value = "erp订单单号")
    private String erpOrderNo;

    @ApiModelProperty(value = "生产工作类型:数据字典中配置 圆棒,方棒,截断.....")
    private Integer workType;

    @ApiModelProperty(value = "设备类别(1:单晶, 3:刀刨, 4:截断, 5:其他)")
    private Integer category;
    
    @ApiModelProperty(value = "拉晶工单定向标识")
    private String zorientationind;

    @ApiModelProperty(value = "是否被排程 0未被排程，1已被排程")
    private Integer scheduled = 0;


}
