package cn.iocoder.yudao.module.mes.controller.admin.safety.vo.training; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.time.LocalDateTime; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @Schema(description = "管理后台 - 安全生产-培训新增/修改 Request VO") @Data public class MesSafetyTrainingSaveReqVO { @Schema(description = "编号", example = "1024") private Long id; @Schema(description = "培训编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "PX-2026-001") @NotEmpty(message = "培训编号不能为空") private String code; @Schema(description = "培训主题", requiredMode = Schema.RequiredMode.REQUIRED, example = "特种作业安全操作培训") @NotEmpty(message = "培训主题不能为空") private String title; @Schema(description = "培训类型", example = "2") private Integer trainingType; @Schema(description = "培训层级", example = "1") private Integer trainingLevel; @Schema(description = "讲师/授课人", example = "张工") private String trainer; @Schema(description = "讲师单位") private String trainerOrg; @Schema(description = "培训地点", example = "一楼培训室") private String location; @Schema(description = "培训开始时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime startTime; @Schema(description = "培训结束时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime endTime; @Schema(description = "学时", example = "4") private BigDecimal durationHours; @Schema(description = "培训内容") private String content; @Schema(description = "培训资料/教材") private String material; @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") @NotNull(message = "状态不能为空") private Integer status; @Schema(description = "备注") private String remark; }