package cn.iocoder.yudao.module.mes.controller.admin.safety.vo.train;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import jakarta.validation.constraints.*;
|
import lombok.Data;
|
import org.springframework.format.annotation.DateTimeFormat;
|
|
import java.time.LocalDate;
|
|
/**
|
* 安全生产 - 消防演练记录新增/修改 Request VO
|
*
|
* @author 超级管理员
|
*/
|
@Schema(description = "管理后台 - 消防演练记录新增/修改 Request VO")
|
@Data
|
public class SafetyDrillSaveReqVO {
|
|
private Long id;
|
|
@Schema(description = "演练名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026 年度消防疏散演练")
|
@NotBlank(message = "演练名称不能为空")
|
@Size(max = 200)
|
private String title;
|
|
@Schema(description = "演练类型", example = "FIRE")
|
@Pattern(regexp = "FIRE|EMERGENCY_EVAC|ELECTRIC_ACCIDENT|CHEMICAL_LEAK|OTHER", message = "演练类型不合法")
|
private String drillType;
|
|
@Schema(description = "演练日期", requiredMode = Schema.RequiredMode.REQUIRED)
|
@NotNull(message = "演练日期不能为空")
|
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
|
private LocalDate drillDate;
|
|
@Schema(description = "演练地点")
|
@Size(max = 200)
|
private String location;
|
|
@Schema(description = "组织人")
|
@Size(max = 50)
|
private String organizer;
|
|
@Schema(description = "参加人员姓名,逗号分隔")
|
@Size(max = 2000)
|
private String participants;
|
|
@Schema(description = "参加人数")
|
@Min(value = 0, message = "参加人数不能为负数")
|
private Integer participantCount;
|
|
@Schema(description = "演练方案")
|
@Size(max = 2000)
|
private String planDesc;
|
|
@Schema(description = "演练过程记录")
|
@Size(max = 2000)
|
private String processDesc;
|
|
@Schema(description = "演练总结与改进")
|
@Size(max = 2000)
|
private String summary;
|
|
@Schema(description = "演练时长(分钟)")
|
@Min(value = 0, message = "演练时长不能为负数")
|
private Integer durationMinutes;
|
|
@Schema(description = "演练照片/记录表 URL,逗号分隔")
|
@Size(max = 2000)
|
private String attachment;
|
|
@Schema(description = "备注")
|
@Size(max = 500)
|
private String remark;
|
|
}
|