From 6b1ce95b48f125caade1acfc1b4c35db45d73996 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Tue, 14 Jun 2022 16:10:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=A0=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/extend/bo/ExtendGroupBO.java | 57 +++++++++++++++++++ .../entity/extend/po/ExtendGroupPO.java | 4 +- .../{TypeTreeDTO.java => vo/TypeTreeVO.java} | 15 +++-- .../organization/enums/ModuleTypeEnum.java | 44 ++++++++++++++ .../enums/OrganizationTypeEnum.java | 12 ---- .../mapper/extend/ExtendGroupMapper.java | 2 +- .../service/FieldDefinedService.java | 7 ++- .../service/impl/FieldDefinedServiceImpl.java | 16 ++++-- .../web/FieldDefinedController.java | 7 ++- .../wrapper/FieldDefinedWrapper.java | 9 +-- 10 files changed, 137 insertions(+), 36 deletions(-) create mode 100644 src/com/engine/organization/entity/extend/bo/ExtendGroupBO.java rename src/com/engine/organization/entity/fieldset/{TypeTreeDTO.java => vo/TypeTreeVO.java} (79%) create mode 100644 src/com/engine/organization/enums/ModuleTypeEnum.java delete mode 100644 src/com/engine/organization/enums/OrganizationTypeEnum.java diff --git a/src/com/engine/organization/entity/extend/bo/ExtendGroupBO.java b/src/com/engine/organization/entity/extend/bo/ExtendGroupBO.java new file mode 100644 index 00000000..b2976b53 --- /dev/null +++ b/src/com/engine/organization/entity/extend/bo/ExtendGroupBO.java @@ -0,0 +1,57 @@ +package com.engine.organization.entity.extend.bo; + +import com.engine.organization.entity.extend.po.ExtendGroupPO; +import com.engine.organization.entity.fieldset.vo.TypeTreeVO; +import org.apache.commons.collections.CollectionUtils; + +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/6/14 + * @Version V1.0 + **/ +public class ExtendGroupBO { + + public static List buildTypeTree(List extendGroupPOS) { + + if(CollectionUtils.isEmpty(extendGroupPOS)){ + return Collections.emptyList(); + } + + List typeTreeVOS = extendGroupPOS.stream().map(e -> + TypeTreeVO.builder() + .addChild(e.getId() >= 0) + .canClick(true) + .domid(String.valueOf(e.getId())) + .hasGroup(isHasGroup(e.getId())) + .haschild(getHasChild(e.getId())) + .isShow(e.getIsShow()) + .key(e.getId()) + .name(e.getGroupName()) + .viewAttr(e.getId() <= 0 ? 1 : 2) + .pid(e.getPid()) + .build()).collect(Collectors.toList()); + + //获取非一级 + Map> collects = typeTreeVOS.stream().filter(item -> item.getPid() != null).collect(Collectors.groupingBy(TypeTreeVO ::getPid)); + + return typeTreeVOS.stream().peek(e -> e.setSubs(collects.get(e.getKey()))).filter(item -> item.getPid() == null).collect(Collectors.toList()); + + } + + + + private static boolean getHasChild(Long id) { + return true; + } + + + private static boolean isHasGroup(Long id) { + return true; + } +} diff --git a/src/com/engine/organization/entity/extend/po/ExtendGroupPO.java b/src/com/engine/organization/entity/extend/po/ExtendGroupPO.java index 166ed4ac..1c9404d7 100644 --- a/src/com/engine/organization/entity/extend/po/ExtendGroupPO.java +++ b/src/com/engine/organization/entity/extend/po/ExtendGroupPO.java @@ -34,10 +34,12 @@ public class ExtendGroupPO { private String groupName; /** - * 所属分组 + * 父级 */ private Long pid; + private String isShow; + private Long creator; private int deleteType; private Date createTime; diff --git a/src/com/engine/organization/entity/fieldset/TypeTreeDTO.java b/src/com/engine/organization/entity/fieldset/vo/TypeTreeVO.java similarity index 79% rename from src/com/engine/organization/entity/fieldset/TypeTreeDTO.java rename to src/com/engine/organization/entity/fieldset/vo/TypeTreeVO.java index fb4e8bdb..7f8cf125 100644 --- a/src/com/engine/organization/entity/fieldset/TypeTreeDTO.java +++ b/src/com/engine/organization/entity/fieldset/vo/TypeTreeVO.java @@ -1,4 +1,4 @@ -package com.engine.organization.entity.fieldset; +package com.engine.organization.entity.fieldset.vo; import lombok.AllArgsConstructor; import lombok.Builder; @@ -17,9 +17,9 @@ import java.util.List; @Builder @NoArgsConstructor @AllArgsConstructor -public class TypeTreeDTO { +public class TypeTreeVO { - //是否可以增加子节点 默认都为false + //是否可以增加子节点 private boolean addChild; private boolean canCanceled; @@ -30,7 +30,7 @@ public class TypeTreeDTO { //树id private String domid; - //是否存在分组title + //是否存在分组 private boolean hasGroup; //是否有子节点 @@ -52,15 +52,18 @@ public class TypeTreeDTO { private boolean isopen; //键 - private String key; + private Long key; //树名称 private String name; //子节点 - private List subs; + private List subs; // private int viewAttr; + //父节点id + private Long pid; + } diff --git a/src/com/engine/organization/enums/ModuleTypeEnum.java b/src/com/engine/organization/enums/ModuleTypeEnum.java new file mode 100644 index 00000000..15ee1269 --- /dev/null +++ b/src/com/engine/organization/enums/ModuleTypeEnum.java @@ -0,0 +1,44 @@ +package com.engine.organization.enums; + +import com.engine.salary.enums.BaseEnum; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/6/14 + * @Version V1.0 + **/ +public enum ModuleTypeEnum implements BaseEnum { + + subcompanyfielddefined(1, "分部", -84967), + departmentfielddefined(2, "部门", -84967), + jobfielddefined(3, "岗位", -84967), + resourcefielddefined(4, "人员", -84967); + + private int value; + + private String defaultLabel; + + private int labelId; + + ModuleTypeEnum(int value, String defaultLabel, int labelId) { + this.value = value; + this.defaultLabel = defaultLabel; + this.labelId = labelId; + } + + @Override + public Integer getValue() { + return value; + } + + @Override + public Integer getLabelId() { + return labelId; + } + + @Override + public String getDefaultLabel() { + return defaultLabel; + } +} diff --git a/src/com/engine/organization/enums/OrganizationTypeEnum.java b/src/com/engine/organization/enums/OrganizationTypeEnum.java deleted file mode 100644 index fbe85d52..00000000 --- a/src/com/engine/organization/enums/OrganizationTypeEnum.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.engine.organization.enums; - -/** - * @Author weaver_cl - * @description: - * @Date 2022/6/14 - * @Version V1.0 - **/ -public enum OrganizationTypeEnum { - - -} diff --git a/src/com/engine/organization/mapper/extend/ExtendGroupMapper.java b/src/com/engine/organization/mapper/extend/ExtendGroupMapper.java index 02e217ac..5e9f00fb 100644 --- a/src/com/engine/organization/mapper/extend/ExtendGroupMapper.java +++ b/src/com/engine/organization/mapper/extend/ExtendGroupMapper.java @@ -19,7 +19,7 @@ public interface ExtendGroupMapper { * @param extendType * @return */ - List listByType(@Param("extendType") String extendType); + List listByType(@Param("extendType") Integer extendType); /** * 根据ID 查询数据 diff --git a/src/com/engine/organization/service/FieldDefinedService.java b/src/com/engine/organization/service/FieldDefinedService.java index 083a5228..422a9332 100644 --- a/src/com/engine/organization/service/FieldDefinedService.java +++ b/src/com/engine/organization/service/FieldDefinedService.java @@ -1,6 +1,7 @@ package com.engine.organization.service; -import com.engine.organization.entity.fieldset.TypeTreeDTO; +import com.engine.organization.entity.fieldset.vo.TypeTreeVO; +import com.engine.organization.enums.ModuleTypeEnum; import java.util.List; @@ -12,7 +13,7 @@ import java.util.List; **/ public interface FieldDefinedService { - - List getTree(String moduleName); + + List getTree(ModuleTypeEnum moduleTypeEnum); } diff --git a/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java b/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java index f77ff2ae..d9d0bc78 100644 --- a/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java +++ b/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java @@ -1,10 +1,14 @@ package com.engine.organization.service.impl; import com.engine.core.impl.Service; -import com.engine.organization.entity.fieldset.TypeTreeDTO; +import com.engine.organization.entity.extend.bo.ExtendGroupBO; +import com.engine.organization.entity.extend.po.ExtendGroupPO; +import com.engine.organization.entity.fieldset.vo.TypeTreeVO; +import com.engine.organization.enums.ModuleTypeEnum; +import com.engine.organization.mapper.extend.ExtendGroupMapper; import com.engine.organization.service.FieldDefinedService; +import com.engine.organization.util.db.MapperProxyFactory; -import java.util.ArrayList; import java.util.List; /** @@ -16,9 +20,9 @@ import java.util.List; public class FieldDefinedServiceImpl extends Service implements FieldDefinedService { @Override - public List getTree(String moduleName) { - List typeTreeDTOS = new ArrayList<>(); - //int extendType = - return typeTreeDTOS; + public List getTree(ModuleTypeEnum moduleTypeEnum) { + Integer extendType = moduleTypeEnum.getValue(); + List extendGroupPOS = MapperProxyFactory.getProxy(ExtendGroupMapper.class).listByType(extendType); + return ExtendGroupBO.buildTypeTree(extendGroupPOS); } } diff --git a/src/com/engine/organization/web/FieldDefinedController.java b/src/com/engine/organization/web/FieldDefinedController.java index c4bd43ef..bdac0654 100644 --- a/src/com/engine/organization/web/FieldDefinedController.java +++ b/src/com/engine/organization/web/FieldDefinedController.java @@ -1,6 +1,7 @@ package com.engine.organization.web; import com.engine.common.util.ServiceUtil; +import com.engine.organization.enums.ModuleTypeEnum; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.FieldDefinedWrapper; import weaver.hrm.HrmUserVarify; @@ -28,13 +29,13 @@ public class FieldDefinedController { } @GET - @Path("/{moduleName}/getTree") + @Path("/{moduleTypeEnum}/getTree") @Produces(MediaType.APPLICATION_JSON) public ReturnResult getHasRight(@Context HttpServletRequest request, @Context HttpServletResponse response, - @PathParam("moduleName") String moduleName) { + @PathParam("moduleTypeEnum") ModuleTypeEnum moduleTypeEnum) { try { User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getFieldDefinedWrapper(user).getTree(moduleName)); + return getFieldDefinedWrapper(user).getTree(moduleTypeEnum); } catch (Exception e) { return ReturnResult.exceptionHandle(e.getMessage()); } diff --git a/src/com/engine/organization/wrapper/FieldDefinedWrapper.java b/src/com/engine/organization/wrapper/FieldDefinedWrapper.java index 673b12d2..3f9a2a89 100644 --- a/src/com/engine/organization/wrapper/FieldDefinedWrapper.java +++ b/src/com/engine/organization/wrapper/FieldDefinedWrapper.java @@ -2,7 +2,8 @@ package com.engine.organization.wrapper; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; -import com.engine.organization.entity.fieldset.TypeTreeDTO; +import com.engine.organization.entity.fieldset.vo.TypeTreeVO; +import com.engine.organization.enums.ModuleTypeEnum; import com.engine.organization.service.FieldDefinedService; import com.engine.organization.service.impl.FieldDefinedServiceImpl; import com.engine.organization.util.response.ReturnResult; @@ -23,8 +24,8 @@ public class FieldDefinedWrapper extends Service { } - public ReturnResult getTree(String moduleName) { - List treeDTOS = getFieldDefinedService(user).getTree(moduleName); - return ReturnResult.successed(); + public ReturnResult getTree(ModuleTypeEnum moduleTypeEnum) { + List treeDTOS = getFieldDefinedService(user).getTree(moduleTypeEnum); + return ReturnResult.successed(treeDTOS); } }