/*
 * Author: wangjian
 * 生成entity
 */
package com.tofly.watermeter.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;


/**
 * 抄表异常算法配置表
 *
 * @author wangjieliu
 * @date Wed Dec 01 00:00:00 CST 2021
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "TF_YWPN_READABNORMAL_W", resultMap = "readabnormalMap")
@KeySequence("TF_YWPN_READABNORMAL_W")
@ApiModel
public class Readabnormal extends Model<Readabnormal> {
    private static final long serialVersionUID = 1L;


    @TableId(value = "ID", type = IdType.INPUT)
    @ApiModelProperty(value = "$column.comments")
    private Long id;
    /**
     * 异常算法类型：1：水量突降数据2：同比升数据3：同比降数据4：环比升数据5：环比降数据6:0水量模型7：换表数据8：估水数据9：水量微幅波动数据10：水量连续上升数据11：水量连续下降数据12：首次水量数据13：连续水量向相同数据
     */
    @ApiModelProperty(value = "异常算法类型code1：水量突降数据2：同比升数据3：同比降数据4：环比升数据5：环比降数据6:0水量模型7：换表数据8：估水数据9：水量微幅波动数据10：水量连续上升数据11：水量连续下降数据12：首次水量数据13：连续水量向相同数据14：水量突升数据")
    private String typeCode;
    @ApiModelProperty(value = "异常算法类型ID")
    private Long type;
    @ApiModelProperty(value = "异常算法类型名称")
    private String typeName;
    @ApiModelProperty(value = "模型名称")
    private String modelName;
    /**
     * 用水性质编码：TF_YWPN_QFMIDYSXZBM_E
     */
    @ApiModelProperty(value = "用水性质编码：TF_YWPN_QFMIDYSXZBM_E")
    private String ysxzBm;
    @ApiModelProperty(hidden = true)
    private String ysxzName;
    /**
     * 水表口径编码名称
     */
    @ApiModelProperty(value = "水表口径名称")
    private String sbkjBm;
    /**
     * 基准值
     */
    @ApiModelProperty(value = "基准值，属于阈值（阈值是后面优化后的一个字段，统一管理，所以与阈值相同）")
    private Float fiducialValue;
    /**
     * 水量突降值
     */
    @ApiModelProperty(value = "水量突降值，突降值不算在阈值范围中，后面改成比例了，这个字段改成了页面中的比例使用")
    private Float nosediveValue;
    /**
     * 升/降比列
     */
    @ApiModelProperty(value = "升/降比列")
    private Float ratio;
    /**
     * 最小平均基准值
     */
    @ApiModelProperty(value = " 属于阈值（阈值是后面优化后的一个字段，统一管理，所以与阈值相同）")
    private Float minAverageValue;
    /**
     * 次数
     */
    @ApiModelProperty(value = "次数")
    private Integer count;
    /**
     * 首次抄表情况：0：首次抄表水量为0；1：首次非正常方式抄表
     */
    @ApiModelProperty(value = "首次抄表情况：0：首次抄表水量为0；1：首次非正常方式抄表")
    private String firstRead;
    @ApiModelProperty(hidden = true)                                
    private String firstReadName;
    /**
     * 说明
     */
    @ApiModelProperty(value = "说明")
    private String describe;
    /**
     * 主要用于水量微幅波动模型；0：同比；1：环比
     */
    @ApiModelProperty(value = "主要用于水量微幅波动模型；0：同比；1：环比")
    private String isYearorchain;
    @ApiModelProperty(hidden = true)
    private String isYearorchainName;
    /**
     * 主要用于水量微幅波动模型；0：升；1：降
     */
    @ApiModelProperty(value = "主要用于水量微幅波动模型；0：升；1：降")
    private String isUpordown;
    @ApiModelProperty(hidden = true)
    private String isUpordownName;
    /**
     * 创建人员
     */
    @ApiModelProperty(value = "创建人员")
    @TableField(value = "CREATE_USER", fill = FieldFill.INSERT)
    private Long createUser;
    @ApiModelProperty(hidden = true)
    private String createUserName;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(value = "CREATE_DATE", fill = FieldFill.INSERT)
    private Date createDate;



}


/**
 *  水量微幅波动模型	为避免用水规模小的用户干扰筛选结果，需要按不同口径、用水性质设置水量基准值，作为筛选的必要条件之一，
 *                  当月水量大于（如：≥500）此时基准值纳入筛选范围，基准值的大小可根据管理需求进行设置，小于等于同比环比设置比例，如：3%
 */