diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java index 9ba8e7a96a..2fe5b49d9a 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java @@ -47,6 +47,7 @@ public interface NumConstant { BigDecimal ONE_HUNDRED_DECIMAL = new BigDecimal(100); BigDecimal ZERO_DECIMAL = new BigDecimal(0); int ONE_THOUSAND = 1000; + int TEN_THOUSAND = 10000; int MAX = 99999999; int EIGHTY_EIGHT = 88; int EIGHTY = 80; diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java index 6011344b15..5ea1b47061 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java @@ -177,6 +177,24 @@ public class GovOrgController { return new Result().ok(govOrgService.staffList(formDTO)); } + /** + * @Param formDTO + * @Description 获取当前组织下的【组织添加的】工作人员 组织/部门/网格下人员列表 + * @author sun + */ + @PostMapping("currentOrgStafflist") + public Result getCurrentOrgStafflist(@LoginUser TokenDto tokenDto, @RequestBody OrgStaffListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, OrgStaffListFormDTO.OrgStaff.class); + if(!"agency".equals(formDTO.getOrgType())&&!"dept".equals(formDTO.getOrgType())&&!"grid".equals(formDTO.getOrgType())){ + throw new RenException("参数类型错误"); + } + //formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); + //formDTO.setStaffId("73ae6280e46a6653a5605d51d5462725"); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + return new Result().ok(govOrgService.getCurrentOrgStafflist(formDTO)); + } + /** * @Param formDTO * @Description 【通讯录】人员详情v2 diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java index a046a17f9c..de989d76e6 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java @@ -64,11 +64,11 @@ public interface CustomerStaffDao extends BaseDao { * @Description 分页查询工作人员基础信息、角色信息【组织人员单位领导角色人员在前;部门人员部门领导角色人员在前;网格人员网格长角色人员在前】 * @author sun */ - List selectStaffList(@Param("staffIds") LinkedList staffIds); + List selectStaffList(@Param("staffIds") List staffIds); /** * @Description 查询工作人员基础信息 * @author sun */ CustomerStaffDTO selectByStaffId(@Param("staffId") String staffId); -} \ No newline at end of file +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java index a1509063c1..9106a81317 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java @@ -175,4 +175,6 @@ public interface EpmetUserService { * @return */ List listStaffsByIds(List userIdsPart); + + List selectStaffList(List staffIds); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 7f9809a052..aad8a7877a 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -742,4 +742,9 @@ public class EpmetUserServiceImpl implements EpmetUserService { return customerStaffDao.selectList(query); } + + @Override + public List selectStaffList(List staffIds) { + return customerStaffDao.selectStaffList(staffIds); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index 77c8c33d0f..b2101a6798 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -11,7 +11,6 @@ import com.epmet.dataaggre.dto.govorg.form.SubOrgFormDTO; import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; -import com.epmet.dataaggre.entity.govorg.CustomerGridEntity; import java.util.List; @@ -93,6 +92,7 @@ public interface GovOrgService { * @author sun */ OrgStaffListResultDTO staffList(OrgStaffListFormDTO formDTO); + OrgStaffListResultDTO getCurrentOrgStafflist(OrgStaffListFormDTO formDTO); /** * @Param formDTO diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 23866c207c..41e390a1c7 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -416,6 +416,41 @@ public class GovOrgServiceImpl implements GovOrgService { return resultDTO; } + /** + * @Param formDTO + * @Description 【通讯录】组织/部门/网格下人员列表 + * @author sun + */ + @Override + public OrgStaffListResultDTO getCurrentOrgStafflist(OrgStaffListFormDTO formDTO) { + OrgStaffListResultDTO resultDTO = new OrgStaffListResultDTO(); + //1.按类型查询组织、部门、网格下所有工作人员Id列表[需要按角色排序 所以这里不能分页] + List staffIds = customerStaffAgencyDao.selectStaffList(formDTO.getOrgId(), formDTO.getOrgType()); + if (org.springframework.util.CollectionUtils.isEmpty(staffIds)) { + return resultDTO; + } + formDTO.setStaffIds(staffIds); + //是否包含自己 + if("0".equals(formDTO.getIncludeMe())){ + staffIds.removeIf(s->s.equals(formDTO.getStaffId())); + } + + //2.分页查询工作人员基础信息、角色信息【组织人员单位领导角色人员在前;部门人员部门领导角色人员在前;网格人员网格长角色人员在前】 + List staffList = epmetUserService.selectStaffList(staffIds); + + //3.查询工作人员注册组织关系信息 + List staffIdList = staffList.stream().map(ListStaffResultDTO::getStaffId).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(staffIdList)){ + List list = customerAgencyDao.selelctStaffOrg(staffIdList); + staffList.forEach(re -> list.stream().filter(l -> re.getStaffId().equals(l.getStaffId())).forEach(s -> re.setOrgType(s.getOrgType()))); + } + + //3.封装数据并返回 + resultDTO.setStaffCount(staffIds.size()); + resultDTO.setStaffList((null == staffList ? new ArrayList<>() : staffList)); + return resultDTO; + } + /** * @Param formDTO * @Description 【通讯录】人员详情v2 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java index bacc003c5c..eb849391a9 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java @@ -1,6 +1,5 @@ package com.epmet.service.impl; -import cn.hutool.core.collection.CollectionUtil; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.constant.ProjectConstant; @@ -80,8 +79,8 @@ public class StatsProjectServiceImpl implements StatsProjectService { if (null != formDTO && StringUtils.isNotBlank(formDTO.getCustomerId())) { customerAgencyStats(formDTO.getCustomerId(), date); } else { - int pageNo = 1; - int pageSize = 100; + int pageNo = NumConstant.ONE; + int pageSize = NumConstant.ONE_HUNDRED; List customerIdList = null; do { customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize); @@ -185,10 +184,10 @@ public class StatsProjectServiceImpl implements StatsProjectService { projectEntity.setCustomerId(customerId); projectEntity.setCreatedTime(date); projectEntity.setStatus(ProjectConstant.CLOSED); - projectEntity.setPageSize(NumConstant.ONE_THOUSAND); + projectEntity.setPageSize(NumConstant.TEN_THOUSAND); int pageNo = NumConstant.ONE; - int size = NumConstant.ZERO; - List processList = new ArrayList<>(); + int size; + List processList = null; do { //1.一千条一循环查询节点数据,封装每个组织对应数据 projectEntity.setPageNo(pageNo); @@ -278,7 +277,7 @@ public class StatsProjectServiceImpl implements StatsProjectService { } mapList.put(agency.getId(), entity); } - } while (size == NumConstant.ONE_THOUSAND); + } while (size == projectEntity.getPageSize()); //二、再分页查询项目表数据,封装每个组织的已结案已解决总数、已结案未解决总数;日增量中已结案已解决总数、已结案未解决总数 int num = NumConstant.ONE; @@ -374,7 +373,7 @@ public class StatsProjectServiceImpl implements StatsProjectService { } mapList.put(agency.getId(), entity); } - } while (size == NumConstant.ONE_THOUSAND); + } while (size == projectEntity.getPageSize()); List projectDateEntityList = new ArrayList<>(mapList.values()); //三、批量保存数据,先删后增 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java index 9abd714221..c9ad658627 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java @@ -81,6 +81,7 @@ public class CustomerGridServiceImpl extends BaseServiceImpl