package com.casic.missiles.dto.business.labExecutive;

import com.casic.missiles.annotation.DictCodeField;
import com.casic.missiles.constants.MeterDictCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @Description: 任务分发-详情
 * @Author: wangpeng
 * @Date: 2023/2/9 11:41
 */
@Data
@ApiModel
public class ExecutiveDetailResponse {
    @ApiModelProperty(value = "样品id", dataType = "Long")
    private Long sampleId;

    @ApiModelProperty(value = "样品编号", dataType = "String")
    private String sampleNo;

    @ApiModelProperty(value = "样品名称", dataType = "String")
    private String sampleName;

    @ApiModelProperty(value = "样品型号", dataType = "String")
    private String sampleModel;

    @ApiModelProperty(value = "出厂编号", dataType = "String")
    private String manufacturingNo;

    @ApiModelProperty(value = "生产厂家", dataType = "String")
    private String manufacturer;

    @ApiModelProperty(value = "厂家国别", dataType = "String")
    private String manufacturerCountry;

    @ApiModelProperty(value = "出厂年月", dataType = "String")
    private String manufacturingDate;

    @ApiModelProperty(value = "ABC", dataType = "String")
    private String abc;

    @ApiModelProperty(value = "委托方id", dataType = "Long")
    private Long customerId;

    @ApiModelProperty(value = "委托方名称", dataType = "String")
    private String customerName;

    @ApiModelProperty(value = "委托方电话", dataType = "String")
    private String customerPhone;

    //需求中有，建议去掉，否则多关联一张表
//    @ApiModelProperty(value = "委托方邮编", dataType = "String")
//    private String postalCode;

//    @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String")
//    private String addressCountry;
//
//    @ApiModelProperty(value = "委托方公司地址-省", dataType = "String")
//    private String addressProvince;
//
//    @ApiModelProperty(value = "委托方公司地址-市", dataType = "String")
//    private String addressCity;
//
//    @ApiModelProperty(value = "委托方公司地址-区", dataType = "String")
//    private String addressArea;

    @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String")
    private String customerAddress;

//    @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String")
//    private String addressCountryName;
//
//    @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String")
//    private String addressProvinceName;
//
//    @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String")
//    private String addressCityName;
//
//    @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String")
//    private String addressAreaName;

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

    @ApiModelProperty(value = "委托书编号", dataType = "String")
    private String orderCode;

    @ApiModelProperty(value = "送样人", dataType = "String")
    private String deliverer;

    @ApiModelProperty(value = "送样人联系方式", dataType = "String")
    private String delivererTel;

    @ApiModelProperty(value = "预约送达时间", dataType = "String")
    private String planDeliverTime;

    @ApiModelProperty(value = "要求检完时间", dataType = "String")
    private String requireOverTime;

    @ApiModelProperty(value = "检定项目", dataType = "String")
    private String measureContent;

    @ApiModelProperty(value = "检定周期(月)", dataType = "String")
    private String measurePeriod;

    @ApiModelProperty(value = "检定日期", dataType = "String")
    private String measureLastDate;

    @ApiModelProperty(value = "有效日期", dataType = "String")
    private String effectiveDate;

    //需求中已删除该字段展示，不展示整个样品的检定结果，只在证书里展示各证书的检定结果
//    @ApiModelProperty(value = "检定结果", dataType = "String")
//    private String measureResult;

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

    @ApiModelProperty(value = "说明书", dataType = "String")
    private String minioFileName;

    @ApiModelProperty(value = "检定方式(字典code)", dataType = "String")
    @DictCodeField(message = "检定方式不合法", cacheName = MeterDictCode.MEASURE_TYPE)
    private String measureType;

    @ApiModelProperty(value = "检定方式(字典value)", dataType = "String")
    private String measureTypeName;

    @ApiModelProperty(value = "标签绑定", dataType = "String")
    private String labelBind;

    @ApiModelProperty(value = "检定流程", dataType = "List")
    private List<MeasureProcessDTO> measureProcessList;

}
