package com.huatek.busi.entity;

import com.huatek.torch.sql.annotation.FieldName;
import com.huatek.torch.sql.annotation.Id;
import com.huatek.torch.sql.annotation.TableName;
import com.huatek.torch.sql.beans.Pojo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("x_lab_generator_report_mark_statistic")
@ApiModel("统计实验报告打标、报告数量及可信度")
public class LabGenReportMarkStatistic extends Pojo implements Serializable {

    @Id("id")
    @ApiModelProperty(value = "id", name = "唯一主键标识", required = true)
    private String id;

    @FieldName("main_equipment_id")
    @ApiModelProperty(value = "mainEquipmentId", name = "主设备编号")
    private String mainEquipmentId;

    @FieldName("ref_id")
    @ApiModelProperty(value = "refId", name = "关联附件编号")
    private String refId;

    @FieldName("report_id")
    @ApiModelProperty(value = "reportId", name = "报告编号")
    private String reportId;

    @FieldName("mark_id")
    @ApiModelProperty(value = "markId", name = "打标id")
    private String markId;

    @FieldName("mark")
    @ApiModelProperty(value = "mark", name = "打标字段")
    private String mark;

    @FieldName("param_id")
    @ApiModelProperty(value = "paramId", name = "对应参数表id")
    private String paramId;

    @FieldName("valid_value_range")
    @ApiModelProperty(value = "validValueRange", name = "有效值范围")
    private String validValueRange;

    @FieldName("current_value")
    @ApiModelProperty(value = "currentValue", name = "当前值")
    private String currentValue;

    @FieldName("unit")
    @ApiModelProperty(value = "unit", name = "单位")
    private String unit;

    @FieldName("test_result")
    @ApiModelProperty(value = "testResult", name = "试验结果")
    private String testResult;

    @FieldName("equ_type_rule")
    @ApiModelProperty(value = "equTypeRule", name = "设备类型规则")
    private String equTypeRule;

    @FieldName("e_rule")
    @ApiModelProperty(value = "eRule", name = "评估字段规则")
    private String eRule;

    @FieldName("e_calculate_rule")
    @ApiModelProperty(value = "eCalculateRule", name = "评估字段计算规则")
    private String eCalculateRule;

    @FieldName("time_rule")
    @ApiModelProperty(value = "timeRule", name = "时间规则")
    private String timeRule;

    @FieldName("test_interval")
    @ApiModelProperty(value = "testInterval", name = "试验次数/位置/间隔时间")
    private String testInterval;

    @FieldName("test_type")
    @ApiModelProperty(value = "testType", name = "试验类别")
    private String testType;

    @FieldName("e_param")
    @ApiModelProperty(value = "eParam", name = "评估参数")
    private String eParam;

    @FieldName("test_date")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "testDate", name = "试验日期")
    private LocalDate testDate;

    @FieldName("remark")
    @ApiModelProperty(value = "remark", name = "备注(油温、环境温度、湿度、精度)")
    private String remark;

    @FieldName("create_user")
    @ApiModelProperty(value = "createUser", name = "创建者")
    private String createUser;

    @FieldName("create_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "createTime", name = "创建时间")
    private LocalDateTime createTime;

    @FieldName("update_user")
    @ApiModelProperty(value = "updateUser", name = "更新者")
    private String updateUser;

    @FieldName("update_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "updateTime", name = "更新时间")
    private LocalDateTime updateTime;

    @FieldName("deleted")
    @ApiModelProperty(value = "deleted", name = "是否删除 0否 1是")
    private String deleted;
}
