package cn.estsh.i3plus.ext.mes.pojo.bean;

import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;
import java.io.Serializable;

/**
 * @Description:
 * @Author: xiangming.liao
 * @Date: 2021/01/22 15:47
 * @Modify:
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@Table(name = "MES_PART_RECORD", indexes = {
        @Index(columnList = "PART_NO")
})
@Api("物料履历表")
public class MesPartRecord extends BaseBean implements Serializable {

    private static final long serialVersionUID = 2975977459442327091L;

    @Column( name = "PART_NO")
    @ApiParam("物料编码")
    private String partNo;

    @Lob
    @Column(name = "MODIFY_CONTENT")
    @ApiParam("更新内容")
    private String updateContent;

//    @Column(
//            name = "PART_NAME"
//    )
//    @ApiParam("物料名称")
//    private String partName;
//    @Column(
//            name = "BRIEF_TEXT"
//    )
//    @ApiParam("物料简称")
//    private String briefText;
//
//    @Column(
//            name = "CATEGORY_CODE1"
//    )
//    @ApiParam("分类1")
//    private String categoryCode1;
//    @Column(
//            name = "CATEGORY_CODE2"
//    )
//    @ApiParam("分类2")
//    private String categoryCode2;
//    @Column(
//            name = "CATEGORY_CODE3"
//    )
//    @ApiParam("分类3")
//    private String categoryCode3;
//    @Column(
//            name = "UNIT"
//    )
//    @ApiParam("单位")
//    private String unit;
//    @Column(
//            name = "PACK_SPEC_CODE"
//    )
//    @ApiParam("包装规格代码")
//    private String packSpecCode;
//
//    @Column(
//            name = "PROCESS_MATCH_TYPE"
//    )
//    @ApiParam("过程编码匹配类型")
//    private Integer processMatchType = 0;
//    @Column(
//            name = "PACKAGE_MATCH_TYPE"
//    )
//    @ApiParam("包装编码匹配类型")
//    private Integer packageMatchType = 0;
//    @Column(
//            name = "PRODUCT_MATCH_TYPE"
//    )
//    @ApiParam("产品编码匹配类型")
//    private Integer productMatchType = 0;
//    @Column(
//            name = "PPT_CODE"
//    )
//    @ApiParam("产品类型代码")
//    private String pptCode;
//
//    @Column(
//            name = "COLOR_CODE"
//    )
//    @ApiParam("颜色代码")
//    private String colorCode;
//    @Column(
//            name = "COLOR_NAME"
//    )
//    @ApiParam("颜色名称")
//    private String colorName;
//
//    @Column(
//            name = "QTY2",
//            columnDefinition = "decimal(18,8)"
//    )
//    @ColumnDefault("0")
//    @ApiParam("标包数量")
//    private Double qty2;
//
//    @Column(name = "FILE_ID")
//    @ApiParam("文件编号")
//    private Long fileId;
//
//    @Column(name = "IS_CREATE_SN")
//    @ColumnDefault("2")
//    @ApiParam("是否生成条码")
//    private Integer isCreateSn;
//
//    @Column(name = "IDENTIFY_CODE")
//    @ApiParam("物料识别码")
//    private String identifyCode;
//
//    @Column(name = "SN_LAST_CODE")
//    @ApiParam("条码末位数")
//    private String snLastCode;
//
//    @Column(name = "JAPAN_DESC")
//    @ApiParam("日文描述")
//    private String japanDesc;
//
//    @Column(name = "GOODS_CODE")
//    @ApiParam("商品码")
//    private String goodsCode;
//
//    @Column(name = "PREFIX")
//    @ApiParam("前缀")
//    private String prefix;
//
//    @Column(name = "QUALITY_ASSURE_CODE")
//    @ApiParam("质保书码")
//    private String qualityAssureCode;
//
//    @Column(name = "IS_PS_PARTS")
//    @ApiParam("是否PS部件")
//    private Integer isPSParts = 2;
//
//    @Column(name = "STANDARD_WORK", columnDefinition = "decimal(18,8)")
//    @ColumnDefault("0")
//    @ApiParam("标准工数")
//    private Double standardWork;
//
//    @Column(name = "IS_OQC")
//    @ApiParam("是否出货检验")
//    private Integer isOqc = 1;
//
//    @Column(name = "SALES_TO")
//    @ApiParam("销售向")
//    private String salesTo;
//
//    @Column(name = "LOT_NO")
//    @ApiParam("批次号")
//    private String lotNo;
//
//    @Column(name = "FILE_ORIGIN_NAME")
//    @ApiParam("文件原名")
//    private String fileOriginName;
//
//    @Column(name = "UPLOAD_DATE_TIME")
//    @ApiParam("上传时间")
//    private String uploadDatetime;
//
//    @Column(name = "PART_NO_EXT")
//    @ApiParam("零件号")
//    private String partNoExt;
//
//    @Column(name = "ORGANIZE_CODE_EXT")
//    @ApiParam("组织代码")
//    public String organizeCodeExt;
//
//    @Column(name = "PACK_NO_PRINT_TIMES")
//    @ApiParam("包装条码打印张数")
//    private Integer packNoPrintTimes;
//
//    @Column(name = "SN_PRINT_TIMES")
//    @ApiParam("本体条码打印张数")
//    private Integer snPrintTimes;
//
//    @Column(name = "BIG_PROCESS_MATCH_TYPE")
//    @ApiParam("大本体条码匹配类型")
//    private Integer bigProcessMatchType  = 0;
//
//    @Column(name = "SN_PRINT_COLUMN_NUMBER")
//    @ApiParam("本体条码打印列数")
//    public Integer snPrintColumnNumber;
//
//    //EP专用
//    @Column(name = "PART_LOT_NO_LENGTH")
//    @ApiParam("成品批次号长度")
//    public Integer partLotNoLength;
//
//    @Column(name = "CUSTOMS_PART_NO")
//    @ApiParam("海关物料号")
//    public String customsPartNo;
//
//    @Column(name = "IS_PRINT_QUALITY_ASSURE_INDIA")
//    @ApiParam("是否打印质保书")
//    public Integer isPrintQualityAssureIndia;
//
//    @Column(name = "SYSTEM_SYNC_STATUS_EXT")
//    @ColumnDefault("2")
//    @ApiParam(value = "系统同步标志")
//    public Integer systemSyncStatusExt = 2;
//
//    @Column(
//            name = "MODIFY_DATE_TIME_EXT"
//    )
//    @ApiParam("修改日期")
//    @DynamicField(
//            webFieldType = CommonEnumUtil.FIELD_TYPE.DATETIME,
//            isRequire = 2
//    )
//    public String modifyDatetimeExt;

}
