From 202d22e67ac0b9b1a2bcbaa21c9836cd2125c51b Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 19 Aug 2021 09:57:19 +0800 Subject: [PATCH 01/14] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1org-day=E5=8D=95=E5=AE=A2=E6=88=B7=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java | 5 +++++ .../epmet/dto/screen/ScreenProjectCategoryOrgDailyDTO.java | 5 +++++ .../epmet/dto/screen/result/CategoryProjectResultDTO.java | 5 +++++ .../screen/ScreenProjectCategoryOrgDailyEntity.java | 5 +++++ .../extract/FactOriginProjectCategoryDailyDao.xml | 1 + .../screen/ScreenProjectCategoryGridDailyDao.xml | 1 + .../screen/ScreenProjectCategoryOrgDailyDao.xml | 1 + 7 files changed, 23 insertions(+) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java index b80df7b7ff..cd31f554bb 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java @@ -43,6 +43,11 @@ public class ScreenProjectCategoryGridDailyDTO implements Serializable { */ private String customerId; + /** + * 分类来源客户ID + */ + private String categoryOriginCustomerId; + /** * 日期yyyyMMdd */ diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryOrgDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryOrgDailyDTO.java index 117db2716c..368d95f6a2 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryOrgDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryOrgDailyDTO.java @@ -43,6 +43,11 @@ public class ScreenProjectCategoryOrgDailyDTO implements Serializable { */ private String customerId; + /** + * 分类来源客户ID + */ + private String categoryOriginCustomerId; + /** * 日期yyyyMMdd */ diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java index 2ed95c1a35..48af51b5ef 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java @@ -27,6 +27,11 @@ public class CategoryProjectResultDTO implements Serializable { */ private String customerId; + /** + * 分类来源客户ID + */ + private String categoryOriginCustomerId; + /** * 分类码 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java index 5591e797cd..bdfba9bbc6 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java @@ -42,6 +42,11 @@ public class ScreenProjectCategoryOrgDailyEntity extends BaseEpmetEntity { */ private String customerId; + /** + * 分类来源客户ID + */ + private String categoryOriginCustomerId; + /** * 日期yyyyMMdd */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml index 1ed0c4d8c2..2a466396bd 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml @@ -69,6 +69,7 @@ + + + \ No newline at end of file From c3059f9c443678ece1d43c1feb5db548590db9f4 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 19 Aug 2021 13:47:24 +0800 Subject: [PATCH 03/14] =?UTF-8?q?=E5=A4=9A=E5=AE=A2=E6=88=B7=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...eenProjectCategoryOrgDailyServiceImpl.java | 24 ++++++++++++------- .../V0.0.24__add_categoryOriginCustomerId.sql | 1 + .../ScreenProjectCategoryOrgDailyDao.xml | 8 ++++++- 3 files changed, 24 insertions(+), 9 deletions(-) create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.24__add_categoryOriginCustomerId.sql diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java index 2c0f82343b..4a1ae47b8b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java @@ -401,12 +401,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl customerIds = relationInfo.stream().map(m -> m.getCustomerId()).collect(Collectors.toList()); // 父客户存在的分类 List categoryProjectExists = baseDao.selectOrgCategoryMoreCustomerInfo(customerIds, dateId, level, customerId, true); - // 父客户不存在的分类 - List categoryProjectNotExists = baseDao.selectOrgCategoryMoreCustomerInfo(customerIds, dateId, level, customerId, false); - // 外部客户所有分类 = 父客户存在的分类 + 父客户不存在的分类 - List sonResult = baseDao.selectOrgCategoryMoreCustomerInfoPlus(customerIds, dateId, level, customerId); - categoryProjectResultDTOS.addAll(sonResult); - // 此时的 'categoryProjectResultDTOS' 等于 父子客户所有的分类标签 + // 内部客户进行分组 Map> groupByCategoryCode = categoryProjectResultDTOS.stream().collect(Collectors.groupingBy(CategoryProjectResultDTO::getCategoryCode)); // 这时的result集合要清空,因为被上边使用 【result = ConvertUtils.sourceToTarget(categoryProjectResultDTOS,ScreenProjectCategoryOrgDailyEntity.class);】 result.clear(); @@ -414,6 +409,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl { ScreenProjectCategoryOrgDailyEntity e = new ScreenProjectCategoryOrgDailyEntity(); e.setCustomerId(customerId); + e.setCategoryOriginCustomerId(customerId); e.setCategoryCode(code); e.setOrgId(entity.getAgencyId()); e.setProjectTotal(CollectionUtils.isEmpty(list) ? NumConstant.ZERO : list.stream().collect(Collectors.summingInt(CategoryProjectResultDTO::getProjectTotal))); @@ -423,8 +419,20 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl entities = ConvertUtils.sourceToTarget(sonResult, ScreenProjectCategoryOrgDailyEntity.class); + // 内部客户与外部客户 相同的分类累加 + if (!CollectionUtils.isEmpty(categoryProjectExists)){ + finalResult.forEach(f -> { + categoryProjectExists.forEach(c -> { + if (f.getCategoryCode().equals(c.getCategoryCode())){ + f.setProjectTotal(f.getProjectTotal() + c.getProjectTotal()); + } + }); + }); + } + // 父客户不存在的分类 + List categoryProjectNotExists = baseDao.selectOrgCategoryMoreCustomerInfo(customerIds, dateId, level, customerId, false); + if (!CollectionUtils.isEmpty(categoryProjectNotExists)){ + List entities = ConvertUtils.sourceToTarget(categoryProjectNotExists, ScreenProjectCategoryOrgDailyEntity.class); result.addAll(entities); } // 添加此 锦水、孔村、榆山 orgId,删除时使用 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.24__add_categoryOriginCustomerId.sql b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.24__add_categoryOriginCustomerId.sql new file mode 100644 index 0000000000..0997b46828 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.24__add_categoryOriginCustomerId.sql @@ -0,0 +1 @@ +alter table `epmet_evaluation_index`.screen_project_category_org_daily add COLUMN `CATEGORY_ORIGIN_CUSTOMER_ID` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '分类来源客户ID' AFTER CUSTOMER_ID; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml index aef217b483..372f6c0e6b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml @@ -51,8 +51,14 @@ IFNULL(sca.PID,'0') AS pid, IFNULL(sca.PIDS,'0') AS pids, #{customerId} as customerId, + od.CATEGORY_ORIGIN_CUSTOMER_ID AS categoryOriginCustomerId, od.level, - od.CATEGORY_CODE, + + cd.EPMET_CATEGORY_CODE AS categoryCode, + + + od.CATEGORY_CODE AS categoryCode, + SUM(od.PROJECT_TOTAL) AS projectTotal, #{level} as orgType, od.DATE_ID From b89a8d4b78adb30b33a861952fe9820a7a2917b6 Mon Sep 17 00:00:00 2001 From: wxz Date: Thu, 19 Aug 2021 13:58:30 +0800 Subject: [PATCH 04/14] =?UTF-8?q?fix:=E6=9F=A5=E8=AF=A2=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E4=BA=BA=E5=A4=A7=E4=BB=A3=E8=A1=A8=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E5=AE=A2=E6=88=B7=E4=B8=8B=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E4=BA=BA=E5=A4=A7=E4=BB=A3=E8=A1=A8=EF=BC=8C=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E7=A9=BA=E5=88=97=E8=A1=A8=EF=BC=8C=E8=80=8C=E4=B8=8D=E5=9C=A8?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2org=E6=9C=8D=E5=8A=A1,=E9=98=B2=E6=AD=A2?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/ResiEventServiceImpl.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java index bd6a1c4376..295c8bb6a1 100644 --- a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java +++ b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java @@ -13,6 +13,7 @@ import com.epmet.enums.OrgLevelEnums; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.ResiEventService; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -44,6 +45,8 @@ public class ResiEventServiceImpl implements ResiEventService, ResultDataResolve //String parentAgencyId = gridInfoData.getParentAgencyId(); //String pids = gridInfoData.getPids(); + List npcResultList = new ArrayList<>(); + //查询人大代表列表 ListUserByBadgeFormDTO npcForm = new ListUserByBadgeFormDTO(customerId, BadgeConstant.BADGE_KEY_NPC); Result> npcResult = epmetUserOpenFeignClient.listUsersByBadge(npcForm); @@ -55,9 +58,13 @@ public class ResiEventServiceImpl implements ResiEventService, ResultDataResolve Result> npcGridInfoResult = govOrgOpenFeignClient.selectOrgInfo(form); List npcGridInfos = getResultDataOrThrowsException(npcGridInfoResult, ServiceConstant.GOV_ORG_SERVER, null, null); + if(CollectionUtils.isEmpty(npcGridInfos)) { + // 没有人大代表,直接返回空列表即可 + return npcResultList; + } + Map npcGridInfoMap = convertNpcGridInfos2Map(npcGridInfos); - List npcResultList = new ArrayList<>(); npcData.stream().forEach(npc -> { if (StringUtils.isBlank(excludeUserId) || !npc.getUserId().equals(excludeUserId)) { OrgInfoResultDTO gridInfo = npcGridInfoMap.get(npc.getGridId()); From 6d7444012f24b64a90fc27fe1b45d0d5086e08d7 Mon Sep 17 00:00:00 2001 From: wxz Date: Thu, 19 Aug 2021 14:15:38 +0800 Subject: [PATCH 05/14] =?UTF-8?q?fix:=E5=88=9A=E6=89=8D=E6=94=B9=E9=94=99?= =?UTF-8?q?=E4=BA=86=E3=80=82=E3=80=82=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/ResiEventServiceImpl.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java index 295c8bb6a1..36a2a43684 100644 --- a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java +++ b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java @@ -52,17 +52,17 @@ public class ResiEventServiceImpl implements ResiEventService, ResultDataResolve Result> npcResult = epmetUserOpenFeignClient.listUsersByBadge(npcForm); List npcData = getResultDataOrThrowsException(npcResult, ServiceConstant.EPMET_USER_SERVER, null, null); + if(CollectionUtils.isEmpty(npcData)) { + // 没有人大代表,直接返回空列表即可 + return npcResultList; + } + //批量查询人大代表所在的网格信息 List npcGridIds = npcData.stream().map(d -> d.getGridId()).collect(Collectors.toList()); OrgInfoFormDTO form = new OrgInfoFormDTO(OrgInfoConstant.GRID, npcGridIds); Result> npcGridInfoResult = govOrgOpenFeignClient.selectOrgInfo(form); List npcGridInfos = getResultDataOrThrowsException(npcGridInfoResult, ServiceConstant.GOV_ORG_SERVER, null, null); - if(CollectionUtils.isEmpty(npcGridInfos)) { - // 没有人大代表,直接返回空列表即可 - return npcResultList; - } - Map npcGridInfoMap = convertNpcGridInfos2Map(npcGridInfos); npcData.stream().forEach(npc -> { From 3f28a9ed805e0effae5ec7c22d27c0ec984a06ae Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 19 Aug 2021 15:35:16 +0800 Subject: [PATCH 06/14] edit --- .../evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml index 372f6c0e6b..72f1a188a1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml @@ -51,7 +51,7 @@ IFNULL(sca.PID,'0') AS pid, IFNULL(sca.PIDS,'0') AS pids, #{customerId} as customerId, - od.CATEGORY_ORIGIN_CUSTOMER_ID AS categoryOriginCustomerId, + od.CUSTOMER_ID AS categoryOriginCustomerId, od.level, cd.EPMET_CATEGORY_CODE AS categoryCode, From d2c92de5540c693873034d1ab15e8f546dc01360 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 08:27:59 +0800 Subject: [PATCH 07/14] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=B7=A1=E6=9F=A5?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EpmetUserController.java | 17 +++++-- .../dataaggre/excel/StaffPatrollExcel.java | 45 +++++++++++++++++++ 2 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/StaffPatrollExcel.java diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java index 7433f7e83d..43cb3df89b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java @@ -5,6 +5,7 @@ import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dataaggre.dto.epmetuser.form.OpenStaffDetailFormDTO; @@ -13,14 +14,13 @@ import com.epmet.dataaggre.dto.epmetuser.form.PatrolRecordListFormDTO; import com.epmet.dataaggre.dto.epmetuser.form.StaffListFormDTO; import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; +import com.epmet.dataaggre.excel.StaffPatrollExcel; import com.epmet.dataaggre.service.datastats.DataStatsService; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -209,4 +209,13 @@ public class EpmetUserController { return new Result().ok(epmetUserService.mentionMeEvent(tokenDto.getUserId())); } + @GetMapping("export/staffpatroll") + public void export( @RequestBody StaffListFormDTO formDTO, HttpServletResponse response) throws Exception { + ValidatorUtils.validateEntity(formDTO, StaffListFormDTO.Staff.class); + //formDTO.setUserId(tokenDto.getUserId()); + formDTO.setUserId("73ae6280e46a6653a5605d51d5462725"); + List resultDTOS = epmetUserService.staffPatrolList(formDTO); + ExcelUtils.exportExcelToTarget(response, null, resultDTOS, StaffPatrollExcel.class); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/StaffPatrollExcel.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/StaffPatrollExcel.java new file mode 100644 index 0000000000..503c8b4cab --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/StaffPatrollExcel.java @@ -0,0 +1,45 @@ +/** + * 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 lombok.Data; + +/** + * 客户表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-03-11 + */ +@Data +public class StaffPatrollExcel { + + @Excel(name = "组织") + private String gridName = ""; + @Excel(name = "姓名") + private String staffName = ""; + @Excel(name = "巡查总次数") + private Integer patrolTotal = 0; + @Excel(name = "上报项目数") + private Integer reportProjectCount; + @Excel(name = "巡查总时长") + private String totalTime = ""; + + + +} From 1e5413ea8d616b16ed220f169461bc4035c43091 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 08:35:37 +0800 Subject: [PATCH 08/14] =?UTF-8?q?=E5=AF=BC=E5=87=BA=20=E4=B8=8A=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dataaggre/controller/EpmetUserController.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java index 43cb3df89b..506048dbd4 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java @@ -210,10 +210,10 @@ public class EpmetUserController { } @GetMapping("export/staffpatroll") - public void export( @RequestBody StaffListFormDTO formDTO, HttpServletResponse response) throws Exception { + public void export(@LoginUser TokenDto tokenDto, @RequestBody StaffListFormDTO formDTO, HttpServletResponse response) throws Exception { ValidatorUtils.validateEntity(formDTO, StaffListFormDTO.Staff.class); - //formDTO.setUserId(tokenDto.getUserId()); - formDTO.setUserId("73ae6280e46a6653a5605d51d5462725"); + formDTO.setUserId(tokenDto.getUserId()); + //formDTO.setUserId("73ae6280e46a6653a5605d51d5462725"); List resultDTOS = epmetUserService.staffPatrolList(formDTO); ExcelUtils.exportExcelToTarget(response, null, resultDTOS, StaffPatrollExcel.class); } From bd413ab9e8d8e61347f7f6c7661f174da90e65cd Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 20 Aug 2021 10:01:21 +0800 Subject: [PATCH 09/14] =?UTF-8?q?=E5=B7=A1=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/StaffPatrolRecordDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffPatrolRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffPatrolRecordDao.xml index 27fc5211ec..2ae77add42 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffPatrolRecordDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffPatrolRecordDao.xml @@ -48,7 +48,7 @@ + + + \ No newline at end of file From b1ead3d4c89a21522bb44dad50c9e3b1af07e558 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 20 Aug 2021 10:41:59 +0800 Subject: [PATCH 11/14] =?UTF-8?q?=E5=B7=A1=E6=9F=A5=E4=BA=BA=E6=95=B0?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/StaffPatrolDetailController.java | 4 +-- .../user/StaffPatrolDetailService.java | 4 +-- .../impl/StaffPatrolDetailServiceImpl.java | 27 +++++-------------- 3 files changed, 11 insertions(+), 24 deletions(-) diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/user/StaffPatrolDetailController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/user/StaffPatrolDetailController.java index 8f06a5850f..e20e1e7d5c 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/user/StaffPatrolDetailController.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/user/StaffPatrolDetailController.java @@ -6,11 +6,11 @@ import com.epmet.datareport.service.user.StaffPatrolDetailService; import com.epmet.user.form.GridManagerListFormDTO; import com.epmet.dto.form.PatrolTrackFormDTO; import com.epmet.dto.form.RecordListFormDTO; -import com.epmet.user.form.PatrolCountFormDTO; +import com.epmet.dto.form.PatrolCountFormDTO; import com.epmet.user.result.GridManagerListResultDTO; import com.epmet.dto.result.PatrolTrackResultDTO; import com.epmet.dto.result.RecordListResultDTO; -import com.epmet.user.result.PatrolCountResultDTO; +import com.epmet.dto.result.PatrolCountResultDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/StaffPatrolDetailService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/StaffPatrolDetailService.java index 20573e51a7..95fc1eb064 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/StaffPatrolDetailService.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/StaffPatrolDetailService.java @@ -3,11 +3,11 @@ package com.epmet.datareport.service.user; import com.epmet.user.form.GridManagerListFormDTO; import com.epmet.dto.form.PatrolTrackFormDTO; import com.epmet.dto.form.RecordListFormDTO; -import com.epmet.user.form.PatrolCountFormDTO; +import com.epmet.dto.form.PatrolCountFormDTO; import com.epmet.user.result.GridManagerListResultDTO; import com.epmet.dto.result.PatrolTrackResultDTO; import com.epmet.dto.result.RecordListResultDTO; -import com.epmet.user.result.PatrolCountResultDTO; +import com.epmet.dto.result.PatrolCountResultDTO; import java.util.List; diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/impl/StaffPatrolDetailServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/impl/StaffPatrolDetailServiceImpl.java index 4f36820709..6f01a162ac 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/impl/StaffPatrolDetailServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/impl/StaffPatrolDetailServiceImpl.java @@ -3,6 +3,7 @@ package com.epmet.datareport.service.user.impl; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.datareport.constant.PatrolConstant; import com.epmet.datareport.dao.user.StaffPatrolDetailDao; @@ -15,9 +16,9 @@ import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.user.form.GridManagerListFormDTO; import com.epmet.dto.form.PatrolTrackFormDTO; import com.epmet.dto.form.RecordListFormDTO; -import com.epmet.user.form.PatrolCountFormDTO; +import com.epmet.dto.form.PatrolCountFormDTO; import com.epmet.user.result.GridManagerListResultDTO; -import com.epmet.user.result.PatrolCountResultDTO; +import com.epmet.dto.result.PatrolCountResultDTO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -26,7 +27,6 @@ import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; -import java.util.Map; import java.util.stream.Collectors; /** @@ -200,24 +200,11 @@ public class StaffPatrolDetailServiceImpl implements StaffPatrolDetailService { */ @Override public PatrolCountResultDTO patrolCount(PatrolCountFormDTO formDTO) { - PatrolCountResultDTO result = new PatrolCountResultDTO(); - GridManagerListFormDTO gridManagerListFormDTO = ConvertUtils.sourceToTarget(formDTO, GridManagerListFormDTO.class); - List resultDTOS = gridManagerList(gridManagerListFormDTO); - // 结果为空就是没网格员 - if (CollectionUtils.isEmpty(resultDTOS)){ - return result; - } - // 根据状态分组,只取巡查中的网格员;巡查中的为0,剩下的都是未巡查,巡查中不为0,总数 - 巡查中 = 未巡查 - Map> groupByStatus = resultDTOS.stream().collect(Collectors.groupingBy(GridManagerListResultDTO::getStatus)); - List patrolling = groupByStatus.get(PatrolConstant.PATROLLING); - if (CollectionUtils.isEmpty(patrolling)){ - result.setElseCount(resultDTOS.size()); - return result; + Result resultDTOResult = epmetUserOpenFeignClient.patrolCount(formDTO); + if (!resultDTOResult.success()){ + throw new RenException("查询巡查人数失败..."); } - result.setPatrollingCount(patrolling.size()); - result.setElseCount(resultDTOS.size() - patrolling.size()); - return result; + return resultDTOResult.getData(); } - } From d33487737bc289160dcee60f83cf130dfc60069a Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 20 Aug 2021 11:02:35 +0800 Subject: [PATCH 12/14] =?UTF-8?q?=E5=88=86=E7=B1=BB=E5=90=8D=E5=AD=97?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/CategoryAnalysisResultDTO.java | 7 +++ .../result/CategoryTopAppealResultDTO.java | 7 +++ .../ScreenProjectCategoryOrgDailyDao.java | 2 +- .../screen/impl/ScreenProjectServiceImpl.java | 16 ++----- .../ScreenProjectCategoryOrgDailyDao.xml | 46 ++++++------------- 5 files changed, 31 insertions(+), 47 deletions(-) diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/screen/CategoryAnalysisResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/screen/CategoryAnalysisResultDTO.java index f91ef35e09..ebbd47cdaa 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/screen/CategoryAnalysisResultDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/screen/CategoryAnalysisResultDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.result.screen; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import lombok.NoArgsConstructor; @@ -33,4 +34,10 @@ public class CategoryAnalysisResultDTO implements Serializable { * 分类编码 */ private String categoryCode; + + /** + * 分类来源客户ID + */ + @JsonIgnore + private String categoryOriginCustomerId; } diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/CategoryTopAppealResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/CategoryTopAppealResultDTO.java index 6b5a1000ec..1fab9522b4 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/CategoryTopAppealResultDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/CategoryTopAppealResultDTO.java @@ -1,6 +1,7 @@ package com.epmet.project.dto.result; import com.epmet.commons.tools.constant.NumConstant; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; @@ -30,6 +31,12 @@ public class CategoryTopAppealResultDTO implements Serializable { */ private Integer categoryCount; + /** + * 分类来源客户ID + */ + @JsonIgnore + private String categoryOriginCustomerId; + public CategoryTopAppealResultDTO() { this.categoryId = ""; this.categoryName = ""; diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java index 98de75653b..e3cf3d074d 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java @@ -42,7 +42,7 @@ public interface ScreenProjectCategoryOrgDailyDao { */ List selectCategoryAnalysis(@Param("agencyId") String agencyId,@Param("customerId")String customerId); - CustomerProjectCategoryDTO selectProjectCategory(@Param("categoryCode")String categoryCode, @Param("customerId")String customerId, @Param("subCustomerIds")List subCustomerIds); + CustomerProjectCategoryDTO selectProjectCategory(@Param("categoryCode")String categoryCode, @Param("customerId")String customerId); /** * @Description 查询事件分类 diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java index afd527d643..cbfb044895 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java @@ -159,13 +159,8 @@ public class ScreenProjectServiceImpl implements ScreenProjectService { List resultDTOList = screenProjectCategoryOrgDailyDao.selectCategoryAnalysis(formDTO.getAgencyId(), customerId); List resultList = new ArrayList<>(); if (!CollectionUtils.isEmpty(resultDTOList)) { - Result> crmRes = operCrmOpenFeignClient.getAllSubCustomerIds(customerId); - List subCustomerIds = new ArrayList<>(); - if (crmRes.success() && !CollectionUtils.isEmpty(crmRes.getData())) { - subCustomerIds = crmRes.getData(); - } for (CategoryAnalysisResultDTO dto : resultDTOList) { - CustomerProjectCategoryDTO projectCategoryDTO = screenProjectCategoryOrgDailyDao.selectProjectCategory(dto.getCategoryCode(), customerId, subCustomerIds); + CustomerProjectCategoryDTO projectCategoryDTO = screenProjectCategoryOrgDailyDao.selectProjectCategory(dto.getCategoryCode(), dto.getCategoryOriginCustomerId()); if (null == projectCategoryDTO || StringUtils.isBlank(projectCategoryDTO.getCategoryName())) { log.warn(String.format("查询分类名称失败,当前客户:%s, categoryCode:%s", dto.getCategoryCode(), customerId)); continue; @@ -224,15 +219,10 @@ public class ScreenProjectServiceImpl implements ScreenProjectService { if (CollectionUtils.isEmpty(result)){ return new ArrayList<>(); } - Result> sonCustomer = operCrmOpenFeignClient.getAllSubCustomerIds(customerId); - List subCustomerIds = new ArrayList<>(); - if (sonCustomer.success() && !CollectionUtils.isEmpty(sonCustomer.getData())) { - subCustomerIds = sonCustomer.getData(); - } for (CategoryTopAppealResultDTO r : result) { - CustomerProjectCategoryDTO projectCategoryDTO = screenProjectCategoryOrgDailyDao.selectProjectCategory(r.getCategoryId(), customerId, subCustomerIds); + CustomerProjectCategoryDTO projectCategoryDTO = screenProjectCategoryOrgDailyDao.selectProjectCategory(r.getCategoryId(), r.getCategoryOriginCustomerId()); if (null == projectCategoryDTO || StringUtils.isBlank(projectCategoryDTO.getCategoryName())) { - log.warn(String.format("查询分类名称失败,当前客户:%s, categoryCode:%s", r.getCategoryId(), customerId)); + log.warn(String.format("查询分类名称失败,当前客户:%s, categoryCode:%s", r.getCategoryId(), r.getCategoryOriginCustomerId())); continue; } r.setCategoryName(projectCategoryDTO.getCategoryName()); diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectCategoryOrgDailyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectCategoryOrgDailyDao.xml index 4bd5e6a20d..5731b27e2b 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectCategoryOrgDailyDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectCategoryOrgDailyDao.xml @@ -8,7 +8,8 @@ SELECT '' AS categoryName, M.PROJECT_TOTAL AS projectTotal, m.DATE_ID as dateId, - m.CATEGORY_CODE as categoryCode + m.CATEGORY_CODE as categoryCode, + m.CATEGORY_ORIGIN_CUSTOMER_ID FROM screen_project_category_org_daily m WHERE M.DEL_FLAG = '0' and m.level='1' @@ -33,46 +34,25 @@