package com.casic.missiles.dto.equipment;

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;

/**
 * 标准装置请求
 */
@ApiModel
@Data
public class StandardEquipmentRequest {
    /**
     * id
     */
    @ApiModelProperty(value = "主键", dataType = "Long")
    private Long id;
    /**
     * 标准代码
     */
    @ApiModelProperty(value = "标准代码", dataType = "String")
    private String standardNo;

    /**
     * 标准名称
     */
    @ApiModelProperty(value = "标准名称", dataType = "String")
    private String standardName;

    /**
     * 类别-字典code
     */
    @ApiModelProperty(value = "类别", dataType = "String")
    @DictCodeField(message = "类别不合法", cacheName = MeterDictCode.STANDARD_CATEGORY)
    private Integer category;

    /**
     * 管理状态-字典code
     */
    @DictCodeField(message = "管理状态不合法", cacheName = MeterDictCode.STANDARD_MANAGER_STATE)
    @ApiModelProperty(value = "管理状态", dataType = "Integer")
    private Integer managerState;

    /**
     * 标准所在实验室
     */
    @ApiModelProperty(value = "标准所在实验室", dataType = "Long")
    private Long standardLaboratory;

    /**
     * 筹建日期
     */
    @ApiModelProperty(value = "筹建开始日期", dataType = "String")
    private String preparationStartDate;

    @ApiModelProperty(value = "筹建结束日期", dataType = "String")
    private String preparationEndDate;

    /**
     * 到期日期
     */
    @ApiModelProperty(value = "到期开始日期（即有效日期，到期提醒列表）", dataType = "String")
    private String validStartTime;

    @ApiModelProperty(value = "到期结束日期（即有效日期，到期提醒列表）", dataType = "String")
    private String validEndTime;

    /**
     * 导出ids
     */
    @ApiModelProperty(value = "导出ids", dataType = "List")
    private List<Long> ids;

}
