package com.xisc.pm.api.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;

@Data
@ApiModel("履历事件信息")
public class PmPdRecDTO implements Serializable {
    
    private static final long serialVersionUID = 5461513580821159157L;
    
    public static final String DESC_VIRTUAL_SLAB_NO = "虚拟板坯号";
    public static final String DESC_OVER_REASON = "超投原因";
    public static final String DESC_OVER_QTY = "超投件数";
    public static final String DESC_CALCEL_OVER_QTY = "取消超投件数";
    public static final String DESC_LACK_CHANGE = "组板工序欠件的变化情况";
    public static final String DESC_TOTAL_CHANGE = "组板形成总件数的变化情况";

    @ApiModelProperty("事件标识")
    private String eventCode;

    @ApiModelProperty("系统标识")
    private String systemCode;

    @ApiModelProperty("功能标识")
    private String apiCode;

    @ApiModelProperty("事件员工编号")
    private String eventMaker;

    @ApiModelProperty("合同号")
    private String orderNo;

    @ApiModelProperty("产线号")
    private String mscLineNo;

    @ApiModelProperty("材料号")
    private String matNo;

    @ApiModelProperty("出发模块")
    private String moduleCode;
    
    @ApiModelProperty("拓展参数")
    private Map<String , Object> params = new HashMap<String, Object>();
    
    @ApiModelProperty(value = "重量", required = true)
    @NotNull
    private BigDecimal wt;
    
    @ApiModelProperty(value = "件数", required = true)
    @NotNull
    private BigDecimal qty;
    
    @ApiModelProperty(value = "关键字串1说明", required = true)
    @NotBlank
    private String keyvalue1Desc;
    
    @ApiModelProperty(value = "关键字串1", required = true)
    @NotBlank
    private String keyvalue1;
    
    @ApiModelProperty(value = "关键字串2说明", required = true)
    @NotBlank
    private String keyvalue2Desc;
    
    @ApiModelProperty(value = "关键字串2", required = true)
    @NotBlank
    private String keyvalue2;
    
    @ApiModelProperty(value = "关键字串3说明", required = true)
    @NotBlank
    private String keyvalue3Desc;
    
    @ApiModelProperty(value = "关键字串3", required = true)
    @NotBlank
    private String keyvalue3;
    
    @ApiModelProperty(value = "返回出错信息")
    private String returnErrorMsg;
    
}
