package digital.laboratory.platform.entrustment.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import digital.laboratory.platform.common.aop.annotation.DlpFeign;
import digital.laboratory.platform.sys.feign.RemoteOrgService;
import digital.laboratory.platform.sys.feign.RemoteUserService;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 委托审核记录
 * @TableName b_entrust_approve_record
 */
@Data
@TableName(value ="b_entrust_approve_record")
public class EntrustApproveRecordVO {
    /**
     * 主键标识
     */
    @ApiModelProperty("主键标识")
    private String id;

    /**
     * 审核关联的委托id
     */
    @ApiModelProperty("审核关联的委托id")
    private String entrustId;

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

    @ApiModelProperty("委托单位名称")
    private String clientOrgName;

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

    /**
     * 审核类型， 目前 0 代表 审核不通过
     */
    @ApiModelProperty("审核类型， 目前 0 代表 审核不通过")
    private Integer approveType;

    /**
     * 意见
     */
    @ApiModelProperty("审核意见")
    private String comments;

    /**
     * 用户id
     */
    @ApiModelProperty("审核用户id")
    private String userId;

    @ApiModelProperty("审核用户姓名")
    @DlpFeign(feignClient = RemoteUserService.class, methodName = "innerGetById", params = {"userId"}, resultField = "name")
    private String userName;

    /**
     * 机构id
     */
    @ApiModelProperty("审核机构id")
    private String orgId;

    @ApiModelProperty("审核机构名称")
    @DlpFeign(feignClient = RemoteOrgService.class, methodName = "getById", params = {"orgId"}, resultField = "name")
    private String orgName;

    /**
     * 审核时间
     */
    @ApiModelProperty("审核时间")
    private LocalDateTime approveTime;


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

}
