diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 224e480e9c..0000000000
--- a/.gitignore
+++ /dev/null
@@ -1,29 +0,0 @@
-# Created by .ignore support plugin (hsz.mobi)
-### Java template
-# Compiled class file
-*.class
-
-# Log file
-*.log
-
-# BlueJ files
-*.ctxt
-
-# Mobile Tools for Java (J2ME)
-.mtj.tmp/
-
-# Package Files #
-*.jar
-*.war
-*.nar
-*.ear
-*.zip
-*.tar.gz
-*.rar
-
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
-.idea/
-*.iml
-target/
-
diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/GridMemberDataAnalysisFromDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/GridMemberDataAnalysisFromDTO.java
index ca0ee068eb..95397af9c6 100644
--- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/GridMemberDataAnalysisFromDTO.java
+++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/GridMemberDataAnalysisFromDTO.java
@@ -25,7 +25,10 @@ public class GridMemberDataAnalysisFromDTO {
private Integer pageSize = 10;
@NotBlank(message = "请选择组织", groups = { listGridMemberDatas4PcWork.class })
- private String agencyId;
+ private String orgId;
+
+ @NotBlank(message = "请选择组织类型", groups = { listGridMemberDatas4PcWork.class })
+ private String orgType;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
diff --git a/epmet-module/data-aggregator/data-aggregator-server/pom.xml b/epmet-module/data-aggregator/data-aggregator-server/pom.xml
index b26bfa373b..abe5cf4780 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/pom.xml
+++ b/epmet-module/data-aggregator/data-aggregator-server/pom.xml
@@ -82,12 +82,16 @@
2.0.0
compile
-
+
+ cglib
+ cglib
+ 3.1
+
com.alibaba
easyexcel
3.0.3
-
+
+
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/beans/GridMemberDataAnalysisExcelExportBean.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/beans/GridMemberDataAnalysisExcelExportBean.java
new file mode 100644
index 0000000000..c8ce22756f
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/beans/GridMemberDataAnalysisExcelExportBean.java
@@ -0,0 +1,55 @@
+package com.epmet.dataaggre.beans;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 网格员数据分析excel导出bean
+ */
+@Getter
+@Setter
+@EqualsAndHashCode
+@ColumnWidth(20)
+public class GridMemberDataAnalysisExcelExportBean {
+ @ExcelProperty(value = {"姓名"})
+ private String staffName;
+
+ @ExcelProperty(value = {"手机号"})
+ private String mobile;
+
+ @ExcelProperty(value = {"所属网格"})
+ private String orgName;
+
+ // 项目议题等
+ @ExcelProperty(value = {"项目数"})
+ private Integer projectCount;
+
+ @ExcelProperty(value = {"议题转项目数"})
+ private Integer issueToProjectCount;
+
+ @ExcelProperty(value = {"议题关闭数"})
+ private Integer closedIssueCount;
+
+ @ExcelProperty(value = {"项目事件响应数"})
+ private Integer projectResponseCount;
+
+ @ExcelProperty(value = {"项目事件吹哨数"})
+ private Integer projectTransferCount;
+
+ @ExcelProperty(value = {"项目事件结案数"})
+ private Integer projectClosedCount;
+
+ // 巡查
+ @ExcelProperty(value = {"巡查次数"})
+ private int patrolTimes;
+
+ @ExcelProperty(value = {"巡查时长"})
+ private int totalTime;
+
+ @ExcelProperty(value = {"例行工作次数"})
+ private int patrolRoutineWorkTimes;
+}
\ No newline at end of file
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 58a065b164..2101914c08 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
@@ -2,44 +2,48 @@ package com.epmet.dataaggre.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
-import com.alibaba.excel.annotation.ExcelProperty;
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.enums.RequirePermissionEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
+import com.epmet.commons.tools.exception.EpmetException;
+import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.commons.tools.utils.DateUtils;
+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.govorg.CustomerAgencyDTO;
+import com.epmet.dataaggre.beans.GridMemberDataAnalysisExcelExportBean;
import com.epmet.dataaggre.dto.govorg.CustomerGridDTO;
import com.epmet.dataaggre.dto.govorg.form.*;
import com.epmet.dataaggre.dto.govorg.result.*;
import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity;
-import com.epmet.dataaggre.entity.govorg.CustomerGridEntity;
import com.epmet.dataaggre.enums.GridMemberDataAnalysisEnums;
import com.epmet.dataaggre.service.AggreGridService;
import com.epmet.dataaggre.service.govorg.GovOrgService;
-import lombok.Data;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
-import javax.validation.constraints.NotBlank;
+import javax.servlet.http.HttpServletResponse;
+import java.io.FileInputStream;
import java.io.IOException;
+import java.net.URLEncoder;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.concurrent.atomic.AtomicReference;
/**
* @Author zxc
@@ -244,13 +248,14 @@ public class GovOrgController {
public Result getGridMemberAnalysis4PcWork(@RequestBody GridMemberDataAnalysisFromDTO input) {
ValidatorUtils.validateEntity(input, GridMemberDataAnalysisFromDTO.listGridMemberDatas4PcWork.class);
- String agencyId = input.getAgencyId();
+ String orgId = input.getOrgId();
Date startTime = input.getStartTime();
Date endTime = input.getEndTime();
Integer pageNo = input.getPageNo();
Integer pageSize = input.getPageSize();
+ String orgType = input.getOrgType();
- PageData page = aggreGridService.getGridMemberDataAnalysis4PcWork(agencyId, pageNo, pageSize, startTime, endTime);
+ PageData page = aggreGridService.getGridMemberDataAnalysis4PcWork(orgId, orgType, pageNo, pageSize, startTime, endTime, true);
return new Result().ok(page);
}
@@ -260,80 +265,96 @@ public class GovOrgController {
* @return
*/
@PostMapping("pcwork/gridmember-analysis/export")
- public Result exportGridMemberAnalysis4PcWork(@RequestBody GridMemberDataAnalysisFromDTO input) {
+ public void exportGridMemberAnalysis4PcWork(@RequestBody GridMemberDataAnalysisFromDTO input, HttpServletResponse response) {
ValidatorUtils.validateEntity(input, GridMemberDataAnalysisFromDTO.listGridMemberDatas4PcWork.class);
- String agencyId = input.getAgencyId();
+ String orgId = input.getOrgId();
Date startTime = input.getStartTime();
Date endTime = input.getEndTime();
+ String orgType = input.getOrgType();
- int pageNo = 0;
- int pageSize = 1000;
-
+ // 缓存路径
String tempFileName = UUID.randomUUID().toString().concat(".xlsx");
+ Path tempFilePath = gridMemberStatsExcelExportDir.resolve(tempFileName);
+ log.info("工作统计excel文件下载路径:{}", tempFilePath.toString());
- ExcelWriter excelWriter = EasyExcel.write(tempFileName, GridMemberDataAnalysisExcelExportBean.class).build();
- // 这里注意 如果同一个sheet只要创建一次
- WriteSheet writeSheet = EasyExcel.writerSheet("模板").build();
-
- PageData page;
- do {
- page = aggreGridService.getGridMemberDataAnalysis4PcWork(agencyId, pageNo, pageSize, startTime, endTime);
- List pageList = page.getList();
-
- List exportBeans = ConvertUtils.sourceToTarget(pageList, GridMemberDataAnalysisExcelExportBean.class);
-
- excelWriter.write(exportBeans, writeSheet);
-
+ ExcelWriter excelWriter = null;
- } while (page.getList().size() == pageSize);
-
- return null;
- }
-
- /**
- * 网格员数据分析excel导出bean
- */
- @Data
- public class GridMemberDataAnalysisExcelExportBean {
- @ExcelProperty("姓名")
- private String staffName;
+ // 组织名称
+ AtomicReference orgName = new AtomicReference<>("");
- @ExcelProperty("手机号")
- private String mobile;
+ if ("grid".equals(orgType)) {
+ CustomerGridDTO gridInfo = govOrgService.getGridInfo(orgId);
+ Optional.ofNullable(gridInfo).ifPresent((g) -> orgName.set(g.getGridName()));
+ } else if ("agency".equals(orgType)) {
+ CustomerAgencyEntity agencyInfo = govOrgService.getAgencyInfo(orgId);
+ Optional.ofNullable(agencyInfo).ifPresent((a) -> orgName.set(a.getOrganizationName()));
+ }
- @ExcelProperty("所属网格")
- private String orgName;
+ // sheet名
+ String sheetName = getSheetName(orgName.get(), startTime, endTime);
- // 项目议题等
- @ExcelProperty("项目数")
- private Integer projectCount;
+ // 分页导出到缓存excel
+ try {
+ excelWriter = EasyExcel.write(tempFilePath.toString(), GridMemberDataAnalysisExcelExportBean.class).build();
+ // 这里注意 如果同一个sheet只要创建一次
+ WriteSheet writeSheet = EasyExcel.writerSheet(sheetName).build();
- @ExcelProperty("议题转项目数")
- private Integer issueToProjectCount;
+ PageData page;
- @ExcelProperty("议题关闭数")
- private Integer closedIssueCount;
+ int pageNo = 0;
+ int pageSize = 1000;
- @ExcelProperty("项目事件响应数")
- private Integer projectResponseCount;
+ do {
+ page = aggreGridService.getGridMemberDataAnalysis4PcWork(orgId, orgType, pageNo, pageSize, startTime, endTime, false);
+ List pageList = page.getList();
- @ExcelProperty("项目事件吹哨数")
- private Integer projectTransferCount;
+ List exportBeans = ConvertUtils.sourceToTarget(pageList, GridMemberDataAnalysisExcelExportBean.class);
- @ExcelProperty("项目事件结案数")
- private Integer projectClosedCount;
+ excelWriter.write(exportBeans, writeSheet);
- // 巡查
- @ExcelProperty("巡查次数")
- private int patrolTimes;
+ } while (page.getList().size() == pageSize);
- @ExcelProperty("巡查时长")
- private int totalTime;
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error("【PC工作端网格员数据统计导出】生成excel失败:{}", ExceptionUtils.getErrorStackTrace(e));
+ } finally {
+ // 关闭流
+ Optional.ofNullable(excelWriter).ifPresent((i) -> i.finish());
+ }
- @ExcelProperty("例行工作次数")
- private int patrolRoutineWorkTimes;
+ // 开始下载缓存excel到客户端,然后删除缓存文件
+ try {
+ response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
+ response.setHeader("Content-Type", "application/vnd.ms-excel");
+ response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(sheetName.concat(".xlsx"), "UTF-8"));
+
+ IOUtils.copy(new FileInputStream(tempFilePath.toString()), response.getOutputStream());
+ } catch (Exception e) {
+ log.error(ExceptionUtils.getErrorStackTrace(e));
+ throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "【下载工作统计信息】下载失败");
+ } finally {
+ try {
+ Files.delete(tempFilePath);
+ } catch (IOException e) {
+ log.error(ExceptionUtils.getErrorStackTrace(e));
+ throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "【下载工作统计信息】删除缓存文件失败");
+ }
+ }
}
-
+ private String getSheetName(String orgName, Date startTime, Date endTime) {
+ StringBuilder sb = new StringBuilder(orgName);
+ String s = orgName;
+ if (startTime == null && endTime != null) {
+ sb.append("截止").append(DateUtils.format(endTime, DateUtils.DATE_PATTERN));
+ } else if (startTime != null && endTime != null) {
+ sb.append(DateUtils.format(startTime, DateUtils.DATE_PATTERN))
+ .append("至")
+ .append(DateUtils.format(endTime, DateUtils.DATE_PATTERN))
+ .append("区间新增值");
+ }
+ sb.append("的工作统计");
+ return sb.toString();
+ }
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/FactGridMemberStatisticsDailyDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/FactGridMemberStatisticsDailyDao.java
index 435d92a2f3..b1e8284a74 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/FactGridMemberStatisticsDailyDao.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/FactGridMemberStatisticsDailyDao.java
@@ -60,6 +60,7 @@ public interface FactGridMemberStatisticsDailyDao extends BaseDao listGridMemberDataStatsAccumulate(@Param("pids") String pids,
+ @Param("gridId") String gridId,
@Param("endDateID") String endDateID);
/**
@@ -70,6 +71,7 @@ public interface FactGridMemberStatisticsDailyDao extends BaseDao listGridMemberDataStatsIncr(@Param("pids") String pids,
+ @Param("gridId") String gridId,
@Param("startDateID") String startDateID,
@Param("endDateID") String endDateID);
}
\ No newline at end of file
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StatsStaffPatrolRecordDailyDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StatsStaffPatrolRecordDailyDao.java
index d64a52ac27..49c101c018 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StatsStaffPatrolRecordDailyDao.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StatsStaffPatrolRecordDailyDao.java
@@ -61,6 +61,7 @@ public interface StatsStaffPatrolRecordDailyDao extends BaseDao listStaffPatrolRecordDailyAnalysis(@Param("gridPids") String gridPids,
+ @Param("gridId") String gridId,
@Param("userIds") List userIds,
@Param("startDateId") String startDateID,
@Param("endDateID") String endDateID);
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/AggreGridService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/AggreGridService.java
index 7c18dbd819..85a447a88c 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/AggreGridService.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/AggreGridService.java
@@ -2,6 +2,7 @@ package com.epmet.dataaggre.service;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
+import com.sun.org.apache.xpath.internal.operations.Bool;
import java.util.Date;
import java.util.List;
@@ -18,16 +19,29 @@ public interface AggreGridService {
* @author wxz
* @date 2021.07.05 11:17
*/
- List getGridMemberDataAnalysis(List gridIds, String searchedStaffName, String currStaffId, String month, String sort, Integer pageNo, Integer pageSize);
+ List getGridMemberDataAnalysis(List gridIds,
+ String searchedStaffName,
+ String currStaffId,
+ String month,
+ String sort,
+ Integer pageNo,
+ Integer pageSize);
/**
* 网格员巡查统计查询 pcwork端
- * @param agencyId
+ * @param orgId 组织id
+ * @param orgType 组织类型:agency,grid
* @param pageNo
* @param pageSize
* @param startTime
* @param endTime
* @return
*/
- PageData getGridMemberDataAnalysis4PcWork(String agencyId, Integer pageNo, Integer pageSize, Date startTime, Date endTime);
+ PageData getGridMemberDataAnalysis4PcWork(String orgId,
+ String orgType,
+ Integer pageNo,
+ Integer pageSize,
+ Date startTime,
+ Date endTime,
+ Boolean needCount);
}
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 2fe6e6de53..3d21ac929d 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
@@ -269,7 +269,14 @@ public interface DataStatsService {
* @param pageSize
* @param startDateID 查询起始时间(匹配统计表的dateId列)
* @param endDateID 查询结束时间(匹配统计表的dateId列)
+ * @param needCount 是否需要查询Count,分页查询需要,导出excel不需要
* @return
*/
- List getGridMemberIssueProjectStats4PcWork(String pids, Integer pageNo, Integer pageSize, String startDateID, String endDateID);
+ List getGridMemberIssueProjectStats4PcWork(String pids,
+ String gridId,
+ Integer pageNo,
+ Integer pageSize,
+ String startDateID,
+ String endDateID,
+ Boolean needCount);
}
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 25a7b37875..224f55f61c 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
@@ -2150,18 +2150,24 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
}
@Override
- public List getGridMemberIssueProjectStats4PcWork(String pids, Integer pageNo, Integer pageSize, String startDateID, String endDateID) {
+ public List getGridMemberIssueProjectStats4PcWork(String pids,
+ String gridId,
+ Integer pageNo,
+ Integer pageSize,
+ String startDateID,
+ String endDateID,
+ Boolean needCount) {
boolean isStartDateIdBlank = StringUtils.isBlank(startDateID);
boolean isEndDateIdBlank = StringUtils.isBlank(endDateID);
if (isStartDateIdBlank && !isEndDateIdBlank) {
// 查询截止时间的累计值,直接查询表里的total即可
- PageHelper.startPage(pageNo, pageSize);
- return factGridMemberStatisticsDailyDao.listGridMemberDataStatsAccumulate(pids, endDateID);
+ PageHelper.startPage(pageNo, pageSize, needCount);
+ return factGridMemberStatisticsDailyDao.listGridMemberDataStatsAccumulate(pids, gridId, endDateID);
} else if (!isStartDateIdBlank && !isEndDateIdBlank) {
// 查询时间段内的增量,需要使用表中的增量列计算
- return factGridMemberStatisticsDailyDao.listGridMemberDataStatsIncr(pids, startDateID, endDateID);
+ return factGridMemberStatisticsDailyDao.listGridMemberDataStatsIncr(pids, gridId, startDateID, endDateID);
} else {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "【pcwork查询网格员数据统计列表】传入时间条件有误");
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/StatsStaffPatrolRecordDailyService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/StatsStaffPatrolRecordDailyService.java
index 8a625b0e72..4bd0b91d93 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/StatsStaffPatrolRecordDailyService.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/StatsStaffPatrolRecordDailyService.java
@@ -57,5 +57,5 @@ public interface StatsStaffPatrolRecordDailyService extends BaseService listStaffPatrolRecordDailyAnalysis(String gridPids, List userIds, String startDateID, String endDateID);
+ List listStaffPatrolRecordDailyAnalysis(String gridPids, String gridId, List userIds, String startDateID, String endDateID);
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/StatsStaffPatrolRecordDailyServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/StatsStaffPatrolRecordDailyServiceImpl.java
index 7fd617cee3..610bdcd81c 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/StatsStaffPatrolRecordDailyServiceImpl.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/StatsStaffPatrolRecordDailyServiceImpl.java
@@ -49,7 +49,7 @@ public class StatsStaffPatrolRecordDailyServiceImpl extends BaseServiceImpl listStaffPatrolRecordDailyAnalysis(String gridPids, List userIds, String startDateID, String endDateID) {
- return baseDao.listStaffPatrolRecordDailyAnalysis(gridPids, userIds, startDateID, endDateID);
+ public List listStaffPatrolRecordDailyAnalysis(String gridPids, String gridId, List userIds, String startDateID, String endDateID) {
+ return baseDao.listStaffPatrolRecordDailyAnalysis(gridPids, gridId, userIds, startDateID, endDateID);
}
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/AggreGridServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/AggreGridServiceImpl.java
index 7b2e56ff2f..dcf258d270 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/AggreGridServiceImpl.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/AggreGridServiceImpl.java
@@ -65,17 +65,32 @@ public class AggreGridServiceImpl implements AggreGridService {
}
@Override
- public PageData getGridMemberDataAnalysis4PcWork(String agencyId, Integer pageNo, Integer pageSize, Date startTime, Date endTime) {
+ public PageData getGridMemberDataAnalysis4PcWork(String orgId,
+ String orgType,
+ Integer pageNo,
+ Integer pageSize,
+ Date startTime,
+ Date endTime,
+ Boolean needCount) {
// 计算出开始dateId和结束endId
String startDateID = DateUtils.format(startTime, DateUtils.DATE_PATTERN_YYYYMMDD);
String endDateID = DateUtils.format(endTime, DateUtils.DATE_PATTERN_YYYYMMDD);
- // 拿到组织pids,含自身
- String pids = getPidsByAgencyId(agencyId);
+ // 根据orgType判断是使用agency的pids还是直接使用gridId作为条件
+ String pids = null;
+ String gridId = null;
+
+ if ("grid".equals(orgType)) {
+ gridId = orgId;
+ } else if ("agency".equals(orgType)) {
+ pids = getPidsByAgencyId(orgId);
+ } else {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "组织类型不支持");
+ }
// 一.查询网格员数据统计相关信息
- List datas = dataStatsService.getGridMemberIssueProjectStats4PcWork(pids, pageNo, pageSize, startDateID, endDateID);
+ List datas = dataStatsService.getGridMemberIssueProjectStats4PcWork(pids, gridId, pageNo, pageSize, startDateID, endDateID, needCount);
long total = new PageInfo<>(datas).getTotal();
// 二.匹配用户巡查,例行工作数据
@@ -120,7 +135,7 @@ public class AggreGridServiceImpl implements AggreGridService {
// 批量查询出巡查信息
- List patrolDatas = statsStaffPatrolRecordDailyService.listStaffPatrolRecordDailyAnalysis(pids, userIdsPart, startDateID, endDateID);
+ List patrolDatas = statsStaffPatrolRecordDailyService.listStaffPatrolRecordDailyAnalysis(pids, gridId, userIdsPart, startDateID, endDateID);
for (StaffPatrolRecordDailyResultDTO d : patrolDatas) {
Map gridAndData = structedData.get(d.getStaffId());
@@ -135,7 +150,7 @@ public class AggreGridServiceImpl implements AggreGridService {
}
}
- return new PageData(datas, total);
+ return new PageData<>(datas, total);
}
/**
@@ -148,7 +163,7 @@ public class AggreGridServiceImpl implements AggreGridService {
if (agencyInfo == null) {
String errorMsg = "【网格员数据统计查询pcwork】查询组织信息返回为null";
- throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
+ throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), errorMsg, errorMsg);
}
String pidsAndAgencyIdPath = agencyInfo.getPids().concat(":").concat(agencyId);
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml
index 474e0ea8a9..4a5c0e7578 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml
@@ -152,9 +152,16 @@
member.CLOSED_ISSUE_COUNT project_closed_count
from fact_grid_member_statistics_daily member
inner join (
- select max(gms.DATE_ID) dateId from fact_grid_member_statistics_daily gms where gms.DATE_ID ${endDateID} and gms.DEL_FLAG = '0'
+ select max(gms.DATE_ID) dateId from fact_grid_member_statistics_daily gms where gms.DATE_ID #{endDateID} and gms.DEL_FLAG = '0'
) dim on (member.DATE_ID = dim.dateId)
- where member.PIDS like CONCAT(#{pids}, '%') and member.DEL_FLAG = '0'
+ where
+ member.DEL_FLAG = '0'
+
+ AND member.PIDS like CONCAT(#{pids}, '%')
+
+
+ AND member.GRID_ID = #{gridId}
+
order by convert(member.staff_name using gbk) asc, member.GRID_ID asc
@@ -170,10 +177,17 @@
sum(member.project_transfer_incr) project_transfer_count,
sum(member.project_closed_incr) project_closed_count
from fact_grid_member_statistics_daily member
- where member.PIDS like CONCAT(#{pids}, '%')
+ where
+ member.DEL_FLAG = '0'
+
+ AND member.PIDS like CONCAT(#{pids}, '%')
+
+
+ AND member.GRID_ID = #{gridId}
+
+
and member.DATE_ID >= #{startDateID}
and member.DATE_ID #{endDateID}
- and member.DEL_FLAG = '0'
group by member.grid_id,
member.staff_id,
member.STAFF_NAME
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StatsStaffPatrolRecordDailyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StatsStaffPatrolRecordDailyDao.xml
index 82ce39afc2..d95a39d0a4 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StatsStaffPatrolRecordDailyDao.xml
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StatsStaffPatrolRecordDailyDao.xml
@@ -66,12 +66,20 @@
sum(ROUTINE_WORK_COUNT) as patrol_routine_work_times
from stats_staff_patrol_record_daily sprd
where
- sprd.GRID_PIDS like CONCAT(#{gridPids}, '%')
+ sprd.DEL_FLAG = '0'
+
+ and sprd.GRID_ID=#{gridId}
+
+
+ and sprd.GRID_PIDS like CONCAT(#{gridPids}, '%')
+
and sprd.STAFF_ID in
#{userId}
- and sprd.DATE_ID >= #{startDateId}
+
+ and sprd.DATE_ID >= #{startDateId}
+
and sprd.DATE_ID #{endDateID}
group by
sprd.STAFF_ID,
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java
index c24db708c6..5297d84c2a 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java
@@ -81,19 +81,8 @@ public class PatrolRoutineWorkController {
@PostMapping("pcwork/list/export")
public void pcWorkListExport(@RequestBody PcWorkListFormDTO formDTO, HttpServletResponse response) throws Exception {
-// formDTO.setIsPage(false);
ValidatorUtils.validateEntity(formDTO, PcWorkListFormDTO.PcWorkListForm.class);
gridUserWorkService.pcWorkListExport(formDTO,response);
-// ExcelUtils.exportExcelToTarget(response, null, resultDTO.getList(), PcWorkListExport.class);
-
- }
-
- public String getPcWorkListExportName(PcWorkListFormDTO formDTO){
- String result = "例行工作列表";
- if (StringUtils.isNotBlank(formDTO.getStartTime())){
-
- }
- return result;
}
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java
index 5d0aa60d4f..642bf1be8e 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java
@@ -276,7 +276,7 @@ public class PatrolRoutineWorkServiceImpl extends BaseServiceImpl {
w1.getChildren().forEach(w2 -> {
if (c.equals(w2.getId())){
- result.add(w1.getName() + "-" + w2.getName());
+ result.add(w1.getName() + StrConstant.HYPHEN + w2.getName());
}
});
});