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 
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 @@
 
     
         SELECT t.* FROM (SELECT
-            pr.ID AS recordId,
+            DISTINCT pr.ID AS recordId,
             pr.GRID AS gridId,
             pr.STAFF_ID,
             pr.`STATUS`
From 1ca30f277465365099ae8b8db657df535b8b807d Mon Sep 17 00:00:00 2001
From: zxc <1272811460@qq.com>
Date: Fri, 20 Aug 2021 10:34:49 +0800
Subject: [PATCH 10/14] =?UTF-8?q?=E5=85=88=E6=8F=90=E4=BA=A4=E4=B8=80?=
 =?UTF-8?q?=E9=83=A8=E5=88=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
 .../epmet/dto}/form/PatrolCountFormDTO.java   |  2 +-
 .../dto}/result/PatrolCountResultDTO.java     |  2 +-
 .../result/SelectPatrolCountResultDTO.java    | 27 ++++++++++++++
 .../epmet/feign/EpmetUserOpenFeignClient.java |  9 +++++
 .../EpmetUserOpenFeignClientFallback.java     |  5 +++
 ...StatsStaffPatrolRecordDailyController.java | 22 +++++++-----
 .../dao/StatsStaffPatrolRecordDailyDao.java   | 11 ++++++
 .../StatsStaffPatrolRecordDailyService.java   |  9 +++++
 ...tatsStaffPatrolRecordDailyServiceImpl.java | 36 +++++++++++++------
 .../mapper/StatsStaffPatrolRecordDailyDao.xml | 12 +++++++
 10 files changed, 114 insertions(+), 21 deletions(-)
 rename {epmet-module/data-report/data-report-client/src/main/java/com/epmet/user => epmet-user/epmet-user-client/src/main/java/com/epmet/dto}/form/PatrolCountFormDTO.java (95%)
 rename {epmet-module/data-report/data-report-client/src/main/java/com/epmet/user => epmet-user/epmet-user-client/src/main/java/com/epmet/dto}/result/PatrolCountResultDTO.java (95%)
 create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/SelectPatrolCountResultDTO.java
diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/form/PatrolCountFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PatrolCountFormDTO.java
similarity index 95%
rename from epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/form/PatrolCountFormDTO.java
rename to epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PatrolCountFormDTO.java
index 6f48bc75f3..86505b98e2 100644
--- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/form/PatrolCountFormDTO.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PatrolCountFormDTO.java
@@ -1,4 +1,4 @@
-package com.epmet.user.form;
+package com.epmet.dto.form;
 
 import lombok.Data;
 
diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/result/PatrolCountResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PatrolCountResultDTO.java
similarity index 95%
rename from epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/result/PatrolCountResultDTO.java
rename to epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PatrolCountResultDTO.java
index 4c11895d3d..aeb9032734 100644
--- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/result/PatrolCountResultDTO.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PatrolCountResultDTO.java
@@ -1,4 +1,4 @@
-package com.epmet.user.result;
+package com.epmet.dto.result;
 
 import com.epmet.commons.tools.constant.NumConstant;
 import lombok.Data;
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/SelectPatrolCountResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/SelectPatrolCountResultDTO.java
new file mode 100644
index 0000000000..7caf6fd5d5
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/SelectPatrolCountResultDTO.java
@@ -0,0 +1,27 @@
+package com.epmet.dto.result;
+
+import com.epmet.commons.tools.constant.NumConstant;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author zxc
+ * @DateTime 2021/8/20 9:04 上午
+ * @DESC
+ */
+@Data
+public class SelectPatrolCountResultDTO implements Serializable {
+
+    private static final long serialVersionUID = -4944469520967374496L;
+
+    /**
+     * 巡查状态
+     */
+    private String status;
+
+    /**
+     * 人数
+     */
+    private Integer staffCount = NumConstant.ZERO;
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
index 059ced9e35..d764eb993a 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
@@ -614,4 +614,13 @@ public interface EpmetUserOpenFeignClient {
      */
     @PostMapping("/epmetuser/badge/list-users-by-badge")
     Result> listUsersByBadge(ListUserByBadgeFormDTO input);
+
+    /**
+     * @Description  查询巡查人数
+     * @Param formDTO
+     * @author zxc
+     * @date 2021/8/20 10:21 上午
+     */
+    @PostMapping("/epmetuser/statsstaffpatrolrecorddaily/patrolcount")
+    Result patrolCount(@RequestBody PatrolCountFormDTO formDTO);
 }
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
index 31c82beb05..ea37ce19af 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
@@ -432,4 +432,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
     public Result> listUsersByBadge(ListUserByBadgeFormDTO input) {
         return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "listUsersByBadge", input);
     }
+
+    @Override
+    public Result patrolCount(PatrolCountFormDTO formDTO) {
+        return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "patrolCount", formDTO);
+    }
 }
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsStaffPatrolRecordDailyController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsStaffPatrolRecordDailyController.java
index b2dad2bce4..be2943f19d 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsStaffPatrolRecordDailyController.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsStaffPatrolRecordDailyController.java
@@ -1,19 +1,13 @@
 package com.epmet.controller;
 
-import com.epmet.commons.tools.page.PageData;
 import com.epmet.commons.tools.utils.Result;
-import com.epmet.commons.tools.validator.AssertUtils;
 import com.epmet.commons.tools.validator.ValidatorUtils;
-import com.epmet.commons.tools.validator.group.AddGroup;
-import com.epmet.commons.tools.validator.group.UpdateGroup;
-import com.epmet.commons.tools.validator.group.DefaultGroup;
-import com.epmet.dto.StatsStaffPatrolRecordDailyDTO;
 import com.epmet.service.StatsStaffPatrolRecordDailyService;
+import com.epmet.dto.form.PatrolCountFormDTO;
+import com.epmet.dto.result.PatrolCountResultDTO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Map;
-
 
 /**
  * [天]工作人员巡查记录统计
@@ -28,5 +22,15 @@ public class StatsStaffPatrolRecordDailyController {
     @Autowired
     private StatsStaffPatrolRecordDailyService statsStaffPatrolRecordDailyService;
 
-
+    /**
+     * @Description  查询巡查人数
+     * @Param formDTO
+     * @author zxc
+     * @date 2021/8/20 10:21 上午
+     */
+    @PostMapping("patrolcount")
+    public Result patrolCount(@RequestBody PatrolCountFormDTO formDTO){
+        ValidatorUtils.validateEntity(formDTO, PatrolCountFormDTO.PatrolCountForm.class);
+        return new Result().ok(statsStaffPatrolRecordDailyService.patrolCount(formDTO));
+    }
 }
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java
index 458a171d00..58779caaa0 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java
@@ -18,11 +18,13 @@
 package com.epmet.dao;
 
 import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.result.SelectPatrolCountResultDTO;
 import com.epmet.entity.StatsStaffPatrolRecordDailyEntity;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * [天]工作人员巡查记录统计
@@ -61,4 +63,13 @@ public interface StatsStaffPatrolRecordDailyDao extends BaseDao selectPatrolCount(@Param("agencyId")String agencyId, @Param("dateId")String dateId);
+    
 }
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsStaffPatrolRecordDailyService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsStaffPatrolRecordDailyService.java
index 4eb51384d9..a73d0ac373 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsStaffPatrolRecordDailyService.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsStaffPatrolRecordDailyService.java
@@ -2,6 +2,8 @@ package com.epmet.service;
 
 import com.epmet.commons.mybatis.service.BaseService;
 import com.epmet.entity.StatsStaffPatrolRecordDailyEntity;
+import com.epmet.dto.form.PatrolCountFormDTO;
+import com.epmet.dto.result.PatrolCountResultDTO;
 
 /**
  * [天]工作人员巡查记录统计
@@ -11,5 +13,12 @@ import com.epmet.entity.StatsStaffPatrolRecordDailyEntity;
  */
 public interface StatsStaffPatrolRecordDailyService extends BaseService {
 
+    /**
+     * @Description  查询巡查人数
+     * @Param formDTO
+     * @author zxc
+     * @date 2021/8/20 10:21 上午
+     */
+    PatrolCountResultDTO patrolCount(PatrolCountFormDTO formDTO);
 
 }
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsStaffPatrolRecordDailyServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsStaffPatrolRecordDailyServiceImpl.java
index a53fc8e3a5..5f54160a06 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsStaffPatrolRecordDailyServiceImpl.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsStaffPatrolRecordDailyServiceImpl.java
@@ -1,23 +1,19 @@
 package com.epmet.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
-import com.epmet.commons.tools.page.PageData;
-import com.epmet.commons.tools.utils.ConvertUtils;
-import com.epmet.commons.tools.constant.FieldConstant;
+import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.commons.tools.utils.DateUtils;
+import com.epmet.constant.PatrolConstant;
 import com.epmet.dao.StatsStaffPatrolRecordDailyDao;
-import com.epmet.dto.StatsStaffPatrolRecordDailyDTO;
+import com.epmet.dto.result.SelectPatrolCountResultDTO;
 import com.epmet.entity.StatsStaffPatrolRecordDailyEntity;
 import com.epmet.service.StatsStaffPatrolRecordDailyService;
+import com.epmet.dto.form.PatrolCountFormDTO;
+import com.epmet.dto.result.PatrolCountResultDTO;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Arrays;
 import java.util.List;
-import java.util.Map;
 
 /**
  * [天]工作人员巡查记录统计
@@ -29,4 +25,24 @@ import java.util.Map;
 @Slf4j
 public class StatsStaffPatrolRecordDailyServiceImpl extends BaseServiceImpl implements StatsStaffPatrolRecordDailyService {
 
+    /**
+     * @Description  查询巡查人数
+     * @Param formDTO
+     * @author zxc
+     * @date 2021/8/20 10:21 上午
+     */
+    @Override
+    public PatrolCountResultDTO patrolCount(PatrolCountFormDTO formDTO) {
+        PatrolCountResultDTO result = new PatrolCountResultDTO();
+        List counts = baseDao.selectPatrolCount(formDTO.getAgencyId(), DateUtils.getBeforeNDay(NumConstant.ZERO));
+        counts.forEach(c -> {
+            if (c.getStatus().equals(PatrolConstant.PATROLLING)){
+                result.setPatrollingCount(c.getStaffCount());
+            }
+            if (c.getStatus().equals(PatrolConstant.END)){
+                result.setElseCount(c.getStaffCount());
+            }
+        });
+        return result;
+    }
 }
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml
index da96fba412..a93e2f1740 100644
--- a/epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml
+++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml
@@ -40,4 +40,16 @@
           AND GRID_ID = #{gridId}
            
 
 
 
+    
+    
+        SELECT t.STATUS , COUNT(t.STAFF_ID) AS staffCount FROM
+            (SELECT
+                 STAFF_ID,LATEST_PATROL_STATUS AS STATUS
+             FROM stats_staff_patrol_record_daily
+             WHERE DEL_FLAG = 0
+               AND DATE_ID = #{dateId}
+               AND GRID_PIDS LIKE CONCAT('%',#{agencyId},'%')
+             ORDER BY STAFF_ID DESC) t GROUP BY t.STATUS
+     
+
 
\ 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 @@
 
     
     
-        SELECT
-            *
+        SELECT DISTINCT
+            m.CATEGORY_CODE,
+            m.CATEGORY_NAME,
+            m.`LEVEL`
         FROM
-            (
-            SELECT DISTINCT
-                m.CATEGORY_CODE,
-                m.CATEGORY_NAME,
-                m.`LEVEL`
-            FROM
-                customer_project_category_dict m
-            WHERE
-                m.DEL_FLAG = '0'
-                AND m.customer_id = #{customerId}
-            
-                UNION ALL
-                SELECT DISTINCT
-                    m.CATEGORY_CODE,
-                    m.CATEGORY_NAME,
-                    m.`LEVEL`
-                FROM
-                    customer_project_category_dict m
-                WHERE
-                    m.DEL_FLAG = '0'
-                    AND m.customer_id IN
-                    
-                        #{subCustomerId}
-                     
-             
-            ) temp
+            customer_project_category_dict m
         WHERE
-            temp.CATEGORY_CODE = #{categoryCode}
-        ORDER BY temp.`LEVEL` DESC
-            LIMIT 1
+            m.DEL_FLAG = '0'
+          AND m.customer_id = #{customerId}
+          AND CATEGORY_CODE = #{categoryCode}
+        LIMIT 1
      
 
     
     
         SELECT
             CATEGORY_CODE AS categoryId,
-            PROJECT_TOTAL AS categoryCount
+            PROJECT_TOTAL AS categoryCount,
+            CATEGORY_ORIGIN_CUSTOMER_ID
         FROM
             screen_project_category_org_daily
         WHERE
From 694e28a32a46c1f72c5c57a9075cc766914f072d Mon Sep 17 00:00:00 2001
From: zxc <1272811460@qq.com>
Date: Mon, 23 Aug 2021 10:45:52 +0800
Subject: [PATCH 13/14] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E5=9C=B0=E5=9D=80?=
 =?UTF-8?q?=E6=9F=A5=E8=AF=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
 .../main/java/com/epmet/dataaggre/redis/ResiGroupRedis.java  | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/redis/ResiGroupRedis.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/redis/ResiGroupRedis.java
index 3efbd220d4..3639a7a8d8 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/redis/ResiGroupRedis.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/redis/ResiGroupRedis.java
@@ -2,6 +2,7 @@ package com.epmet.dataaggre.redis;
 
 import com.epmet.commons.tools.redis.RedisUtils;
 import com.epmet.dataaggre.constant.GroupConstant;
+import com.epmet.dto.form.UserBadgeUnitFormDTO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -36,8 +37,8 @@ public class ResiGroupRedis {
         if (!CollectionUtils.isEmpty(result)){
             List icons = new ArrayList<>();
             for (Object o : result) {
-                Map map = (Map) o;
-                icons.add(map.get(GroupConstant.BADGE_ICON));
+                UserBadgeUnitFormDTO map = (UserBadgeUnitFormDTO) o;
+                icons.add(map.getBadgeIcon());
             }
             return icons;
         }
From a9e3160cd91f53f6a467702dbeb93f73cb238848 Mon Sep 17 00:00:00 2001
From: zhaoqifeng 
Date: Mon, 23 Aug 2021 11:11:35 +0800
Subject: [PATCH 14/14] =?UTF-8?q?=E5=85=9A=E5=91=98=E8=AE=A4=E8=AF=81?=
 =?UTF-8?q?=E9=98=B2=E9=87=8D=E5=A4=8D=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
 .../partymember/controller/PartyMemberConfirmController.java    | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberConfirmController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberConfirmController.java
index 58d4d2edc2..099d9d434b 100644
--- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberConfirmController.java
+++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberConfirmController.java
@@ -1,5 +1,6 @@
 package com.epmet.modules.partymember.controller;
 
+import com.epmet.commons.tools.aop.NoRepeatSubmit;
 import com.epmet.commons.tools.utils.Result;
 import com.epmet.modules.partymember.service.PartyMemberConfirmService;
 import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
@@ -65,6 +66,7 @@ public class PartyMemberConfirmController {
 	 * @date 2020/3/31 10:50
 	 */
 	@PostMapping("submit")
+	@NoRepeatSubmit
 	public Result submit(@RequestBody PartymemberInfoDTO partyMemberInfoDTO) {
 		return partyMemberConfirmService.submit(partyMemberInfoDTO);
 	}