package com.junmp.jyzb.api.bean.req;

import com.junmp.v2.common.bean.request.BaseRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = true)
public class UpdateCabinetReq extends BaseRequest {
    /**
     * 单警柜ID
     */
    @NotBlank(message = "单警柜ID主键不能为空", groups = {edit.class, detail.class})
    @ApiModelProperty(value = "单警柜ID")
    private String id;

    /**
     * 单警柜编号
     */
    @NotBlank(message = "单警柜编号不能为空", groups = {add.class,edit.class, detail.class})
    @ApiModelProperty(value = "单警柜编号")
    private String serialNum;

    /**
     * 单警柜名称
     */
    @NotBlank(message = "单警柜名称不能为空", groups = {add.class,edit.class, detail.class})
    @ApiModelProperty(value = "单警柜名称")
    private String name;
    /**
     * 单警柜名称
     */
    @ApiModelProperty(value = "动作来源")
    private String actionFrom;

    /**
     * 组织机构号
     */
    @NotNull(message = "组织机构号不能为空", groups = {add.class,edit.class, detail.class})
    @ApiModelProperty(value = "组织机构号")
    private Long orgId;

    /**
     * 位置信息
     */

    @ApiModelProperty(value = "位置信息")
    private String location;
    /**
     * 主柜配置信息
     */

    @ApiModelProperty(value = "主柜配置信息")
    private String config;

    /**
     * 单警柜当前状态，0正常，1异常
     */
    @ApiModelProperty(value = "单警柜当前状态，0正常，1异常")
    private Integer state;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    /**
     * 更新人员
     */
    @ApiModelProperty(value = "更新人员")
    private String updateUser;

    /**
     * 是否包含本级及下级，true为包含，false为不包含，只显示本级
     */
    @ApiModelProperty(value = "本机及下级")
    private String includeLowerLevel;


    //箱门信息列表
    private List<UpdateCabinetBoxReq> cabinetBoxList;

    //箱门信息列表
    private List<String> numList;
    //单警柜id列表

    private List<String> cabinetList;

    private static final long serialVersionUID = 1L;
}