package digital.laboratory.platform.entrustment.vo;

import digital.laboratory.platform.common.aop.annotation.DlpFeign;
import digital.laboratory.platform.entrustment.entity.Entrustment;
import digital.laboratory.platform.entrustment.entity.EntrustmentIdentificationMaterial;
import digital.laboratory.platform.entrustment.entity.Suspect;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@Data
@ApiModel(description = "委托信息视图对象")
public class EntrustmentVO extends Entrustment {

    @ApiModelProperty("案件名称")
    private String caseName;

    @ApiModelProperty("案件编号")
    private String caseNo;

    @ApiModelProperty("案情简要")
    private String caseBrief;

    @ApiModelProperty("委托单位的祖先 ID（JSON 数组）")
    private List<String> clientOrgAncestors;

    @ApiModelProperty("委托提交人姓名")
    private String submitterName;

    @ApiModelProperty("审核任务认领人姓名")
    private String checkClaimUserName;

    @ApiModelProperty("审核人姓名")
    private String checkUserName;

    @ApiModelProperty("审批任务认领人姓名")
    private String approveClaimUserName;

    @ApiModelProperty("审批人姓名")
    private String approveUserName;

    @ApiModelProperty("送检确认人姓名")
    private String deliverConfirmUserName;

    @ApiModelProperty("送检操作提交人姓名")
    private String deliverSubmitterName;

    @ApiModelProperty("受理任务认领人姓名")
    private String acceptClaimUserName;

    @ApiModelProperty("受理人姓名")
    private String acceptUserName;

    @ApiModelProperty("报告发放人姓名")
    private String reportSenderUserName;

    @ApiModelProperty("检材发放人姓名")
    private String sampleSenderUserName;

    @ApiModelProperty("创建人姓名")
    private String createUserName;

    @ApiModelProperty("更新人姓名")
    private String updateUserName;

    @ApiModelProperty("状态描述")
    private String statusDescription;

    @ApiModelProperty("上一个状态的描述")
    private String previousStatusDescription;

    @ApiModelProperty("检材数量")
    private int identificationMaterialCount;

    @ApiModelProperty("原鉴定情况（组合 5 个字段形成综述）")
    private String oldIdentificationBrief;

    @ApiModelProperty("鉴定编号")
    private String identificationNo;

    @ApiModelProperty("案发时间")
    private String happenTime;

    @ApiModelProperty("委托关联的检出有多少检出的数量")
    private Integer checkoutResultCount;

    @ApiModelProperty("委托关联的检出信息字符串")
    private String checkoutResultStr;

    @ApiModelProperty("检材列表")
    private List<EntrustmentIdentificationMaterial> materialList;

    @ApiModelProperty("嫌疑人列表")
    private List<Suspect>suspects;
}
