package org.qinan.safetyeval.client.change.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 备案申请装备-变更修改Cmd
 *
 * @Author: ltq
 * @date 2026-07-02 10:03:59
 */
@Data
public class QualFilingEquipmentChangeUpdateCmd implements Serializable {
    private static final long serialVersionUID = 1L;
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;
    /**
     * 备案变更id
     */
    @ApiModelProperty(value = "备案变更id", required = true)
    @NotNull(message = "备案变更id不能为空")
    private Long filingChangeId;
    /**
     * 来源装备id
     */
    @ApiModelProperty(value = "来源装备id")
    private Long sourceEquipmentId;
    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称", required = true)
    @NotBlank(message = "设备名称不能为空")
    private String deviceName;
    /**
     * 设备型号
     */
    @ApiModelProperty(value = "设备型号")
    private String deviceModel;
    /**
     * 仪器类型编码
     */
    @ApiModelProperty(value = "仪器类型编码")
    private String instrumentTypeCode;
    /**
     * 仪器类型名称
     */
    @ApiModelProperty(value = "仪器类型名称")
    private String instrumentTypeName;
    /**
     * 设备类型编码
     */
    @ApiModelProperty(value = "设备类型编码")
    private String deviceTypeCode;
    /**
     * 设备类型名称
     */
    @ApiModelProperty(value = "设备类型名称")
    private String deviceTypeName;
    /**
     * 厂家
     */
    @ApiModelProperty(value = "厂家")
    private String manufacturer;
    /**
     * 设备流量说明
     */
    @ApiModelProperty(value = "设备流量说明")
    private String flowDesc;
    /**
     * 最小流量
     */
    @ApiModelProperty(value = "最小流量")
    private BigDecimal minFlow;
    /**
     * 最大流量
     */
    @ApiModelProperty(value = "最大流量")
    private BigDecimal maxFlow;
    /**
     * 校准单位
     */
    @ApiModelProperty(value = "校准单位")
    private String calibrationUnit;
    /**
     * 校准初始值
     */
    @ApiModelProperty(value = "校准初始值")
    private String calibrationInitValue;
    /**
     * 现场校验类型编码
     */
    @ApiModelProperty(value = "现场校验类型编码")
    private String fieldCalibrationTypeCode;
    /**
     * 现场校验类型名称
     */
    @ApiModelProperty(value = "现场校验类型名称")
    private String fieldCalibrationTypeName;
    /**
     * 是否双路(1是2否)
     */
    @ApiModelProperty(value = "是否双路(1是2否)")
    private Long dualChannelFlag;
    /**
     * 计量检定报告地址
     */
    @ApiModelProperty(value = "计量检定报告地址")
    private String calibrationReportUrl;
    /**
     * 环境
     */
    @ApiModelProperty(value = "环境")
    private String env;
    @NotNull(message = "version不能为空")
    @ApiModelProperty(value = "version")
    private Integer version;
}
