package com.sw.mes.yb.plan.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sw.mes.base.workinprocess.dto.CompletionStatusDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
* @Author
* @Description：
* @Date: Create in
* @Modified By:
*/
@Data
@ApiModel(value = "圆棒生产订单Dto")
public class YbProductionOrderDto {

    private Long id;
     @ApiModelProperty(value = "guid,plnatid+date+time+流水" )
     String tid;
     @ApiModelProperty(value = "sap char(12) sap中最多12位" )
     String aufnr;
     @ApiModelProperty(value = "fab name 工厂编码" )
     String werks;
     @ApiModelProperty(value = "need to sync with sap 需要与sap一致" )
     String auart;
     @ApiModelProperty(value = "product id 产品物料编码" )
     String matnr;
     @ApiModelProperty(value = "数量，业务可能调整" )
     BigDecimal menge;
     @ApiModelProperty(value = "单位    业务可能调整" )
     String meins;
     @ApiModelProperty(value = "优先级1 ~ 9，业务可能调整" , required = true)
     String aprio;
     @ApiModelProperty(value = "null, reserve 空白，保留字段" )
     String customerid;
     @ApiModelProperty(value = "sales order 销售订单信息" )
     String salesorder;
     @ApiModelProperty(value = "owner 负责人" )
     String ownerengineer;
     @ApiModelProperty(value = "plan end date 计划结束时间" )
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     Date gltrp;
     @ApiModelProperty(value = "plan start date 计划开始时间" )
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     Date gstrp;
     @ApiModelProperty(value = "order status 订单状态" )
     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 = "是否生产" , required = true)
     Boolean productionStatus;
     @ApiModelProperty(value = "圆棒产品模型id" , required = true)
     Integer productModelId;
     @ApiModelProperty(value = "导电型号")
     String productModelConductionType;
     @ApiModelProperty(value = "规格")
     String productModelSpecs;

     @ApiModelProperty(value = "长度范围")
     String productModelLenRange;
     @ApiModelProperty(value = "产品等级")
     String productModelProductGrade;
     @ApiModelProperty(value = "掺杂剂")
     String productModelDopant;
     @ApiModelProperty(value = "拼棒数")
     Integer productModelSticksCount;
     @ApiModelProperty(value = "研发唯一标识" )
     String rdonlylogo;
     @ApiModelProperty(value = "加工能力id" , required = true)
     Integer machineCapacityId;

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

    /**
     * 电阻类型
     */
    @ApiModelProperty(value = "电阻类型")
    private String resistanceType;

    /**
     * 订单完成情况
     */
    LinkedList<CompletionStatusDto> completionStatusDtos;
}