package digital.laboratory.platform.entrustment.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDate;

@Data
@ApiModel(value = "UpdateCaseAndEntrustTypeDTO", description = "更新案件信息和委托类型的DTO请求类")
public class UpdateCaseAndEntrustTypeDTO {

    /**
     * id
     */
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value="id")
    private String id;

    /**
     * 案件编号
     */
    @ApiModelProperty(value="案件编号")
    private String caseNo;

    /**
     * 第三方系统(如现勘系统、案事件系统)编号
     */
    @ApiModelProperty(value="第三方系统(如现勘系统、案事件系统)编号")
    private String thirdPartySysNo;

    /**
     * 案件名称任务名称
     */
    @ApiModelProperty(value="案件名称任务名称")
    private String caseName;

    /**
     * 案件类型
     */
    @ApiModelProperty(value="案件类型")
    private String caseType;

    /**
     * 案发时间
     */
    @ApiModelProperty(value="案发时间")
    private LocalDate happenTime;

    /**
     * 案发地详细地点
     */
    @ApiModelProperty(value="案发地详细地点")
    private String caseAddress;

    /**
     * 案发地行政区划编码(到县一级)
     */
    @ApiModelProperty(value="案发地行政区划编码(到县一级)")
    private String caseArea;

    /**
     * 案件所属机构
     */
    @ApiModelProperty(value="案件所属机构")
    private String caseOwnOrgId;

    /**
     * 案件级别: 0=普通案件, 1=紧急案件, 2=加急案件
     */
    @ApiModelProperty(value="案件级别: 0=普通案件, 1=紧急案件, 2=加急案件")
    private Integer caseRank;

    /**
     * 案情简要
     */
    @ApiModelProperty(value="案情简要")
    private String caseBrief;

    /**
     * 案件备注
     */
    @ApiModelProperty(value="案件备注")
    private String comments;

    /**
     * 数据来源，用于区别数据来自自身系统还是外部系统
     */
    @ApiModelProperty(value="数据来源")
    private Integer dataSources;

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

    @ApiModelProperty(value="委托类型: 0=常规毒品, 1=生物样本")
    private Integer entrustmentType;

    /**
     * 20250121 新增的一个委托类型，选择生物样本类型后需要区分是 0 委托、1 初筛、 2 两社人员、 3 其他人员， 常规毒品 0 委托 1 初筛，其他的不需要区分
     * 存字符串，不用code表达
     */
    @ApiModelProperty("新增的一个委托类型，选择生物样本类型后需要区分是 0 委托、1 初筛、 2 两社人员、 3 其他人员， 常规毒品 0 委托 1 初筛，其他的不需要区分")
    private String type;
}
