package digital.laboratory.platform.inspetion.api.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import digital.laboratory.platform.common.mybatis.base.BaseEntity;
import digital.laboratory.platform.sys.entity.DrugLite;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.List;


/**
 * 检材信息
 */
@Data
@ApiModel(value = "检材信息:用户接受其他系统提供的检材信息")
public class MaterialDto extends BaseEntity {

    /**
     * 检材id
     */
    @ApiModelProperty(value = "检材id")
    private String id;

    /**
     * 检材编号
     */
    @ApiModelProperty(value = "检材编号")
    private String imNo;

    @ApiModelProperty(value = "委托id")
    private String entrustmentId;

    /**
     * 检材名称
     */
    @ApiModelProperty(value = "检材名称")
    private String name;

    /**
     * 检材类别:继承所取物证的类别或从物证类别选择
     */
    @ApiModelProperty(value = "检材类别:继承所取物证的类别或从物证类别选择")
    private String type;

    @ApiModelProperty(value = "检材颜色:继承所取物证颜色或手动填入")
    private String color;

    /**
     * 检材性状:继承所取物证性状或从物证性状类别选择
     */
    @ApiModelProperty(value = "检材性状:继承所取物证性状或从物证性状类别选择")
    private String form;


    /**
     * 检材情况之承载物数量, 例如 5 颗, 3包
     */
    @ApiModelProperty(value = "检材情况之承载物数量, 例如 5 颗, 3包")
    private Integer fundQuantity;

    /**
     * 检材情况之承载物单位, 例如 5 颗, 3包
     */
    @ApiModelProperty(value = "检材情况之承载物单位, 例如 5 颗, 3包")
    private String fundUnit;

    /**
     * 检材数量, 例如 3.8 克 或 4.5毫升
     */
    @ApiModelProperty(value = "检材数量, 例如 3.8 克 或 4.5毫升")
    private BigDecimal quantity;

    /**
     * 计量单位, 例如 3.8 克 或 4.5毫升
     */
    @ApiModelProperty(value = "计量单位, 例如 3.8 克 或 4.5毫升")
    private String unit;

    @ApiModelProperty(value = "检材受理编号")
    private String acceptNo;

    /**
     * 候选毒品列表(drug 对象的 json array)
     */
    @ApiModelProperty(value = "候选毒品列表(drug 对象的 json array)")
    private List<DrugLite> candidateDrugs;

    private BigDecimal sample1Quantity;

    private String sampleName;

    private String sampleCode;

    private Integer orderNo;

    private BigDecimal sample1RepeatWeigh;

    private String formName;

    private Integer analysisOption;//分析项目，代替原来的定性分析，定量分析字段  1.定性分析   2.定量分析 3.定性定量分析 4.关联性判断 5。其他

}
