package com.sckw.slope.detection.model.dto;

import jakarta.validation.constraints.*;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author lfdc
 * @description 新建项目dto
 * @date 2023-10-30 13:10:38
 */
@Data
public class ProjectUpdateDTO implements Serializable {

    /**
     * 项目类型
     */
    @NotBlank(message = "项目类型不能为空")
    private String projectType;

    /**
     * 项目编号
     */
    @NotBlank(message = "项目编号不能为空")
    private String projectNo;

    /**
     * 项目id
     */
    @NotBlank(message = "项目id不能为空")
    private String id;
    /**
     * 项目名
     */
    @NotBlank(message = "项目名不能为空")
    private String name;

    /**
     * 项目区域
     */
    @NotBlank(message = "项目区域不能为空")
    private String fence;

    /**
     * 项目面积
     */
    @NotNull(message = "项目面积不能为空")
    @Digits(integer = 20, fraction = 2, message = "项目面积格式错误")
    @DecimalMin(value = "0.00", message = "面积最小为{value}")
    private BigDecimal area;

    /**
     * 所属矿山id
     */
    @NotBlank(message = "项目区域不能为空")
    private String mountainId;

    /**
     * 所属矿山名
     */
    @NotBlank(message = "项目区域不能为空")
    private String mountainName;

    /**
     * 省级平台名
     */
//    @NotBlank(message = "项目区域不能为空")
    private String platformName;

    /**
     * 省级平台地址（url）
     */
//    @NotBlank(message = "项目区域不能为空")
    private String platformAddress;

    /**
     * 设计单位名
     */
    private String designCompany;

    /**
     * 设计单位联系人
     */
    private String designContacts;

    /**
     * 设计单位联系人电话
     */
    private String designPhone;

    /**
     * 施工单位名
     */
    private String buildCompany;

    /**
     * 施工单位联系人
     */
    private String buildContacts;

    /**
     * 施工单位联系人电话
     */
    private String buildPhone;

    /**
     * 备注
     */
//    @Max(value = 200, message = "请输入不超过{value}个字符")
//    @Size(max = 200)
    @Length(max = 200,message = "备注长度错误最大长度:{max}")
    private String remark;
}
