From 840da01eb42b6539309e085a159d2a9e6b3857d9 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 18 Aug 2021 16:33:02 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=BE=A4=E4=BC=97=E8=AF=89=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/CategoryTopAppealFormDTO.java | 28 ++++++++++++++ .../result/CategoryTopAppealResultDTO.java | 38 +++++++++++++++++++ .../screen/ScreenProjectController.java | 16 ++++++++ .../ScreenProjectCategoryOrgDailyDao.java | 10 +++++ .../screen/ScreenProjectService.java | 12 ++++++ .../screen/impl/ScreenProjectServiceImpl.java | 33 ++++++++++++++++ .../ScreenProjectCategoryOrgDailyDao.xml | 16 ++++++++ 7 files changed, 153 insertions(+) create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/CategoryTopAppealFormDTO.java create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/CategoryTopAppealResultDTO.java diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/CategoryTopAppealFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/CategoryTopAppealFormDTO.java new file mode 100644 index 0000000000..a6c992abef --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/CategoryTopAppealFormDTO.java @@ -0,0 +1,28 @@ +package com.epmet.project.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/8/17 10:06 上午 + * @DESC + */ +@Data +public class CategoryTopAppealFormDTO implements Serializable { + + private static final long serialVersionUID = -1252908912057212505L; + + public interface CategoryTopAppealForm{} + + @NotBlank(message = "组织ID不能为空",groups = CategoryTopAppealForm.class) + private String agencyId; + + @NotNull(message = "topCount不能为空",groups = CategoryTopAppealForm.class) + private Integer topCount; + + private String customerId; +} 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 new file mode 100644 index 0000000000..6b5a1000ec --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/CategoryTopAppealResultDTO.java @@ -0,0 +1,38 @@ +package com.epmet.project.dto.result; + +import com.epmet.commons.tools.constant.NumConstant; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/8/18 11:09 上午 + * @DESC + */ +@Data +public class CategoryTopAppealResultDTO implements Serializable { + + private static final long serialVersionUID = -4334256489103188282L; + + /** + * 分类ID + */ + private String categoryId; + + /** + * 分类名称 + */ + private String categoryName; + + /** + * 分类数量 + */ + private Integer categoryCount; + + public CategoryTopAppealResultDTO() { + this.categoryId = ""; + this.categoryName = ""; + this.categoryCount = NumConstant.ZERO; + } +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/ScreenProjectController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/ScreenProjectController.java index c41380b282..94cd036277 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/ScreenProjectController.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/ScreenProjectController.java @@ -12,6 +12,8 @@ import com.epmet.evaluationindex.screen.dto.form.ScreenProjectDetailFormDTO; import com.epmet.evaluationindex.screen.dto.form.ScreenProjectDistributionFormDTO; import com.epmet.evaluationindex.screen.dto.result.ProjectDetailResultDTO; import com.epmet.evaluationindex.screen.dto.result.ScreenProjectDistributionResultDTO; +import com.epmet.project.dto.form.CategoryTopAppealFormDTO; +import com.epmet.project.dto.result.CategoryTopAppealResultDTO; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -139,4 +141,18 @@ public class ScreenProjectController { return new Result().ok(screenProjectService.colorProjectTotal(formDTO)); } + /** + * @Description 事件分析-类型分析-群众诉求【top20】 + * @Param customerId + * @Param formDTO + * @author zxc + * @date 2021/8/18 11:16 上午 + */ + @PostMapping("categorytopappeal") + public Result> categoryTopAppeal(@RequestHeader("CustomerId") String customerId, @RequestBody CategoryTopAppealFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, CategoryTopAppealFormDTO.CategoryTopAppealForm.class); + formDTO.setCustomerId(customerId); + return new Result>().ok(screenProjectService.categoryTopAppeal(formDTO)); + } + } 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 9e203ee3e4..98de75653b 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 @@ -19,6 +19,7 @@ package com.epmet.datareport.dao.evaluationindex.screen; import com.epmet.dto.result.screen.CategoryAnalysisResultDTO; import com.epmet.project.CustomerProjectCategoryDTO; +import com.epmet.project.dto.result.CategoryTopAppealResultDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -42,4 +43,13 @@ 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); + + /** + * @Description 查询事件分类 + * @Param agencyId + * @Param customerId + * @author zxc + * @date 2021/8/18 1:40 下午 + */ + List categoryTopAppeal(@Param("agencyId") String agencyId,@Param("customerId")String customerId,@Param("topCount")Integer topCount); } \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/ScreenProjectService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/ScreenProjectService.java index 7e708c3abe..e8d9110198 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/ScreenProjectService.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/ScreenProjectService.java @@ -10,6 +10,8 @@ import com.epmet.evaluationindex.screen.dto.form.ScreenProjectDetailFormDTO; import com.epmet.evaluationindex.screen.dto.form.ScreenProjectDistributionFormDTO; import com.epmet.evaluationindex.screen.dto.result.ProjectDetailResultDTO; import com.epmet.evaluationindex.screen.dto.result.ScreenProjectDistributionResultDTO; +import com.epmet.project.dto.form.CategoryTopAppealFormDTO; +import com.epmet.project.dto.result.CategoryTopAppealResultDTO; import java.util.List; @@ -50,4 +52,14 @@ public interface ScreenProjectService { * @date 2021/6/1 3:20 下午 */ ColorProjectTotalResultDTO colorProjectTotal(ColorProjectTotalFormDTO formDTO); + + /** + * @Description 事件分析-类型分析-群众诉求【top20】 + * @Param customerId + * @Param formDTO + * @author zxc + * @date 2021/8/18 11:16 上午 + */ + List categoryTopAppeal(CategoryTopAppealFormDTO formDTO); + } 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 81a854c5de..afd527d643 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 @@ -25,6 +25,8 @@ import com.epmet.evaluationindex.screen.dto.result.ScreenProjectDistributionResu import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.OperCrmOpenFeignClient; import com.epmet.project.CustomerProjectCategoryDTO; +import com.epmet.project.dto.form.CategoryTopAppealFormDTO; +import com.epmet.project.dto.result.CategoryTopAppealResultDTO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -206,4 +208,35 @@ public class ScreenProjectServiceImpl implements ScreenProjectService { } return result; } + + /** + * @Description 事件分析-类型分析-群众诉求【top20】分类level = '1'的 + * 为了方便直接copy的事件分析接口 哈哈哈😂 + * @Param customerId + * @Param formDTO + * @author zxc + * @date 2021/8/18 11:16 上午 + */ + @Override + public List categoryTopAppeal(CategoryTopAppealFormDTO formDTO) { + String customerId = formDTO.getCustomerId(); + List result = screenProjectCategoryOrgDailyDao.categoryTopAppeal(formDTO.getAgencyId(), customerId, formDTO.getTopCount()); + 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); + if (null == projectCategoryDTO || StringUtils.isBlank(projectCategoryDTO.getCategoryName())) { + log.warn(String.format("查询分类名称失败,当前客户:%s, categoryCode:%s", r.getCategoryId(), customerId)); + continue; + } + r.setCategoryName(projectCategoryDTO.getCategoryName()); + } + return result; + } } 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 073fcf7972..fb6602e098 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 @@ -66,4 +66,20 @@ temp.CATEGORY_CODE = #{categoryCode} LIMIT 1 + + + \ No newline at end of file From 2c1cef9822e823766e069e9804b17559c0152cb6 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 18 Aug 2021 16:37:11 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=8E=92=E5=BA=8F=E6=9A=82=E6=97=B6?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mapper/screen/ScreenProjectCategoryOrgDailyDao.xml | 1 + 1 file changed, 1 insertion(+) 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 fb6602e098..4bd5e6a20d 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 @@ -64,6 +64,7 @@ ) temp WHERE temp.CATEGORY_CODE = #{categoryCode} + ORDER BY temp.`LEVEL` DESC LIMIT 1 From cffcf8eef2413d887c3aa9e63a0258e0116f20f3 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 19 Aug 2021 08:52:10 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E5=B7=A1?= =?UTF-8?q?=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/GridManagerUserListResultDTO.java | 3 ++ .../com/epmet/dao/StaffPatrolRecordDao.java | 10 +++++++ .../impl/StaffPatrolRecordServiceImpl.java | 19 +++++++++--- .../resources/mapper/StaffPatrolRecordDao.xml | 29 +++++++++++++++++++ 4 files changed, 57 insertions(+), 4 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/GridManagerUserListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/GridManagerUserListResultDTO.java index 8a8e51887b..06a31e07bc 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/GridManagerUserListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/GridManagerUserListResultDTO.java @@ -62,4 +62,7 @@ public class GridManagerUserListResultDTO implements Serializable { @JsonIgnore private Boolean llStatus; + @JsonIgnore + private String recordId; + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffPatrolRecordDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffPatrolRecordDao.java index a476cfd3a5..7ab70be6bf 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffPatrolRecordDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffPatrolRecordDao.java @@ -44,6 +44,16 @@ public interface StaffPatrolRecordDao extends BaseDao { */ List selectLL(@Param("userIds")List userIds); + List selectPatrolRecord(@Param("userIds")List userIds); + + /** + * @Description 按照巡查记录查询经纬度 + * @Param recordIds + * @author zxc + * @date 2021/8/18 5:16 下午 + */ + List selectPatrolLL(@Param("recordIds")List recordIds); + /** * @Description 巡查记录查询 * @Param formDTO diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java index 5e3fd465ec..7d6aa5e196 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java @@ -411,10 +411,21 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl llResult = baseDao.selectLL(userIds); - if (!CollectionUtils.isEmpty(llResult)){ - result.setLl(llResult); + // 查询记录 +// List llResult = baseDao.selectLL(userIds); + List recordList = baseDao.selectPatrolRecord(userIds); + if (!CollectionUtils.isEmpty(recordList)){ + // 查询经纬度 + List llList = baseDao.selectPatrolLL(recordList.stream().map(m -> m.getRecordId()).collect(Collectors.toList())); + recordList.forEach(r -> { + llList.forEach(l -> { + if (r.getRecordId().equals(l.getRecordId())){ + r.setLatitude(l.getLatitude()); + r.setLongitude(l.getLongitude()); + } + }); + }); + result.setLl(recordList); } // 姓名查询 List nameResult = customerStaffDao.selectUserName(userIds); 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 7e86005b82..27fc5211ec 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 @@ -46,4 +46,33 @@ ORDER BY CREATED_TIME DESC + + + + + \ No newline at end of file