package digital.laboratory.platform.imr.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import digital.laboratory.platform.common.mybatis.base.BaseEntity;
import digital.laboratory.platform.sys.entity.DrugLite;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 毒品库中的毒品检材信息
 * @TableName b_drug_material_info
 */
@TableName(value ="b_drug_material_info", autoResultMap = true)
@Data
public class DrugMaterialInfo extends BaseEntity {
    /**
     * 主键标识
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 关联的案件id
     */
    private String caseId;

    /**
     * 毒品检材编号
     */
    private String drugNo;

    /**
     * 毒品检材名称
     */
    private String drugName;

    /**
     * 毒品类型
     */
    @TableField(typeHandler = FastjsonTypeHandler.class)
    private List<DrugLite> type;

    /**
     * 原质量/体积（委托单位填写）
     */
    private String originMassVolume;

    /**
     * 原质量/体积 单位 （委托单位填写）
     */
    private String originUnit;

    /**
     * 复称质量/体积（接收单位填写）
     */
    private String recheckMassVolume;

    /**
     * 复称质量/体积 单位 （接收单位填写）
     */
    private String recheckUnit;

    /**
     * 包装是否完整， 1 完整 | 0 不完整
     */
    private Boolean packageComplete;

    /**
     * 毒品检材状态， 0 待收样 | 1 待复称 | 2 已复称 | 3 待入库 | 5 已入库 | 已出库
     */
    private Integer status;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
