package cn.timer.api.bean.zzgl; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Stream; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; import com.alibaba.druid.sql.ast.expr.SQLCaseExpr.Item; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.extension.activerecord.Model; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** * @author Tang 2019-11-17 */ @Entity @Data @Builder @NoArgsConstructor @AllArgsConstructor @Table(name = "zzgl_bmgw_m") @ApiModel("部门岗位表") public class ZzglBmgwM extends Model<ZzglBmgwM> { private static final long serialVersionUID = -3467488578145579513L; @Id @GeneratedValue @TableId(type = IdType.AUTO) @ApiModelProperty(value = "编号", example = "101") private Integer id; @ApiModelProperty(value = "组织机构代码 企业中心(企业信息id)", example = "101") private Integer orgCode; @ApiModelProperty(value = "上级部门id 上级部门id", example = "101") private Integer upId; @ApiModelProperty(value = "名称 ", example = "名称") private String name; @ApiModelProperty(value = "状态 状态 0:正常1:关闭", example = "0") private Integer sts; @ApiModelProperty(value = "是否管理者 0:超管;1:管理员;2:员工", example = "1") private Integer isAdmin; @ApiModelProperty(value = "是否可修改 是否可修改 0:否 1:是", example = "0") private Integer isUpdate; @ApiModelProperty(value = "类型 0:部门;1:岗位", example = "0") private Integer type; @ApiModelProperty(value = "备注 ", example = "备注") private String remark; @ApiModelProperty(value = "部门领导id ", example = "9688") private Integer leader; @TableField(fill = FieldFill.UPDATE) @ApiModelProperty(value = "更新时间 ", example = "2019-10-01") private Date updateTime; @TableField(fill = FieldFill.INSERT) @ApiModelProperty(value = "创建时间 ", example = "2019-10-01") private Date createTime; // 遍历,获取旗下所有子部门和岗位id public static void getupDepts(ArrayList<Integer> list, Integer objId, List<ZzglBmgwM> objs) { if (objId != null) { list.add(objId); Stream<ZzglBmgwM> s = objs.stream().filter(item -> objId.equals(item.getId())); if (s != null) s.forEach(zzglBmgwM -> { getupDepts(list, zzglBmgwM.getUpId(), objs); }); } } // 遍历,获取旗下所有子部门和岗位id(weng) public static void getDepts(ArrayList<Integer> list, Integer objId, List<ZzglBmgwM> objs) { if (objId != null) { objs.stream().filter(item -> objId.equals(item.getUpId())).forEach(zzglBmgwM -> { list.add(zzglBmgwM.getId()); getDepts(list, zzglBmgwM.getId(), objs); }); } } // 遍历,获取该员工所有上级部门(weng) public static void getUpDepts(ArrayList<Integer> list, Integer objId, List<ZzglBmgwM> objs) {//7290 if (objId != null) { for (ZzglBmgwM bmgw : objs) { Integer bmgwId = bmgw.getId(); Integer upId = bmgw.getUpId(); if (bmgwId.equals(objId)) { list.add(bmgwId); if (upId!=null) { getUpDepts(list, upId, objs); } } } } } }