package com.zcloud.fire.check.dto;

import com.alibaba.cola.dto.Command;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.codehaus.jackson.annotate.JsonProperty;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * web-client
 *
 * @Author zhaokai
 * @Date 2025-11-26 10:12:34
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class FireDeviceAddCmd extends Command {
    @ApiModelProperty(value = "企业id", name = "corpinfoId")
    private Long corpinfoId;

    @ApiModelProperty(value = "消防区域id", name = "fireRegionId", required = true)
    @NotEmpty(message = "消防区域id不能为空")
    private String fireRegionId;

    @ApiModelProperty(value = "消防点位id", name = "firePointId", required = true)
    @NotEmpty(message = "消防点位id不能为空")
    private String firePointId;

    @ApiModelProperty(value = "部门id", name = "departmentId", required = true)
    @NotNull(message = "部门id不能为空")
    private Long departmentId;

    @ApiModelProperty(value = "消防器材类型", name = "fireDeviceType", required = true)
    @NotEmpty(message = "消防器材类型不能为空")
    private String fireDeviceType;

    @ApiModelProperty(value = "消防器材类型名称", name = "fireDeviceTypeName", required = true)
    @NotEmpty(message = "消防器材类型名称不能为空")
    private String fireDeviceTypeName;

    @ApiModelProperty(value = "器材编号", name = "fireDeviceCode", required = true)
    @NotEmpty(message = "器材编号不能为空")
    private String fireDeviceCode;

    @ApiModelProperty(value = "有效期开始时间", name = "validityStartTime")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate validityStartTime;

    @ApiModelProperty(value = "有效期结束时间", name = "validityEndTime")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate validityEndTime;

    @ApiModelProperty(value = "存放地点", name = "storageLocation", required = true)
    @NotEmpty(message = "存放地点不能为空")
    private String storageLocation;

}

