From 91406709ad80b18f8486d4248aa61d84fd5e5fc3 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Sat, 12 Feb 2022 15:13:38 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E6=B4=BB=E8=B7=83?= =?UTF-8?q?=E5=BA=A6=E6=9F=A5=E8=AF=A2=E7=BB=9F=E8=AE=A1=E5=88=9D=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/govorg/form/GridLivelyFormDTO.java | 37 ++++++ .../govorg/result/GridDateIdResultDTO.java | 20 ++++ .../govorg/result/GridLivelyResultDTO.java | 33 ++++++ .../controller/GovOrgController.java | 29 +++++ .../dataaggre/dao/datastats/DataStatsDao.java | 8 ++ .../dao/epmetuser/StaffPatrolRecordDao.java | 8 ++ .../dao/govorg/CustomerAgencyDao.java | 7 +- .../dataaggre/excel/GridLivelyExcel.java | 72 ++++++++++++ .../service/datastats/DataStatsService.java | 8 ++ .../datastats/impl/DataStatsServiceImpl.java | 13 ++- .../service/epmetuser/EpmetUserService.java | 8 ++ .../epmetuser/impl/EpmetUserServiceImpl.java | 10 ++ .../service/govorg/GovOrgService.java | 18 ++- .../govorg/impl/GovOrgServiceImpl.java | 108 +++++++++++++++++- .../mapper/datastats/DatsStatsDao.xml | 15 +++ .../mapper/epmetuser/StaffPatrolRecordDao.xml | 16 +++ .../mapper/govorg/CustomerAgencyDao.xml | 13 +++ 17 files changed, 413 insertions(+), 10 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/GridLivelyFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridDateIdResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridLivelyResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/GridLivelyExcel.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/GridLivelyFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/GridLivelyFormDTO.java new file mode 100644 index 0000000000..326baba505 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/GridLivelyFormDTO.java @@ -0,0 +1,37 @@ +package com.epmet.dataaggre.dto.govorg.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @Description 网格活跃度-接口入参 + * @Author sun + */ +@Data +public class GridLivelyFormDTO implements Serializable { + private static final long serialVersionUID = -3651225675593357002L; + + public interface Grid extends CustomerClientShowGroup { + } + + /** + * 组织Id + */ + @NotBlank(message = "组织ID不能为空", groups = {Grid.class}) + private String agencyId; + /** + * 起始查询时间,yyyyMMdd + */ + @NotBlank(message = "起始查询时间不能为空", groups = {Grid.class}) + private String startTime; + /** + * 结束查询时间,yyyyMMdd + */ + @NotBlank(message = "结束查询时间不能为空", groups = {Grid.class}) + private String endTime; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridDateIdResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridDateIdResultDTO.java new file mode 100644 index 0000000000..249742ea76 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridDateIdResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dataaggre.dto.govorg.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 网格下按天的上报事件或直接立项数据-接口返参 + * @Author sun + */ +@Data +public class GridDateIdResultDTO implements Serializable { + private static final long serialVersionUID = -4304356050545598564L; + //网格Id + private String gridId; + //日维度Id + private String dateId; + //网格所属组织的所有上级Id + private String pids; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridLivelyResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridLivelyResultDTO.java new file mode 100644 index 0000000000..71bd1947f8 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridLivelyResultDTO.java @@ -0,0 +1,33 @@ +package com.epmet.dataaggre.dto.govorg.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 网格活跃度-接口返参 + * @Author sun + */ +@Data +public class GridLivelyResultDTO implements Serializable { + private static final long serialVersionUID = -4304356050545598564L; + //组织Id + private String agencyId; + //组织名称 + private String agencyName; + //组织下所有网格总数 + private Integer gridSumNum; + //活跃网格数 + private Integer gridLivelyNum; + //活跃网格数占比 + private String gridLivelyRatio; + //正常运行网格数 + private Integer gridOrdinaryNum; + //正常运行网格数占比 + private String gridOrdinaryRatio; + //僵尸网格数 + private Integer gridLazyNum; + //僵尸网格数占比 + private String gridLazyRatio; +} 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 5ea1b47061..a0f7bafdbb 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 @@ -5,6 +5,7 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.RequirePermission; +import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -26,6 +27,7 @@ import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; import com.epmet.dataaggre.enums.GridMemberDataAnalysisEnums; import com.epmet.dataaggre.service.AggreGridService; import com.epmet.dataaggre.service.govorg.GovOrgService; +import com.epmet.dto.form.patrol.PcworkRecordListFormDTO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; @@ -373,4 +375,31 @@ public class GovOrgController { sb.append("的工作统计"); return sb.toString(); } + + /** + * @Description 查询组织的直属下级组织下网格活跃度统计【查平阴实际是查的下边八个街道的活跃程度】 + * @author sun + * 网格按运行情况分为活跃网格、正常运行网格和僵尸网格三个类别, + * 以自然周为计量单位对末级网格运行情况进行考核。 + * 1周内每个末级网格有5天及5天以上上传事件或开展例行工作的为活跃网格; + * 有2天及2天以上,5天以下上传事件或开展例行工作的为正常运行网格; + * 只有1天上传事件或开展例行工作的为僵尸网格。 + */ + @PostMapping("gridlively") + public Result> grdiLively(@RequestBody GridLivelyFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, GridLivelyFormDTO.Grid.class); + return new Result>().ok(govOrgService.grdiLively(formDTO)); + } + + /** + * @Author sun + * @Description 查询组织的直属下级组织下网格活跃度统计--文件导出 + **/ + @NoRepeatSubmit + @PostMapping("export") + public void pcworkRecordListExport(HttpServletResponse response, @RequestBody GridLivelyFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, GridLivelyFormDTO.Grid.class); + govOrgService.grdiLivelyExport(response, formDTO); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java index 1b0562b286..4e8050c4f3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java @@ -25,6 +25,8 @@ import com.epmet.dataaggre.dto.datastats.result.*; import com.epmet.dataaggre.dto.epmetuser.FactIcuserCategoryAnalysisDailyDTO; import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO; import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO; +import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO; +import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO; import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO; import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO; @@ -358,4 +360,10 @@ public interface DataStatsDao { @Param("orgId")String orgId, @Param("dateId") String dateId, @Param("configIds") List configIds); + + /** + * @Description 查询直属下级组织下网格在查询时间段内存在上报事件(直接立项)数的网格,一天一条 + * @author sun + */ + List gridDateProjectIncrList(GridLivelyFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffPatrolRecordDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffPatrolRecordDao.java index a18928719c..35f54992d1 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffPatrolRecordDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffPatrolRecordDao.java @@ -22,6 +22,8 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO; import com.epmet.dataaggre.dto.epmetuser.form.StaffListFormDTO; import com.epmet.dataaggre.dto.epmetuser.result.StaffListResultDTO; +import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO; +import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO; import com.epmet.dataaggre.entity.epmetuser.StaffPatrolRecordEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -60,4 +62,10 @@ public interface StaffPatrolRecordDao extends BaseDao { * @author sun */ List gridMemberPatrol(GridMemberPatrolListFormDTO formDTO); + + /** + * @Description 查询直属下级组织下网格在查询时间段内存在例行工作次数的网格 + * @author sun + */ + List gridDateRoutineWorkList(GridLivelyFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java index 3ecfd18a2d..c9ebd4bf8d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java @@ -23,8 +23,8 @@ import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.LinkedList; import java.util.List; -import java.util.Set; /** * 机关单位信息表 @@ -100,4 +100,9 @@ public interface CustomerAgencyDao extends BaseDao { */ List getOrgList(@Param("staffId") String staffId); + /** + * @Description 查询当前组织的直属下级组织列表及组织下的网格总数 + * @author sun + */ + LinkedList subAgencyListAndGridSumNum(@Param("agencyId") String agencyId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/GridLivelyExcel.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/GridLivelyExcel.java new file mode 100644 index 0000000000..655675326f --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/GridLivelyExcel.java @@ -0,0 +1,72 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +/** + * @Description 网格活跃度文件导出-接口返参 + * @Author sun + */ +@Data +public class GridLivelyExcel { + + @ExcelProperty("组织ID") + @ExcelIgnore + private String agencyId; + + //组织名称 + @ExcelProperty("组织名称") + @ColumnWidth(15) + private String agencyName; + //组织下所有网格总数 + @ExcelProperty("网格总数") + @ColumnWidth(15) + private Integer gridSumNum; + //活跃网格数 + @ExcelProperty("活跃网格数") + @ColumnWidth(15) + private Integer gridLivelyNum; + //活跃网格数占比 + @ExcelProperty("活跃网格数占比") + @ColumnWidth(15) + private String gridLivelyRatio; + //正常运行网格数 + @ExcelProperty("正常运行网格数") + @ColumnWidth(15) + private Integer gridOrdinaryNum; + //正常运行网格数占比 + @ExcelProperty("正常运行网格数占比") + @ColumnWidth(15) + private String gridOrdinaryRatio; + //僵尸网格数 + @ExcelProperty("僵尸网格数") + @ColumnWidth(15) + private Integer gridLazyNum; + //僵尸网格数占比 + @ExcelProperty("僵尸网格数占比") + @ColumnWidth(15) + private String gridLazyRatio; + + + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java index 02b5f5fef5..a42d6db2ad 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java @@ -6,6 +6,8 @@ import com.epmet.dataaggre.dto.datastats.result.*; import com.epmet.dataaggre.dto.epmetuser.FactIcuserCategoryAnalysisDailyDTO; import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO; import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO; +import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO; +import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO; import com.epmet.dataaggre.dto.govproject.result.ProjectMonthIncrResultDTO; @@ -284,4 +286,10 @@ public interface DataStatsService { List queryGridIcUserCategoryData(String orgId, String dateId, List configIds); List queryAgencyIcUserCategoryData(String gridPids, String orgId,String dateId, List configIds); + + /** + * @Description 查询直属下级组织下网格在查询时间段内存在上报事件(直接立项)数的网格,一天一条 + * @author sun + */ + List getGridDateProjectIncrList(GridLivelyFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java index 0f47aceaa2..84dec4c630 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java @@ -24,7 +24,9 @@ import com.epmet.dataaggre.dto.evaluationindex.ScreenAgencyOrGridListDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenGovernRankDataDailyDTO; -import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; + import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO; + import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO; + import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO; import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO; @@ -2187,4 +2189,13 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve } return dataStatsDao.queryAgencyIcUserCategoryData(gridPids,orgId,dateId,configIds); } + + /** + * @Description 查询直属下级组织下网格在查询时间段内存在上报事件(直接立项)数的网格,一天一条 + * @author sun + */ + @Override + public List getGridDateProjectIncrList(GridLivelyFormDTO formDTO) { + return dataStatsDao.gridDateProjectIncrList(formDTO); + } } 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 e4ae4c2115..d905d12f37 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 @@ -2,8 +2,10 @@ package com.epmet.dataaggre.service.epmetuser; import com.epmet.dataaggre.dto.epmetuser.form.*; import com.epmet.dataaggre.dto.epmetuser.result.*; +import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO; import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; +import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.dto.govproject.result.ProjectAnalysisResultDTO; import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; @@ -184,4 +186,10 @@ public interface EpmetUserService { * @return */ List queryIcUserCategoryData(IcUserCategoryFormDTO formDTO); + + /** + * @Description 查询直属下级组织下网格在查询时间段内存在例行工作次数的网格 + * @author sun + */ + List getGridDateRoutineWorkList(GridLivelyFormDTO formDTO); } 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 3ed9152224..55b7789e5d 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 @@ -23,8 +23,10 @@ import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerDepartmentDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; +import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO; import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; +import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.dto.govorg.result.StaffOrgNameResultDTO; import com.epmet.dataaggre.dto.govorg.result.StaffOrgRelationResultDTO; @@ -816,6 +818,14 @@ public class EpmetUserServiceImpl implements EpmetUserService { return resList; } + /** + * @Description 查询直属下级组织下网格在查询时间段内存在例行工作次数的网格 + * @author sun + */ + @Override + public List getGridDateRoutineWorkList(GridLivelyFormDTO formDTO) { + return staffPatrolRecordDao.gridDateRoutineWorkList(formDTO); + } } 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 b2101a6798..d81af9c6f7 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 @@ -4,14 +4,12 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerDepartmentDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; -import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; -import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; -import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; -import com.epmet.dataaggre.dto.govorg.form.SubOrgFormDTO; +import com.epmet.dataaggre.dto.govorg.form.*; import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -172,4 +170,16 @@ public interface GovOrgService { * @date 2021/11/5 2:57 下午 */ CustomerGridDTO getGridInfo(String gridId); + + /** + * @Description 查询组织的直属下级组织下网格活跃度统计【查平阴实际是查的下边八个街道的活跃程度】 + * @author sun + */ + List grdiLively(GridLivelyFormDTO formDTO); + + /** + * @Author sun + * @Description 查询组织的直属下级组织下网格活跃度统计--文件导出 + **/ + void grdiLivelyExport(HttpServletResponse response, GridLivelyFormDTO 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 41e390a1c7..e9c7314437 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 @@ -1,35 +1,44 @@ package com.epmet.dataaggre.service.govorg.impl; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.fastjson.JSON; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.dto.result.OptionDataResultDTO; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.govorg.*; import com.epmet.dataaggre.dto.epmetuser.result.ListStaffResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.StaffRoleListResultDTO; import com.epmet.dataaggre.dto.govorg.*; -import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; -import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; -import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; -import com.epmet.dataaggre.dto.govorg.form.SubOrgFormDTO; +import com.epmet.dataaggre.dto.govorg.form.*; 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.excel.GridLivelyExcel; import com.epmet.dataaggre.service.commonservice.AreaCodeService; +import com.epmet.dataaggre.service.datastats.DataStatsService; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.govorg.GovOrgService; import com.epmet.dataaggre.service.opercrm.CustomerRelation; +import com.epmet.dto.result.PcworkRecordListResultDTO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; +import java.text.NumberFormat; import java.util.*; import java.util.stream.Collectors; @@ -58,6 +67,8 @@ public class GovOrgServiceImpl implements GovOrgService { private CustomerStaffGridDao customerStaffGridDao; @Autowired private EpmetUserService epmetUserService; + @Autowired + private DataStatsService dataStatsService; /** * @param staffId @@ -590,5 +601,94 @@ public class GovOrgServiceImpl implements GovOrgService { return customerGridDao.getGridInfo(gridId); } + /** + * @Description 查询组织的直属下级组织下网格活跃度统计【查平阴实际是查的下边八个街道的活跃程度】 + * @author sun + * 网格按运行情况分为活跃网格、正常运行网格和僵尸网格三个类别, + * 以自然周为计量单位对末级网格运行情况进行考核。 + * 1周内每个末级网格有5天及5天以上上传事件或开展例行工作的为活跃网格; + * 有2天及2天以上,5天以下上传事件或开展例行工作的为正常运行网格; + * 只有1天上传事件或开展例行工作的为僵尸网格。 + */ + @Override + public List grdiLively(GridLivelyFormDTO formDTO) { + //1.查询当前组织的直属下级组织列表及组织下的网格总数 + LinkedList subList = customerAgencyDao.subAgencyListAndGridSumNum(formDTO.getAgencyId()); + //2.查询直属下级组织下网格在查询时间段内存在例行工作次数的网格,一天一条 + List workList = epmetUserService.getGridDateRoutineWorkList(formDTO); + //3.查询直属下级组织下网格在查询时间段内存在上报事件(直接立项)数的网格,一天一条 + List projectList = dataStatsService.getGridDateProjectIncrList(formDTO); + //4.汇总数据,一个网格一天只记录一条数据,这条数据可能是例行工作的也可能是上报事件的,也可能某一天两个数都有,但只记录一条 + Map map = new HashMap<>(); + workList.forEach(w -> { + map.put(w.getGridId() + w.getDateId(), w.getDateId()); + }); + //projectList.stream().filter(pro -> !map.containsKey(pro.getGridId() + pro.getDateId())).forEach(p -> workList.add(p)); + projectList.forEach(pro -> { + if (!map.containsKey(pro.getGridId() + pro.getDateId())) { + workList.add(pro); + } + }); + //5.按组织封装数据 + //计算百分比使用,保留小数点后两位 + NumberFormat numberFormat = NumberFormat.getInstance(); + numberFormat.setMaximumFractionDigits(NumConstant.TWO); + subList.forEach(sub -> { + Map hash = new HashMap<>(); + workList.forEach(w -> { + if (w.getPids().contains(sub.getAgencyId())) { + if (hash.containsKey(w.getGridId())) { + hash.put(w.getGridId(), hash.get(w.getGridId()) + NumConstant.ONE); + } else { + hash.put(w.getGridId(), NumConstant.ONE); + } + } + }); + //活跃网格数、普通网格数、僵尸网格数 + int gridLivelyNum = 0; + int gridOrdinaryNum = 0; + int gridLazyNum = 0; + for (Integer val : hash.values()) { + if (val >= NumConstant.FIVE) { + gridLivelyNum++; + } else if (val >= NumConstant.TWO && val < NumConstant.FIVE) { + gridOrdinaryNum++; + } else { + gridLazyNum++; + } + } + sub.setGridLivelyNum(gridLivelyNum); + sub.setGridLivelyRatio((sub.getGridSumNum() == 0 || gridLivelyNum > sub.getGridSumNum()) ? "0%" : numberFormat.format(((float) gridLivelyNum / (float) sub.getGridSumNum()) * 100) + "%"); + sub.setGridOrdinaryNum(gridOrdinaryNum); + sub.setGridOrdinaryRatio((sub.getGridSumNum() == 0 || gridOrdinaryNum > sub.getGridSumNum()) ? "0%" : numberFormat.format(((float) gridOrdinaryNum / (float) sub.getGridSumNum()) * 100) + "%"); + sub.setGridLazyNum(gridLazyNum); + sub.setGridLazyRatio((sub.getGridSumNum() == 0 || gridLazyNum > sub.getGridSumNum()) ? "0%" : numberFormat.format(((float) gridLazyNum / (float) sub.getGridSumNum()) * 100) + "%"); + }); + + return subList; + } + + /** + * @Author sun + * @Description 查询组织的直属下级组织下网格活跃度统计--文件导出 + **/ + @Override + public void grdiLivelyExport(HttpServletResponse response, GridLivelyFormDTO formDTO) { + ExcelWriter excelWriter = null; + try { + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("网格活跃度统计表.xlsx", response)).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("sheet").build(); + writeSheet.setClazz(GridLivelyExcel.class); + List data = ConvertUtils.sourceToTarget(grdiLively(formDTO), GridLivelyExcel.class); + excelWriter.write(data, writeSheet); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml index 7e11807b3a..eab284f5cb 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml @@ -1146,4 +1146,19 @@ group by m.CONFIG_ID,m.COLUMN_NAME + + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml index a23656d221..8eae39d26e 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml @@ -141,4 +141,20 @@ GROUP BY staff_id + + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml index 7a0760d0a3..e5594fdb5e 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml @@ -286,4 +286,17 @@ AND USER_ID = #{staffId} + + From 190693e320c81e633a48a18fe5f03b01d59f3a0c Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Sat, 12 Feb 2022 15:44:24 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../govorg/impl/GovOrgServiceImpl.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) 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 e9c7314437..c7244b019a 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 @@ -7,7 +7,6 @@ import com.alibaba.fastjson.JSON; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; -import com.epmet.commons.tools.dto.result.OptionDataResultDTO; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; @@ -29,7 +28,6 @@ import com.epmet.dataaggre.service.datastats.DataStatsService; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.govorg.GovOrgService; import com.epmet.dataaggre.service.opercrm.CustomerRelation; -import com.epmet.dto.result.PcworkRecordListResultDTO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -37,8 +35,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; -import java.math.BigDecimal; import java.text.NumberFormat; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -647,22 +645,20 @@ public class GovOrgServiceImpl implements GovOrgService { //活跃网格数、普通网格数、僵尸网格数 int gridLivelyNum = 0; int gridOrdinaryNum = 0; - int gridLazyNum = 0; for (Integer val : hash.values()) { if (val >= NumConstant.FIVE) { gridLivelyNum++; } else if (val >= NumConstant.TWO && val < NumConstant.FIVE) { gridOrdinaryNum++; - } else { - gridLazyNum++; } } sub.setGridLivelyNum(gridLivelyNum); sub.setGridLivelyRatio((sub.getGridSumNum() == 0 || gridLivelyNum > sub.getGridSumNum()) ? "0%" : numberFormat.format(((float) gridLivelyNum / (float) sub.getGridSumNum()) * 100) + "%"); sub.setGridOrdinaryNum(gridOrdinaryNum); sub.setGridOrdinaryRatio((sub.getGridSumNum() == 0 || gridOrdinaryNum > sub.getGridSumNum()) ? "0%" : numberFormat.format(((float) gridOrdinaryNum / (float) sub.getGridSumNum()) * 100) + "%"); - sub.setGridLazyNum(gridLazyNum); - sub.setGridLazyRatio((sub.getGridSumNum() == 0 || gridLazyNum > sub.getGridSumNum()) ? "0%" : numberFormat.format(((float) gridLazyNum / (float) sub.getGridSumNum()) * 100) + "%"); + int gridLazyNum = sub.getGridSumNum() - gridLivelyNum - gridOrdinaryNum; + sub.setGridLazyNum(gridLazyNum < 0 ? 0 : gridLazyNum); + sub.setGridLazyRatio((sub.getGridSumNum() == 0 || gridLazyNum < 0) ? "0%" : numberFormat.format(((float) gridLazyNum / (float) sub.getGridSumNum()) * 100) + "%"); }); return subList; @@ -677,7 +673,7 @@ public class GovOrgServiceImpl implements GovOrgService { ExcelWriter excelWriter = null; try { excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("网格活跃度统计表.xlsx", response)).build(); - WriteSheet writeSheet = EasyExcel.writerSheet("sheet").build(); + WriteSheet writeSheet = EasyExcel.writerSheet(excelSheetName(formDTO)).build(); writeSheet.setClazz(GridLivelyExcel.class); List data = ConvertUtils.sourceToTarget(grdiLively(formDTO), GridLivelyExcel.class); excelWriter.write(data, writeSheet); @@ -690,5 +686,16 @@ public class GovOrgServiceImpl implements GovOrgService { } } + private String excelSheetName(GridLivelyFormDTO formDTO){ + StringBuilder name = new StringBuilder(); + SimpleDateFormat format1 = new SimpleDateFormat("yyyyMMdd"); + SimpleDateFormat format2 = new SimpleDateFormat("yyyy年MM月dd日"); + try{ + name.append(format2.format(format1.parse(formDTO.getStartTime()))).append("至").append(format2.format(format1.parse(formDTO.getEndTime()))).append("网格活跃度统计"); + } catch (Exception e) { + e.printStackTrace(); + } + return name.toString(); + } } From 7fe3feb239ea8206ad023b2ae68a50cb8b353516 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Sun, 13 Feb 2022 10:17:47 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E8=B5=8B=E8=83=BD=E5=B9=B3=E5=8F=B0=20?= =?UTF-8?q?=E4=BA=BA=E5=91=98=E8=B0=83=E5=8A=A8=E6=A8=A1=E5=9D=97=2018?= =?UTF-8?q?=E7=B1=BB=E5=88=ABsql=E5=86=99=E6=AD=BB=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dao/IcResiUserDao.java | 4 +- .../service/impl/IcResiUserServiceImpl.java | 13 +++-- .../impl/IcUserChangeRecordServiceImpl.java | 16 ++++--- .../impl/IcUserTransferRecordServiceImpl.java | 19 +++++--- .../main/resources/mapper/IcResiUserDao.xml | 47 ++++--------------- 5 files changed, 42 insertions(+), 57 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index dbbe42d2c9..bc3e9f147a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -230,7 +230,7 @@ public interface IcResiUserDao extends BaseDao { List listIcResiInfosByUserIds(@Param("userIds") List userIds); - Map getCategoryListMap(@Param("icUserId") String icUserId); + Map getCategoryListMap(@Param("columns")List columns, @Param("icUserId") String icUserId); Map selectResiInfoMap(@Param("idCard") String idCard); @@ -238,5 +238,5 @@ public interface IcResiUserDao extends BaseDao { List icUserCustomerIds(); - List> getIcUserList(@Param("customerId") String customerId); + List> getIcUserList(@Param("customerId") String customerId, @Param("columns")List columns); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 9a71e31e82..a8b7737b21 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -382,12 +382,15 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> resultList = operCustomizeOpenFeignClient.categoryWarnConfigList(tokenDto.getCustomerId()); - if (!resultList.success()) { - throw new RuntimeException("居民信息修改,获取客户居民类别预警配置表数据失败"); + IcResiCategoryStatsConfigDTO sfdto = new IcResiCategoryStatsConfigDTO(); + sfdto.setCustomerId(tokenDto.getCustomerId()); + Result> categoryListResult = operCustomizeOpenFeignClient.getCategoryList(sfdto); + if (!categoryListResult.success()){ + throw new RenException("居民信息修改,获取客户居民类别预警配置表数据失败"); } //修改前数据库居民十八类信息值 - Map hash = icResiUserDao.getCategoryListMap(entity.getId()); + List columns = categoryListResult.getData().stream().map(IcResiCategoryStatsConfigDTO::getColumnName).collect(Collectors.toList()); + Map hash = icResiUserDao.getCategoryListMap(columns, entity.getId()); //封装变更记录和变更明细数据 //变更记录 IcUserChangeRecordEntity changeRecordEntity = new IcUserChangeRecordEntity(); @@ -396,7 +399,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl list = new ArrayList<>(); IcUserChangeDetailedEntity categoryEntity = null; - for (IcResiCategoryWarnConfigDTO dto : resultList.getData()) { + for (IcResiCategoryStatsConfigDTO dto : categoryListResult.getData()) { String oldValue = hash.get(dto.getColumnName()); if (map.containsKey(dto.getColumnName()) && !oldValue.equals(map.get(dto.getColumnName()))) { //类别修改后的值 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserChangeRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserChangeRecordServiceImpl.java index 58c4f2da00..d9662fdc8b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserChangeRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserChangeRecordServiceImpl.java @@ -21,12 +21,13 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.IcResiUserDao; import com.epmet.dao.IcUserChangeRecordDao; -import com.epmet.dto.IcResiCategoryWarnConfigDTO; +import com.epmet.dto.IcResiCategoryStatsConfigDTO; import com.epmet.dto.IcUserChangeRecordDTO; import com.epmet.dto.form.IcResiUserChangeRecordFormDTO; import com.epmet.dto.form.IcUserChangeRecordInitFormDTO; @@ -171,10 +172,13 @@ public class IcUserChangeRecordServiceImpl extends BaseServiceImpl"+customerId); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //1.获取客户居民类别预警配置表数据 - Result> resultList = operCustomizeOpenFeignClient.categoryWarnConfigList(customerId); - if (!resultList.success()) { - throw new RuntimeException("居民信息修改,获取客户居民类别预警配置表数据失败"); + IcResiCategoryStatsConfigDTO sfdto = new IcResiCategoryStatsConfigDTO(); + sfdto.setCustomerId(customerId); + Result> categoryListResult = operCustomizeOpenFeignClient.getCategoryList(sfdto); + if (!categoryListResult.success()){ + throw new RenException("居民信息修改,获取客户居民类别预警配置表数据失败"); } + List columns = categoryListResult.getData().stream().map(IcResiCategoryStatsConfigDTO::getColumnName).collect(Collectors.toList()); List changeList = new ArrayList<>(); IcUserChangeRecordEntity change = null; List detailedList = new ArrayList<>(); @@ -187,7 +191,7 @@ public class IcUserChangeRecordServiceImpl extends BaseServiceImpl subList = new ArrayList<>(); String changeId = UUID.randomUUID().toString().replaceAll("-", ""); - for (IcResiCategoryWarnConfigDTO dto : resultList.getData()){ + for (IcResiCategoryStatsConfigDTO dto : categoryListResult.getData()){ if(map.containsKey(dto.getColumnName())&&"1".equals(map.get(dto.getColumnName()))){ detailed = new IcUserChangeDetailedEntity(); detailed.setCustomerId(customerId); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java index 7f8fa309cb..0cceb4b513 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java @@ -27,6 +27,7 @@ import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.IcResiUserDao; import com.epmet.dao.IcUserTransferRecordDao; +import com.epmet.dto.IcResiCategoryStatsConfigDTO; import com.epmet.dto.IcResiCategoryWarnConfigDTO; import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.form.IcResiUserOrgMsgFormDTO; @@ -51,6 +52,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 居民调动记录表 @@ -173,12 +175,15 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl> resultList = operCustomizeOpenFeignClient.categoryWarnConfigList(formDTO.getCustomerId()); - if (!resultList.success()) { - throw new RuntimeException("人员调动,获取客户居民类别预警配置表数据失败"); + IcResiCategoryStatsConfigDTO dto = new IcResiCategoryStatsConfigDTO(); + dto.setCustomerId(formDTO.getCustomerId()); + Result> categoryListResult = operCustomizeOpenFeignClient.getCategoryList(dto); + if (!categoryListResult.success()){ + throw new RenException("人员调动,获取客户居民类别预警配置表数据失败"); } - Map map = icResiUserDao.getCategoryListMap(formDTO.getIcUserId()); - List changeDetailedEntityList = saveChangeDetailed(resultList.getData(), map, changeRecordEntity.getId(), formDTO, resiUserDTO); + List columns = categoryListResult.getData().stream().map(IcResiCategoryStatsConfigDTO::getColumnName).collect(Collectors.toList()); + Map map = icResiUserDao.getCategoryListMap(columns, formDTO.getIcUserId()); + List changeDetailedEntityList = saveChangeDetailed(categoryListResult.getData(), map, changeRecordEntity.getId(), formDTO, resiUserDTO); icUserChangeDetailedService.insertBatch(changeDetailedEntityList); } @@ -231,7 +236,7 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl saveChangeDetailed(List configList, Map map, String icUserChangeRecordId, IcResiUserTransferFormDTO formDTO, IcResiUserDTO resiUserDTO) { + private List saveChangeDetailed(List configList, Map map, String icUserChangeRecordId, IcResiUserTransferFormDTO formDTO, IcResiUserDTO resiUserDTO) { List list = new ArrayList<>(); IcUserChangeDetailedEntity outEntity = null; IcUserChangeDetailedEntity inEntity = null; @@ -246,7 +251,7 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl SELECT - IFNULL(is_kc,'0') IS_KC, - IFNULL(is_cj,'0') IS_CJ, - IFNULL(is_ylfn,'0') IS_YLFN, - IFNULL(is_sn,'0') IS_SN, - IFNULL(is_special,'0') IS_SPECIAL, - IFNULL(is_volunteer,'0') IS_VOLUNTEER, - IFNULL(is_unemployed,'0') IS_UNEMPLOYED, - IFNULL(is_mb,'0') IS_MB, - IFNULL(is_sz,'0') IS_SZ, - IFNULL(is_sd,'0') IS_SD, - IFNULL(is_veterans,'0') IS_VETERANS, - IFNULL(is_ensure_house,'0') IS_ENSURE_HOUSE, - IFNULL(is_party,'0') IS_PARTY, - IFNULL(is_old_people,'0') IS_OLD_PEOPLE, - IFNULL(is_xfry,'0')IS_XFRY, - IFNULL(is_united_front,'0') IS_UNITED_FRONT, - IFNULL(is_db,'0') IS_DB, - IFNULL(is_dbh,'0') IS_DBH + + IFNULL(`${c}`,'0') AS `${c}` + FROM ic_resi_user WHERE @@ -590,25 +575,13 @@ iru.home_id HOME_ID, iru.name NAME, iru.created_by CREATED_BY, - date_format(iru.created_time, '%Y-%m-%d %h:%i:%s') CREATED_TIME, - IFNULL(iru.is_kc,'0') IS_KC, - IFNULL(iru.is_cj,'0') IS_CJ, - IFNULL(iru.is_ylfn,'0') IS_YLFN, - IFNULL(iru.is_sn,'0') IS_SN, - IFNULL(iru.is_special,'0') IS_SPECIAL, - IFNULL(iru.is_volunteer,'0') IS_VOLUNTEER, - IFNULL(iru.is_unemployed,'0') IS_UNEMPLOYED, - IFNULL(iru.is_mb,'0') IS_MB, - IFNULL(iru.is_sz,'0') IS_SZ, - IFNULL(iru.is_sd,'0') IS_SD, - IFNULL(iru.is_veterans,'0') IS_VETERANS, - IFNULL(iru.is_ensure_house,'0') IS_ENSURE_HOUSE, - IFNULL(iru.is_party,'0') IS_PARTY, - IFNULL(iru.is_old_people,'0') IS_OLD_PEOPLE, - IFNULL(iru.is_xfry,'0')IS_XFRY, - IFNULL(iru.is_united_front,'0') IS_UNITED_FRONT, - IFNULL(iru.is_db,'0') IS_DB, - IFNULL(iru.is_dbh,'0') IS_DBH + date_format(iru.created_time, '%Y-%m-%d %h:%i:%s') CREATED_TIME + + , + + IFNULL(`${c}`,'0') AS `${c}` + + FROM ic_resi_user iru From c946e162378a380cfc06297f7eb61cc15b26a4a2 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Sun, 13 Feb 2022 13:52:10 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=8C=E6=8C=89dateId=E7=AD=9B=E9=80=89?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/datastats/DatsStatsDao.xml | 4 ++-- .../main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml index eab284f5cb..be3c501bf3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml @@ -1155,8 +1155,8 @@ FROM fact_grid_member_statistics_daily WHERE del_flag = '0' - AND DATE_FORMAT(created_time,'%Y%m%d') = ]]> #{startTime} - AND DATE_FORMAT(created_time,'%Y%m%d') #{endTime} + AND date_id = ]]> #{startTime} + AND date_id #{endTime} AND project_incr > 0 AND pids LIKE CONCAT('%', #{agencyId}, '%') GROUP BY grid_id, date_id diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml index 8eae39d26e..f604fb7eda 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml @@ -150,8 +150,8 @@ stats_staff_patrol_record_daily WHERE del_flag = '0' - AND DATE_FORMAT(created_time,'%Y%m%d') = ]]> #{startTime} - AND DATE_FORMAT(created_time,'%Y%m%d') #{endTime} + AND date_id = ]]> #{startTime} + AND date_id #{endTime} AND routine_work_count > 0 AND grid_pids LIKE CONCAT('%', #{agencyId}, '%') GROUP BY grid_id, date_id From b3432601c340355bc4e4e51d38eb01cfc2965c75 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Sun, 13 Feb 2022 14:10:26 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/govorg/impl/GovOrgServiceImpl.java | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) 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 c7244b019a..4fc3cb4f81 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 @@ -617,16 +617,8 @@ public class GovOrgServiceImpl implements GovOrgService { //3.查询直属下级组织下网格在查询时间段内存在上报事件(直接立项)数的网格,一天一条 List projectList = dataStatsService.getGridDateProjectIncrList(formDTO); //4.汇总数据,一个网格一天只记录一条数据,这条数据可能是例行工作的也可能是上报事件的,也可能某一天两个数都有,但只记录一条 - Map map = new HashMap<>(); - workList.forEach(w -> { - map.put(w.getGridId() + w.getDateId(), w.getDateId()); - }); - //projectList.stream().filter(pro -> !map.containsKey(pro.getGridId() + pro.getDateId())).forEach(p -> workList.add(p)); - projectList.forEach(pro -> { - if (!map.containsKey(pro.getGridId() + pro.getDateId())) { - workList.add(pro); - } - }); + Set map = workList.stream().map(o -> o.getGridId() + o.getDateId()).collect(Collectors.toSet()); + projectList.stream().filter(pro -> !map.contains(pro.getGridId() + pro.getDateId())).forEach(p -> workList.add(p)); //5.按组织封装数据 //计算百分比使用,保留小数点后两位 NumberFormat numberFormat = NumberFormat.getInstance(); From c082ebafe4ca6409a9c7f0405fc4b715ed663d6a Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Sun, 13 Feb 2022 15:45:32 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E8=80=97=E6=97=B6=E4=BF=A1=E6=81=AFSQL?= =?UTF-8?q?=E6=94=B9=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/FactOriginProjectOrgPeriodDailyDao.java | 2 +- .../extract/todata/impl/ProjectExtractServiceImpl.java | 7 +++++-- .../extract/FactOriginProjectOrgPeriodDailyDao.xml | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.java index 5f3bf2ae42..af74dc163e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.java @@ -64,7 +64,7 @@ public interface FactOriginProjectOrgPeriodDailyDao extends BaseDao list,@Param("customerId") String customerId); + void deleteByProjectIds(@Param("list") List list, @Param("customerId") String customerId, @Param("dateId") String dateId); /** * @Description 批量插入 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java index 551ba144a4..7cdb6fb3a8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java @@ -494,14 +494,17 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { }); if (!CollectionUtils.isEmpty(formattingData)) { List projectList = new ArrayList<>(); - projectList.add(param.getObjectId()); - factOriginProjectOrgPeriodDailyDao.deleteByProjectIds(projectList, param.getCustomerId()); + if (StringUtils.isNotEmpty(param.getObjectId())) { + projectList.add(param.getObjectId()); + } + factOriginProjectOrgPeriodDailyDao.deleteByProjectIds(projectList, param.getCustomerId(), param.getDateId()); Lists.partition(formattingData, NumConstant.ONE_HUNDRED) .forEach(part -> factOriginProjectOrgPeriodDailyDao.insertBatch(part)); } } + /** * @Description 项目节点耗时数据补齐 * @param diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.xml index 063ec1acc8..9515803a6b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.xml @@ -40,6 +40,7 @@ WHERE DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId} + AND (DATE_FORMAT(INFORMED_DATE,"%Y%m%d") >= #{dateId} OR DATE_FORMAT(HANDLED_DATE,"%Y%m%d") >= #{dateId} OR DATE_FORMAT(PERIOD_TILL_REPLY_FIRSTLY,"%Y%m%d") >= #{dateId}) PROJECT_ID = #{item} From 888419fe1eca204f1653db35e8a32e6e4da0bc4c Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 14 Feb 2022 10:39:51 +0800 Subject: [PATCH 7/8] dynamicQuery --- .../service/impl/IcResiUserServiceImpl.java | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index a8b7737b21..5709333e9b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -18,7 +18,6 @@ package com.epmet.service.impl; import cn.hutool.core.bean.BeanUtil; -import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -710,11 +709,27 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO); - List subTables=new ArrayList<>(); + /*List subTablesBak=new ArrayList<>(); if(subTablesRes.success()&&CollectionUtils.isNotEmpty(subTablesRes.getData())){ - subTables =subTablesRes.getData().stream().map(SubTableJoinDTO::getJoinTableSql).collect(Collectors.toList()); - } - return baseDao.dynamicQuery(customerId,resultTableName,conditions,subTables,currentStaffAgencyId,staffOrgPath); + subTablesBak =subTablesRes.getData().stream().map(SubTableJoinDTO::getJoinTableSql).collect(Collectors.toList()); + }*/ + List subTables =subTablesRes.getData(); + // log.info("1、所有的子表subTables:"+JSON.toJSONString(subTables,true)); + //关联哪些子表:查询条件用到的表名+查询的列对应的表 并集去重 + Set whereConditionTables=conditions.stream().map(ResiUserQueryValueDTO::getTableName).collect(Collectors.toSet()); + Set tables=new HashSet<>(); + tables.addAll(whereConditionTables); + tables.add(resultTableName); + // log.info("2、查询条件+查询列对应的tables并集去重:"+ JSON.toJSONString(tables,true)); + //最终关联的子表对应的sql: + List finalSubTables =new ArrayList<>(); + subTables.forEach(subTable->{ + if(tables.contains(subTable.getTableName())){ + finalSubTables.add(subTable.getJoinTableSql()); + } + }); + + return baseDao.dynamicQuery(customerId,resultTableName,conditions,finalSubTables,currentStaffAgencyId,staffOrgPath); } /** From 26936e18b152482a675a25385f8e7d11f5cf900f Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 14 Feb 2022 15:49:15 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E4=B8=8A=E6=8A=A5=E6=8E=A5=E5=8F=A3=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E7=9A=84=E6=95=B0=E6=8D=AEpids=E6=98=AF=E4=BB=8E=E4=B8=89?= =?UTF-8?q?=E4=B8=AA=E8=A1=97=E9=81=93=E5=BC=80=E5=A7=8B=E7=9A=84=EF=BC=8C?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E5=9C=A8=E5=89=8D=E8=BE=B9=E6=8B=BC=E4=B8=8A?= =?UTF-8?q?=E5=B9=B3=E9=98=B4=E5=8E=BF=E7=9A=84=E7=BB=84=E7=BB=87id?= =?UTF-8?q?=E6=89=8D=E5=8F=AF=E4=BB=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/commons/tools/constant/StrConstant.java | 2 ++ .../java/com/epmet/service/impl/StatsUserServiceImpl.java | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java index a18f34f72b..67f467f63c 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java @@ -95,6 +95,8 @@ public interface StrConstant { String SPECIAL_CUSTOMER = "150282ed25c14ff0785e7e06283b6283"; //平音客户 String PY_CUSTOMER = "6f203e30de1a65aab7e69c058826cd80"; + //平音客户跟组织Id + String PY_ROOT_AGENCY = "53613e1c5de6ed473467f0159a10b135"; /** * 单位积分,积分上限,积分说明,积分事件 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsUserServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsUserServiceImpl.java index a3ccd6c5a1..0f3f9de0ce 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsUserServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsUserServiceImpl.java @@ -3,6 +3,7 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.DateUtils; @@ -252,7 +253,8 @@ public class StatsUserServiceImpl implements StatsUserService { m.setSourceType("external"); m.setParentCustomerId(crm.getParentCustomerId()); m.setPid(pid.toString()); - m.setPids(pids.toString()); + //20220214 上报数据的pids是从街道开始,需要在前边拼接上平阴县的id才能保证后续的查询用like时可以筛选出数据 sun + m.setPids(StrConstant.PY_ROOT_AGENCY + ":" + pids.toString()); } else { log.warn(String.format("网格员数据分析上报,数据错误,根据agencyId未查询到组织信息,客户Id->%s,组织Id->%s", m.getCustomerId(), m.getAgencyId())); iterator.remove();