package cn.com.ty.lift.business.maintenance.dao.entity.model.request;

import cn.com.ty.lift.common.model.PageRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.time.LocalDate;
import java.util.List;

/**
 * <p>维保记录-日常保养</p>
 * @author wcz
 * @since 2020/1/17
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class MtRecordRequest extends PageRequest {

    /**
     * 主键id
     */
    @Min(value = 1,message = "维保记录ID有误")
    private Long id;
    /**
     * 电梯id
     */
    @Min(value = 1,message = "电梯ID有误")
    private Long liftId;
    /**
     * 区域id
     */
    @Min(value = 1,message = "区域ID有误")
    private Long regionId;
    /**
     * 项目id
     */
    @Min(value = 1,message = "项目ID有误")
    private Long projectId;
    /**
     * 维保工id
     */
    @Min(value = 1,message = "维保工ID有误")
    private Long workerId;
    /**
     * 计划开始时间
     */
    private LocalDate planBegin;
    /**
     * 计划结束时间
     */
    private LocalDate planEnd;
    /**
     * 执行时间
     */
    private LocalDate workDate;
    /**
     * 公司id
     */
    @Min(value = 1,message = "维保公司ID有误")
    private Long mtCompanyId;

    /**
     * 电梯类别(1:曳引梯;2:液压梯;3:杂物梯;4:自动扶梯;5:自动人行道)
     */
    @Min(value = 1,message = "电梯类别有误")
    private Integer liftCategory;

    /**
     * 保养类型 1.半月，2.季度，3.半年，4.全年
     */
    @Min(value = 1,message = "保养类型有误")
    private Integer type;

    @NotBlank(message = "缺少维保项")
    private String maintenanceOption;

    @NotEmpty(message = "缺少维保图片")
    private List<String> imgs;

    /**
     * 维保收费项id
     */
    @Min(value = 1, message = "维保记录收费项ID有误")
    private Long mtRecordCostId;

    /**
     * 维保记录id集合
     */
    private String recordIds;

    /**
     * 注册代码/自定义编号
     */
    private String liftCodeQuery;

    private Long areaDirectorId;
}
