diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/organization/controller/DingOrganizationController.java b/pmapi/src/main/java/com/ningdatech/pmapi/organization/controller/DingOrganizationController.java index 33135b7..a7b8d73 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/organization/controller/DingOrganizationController.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/organization/controller/DingOrganizationController.java @@ -6,7 +6,6 @@ import com.ningdatech.pmapi.organization.manage.OrganizationManage; import com.ningdatech.pmapi.organization.model.po.ReqOrganizationListPO; import com.ningdatech.pmapi.organization.model.po.ReqSynthesizePO; import com.ningdatech.pmapi.organization.model.vo.KeyTreeVO; -import com.ningdatech.pmapi.organization.model.vo.OrganizationSynthesizeTreeVO; import com.ningdatech.pmapi.organization.model.vo.OrganizationTreeVO; import com.ningdatech.pmapi.organization.model.vo.ResOrganizationListVO; import io.swagger.annotations.Api; @@ -50,15 +49,9 @@ public class DingOrganizationController { return organizationManage.getChildOrganizationList(parentCode); } - @ApiOperation("综合列表筛选") - @PostMapping("/synthesize-list") - public List organizationSynthesizeList(@Valid @RequestBody ReqSynthesizePO request) { - return organizationManage.organizationSynthesizeList(request); - } - - @ApiOperation("组织树状列表筛选") + @ApiOperation("组织树状列表筛选(前端定制化接口不可复用)") @PostMapping("/tree-list") public List treeVOList(@Valid @RequestBody ReqSynthesizePO request) { - return organizationManage.treeVOList(request); + return organizationManage.treeRubbishVOList(request); } } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/organization/manage/OrganizationManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/organization/manage/OrganizationManage.java index cdd3bb1..2041adb 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/organization/manage/OrganizationManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/organization/manage/OrganizationManage.java @@ -13,8 +13,6 @@ import com.ningdatech.pmapi.organization.model.entity.DingOrganization; import com.ningdatech.pmapi.organization.model.po.ReqOrganizationListPO; import com.ningdatech.pmapi.organization.model.po.ReqSynthesizePO; import com.ningdatech.pmapi.organization.model.vo.KeyTreeVO; -import com.ningdatech.pmapi.organization.model.vo.OrganizationSynthesizeTreeVO; -import com.ningdatech.pmapi.organization.model.vo.OrganizationSynthesizeTreeVO.OrganizationMemberInfo; import com.ningdatech.pmapi.organization.model.vo.OrganizationTreeVO; import com.ningdatech.pmapi.organization.model.vo.ResOrganizationListVO; import com.ningdatech.pmapi.organization.service.IDingEmployeeInfoService; @@ -26,7 +24,6 @@ import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.Comparator; import java.util.List; -import java.util.Map; import java.util.stream.Collectors; /** @@ -110,88 +107,63 @@ public class OrganizationManage { }).collect(Collectors.toList()); } - public List organizationSynthesizeList(ReqSynthesizePO request) { - String parentCode = request.getParentCode(); - Boolean needMember = request.getNeedMember(); + public List treeRubbishVOList(ReqSynthesizePO request) { + String organizationCode = request.getOrganizationCode(); - List childOrganizationList = getChildOrganizationList(parentCode); - - List organizationSynthesizeTreeVOList = childOrganizationList.stream().map(r -> { - OrganizationSynthesizeTreeVO organizationSynthesizeTreeVO = new OrganizationSynthesizeTreeVO(); - organizationSynthesizeTreeVO.setName(r.getName()); - organizationSynthesizeTreeVO.setOrganizationCode(r.getOrganizationCode()); - organizationSynthesizeTreeVO.setParentCode(r.getParentCode()); - return organizationSynthesizeTreeVO; - }).collect(Collectors.toList()); - - if (needMember && organizationSynthesizeTreeVOList.size() > 0) { - List organizationCodeList = organizationSynthesizeTreeVOList.stream() - .map(OrganizationSynthesizeTreeVO::getOrganizationCode).collect(Collectors.toList()); - List dingEmployeeInfoList = iDingEmployeeInfoService.list(Wrappers.lambdaQuery(DingEmployeeInfo.class) - .eq(DingEmployeeInfo::getMainJob, "true") - .in(DingEmployeeInfo::getOrganizationCode, organizationCodeList)); - - Map> organizationCodeGroupMap = dingEmployeeInfoList.stream() - .collect(Collectors.groupingBy(DingEmployeeInfo::getOrganizationCode)); - - for (OrganizationSynthesizeTreeVO organizationSynthesizeTreeVO : organizationSynthesizeTreeVOList) { - String organizationCode = organizationSynthesizeTreeVO.getOrganizationCode(); - List dingEmployeeInfoGroupList = organizationCodeGroupMap.get(organizationCode); - if (CollUtil.isNotEmpty(dingEmployeeInfoGroupList)) { - List organizationMemberInfoList = dingEmployeeInfoGroupList.stream().map(r -> { - OrganizationMemberInfo organizationMemberInfo = new OrganizationMemberInfo(); - organizationMemberInfo.setEmployeeCode(r.getEmployeeCode()); - organizationMemberInfo.setName(r.getEmployeeName()); - return organizationMemberInfo; - }).collect(Collectors.toList()); - organizationSynthesizeTreeVO.setMemberList(organizationMemberInfoList); - } - } + List dingOrganizationList = new ArrayList<>(); + List organizationCodeList = new ArrayList<>(); + if (StrUtils.isBlank(organizationCode)) { + organizationCodeList = dingOrganizationProperties.getDeptVisibleScopes(); + } else { + organizationCodeList = CollectionUtil.toList(organizationCode); } + dingOrganizationList = iDingOrganizationService.list(Wrappers.lambdaQuery(DingOrganization.class) + .in(DingOrganization::getOrganizationCode, organizationCodeList)); - return organizationSynthesizeTreeVOList; - } - - public List treeVOList(ReqSynthesizePO request) { - String parentCode = request.getParentCode(); - Boolean needMember = request.getNeedMember(); - - List childOrganizationList = getChildOrganizationList(parentCode); - - List orgKeyTreeVOList = childOrganizationList.stream().map(r -> { + List orgKeyTreeVOList = dingOrganizationList.stream().map(r -> { KeyTreeVO keyTreeVO = new KeyTreeVO(); - keyTreeVO.setTitle(r.getName()); + keyTreeVO.setTitle(r.getOrganizationName()); keyTreeVO.setKey(r.getOrganizationCode()); keyTreeVO.setType("ORGANIZATION"); return keyTreeVO; }).collect(Collectors.toList()); + treeVOList(request.getNeedMember(), orgKeyTreeVOList); + return orgKeyTreeVOList; + } + + public void treeVOList(Boolean needMember, List basicOrgKeyTreeVOList) { + for (KeyTreeVO basicOrgKeyTreeVO : basicOrgKeyTreeVOList) { + String parentCode = basicOrgKeyTreeVO.getKey(); + List childOrganizationList = getChildOrganizationList(parentCode); + + List orgKeyTreeVOList = childOrganizationList.stream().map(r -> { + KeyTreeVO keyTreeVO = new KeyTreeVO(); + keyTreeVO.setTitle(r.getName()); + keyTreeVO.setKey(r.getOrganizationCode()); + keyTreeVO.setType("ORGANIZATION"); + return keyTreeVO; + }).collect(Collectors.toList()); - if (needMember && orgKeyTreeVOList.size() > 0) { - List organizationCodeList = orgKeyTreeVOList.stream() - .map(KeyTreeVO::getKey).collect(Collectors.toList()); - List dingEmployeeInfoList = iDingEmployeeInfoService.list(Wrappers.lambdaQuery(DingEmployeeInfo.class) - .eq(DingEmployeeInfo::getMainJob, "true") - .in(DingEmployeeInfo::getOrganizationCode, organizationCodeList)); - - Map> organizationCodeGroupMap = dingEmployeeInfoList.stream() - .collect(Collectors.groupingBy(DingEmployeeInfo::getOrganizationCode)); - - for (KeyTreeVO keyTreeVO : orgKeyTreeVOList) { - String organizationCode = keyTreeVO.getKey(); - List dingEmployeeInfoGroupList = organizationCodeGroupMap.get(organizationCode); - if (CollUtil.isNotEmpty(dingEmployeeInfoGroupList)) { - List memberChildren = dingEmployeeInfoGroupList.stream().map(r -> { - KeyTreeVO child = new KeyTreeVO(); - child.setKey(r.getEmployeeCode()); - child.setTitle(r.getEmployeeName()); - child.setType("MEMBER"); - return child; - }).collect(Collectors.toList()); - keyTreeVO.setChildren(memberChildren); + if (StringUtils.isNotBlank(parentCode) && needMember) { + List dingEmployeeInfoList = iDingEmployeeInfoService.list(Wrappers.lambdaQuery(DingEmployeeInfo.class) + .eq(DingEmployeeInfo::getMainJob, "true") + .eq(DingEmployeeInfo::getOrganizationCode, parentCode)); + + List memberChildren = dingEmployeeInfoList.stream().map(r -> { + KeyTreeVO child = new KeyTreeVO(); + child.setKey(r.getEmployeeCode()); + child.setTitle(r.getEmployeeName()); + child.setType("MEMBER"); + return child; + }).collect(Collectors.toList()); + + if (CollUtil.isNotEmpty(memberChildren)) { + orgKeyTreeVOList.addAll(memberChildren); } } + basicOrgKeyTreeVO.setChildren(orgKeyTreeVOList); } - - return orgKeyTreeVOList; } + + } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/organization/model/po/ReqSynthesizePO.java b/pmapi/src/main/java/com/ningdatech/pmapi/organization/model/po/ReqSynthesizePO.java index d5b4fb6..0e02e27 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/organization/model/po/ReqSynthesizePO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/organization/model/po/ReqSynthesizePO.java @@ -15,8 +15,8 @@ import javax.validation.constraints.NotBlank; @ApiModel("单位列表综合筛选请求") public class ReqSynthesizePO { - @ApiModelProperty("父组织code") - private String parentCode; + @ApiModelProperty("组织code") + private String organizationCode; @ApiModelProperty("是否需要组织成员列表") private Boolean needMember = false; diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java index 944d776..0ed62a5 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java @@ -3,8 +3,6 @@ package com.ningdatech.pmapi.todocenter.manage; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.codec.Base64; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.StopWatch; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -1070,6 +1068,7 @@ public class TodoCenterManage { req.setUserId(String.valueOf(userId)); req.setEmployeeCode(employeeCode); req.setInstCodes(instCodes); +// req.setInstCodes(instCodes); BeanUtils.copyProperties(param,req); List ccMeList = processInstanceService.getCcMeList(req); diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/mapper/StatisticsMapper.xml b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/mapper/StatisticsMapper.xml index 3fc11c2..b56cef1 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/mapper/StatisticsMapper.xml +++ b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/mapper/StatisticsMapper.xml @@ -1,7 +1,7 @@ - - - -