| /** | 
|  * Copyright (c) 2018 人人开源 All rights reserved. | 
|  * | 
|  * https://www.renren.io | 
|  * | 
|  * 版权所有,侵权必究! | 
|  */ | 
|   | 
| package com.zt.core.sys.model; | 
|   | 
| import com.baomidou.mybatisplus.annotation.FieldFill; | 
| import com.baomidou.mybatisplus.annotation.TableField; | 
| import com.baomidou.mybatisplus.annotation.TableName; | 
| import com.fasterxml.jackson.annotation.JsonIgnore; | 
| import com.zt.common.entity.CompanyEntity; | 
| import com.zt.common.entity.TreeNode; | 
| import com.zt.common.validator.group.DefaultGroup; | 
| import io.swagger.annotations.ApiModel; | 
| import io.swagger.annotations.ApiModelProperty; | 
| import lombok.Data; | 
| import lombok.EqualsAndHashCode; | 
|   | 
| import javax.validation.constraints.Min; | 
| import javax.validation.constraints.NotBlank; | 
| import javax.validation.constraints.NotNull; | 
| import java.util.ArrayList; | 
| import java.util.List; | 
|   | 
| /** | 
|  * 部门 | 
|  * | 
|  * @author hehz | 
|  */ | 
| @Data | 
| @ApiModel(value = "部门") | 
| @EqualsAndHashCode(callSuper = false) | 
| @TableName("SYS_DEPT") | 
| public class SysDept extends CompanyEntity implements TreeNode<SysDept>, Cloneable { | 
|     private static final long serialVersionUID = 1L; | 
|     private Long id; | 
|     @ApiModelProperty(value = "上级ID") | 
|     @NotNull(message = "上级ID,不能为空", groups = DefaultGroup.class) | 
|     private Long pid; | 
|   | 
|     @JsonIgnore | 
|     private String pids;// 所有上级ID,用逗号分开 | 
|   | 
|     @ApiModelProperty(value = "部门名称") | 
|     @NotBlank(message = "请选择上级部门", groups = DefaultGroup.class) | 
|     private String name; | 
|   | 
|     @ApiModelProperty(value = "部门简称") | 
|     @NotNull(message = "部门简称不能为空", groups = DefaultGroup.class) | 
|     private String shortName; | 
|   | 
|     @ApiModelProperty(value = "排序") | 
|     @Min(value = 0, message = "排序值不能小于0", groups = DefaultGroup.class) | 
|     private Integer sort; | 
|   | 
|     @ApiModelProperty(value = "部门代码") | 
|     @NotNull(message = "部门代码不能为空", groups = DefaultGroup.class) | 
|     private String code; | 
|   | 
|     @ApiModelProperty(value = "") | 
|     @NotNull(message = "部门类型不能为空", groups = DefaultGroup.class) | 
|     private String nature; | 
|   | 
|     @ApiModelProperty(value = "是否公司 0:部门 1:公司") | 
|     @NotNull(message = "是否公司不能为空", groups = DefaultGroup.class) | 
|     private boolean isCompany; | 
|   | 
|     @ApiModelProperty(value = "状态") | 
|     @TableField(fill = FieldFill.INSERT) | 
|     private Integer status; | 
|   | 
|     @ApiModelProperty(value = "子部门") | 
|     @TableField(exist = false) | 
|     private List<SysDept> children = new ArrayList<>(); | 
|   | 
|     // @ApiModelProperty(value = "上级部门名称") | 
|     // @TableField(exist = false) | 
|     // private String parentName; | 
|   | 
|     // @ApiModelProperty(value = "公司名称") | 
|     // @TableField(exist = false) | 
|     // private String companyName; | 
|   | 
|     @Override | 
|     public SysDept clone() throws CloneNotSupportedException { | 
|         SysDept dept = (SysDept) super.clone(); | 
|         dept.children = new ArrayList<>(); | 
|         return dept; | 
|     } | 
| } |