package com.securitycontrol.entity.system.base.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

/**
 * @author：cwchen
 * @date：2024-03-16-14:23
 * @version：1.0
 * @description：工序计划进度-vo
 */
@Data
public class GxPlanProgressVo {

    @ApiModelProperty(value = "进度ID")
    private String progressId;

    @ApiModelProperty(value = "计划ID")
    @NotBlank(message = "工序计划ID不能为空", groups = {Query.class})
    private String planId;

    @ApiModelProperty(value = "工序ID/杆塔ID")
    @NotBlank(message = "工序ID/杆塔ID不能为空", groups = {Query.class})
    private String gxId;

    @ApiModelProperty(value = "杆塔当前工序ID")
    @NotBlank(message = "当前工序不能为空", groups = {Query.class})
    private String nowGxId;

    @ApiModelProperty(value = "计划名称")
    private String planName;

    @ApiModelProperty(value = "标段编码")
    private String bidCode;

    @ApiModelProperty(value = "工序计划进度")
    @NotBlank(message = "进度填报不能为空", groups = {Query.class})
    @Pattern(regexp = "(?:0|[1-9][0-9]?|100)(\\.[0-9]{0,2})?",message = "进度填报值为0-100",groups = {Query.class})
    private String gxProgress;

    @ApiModelProperty(value = "填报时间")
    private String createTime;

    @ApiModelProperty(value = "计划结束时间")
    @NotBlank(message = "计划结束时间不能为空", groups = {Query.class})
    private String planEndTime;

    @ApiModelProperty(value = "计划实际开始时间")
    private String startTime;

    @ApiModelProperty(value = "计划实际结束时间")
    private String endTime;

    @ApiModelProperty(value = "延期原因")
    private String delaReason;

    @ApiModelProperty(value = "变电 线路")
    @NotBlank(message = "工程类型不能为空", groups = {Query.class})
    private String proType;

    @ApiModelProperty(value = "1.更新工序计划开始时间 2.更新工序计划结束时间或者延期原因")
    private Integer type;

    @ApiModelProperty(value = "工序计划当前进度")
    private double planProgress;

    @ApiModelProperty(value = "工序名称")
    private String currentGxName;

    /**
     * 查询条件限制
     */
    public interface Query {
    }
}
