From c0bc7a7a8f0f0475619eaa95f172578a2e6ed1a7 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 5 Jan 2022 10:48:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=201.=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E5=91=98=E5=B7=A1=E6=9F=A5=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?mobile=E7=9A=84=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GridMemberDataAnalysisResultDTO.java | 1 + .../data-aggregator-server/pom.xml | 20 +++++++ .../controller/GovOrgController.java | 52 +++++++++++++++++++ .../service/epmetuser/EpmetUserService.java | 8 +++ .../epmetuser/impl/EpmetUserServiceImpl.java | 6 +++ .../service/impl/AggreGridServiceImpl.java | 20 +++++++ 6 files changed, 107 insertions(+) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridMemberDataAnalysisResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridMemberDataAnalysisResultDTO.java index 4da050970e..0bd54027fa 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridMemberDataAnalysisResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridMemberDataAnalysisResultDTO.java @@ -7,6 +7,7 @@ public class GridMemberDataAnalysisResultDTO { private String gridId; private String staffId; + private String mobile; private String staffName; private String orgName; //private String gridName; diff --git a/epmet-module/data-aggregator/data-aggregator-server/pom.xml b/epmet-module/data-aggregator/data-aggregator-server/pom.xml index 06f591c6c0..b26bfa373b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/pom.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/pom.xml @@ -82,6 +82,26 @@ 2.0.0 compile + + + com.alibaba + easyexcel + 3.0.3 + + 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 97c9c4429e..6cb9704c5f 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 @@ -1,5 +1,6 @@ package com.epmet.dataaggre.controller; +import com.alibaba.excel.EasyExcel; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.enums.RequirePermissionEnum; @@ -223,4 +224,55 @@ public class GovOrgController { return new Result().ok(page); } + /** + * pc 工作端,网格员巡查统计,导出excel + * @param input + * @return + */ + @PostMapping("pcwork/gridmember-analysis/export") + public Result exportGridMemberAnalysis4PcWork(@RequestBody GridMemberDataAnalysisFromDTO input) { + //ValidatorUtils.validateEntity(input, GridMemberDataAnalysisFromDTO.listGridMemberDatas4PcWork.class); + // + //String agencyId = input.getAgencyId(); + //Date startTime = input.getStartTime(); + //Date endTime = input.getEndTime(); + // + //int pageNo = 0; + //int pageSize = 1000; + // + //PageData page; + //do { + // page = aggreGridService.getGridMemberDataAnalysis4PcWork(agencyId, pageNo, pageSize, startTime, endTime); + // List pageList = page.getList(); + // + // EasyExcel + // + // + //} while (page.getList().size() == pageSize); + + return null; + } + + /** + * 网格员数据分析excel导出bean + */ + public class GridMemberDataAnalysisExcelExportBean { + private String staffName; + private String orgName; + + // 项目议题等 + private Integer projectCount; + private Integer issueToProjectCount; + private Integer closedIssueCount; + private Integer projectResponseCount; + private Integer projectTransferCount; + private Integer projectClosedCount; + + // 巡查 + private int patrolTimes; + private int totalTime; + private int patrolRoutineWorkTimes; + } + + } 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 6979f5d8b4..a1509063c1 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 @@ -6,6 +6,7 @@ import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.dto.govproject.result.ProjectAnalysisResultDTO; +import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.UserBaseInfoDTO; @@ -167,4 +168,11 @@ public interface EpmetUserService { * @author sun */ List getHomeUserList(String homeId, String icUserId); + + /** + * 使用staffId批量查询staff信息 + * @param userIdsPart + * @return + */ + List listStaffsByIds(List userIdsPart); } 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 c38bf062a9..815b196c51 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 @@ -735,5 +735,11 @@ public class EpmetUserServiceImpl implements EpmetUserService { return icResiUserDao.getHomeUserList(homeId, icUserId); } + @Override + public List listStaffsByIds(List userIds) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.in(CustomerStaffEntity::getUserId, userIds); + return customerStaffDao.selectList(query); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/AggreGridServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/AggreGridServiceImpl.java index 48f1a811b7..7b2e56ff2f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/AggreGridServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/AggreGridServiceImpl.java @@ -9,9 +9,11 @@ import com.epmet.commons.tools.utils.DateUtils; import com.epmet.dataaggre.dto.epmetuser.result.StaffPatrolRecordDailyResultDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; +import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; import com.epmet.dataaggre.service.AggreGridService; import com.epmet.dataaggre.service.datastats.DataStatsService; +import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.epmetuser.StatsStaffPatrolRecordDailyService; import com.epmet.dataaggre.service.govorg.GovOrgService; import com.github.pagehelper.PageInfo; @@ -20,6 +22,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; @Service public class AggreGridServiceImpl implements AggreGridService { @@ -33,6 +37,9 @@ public class AggreGridServiceImpl implements AggreGridService { @Autowired private StatsStaffPatrolRecordDailyService statsStaffPatrolRecordDailyService; + @Autowired + private EpmetUserService epmetUserService; + @Override public List getGridMemberDataAnalysis( List gridIds, @@ -100,6 +107,19 @@ public class AggreGridServiceImpl implements AggreGridService { List> userIdsParts = Lists.partition(userIds, partSize); for (List userIdsPart : userIdsParts) { + + // 批量查询出用户信息 + List staffInfos = epmetUserService.listStaffsByIds(userIdsPart); + //Map staffIdAndStaffInfo = staffInfos.stream().collect(Collectors.toMap((s) -> s.getUserId(), Function.identity())); + for (CustomerStaffEntity staffInfo : staffInfos) { + Map gridAndData = structedData.get(staffInfo.getUserId()); + if (gridAndData != null) { + gridAndData.forEach((k, v) -> v.setMobile(staffInfo.getMobile())); + } + } + + + // 批量查询出巡查信息 List patrolDatas = statsStaffPatrolRecordDailyService.listStaffPatrolRecordDailyAnalysis(pids, userIdsPart, startDateID, endDateID); for (StaffPatrolRecordDailyResultDTO d : patrolDatas) { Map gridAndData = structedData.get(d.getStaffId());