package com.casic.missiles.model.business;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.casic.missiles.dto.customer.sample.CustomerSampleListVO;
import com.casic.missiles.model.customer.CustomerSampleInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * <p>
 * 业务管理-设备交接单
 * </p>
 *
 * @author wangpeng
 * @since 2023-02-02
 */
@Data
@TableName("business_interchange")
public class BusinessInterchange implements Serializable {

    private static final long serialVersionUID = 1L;


    @TableId("id")
    private Long id;

    /**
     * 交接单编号
     */
    @ApiModelProperty(value = "交接单编号", dataType = "String")
    @TableField("interchange_code")
    private String interchangeCode;

    /**
     * 委托书id
     */
    @ApiModelProperty(value = "委托书id", dataType = "String")
    @TableField("order_id")
    private Long orderId;

    /**
     * 证书单位名称
     */
    @ApiModelProperty(value = "证书单位名称", dataType = "String")
    @TableField("certification_company")
    private String certificationCompany;

    /**
     * 证书单位传真
     */
    @ApiModelProperty(value = "证书单位传真", dataType = "String")
    @TableField("certification_company_fex")
    private String certificationCompanyFex;

    /**
     * 证书单位邮编
     */
    @ApiModelProperty(value = "证书单位邮编", dataType = "String")
    @TableField("certification_company_email")
    private String certificationCompanyEmail;

    /**
     * 接收人
     */
    @ApiModelProperty(value = "接收人", dataType = "String")
    @TableField("reciever")
    private String reciever;

    /**
     * 接收人电话/手机
     */
    @ApiModelProperty(value = "接收人电话/手机", dataType = "String")
    @TableField("reciever_phone")
    private String recieverPhone;

    /**
     * 证书单位地址
     */
    @ApiModelProperty(value = "证书单位地址", dataType = "String")
    @TableField("certification_company_address")
    private String certificationCompanyAddress;

    /**
     * 委托方id（客户id）
     */
    @ApiModelProperty(value = "委托方id", dataType = "String")
    @TableField("customer_id")
    private Long customerId;

    /**
     * 完成时间
     */
    @ApiModelProperty(value = "完成时间", dataType = "String")
    @TableField("require_over_time")
    private String requireOverTime;

    /**
     * 交接时间
     */
    @ApiModelProperty(value = "交接时间", dataType = "String")
    @TableField("deliver_time")
    private String deliverTime;

    /**
     * 检校类别（字典code）
     */
    @ApiModelProperty(value = "检校类别（字典code）", dataType = "String")
    @TableField("measure_category")
    private String measureCategory;

    /**
     * 保密要求（字典code）
     */
    @ApiModelProperty(value = "保密要求（字典code）", dataType = "String")
    @TableField("secrecy")
    private String secrecy;

    /**
     * 样品外观说明（手填）
     */
    @ApiModelProperty(value = "样品外观说明（手填）", dataType = "String")
    @TableField("appearance")
    private String appearance;

    /**
     * 依据文件说明（手填）
     */
    @ApiModelProperty(value = "依据文件说明（手填）", dataType = "String")
    @TableField("rely_file")
    private String relyFile;

    /**
     * 送检人签名文件，minio存储文件名（为空时打印签字）
     */
    @ApiModelProperty(value = "送检人(可改写，以实际送检人为准)", dataType = "String")
    @TableField("deliverer")
    private String deliverer;

    /**
     * 送检人签名文件，minio存储文件名（为空时打印签字）
     */
    @ApiModelProperty(value = "送检人(可改写，以实际送检人为准)", dataType = "String")
    @TableField("deliverer_tel")
    private String delivererTel;

    /**
     * 送检人签名文件，minio存储文件名（为空时打印签字）
     */
    @ApiModelProperty(value = "送检人签名文件，minio存储文件名（为空时打印签字）", dataType = "String")
    @TableField("deliverer_sign_file")
    private String delivererSignFile;

    /**
     * 送检人签字时间
     */
    @ApiModelProperty(value = "送检人签字时间", dataType = "String")
    @TableField("deliverer_sign_time")
    private String delivererSignTime;

    /**
     * 接收人签名文件，minio存储文件名（系统签名模块获取）
     */
    @ApiModelProperty(value = "接收人签名文件，minio存储文件名（系统签名模块获取）", dataType = "String")
    @TableField("reciever_sign_file")
    private String recieverSignFile;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", dataType = "String")
    @TableField("remark")
    private String remark;

    @TableField("is_del")
    private Integer isDel;

    @TableField("create_user")
    private Long createUser;

    @TableField("create_time")
    private String createTime;

    @TableField("update_time")
    private String updateTime;

    @TableField(exist = false)
    private List<CustomerSampleListVO>  customerSampleList;
 }
