package org.jeecg.modules.mes.material.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

@Data
@TableName("mes_material_erp_map")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@Schema(description = "MES物料ERP映射")
public class MesMaterialErpMap implements Serializable {
  private static final long serialVersionUID = 1L;

  @TableId(type = IdType.ASSIGN_ID)
  private String id;

  @Excel(name = "物料", width = 15, dictTable = "mes_material", dicText = "material_name", dicCode = "id")
  @Dict(dictTable = "mes_material", dicText = "material_name", dicCode = "id")
  private String materialId;
  @Excel(name = "ERP系统", width = 12)
  private String erpSystemCode;
  @Excel(name = "ERP物料编码", width = 15)
  private String erpMaterialCode;
  @Excel(name = "ERP物料名称", width = 20)
  private String erpMaterialName;
  @Excel(name = "映射状态", width = 10)
  private Integer mappingStatus;
  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private Date lastSyncTime;
  @Excel(name = "备注", width = 20)
  private String remark;

  private Integer tenantId;
  private String sysOrgCode;
  private String createBy;
  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private Date createTime;
  private String updateBy;
  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private Date updateTime;
  private Integer delFlag;
}
