package com.sw.mes.fb.turnstore.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sw.mes.fb.turnstore.entity.FbTurnstoreTrayItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Column;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * @Author
 * @Description：
 * @Date: Create in
 * @Modified By:
 */
@Data
@ApiModel(value = "方棒组托主表Dto")
public class FbTurnstoreTrayDto {

    private Integer id;
    @ApiModelProperty(value = "托号")
    String trayNo;
    @ApiModelProperty(value = "打托类型【0：默认，正常拖；1：是，非正常拖；】")
    String palletType;
    @ApiModelProperty(value = "厂区")
    String factoryName;
    @ApiModelProperty(value = "方棒产品等级")
    String productLevelSecond;
    @ApiModelProperty(value = "单晶总数")
    Integer count;
    @ApiModelProperty(value = "组托状态【满托；未满托】")
    String status;
    @ApiModelProperty(value = "去向")
    String hasGone;
    @ApiModelProperty(value = "入库状态【0：默认，未入库；1：是，已入库；】")
    Integer state;
    @ApiModelProperty(value = "是否可取消标识【1：可取消，0：不可取消】")
    Integer flag;
    @ApiModelProperty(value = "操作人")
    String user;
    @ApiModelProperty(value = "更新人")
    String updateUser;
    @ApiModelProperty(value = "操作时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date operationTime;
    @ApiModelProperty(value = "报工时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date reportingTime;
    @ApiModelProperty(value = "备注")
    String remark;
    @ApiModelProperty(value = "打印时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date printTime;
    @ApiModelProperty(value = "组托时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date time;
    @ApiModelProperty(value = "是否出库到WMS 0否 1是")
    Integer isToWms;
    @ApiModelProperty(value = "出库到WMS时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date toWmsTime;
    @ApiModelProperty(value = "顺序号")
    Integer orderNum;
    @ApiModelProperty(value = "打托工位")
    String station;
    @ApiModelProperty(value = "规格")
    String specs;
    @ApiModelProperty(value = "拼数")
    String sticksCount;
    @ApiModelProperty(value = "实验等级")
    String experGrade;

    /**
     * 客户　新增
     */
    @ApiModelProperty(value = "客户")
    private String customer;
    /**
     * 试验
     */
    @ApiModelProperty(value = "试验")
    private String testZt;
    @ApiModelProperty(value = "确认时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date confirmTime;
    @ApiModelProperty(value = "确认人")
    String confirmUser;
    @ApiModelProperty(value = "班次")
    String classNo;


    /**
     * 配棒规则识别码
     */
    @ApiModelProperty(value = "配棒规则识别码")
    private String identifyingCode;

    /**
     * 配棒规则识别名称
     */
    @ApiModelProperty(value = "配棒规则识别名称")
    private String identifyingName;

    /**
     * 对照边距
     */
    @ApiModelProperty(value = "对照边距")
    private String borderWidth;

    /**
     * 边宽key
     */
    @ApiModelProperty(value = "边宽key")
    private String borderWidthKey;

    /**
     * 边宽value
     */
    @ApiModelProperty(value = "边宽范围")
    private String borderWidthValue;

    /**
     * 扣减规则
     */
    @ApiModelProperty(value = "扣减规则")
    private String deductRule;

    /**
     * ERP上报状态，0 未上报，1 已上报
     */
    @ApiModelProperty(value = "ERP上报状态，0 未上报，1 已上报")
    private Integer reportedState;

    @ApiModelProperty(value = "ERP订单编号")
    private String erpOrder;

    @ApiModelProperty("ERP上报时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime erpTime;

    @ApiModelProperty(value = "组托规则Id",required = true)
    private Integer ruleId;
    
    
    @ApiModelProperty("等级码")
    private String levelCode;

    @ApiModelProperty(value = "直发或者外发【0直发，1外发】")
    private Integer directOrOutgoing;
    @ApiModelProperty(value = "方棒组托明细")
    List<FbTurnstoreTrayItem> trayItems;

}