package cn.iocoder.yudao.module.mes.controller.admin.safety.vo.cert;
|
|
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 SafetyCertificateSaveReqVO {
|
|
private Long id;
|
|
@Schema(description = "持证人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
|
@NotBlank(message = "持证人姓名不能为空")
|
@Size(max = 50)
|
private String employeeName;
|
|
@Schema(description = "工号", example = "EMP001")
|
@Size(max = 50)
|
private String employeeNo;
|
|
@Schema(description = "所属部门", example = "电气车间")
|
@Size(max = 100)
|
private String deptName;
|
|
@Schema(description = "证件类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "HIGH_VOLTAGE_OPERATION")
|
@NotBlank(message = "证件类型不能为空")
|
@Pattern(regexp = "LOW_VOLTAGE_ELECTRICIAN|HIGH_VOLTAGE_OPERATION|WELDING|HOIST|HEIGHT_WORK|LIMITED_SPACE|FORKLIFT|BOILER|OTHER",
|
message = "证件类型不合法")
|
private String certType;
|
|
@Schema(description = "证件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "T330102199001011234")
|
@NotBlank(message = "证件编号不能为空")
|
@Size(max = 64)
|
private String certNo;
|
|
@Schema(description = "发证机关")
|
@Size(max = 100)
|
private String issuer;
|
|
@Schema(description = "发证日期")
|
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
|
private LocalDate issueDate;
|
|
@Schema(description = "有效期至", requiredMode = Schema.RequiredMode.REQUIRED)
|
@NotNull(message = "有效期不能为空")
|
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
|
private LocalDate expireDate;
|
|
@Schema(description = "下次复审日期")
|
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
|
private LocalDate reviewDate;
|
|
@Schema(description = "到期预警提前天数", example = "30")
|
@Min(value = 0, message = "预警天数不能为负数")
|
@Max(value = 365, message = "预警天数不能超过 365 天")
|
private Integer warnDays;
|
|
@Schema(description = "状态", example = "VALID")
|
@Pattern(regexp = "VALID|EXPIRING|EXPIRED|REVOKED", message = "状态不合法")
|
private String status;
|
|
@Schema(description = "证件扫描件 URL,逗号分隔")
|
@Size(max = 500)
|
private String attachment;
|
|
@Schema(description = "备注")
|
@Size(max = 500)
|
private String remark;
|
|
}
|