package org.dromara.eims.domain.bo; import org.dromara.eims.domain.EimsMaintPlan; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; /** * 保养计划业务对象 eims_maint_plan * * @author zhuguifei * @date 2025-03-04 */ @Data @EqualsAndHashCode(callSuper = true) @AutoMapper(target = EimsMaintPlan.class, reverseConvertGenerate = false) public class EimsMaintPlanBo extends BaseEntity { /** * */ @NotNull(message = "不能为空", groups = { EditGroup.class }) private Long id; /** * 保养项名称 */ @NotNull(message = "保养项名称不能为空", groups = { EditGroup.class }) private String maintName; /** * 保养项编号 */ private Integer maintNo; /** * 保养项描述 */ private String maintDesc; /** * 设备id */ @NotNull(message = "设备id 不能为空", groups = { AddGroup.class, EditGroup.class }) private Long equId; /** * 保养类型(字典) */ @NotBlank(message = "保养类型(字典)不能为空", groups = { AddGroup.class, EditGroup.class }) private String maintType; /** * 保养周期 */ @NotNull(message = "保养周期不能为空", groups = { AddGroup.class, EditGroup.class }) private Long maintCycle; /** * 保养周期单位(字典) */ @NotBlank(message = "保养周期单位(字典)不能为空", groups = { AddGroup.class, EditGroup.class }) private String maintCycleUnit; /** * 保养规则(字典)保养时间计算:1-按周期 2-按上次保养时间 */ @NotBlank(message = "保养规则(字典)保养时间计算:1-按周期 2-按上次保养时间不能为空", groups = { AddGroup.class, EditGroup.class }) private String maintRule; /** * 保养人 */ @NotNull(message = "保养人不能为空", groups = { AddGroup.class, EditGroup.class }) private Long maintUser; /** * 保养部门 */ @NotNull(message = "保养部门不能为空", groups = { AddGroup.class, EditGroup.class }) private Long maintDept; /** * 状态(字典) 0-启用 1-禁用 */ @NotNull(message = "状态(字典) 0-启用 1-禁用不能为空", groups = { AddGroup.class, EditGroup.class }) private String status; /** * 首次执行时间 */ @NotNull(message = "保养计划首次执行时间不能为空", groups = { AddGroup.class, EditGroup.class }) @JsonFormat(pattern = "yyyy-MM-dd") private Date maintFirstTime; /** * 上次执行时间 */ @JsonFormat(pattern = "yyyy-MM-dd") private Date maintLastTime; /** * 下次执行时间 */ @JsonFormat(pattern = "yyyy-MM-dd") private Date maintNextTime; /** * 备注 */ private String remark; /** * 上次生成工单时间 */ @JsonFormat(pattern = "yyyy-MM-dd") private Date lastGenerateDate; // 关联表字段 private String equName; private String assetNo; }