package com.mosty.base.model.dto.yjzl;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.mosty.base.annot.IsDict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @author zhangzhao
 * @description 指导巡逻方格巡逻任务表修改DTO对象
 * @modifier zhangzhao
 * @modifiedTime 2025/05/13 16:49
 * @since 2025/05/13 16:49
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "TbZdxlFgxlrwUpdateDTO对象", description = "指导巡逻方格巡逻任务表修改DTO对象")
public class TbZdxlFgxlrwUpdateDTO {

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id", required = true)
    @NotBlank(message = "id.bnwk")
    private String id;

    /**
     * 方格预警等级 D_ZDXL_FGXLRW_YJDJ
     */
    @ApiModelProperty(value = "方格预警等级 D_ZDXL_FGXLRW_YJDJ")
    @IsDict(zdbh = "D_ZDXL_FGXLRW_YJDJ", message = "zdxl.fgxlrw.rwRq.fgYjdj.isDict")
    private String fgYjdj;

    /**
     * 方格预警颜色 D_ZDXL_FGXLRW_YJYS
     */
    @ApiModelProperty(value = "方格预警颜色 D_ZDXL_FGXLRW_YJYS")
    @IsDict(zdbh = "D_ZDXL_FGXLRW_YJYS", message = "zdxl.fgxlrw.rwRq.fgYjys.isDict")
    private String fgYjys;

    /**
     * 巡逻规划时长（分钟）
     */
    @ApiModelProperty(value = "巡逻规划时长（分钟）")
    @NotNull(message = "zdxl.fgxlrw.rwRq.xlghSc.notNull")
    private Double xlghSc;

    /**
     * 巡逻规划开始时间
     */
    @ApiModelProperty(value = "巡逻规划开始时间")
    @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @NotNull(message = "zdxl.fgxlrw.rwRq.xlghSjKs.notNull")
    private Date xlghSjKs;

    /**
     * 巡逻规划结束时间
     */
    @ApiModelProperty(value = "巡逻规划结束时间")
    @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @NotNull(message = "zdxl.fgxlrw.rwRq.xlghSjJs.notNull")
    private Date xlghSjJs;

    /**
     * 巡逻规划巡逻里程（公里）
     */
    @ApiModelProperty(value = "巡逻规划巡逻里程（公里）")
    @NotNull(message = "zdxl.fgxlrw.rwRq.xlghXllc.notNull")
    private Double xlghXllc;

    /**
     * 巡逻规划盘查车辆
     */
    @ApiModelProperty(value = "巡逻规划盘查车辆")
    private Integer xlghPcCl;

    /**
     * 巡逻规划盘查人员
     */
    @ApiModelProperty(value = "巡逻规划盘查人员")
    private Integer xlghPcRy;

    /**
     * 巡防报备ID
     */
    @ApiModelProperty(value = "巡防报备ID")
    private String xfbbId;

    /**
     * 巡防报备勤务警力ID
     */
    @ApiModelProperty(value = "巡防报备勤务警力ID")
    private String xfbbQwJlId;

    /**
     * 必到点列表
     */
    @ApiModelProperty(value = "必到点列表")
    List<TbZdxlFgdwBddxlrwHandleDTO> bddList;

}
