package com.lantone.security.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 新增组织对象
 * </p>
 */
@Data
public class AddHospitalVO  implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "父级组织机构id",required = true)
    @NotNull(message = "父级组织机构id不能为空")
    private Long parentId;

    @ApiModelProperty(value = "组织机构代码")
    private String code;

    @ApiModelProperty(value = "组织机构名称",required = true)
    @NotBlank(message = "组织机构名称不能为空")
    private String name;


    @ApiModelProperty(value = "组织机构类型（0:AI病案质控平台 1:集团医院 2:医共 3:医联 4:医院 5:科室 6:病区）",required = true)
    @NotBlank(message = "组织机构类型不能为空")
    private String type;

    @ApiModelProperty(value = "排序")
    private String orderNo;

    @ApiModelProperty(value = "状态：0-禁用，1-启用",required = true)
    @NotBlank(message = "组织机构状态不能为空")
    private String status;


    @ApiModelProperty(value = "病区id")
    private Long regionId;
    @ApiModelProperty(value = "病区名称")
    private String regionName;



    @ApiModelProperty(value = "记录创建时间",hidden = true)
    private Date gmtCreate;


    @ApiModelProperty(value = "创建人，0表示无创建人值",hidden = true)
    private String creator;

    @ApiModelProperty(value = "组织管理员用户",required = true)
    @Valid
    @NotNull(message = "管理用户信息不能为空")
    private AddHospitalUserVO addHospitalUserVO;

    @ApiModelProperty(value = "系统服务对象",required = true)
    @Valid
    @NotEmpty(message = "管理用户系统服务不能为空")
    private List<AddRoleSoftwareVO> softwares;
}
