package cn.besteam.modules.system.dto; import cn.besteam.modules.system.entity.SysDepartment; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @ApiModel("部门树") @Data public class SysDepartmentTreeModel { @ApiModelProperty("部门id") private Integer id; @ApiModelProperty("树编码") private String treeCode; @ApiModelProperty("机构类型 1 地区 2 单位 3 部门") private Integer orgType; /** * 排序 */ @ApiModelProperty("排序") private Integer departOrder; /** * 选择开关(1启用,0关闭) */ @ApiModelProperty("选择开关(1启用,0关闭)") private Integer selectSwitch; @ApiModelProperty("是否可以删除") private boolean canDelete = true; private Integer key; private String title; private String slotTitle; @ApiModelProperty("是否是叶子节点") private Boolean isLeaf = true; private String icon; private Integer ruleFlag; private String orgCode; private Map scopedSlots; private List children; private Integer officeType; public SysDepartmentTreeModel() { } /** * @param id 部门id * @param departName 部门 * @param parentId 父机构ID * @param treeCode 树编码 * @param orgType 机构类型 1区域 2单位 3部门 4科室 */ public SysDepartmentTreeModel(Integer id, String departName, Integer parentId, String treeCode, Integer orgType, String orgCode,Integer selectSwitch,Integer officeType,Integer departOrder) { this.id = id; this.key = id; this.title = departName; this.slotTitle = departName; Map map = new HashMap(); map.put("title", "hasDatarule"); this.scopedSlots = map; if (isLeaf) { this.children = new ArrayList(); } this.parentId = parentId; this.value = key; this.label = departName; this.value = id; this.treeCode = treeCode; this.orgType = orgType; this.orgCode = orgCode; this.selectSwitch = selectSwitch; this.officeType = officeType; this.departOrder = departOrder; } public static SysDepartmentTreeModel of(SysDepartment sysDepartment) { return new SysDepartmentTreeModel(sysDepartment.getId(), sysDepartment.getDepartName(), sysDepartment.getParentId(), sysDepartment.getTreeCode(), sysDepartment.getOrgType(), sysDepartment.getOrgCode(),sysDepartment.getSelectSwitch(),sysDepartment.getOfficeType(),sysDepartment.getDepartOrder()); } private Integer parentId; private String label; private Integer value; }