package com.njcn.device.pq.pojo.param;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.*;
import java.math.BigDecimal;


/**
 * 
 * Description:
 * Date: 2025/02/10  下午 1:45【需求编号】
 *
 * @author clam
 * @version V1.0.0
 */
@Data
public class CvtHarmonicCorrectionFactorsParam {

    /**
     * cvt名称
     */
    @Pattern(regexp = PatternRegex.DES32_REGEX, message = "cvt名称过长")
    private String cvtName;

    /**
     * cvt型号
     */
    @Pattern(regexp = PatternRegex.DES32_REGEX, message = "cvt型号")
    private String cvtModel;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h2;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h3;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h4;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h5;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h6;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h7;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h8;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h9;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h10;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h11;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h12;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h13;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h14;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h15;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h16;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h17;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h18;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h19;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h20;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h21;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h22;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h23;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h24;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h25;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h26;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h27;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h28;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h29;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h30;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h31;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h32;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h33;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h34;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h35;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h36;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h37;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h38;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h39;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h40;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h41;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h42;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h43;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h44;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h45;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h46;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h47;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h48;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h49;
    @Digits(integer = 2, fraction = 4, message = "CVT参数格式错误，应为X.XXXX")
    @NotNull(message = "CVT参数不能不为空")
    private BigDecimal h50;



    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class CvtHarmonicCorrectionFactorsParamUpdateParam extends CvtHarmonicCorrectionFactorsParam {

        /**
         * 表Id
         */
        @NotBlank(message = ValidMessage.ID_NOT_BLANK)
        @Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
        private String id;
    }

    /**
     * 前置查询
     */
    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class CvtHarmonicCorrectionFactorsParamQueryParam extends BaseParam {


    }

}