package com.zt.plat.module.qms.resource.material.dal.dataobject;

import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.*;
import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO;
/**
* 物料实例 DO
*
* @author 后台管理
*/
@TableName("t_mtrl_inf")
@KeySequence("t_mtrl_inf_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承：isBusiness=true 时继承 BusinessBaseDO，否则继承 BaseDO
*/
public class MaterialInfomationDO extends BusinessBaseDO {



    /**
    * 主键
    */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /**
    * 物料大类id
    */
    @TableField("PDT_ID")
    private Long productId;
    /**
    * 批次id
    */
    @TableField("BAT_ID")
    private Long batchId;
    /**
    * 存放位置
    */
    @TableField("LOC_ID")
    private Long locationId;
    /**
     * 工段id
     */
    @TableField("GONG_ID")
    private Long gongduanId;
    /**
    * 编码
    */
    @TableField("CD")
    private String code;
    /**
     * 来源,批次入库，标液配置、危化品配置等
     */
    @TableField("ORGN")
    private String origin;
    /**
    * 名称
    */
    @TableField("NAME")
    private String name;
    /**
     * 型号
     */
    @TableField("MDL_NO")
    private String modelNo;
    /**
     * 规格
     */
    @TableField("SPEC")
    private String specification;
    /**
    * 技术参数
    */
    @TableField("PRM")
    private String parameter;
    /**
     * 制造商
     */
    @TableField("MFR")
    private String manufacturer;
    /**
     * 单位
     */
    @TableField("UNT")
    private String unit;
    /**
     * 保质期（天）
     */
    @TableField("DUE")
    private Integer due;
    /**
     * 开封后保质期（天）
     */
    @TableField("OPN_DUE_AFT")
    private Integer openDueAfter;
    /**
    * 上架状态,0-未上架，1-已上架
    */
    @TableField("PUB_STS")
    private Integer publishStatus;
    /**
    * 领用状态,0-未领用，1-已领用，2-锁定
    */
    @TableField("USG_STS")
    private Integer usageStatus;
    /**
    * 所属部门ID
    */
    @TableField("MNGR_DEPT_ID")
    private Long managerDepartmentId;
    /**
    * 领用人部门
    */
    @TableField("MNGR_DEPT_NAME")
    private String managerDepartmentName;
    /**
    * 负责人id
    */
    @TableField("MNGR_USER_ID")
    private Long managerUserId;
    /**
    * 负责人
    */
    @TableField("MNGR_USER_NAME")
    private String managerUserName;
    /**
    * 所属部门id
    */
    @TableField("BLG_DEPT_ID")
    private Long belongDepartmentId;
    /**
    * 所属部门
    */
    @TableField("BLG_DEPT_NAME")
    private String belongDepartmentName;
    /**
    * 开封状态,0-未开封，1-已开封
    */
    @TableField("OPN_STS")
    private Integer openStatus;
    /**
    * 开封人id
    */
    @TableField("OPN_USER_ID")
    private Long openUserId;
    /**
    * 开封人
    */
    @TableField("OPN_USER_NAME")
    private String openUserName;
    /**
    * 开封日期
    */
    @TableField("OPN_DT")
    private LocalDateTime openDate;
    /**
     * 生产日期
     */
    @TableField("MFR_DT")
    private LocalDate manufacturerDate;
    /**
    * 到期日期
    */
    @TableField("EXPR_DT")
    private LocalDate expirationDate;
    /**
    * 过期状态
    */
    @TableField("EXPR_FLG")
    private String expirationFlag;
    /**
    * 剩余量
    */
    @TableField("RMNG_VOL")
    private BigDecimal remainingVolume;
    /**
    * 初始总量
    */
    @TableField("INIT_VOL")
    private BigDecimal initialVolume;
    /**
    * 用完标记,0-未标记，1-已用完标记
    */
    @TableField("USE_END_FLG")
    private Integer useEndFlag;
    /**
    * 所属部门
    */
    @TableField("SYS_DEPT_CD")
    private String systemDepartmentCode;
    /**
    * 备注
    */
    @TableField("RMK")
    private String remark;

}