package org.dromara.eims.domain.bo; import org.dromara.eims.domain.EimsInspectPlan; 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_inspect_plan * * @author zhuguifei * @date 2025-03-12 */ @Data @EqualsAndHashCode(callSuper = true) @AutoMapper(target = EimsInspectPlan.class, reverseConvertGenerate = false) public class EimsInspectPlanBo extends BaseEntity { /** * */ @NotNull(message = "不能为空", groups = { EditGroup.class }) private Long id; /** * 设备id */ @NotNull(message = "设备id 不能为空", groups = { AddGroup.class, EditGroup.class }) private Long equId; /** * 点检类型(字典) */ private String inspType; /** * 点检项名称 */ @NotBlank(message = "点检项名称不能为空", groups = { AddGroup.class, EditGroup.class }) private String inspName; /** * 点检项编号 */ private Long inspNo; /** * 点检说明 */ private String inspDesc; /** * 点检周期 */ @NotNull(message = "点检周期不能为空", groups = { AddGroup.class, EditGroup.class }) private Long inspCycle; /** * 点检周期单位(字典) */ private String inspCycleUnit; /** * 点检规则(字典)保养时间计算:1-按周期 2-按上次保养时间 */ private String inspRule; /** * 点检人 */ @NotNull(message = "点检人不能为空", groups = { AddGroup.class, EditGroup.class }) private Long inspUser; /** * 点检部门 */ private Long inspDept; /** * 状态(字典) 0-启用 1-禁用 */ @NotBlank(message = "状态(字典) 0-启用 1-禁用不能为空", groups = { AddGroup.class, EditGroup.class }) private String status; /** * 首次执行时间 */ @JsonFormat(pattern = "yyyy-MM-dd") private Date inspFirstTime; /** * 上次执行时间 */ @JsonFormat(pattern = "yyyy-MM-dd") private Date inspLastTime; /** * 下次执行时间 */ @NotNull(message = "下次执行时间不能为空", groups = { AddGroup.class, EditGroup.class }) @JsonFormat(pattern = "yyyy-MM-dd") private Date inspNextTime; /** * 备注 */ private String remark; // 多表查询字段 private String equName; private String assetNo; }