Browse Source

新增:

1.PC工作端查询网格员数据统计结果列表
master
wangxianzhang 4 years ago
parent
commit
0f496b5b54
  1. 21
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffPatrolRecordDailyResultDTO.java
  2. 7
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/GridMemberDataAnalysisFromDTO.java
  3. 7
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridMemberDataAnalysisResultDTO.java
  4. 22
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java
  5. 20
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/FactGridMemberStatisticsDailyDao.java
  6. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StatsStaffPatrolRecordDailyDao.java
  7. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/AggreGridService.java
  8. 12
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java
  9. 42
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  10. 11
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/StatsStaffPatrolRecordDailyService.java
  11. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/StatsStaffPatrolRecordDailyServiceImpl.java
  12. 102
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/AggreGridServiceImpl.java
  13. 49
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml
  14. 21
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StatsStaffPatrolRecordDailyDao.xml

21
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffPatrolRecordDailyResultDTO.java

@ -0,0 +1,21 @@
package com.epmet.dataaggre.dto.epmetuser.result;
import lombok.Data;
/**
* @ClassName StaffPatrolRecordDailyResultDTO
* @Description 工作人员巡查记录按日统计查询结果
* @Author wangxianzhang
* @Date 2022/1/4 4:08 下午
*/
@Data
public class StaffPatrolRecordDailyResultDTO {
private String staffId;
private String gridId;
private int patrolTimes;
private int totalTime;
private int patrolRoutineWorkTimes;
}

7
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/GridMemberDataAnalysisFromDTO.java

@ -3,12 +3,14 @@ package com.epmet.dataaggre.dto.govorg.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.util.List;
@Data
public class GridMemberDataAnalysisFromDTO {
public interface listGridMemberDatas {}
public interface listGridMemberDatas4PcWork {}
private List<String> gridIds;
@ -19,4 +21,9 @@ public class GridMemberDataAnalysisFromDTO {
private String sort;
private Integer pageNo = 1;
private Integer pageSize = 10;
@NotBlank(message = "请选择组织", groups = { listGridMemberDatas4PcWork.class })
private String agencyId;
private Date startTime;
private Date endTime;
}

7
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridMemberDataAnalysisResultDTO.java

@ -9,7 +9,9 @@ public class GridMemberDataAnalysisResultDTO {
private String staffId;
private String staffName;
private String orgName;
//private String gridName;
// 项目议题等
private Integer projectCount;
private Integer issueToProjectCount;
private Integer closedIssueCount;
@ -17,4 +19,9 @@ public class GridMemberDataAnalysisResultDTO {
private Integer projectTransferCount;
private Integer projectClosedCount;
// 巡查
private int patrolTimes;
private int totalTime;
private int patrolRoutineWorkTimes;
}

22
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.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.EpmetErrorCode;
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.Result;
@ -23,7 +24,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@ -201,4 +204,23 @@ public class GovOrgController {
return new Result<CustomerGridDTO>().ok(govOrgService.getGridInfo(gridId));
}
/**
* pc 工作端网格员巡查统计
* @param input
* @return
*/
@PostMapping("pcwork/gridmember-analysis")
public Result getGridMemberAnalysis4PcWork(@RequestBody GridMemberDataAnalysisFromDTO input) {
ValidatorUtils.validateEntity(input, GridMemberDataAnalysisFromDTO.listGridMemberDatas4PcWork.class);
String agencyId = input.getAgencyId();
Date startTime = input.getStartTime();
Date endTime = input.getEndTime();
Integer pageNo = input.getPageNo();
Integer pageSize = input.getPageSize();
PageData<GridMemberDataAnalysisResultDTO> page = aggreGridService.getGridMemberDataAnalysis4PcWork(agencyId, pageNo, pageSize, startTime, endTime);
return new Result().ok(page);
}
}

20
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/FactGridMemberStatisticsDailyDao.java

@ -52,4 +52,24 @@ public interface FactGridMemberStatisticsDailyDao extends BaseDao<FactGridMember
* @date 2021.07.05 16:17
*/
GridMemberDataAnalysisResultDTO getGridMemberIssueProjectStats(@Param("staffId") String staffId);
/**
* 查询截止日期的网格员数据统计累计值
* @param pids
* @param endDateID
* @return
*/
List<GridMemberDataAnalysisResultDTO> listGridMemberDataStatsAccumulate(@Param("pids") String pids,
@Param("endDateID") String endDateID);
/**
* 按照时间段查询网格员数据统计增量值
* @param pids
* @param startDateID
* @param endDateID
* @return
*/
List<GridMemberDataAnalysisResultDTO> listGridMemberDataStatsIncr(@Param("pids") String pids,
@Param("startDateID") String startDateID,
@Param("endDateID") String endDateID);
}

13
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StatsStaffPatrolRecordDailyDao.java

@ -22,6 +22,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.datastats.form.CustomerDataManageFormDTO;
import com.epmet.dataaggre.dto.datastats.result.CustomerDataManageResultDTO;
import com.epmet.dataaggre.dto.epmetuser.result.PatrolDailySumResult;
import com.epmet.dataaggre.dto.epmetuser.result.StaffPatrolRecordDailyResultDTO;
import com.epmet.dataaggre.entity.epmetuser.StatsStaffPatrolRecordDailyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -51,4 +52,16 @@ public interface StatsStaffPatrolRecordDailyDao extends BaseDao<StatsStaffPatrol
* @author sun
*/
List<CustomerDataManageResultDTO.CustomerDataManage> patrolList(CustomerDataManageFormDTO formDTO);
/**
* 工作人员巡查记录按日统计查询
* @param userIds
* @param startDateID
* @param endDateID
* @return
*/
List<StaffPatrolRecordDailyResultDTO> listStaffPatrolRecordDailyAnalysis(@Param("gridPids") String gridPids,
@Param("userIds") List<String> userIds,
@Param("startDateId") String startDateID,
@Param("endDateID") String endDateID);
}

13
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/AggreGridService.java

@ -1,7 +1,9 @@
package com.epmet.dataaggre.service;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
import java.util.Date;
import java.util.List;
/**
@ -17,4 +19,15 @@ public interface AggreGridService {
* @date 2021.07.05 11:17
*/
List<GridMemberDataAnalysisResultDTO> getGridMemberDataAnalysis(List<String> gridIds, String searchedStaffName, String currStaffId, String month, String sort, Integer pageNo, Integer pageSize);
/**
* 网格员巡查统计查询 pcwork端
* @param agencyId
* @param pageNo
* @param pageSize
* @param startTime
* @param endTime
* @return
*/
PageData<GridMemberDataAnalysisResultDTO> getGridMemberDataAnalysis4PcWork(String agencyId, Integer pageNo, Integer pageSize, Date startTime, Date endTime);
}

12
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java

@ -13,6 +13,7 @@ import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
/**
@ -260,4 +261,15 @@ public interface DataStatsService {
* @author sun
*/
List<FactAgencyProjectMonthResultDTO> getProjectMonthIncr(ProjectTotalFormDTO formDTO);
/**
* 查询网格员项目统计数据4 pcwork
* @param pids 组织PIDS
* @param pageNo
* @param pageSize
* @param startDateID 查询起始时间匹配统计表的dateId列
* @param endDateID 查询结束时间匹配统计表的dateId列
* @return
*/
List<GridMemberDataAnalysisResultDTO> getGridMemberIssueProjectStats4PcWork(String pids, Integer pageNo, Integer pageSize, String startDateID, String endDateID);
}

42
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java

@ -3,9 +3,12 @@
import com.alibaba.fastjson.JSON;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.enums.OrgLevelEnum;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.enums.OrgLevelEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.dataaggre.constant.DataSourceConstant;
@ -29,12 +32,16 @@ import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
import com.epmet.dataaggre.entity.datastats.DimAgencyEntity;
import com.epmet.dataaggre.entity.datastats.FactAgencyGovernDailyEntity;
import com.epmet.dataaggre.excel.CustomerDataManageExcel;
import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity;
import com.epmet.dataaggre.excel.CustomerDataManageExcel;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.service.epmetuser.StatsStaffPatrolRecordDailyService;
import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService;
import com.epmet.dataaggre.service.opercrm.CustomerRelation;
import com.github.pagehelper.PageHelper;
import com.epmet.dataaggre.service.govorg.GovOrgService;
import com.epmet.dataaggre.service.opercrm.CustomerRelation;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.github.pagehelper.PageHelper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@ -59,7 +66,7 @@ import java.util.stream.Collectors;
@Service
@DataSource(DataSourceConstant.DATA_STATISTICAL)
@Slf4j
public class DataStatsServiceImpl implements DataStatsService {
public class DataStatsServiceImpl implements DataStatsService, ResultDataResolver {
@Autowired
private DataStatsDao dataStatsDao;
@Autowired
@ -71,7 +78,8 @@ public class DataStatsServiceImpl implements DataStatsService {
private FactGridMemberStatisticsDailyDao factGridMemberStatisticsDailyDao;
@Autowired
private StatsStaffPatrolRecordDailyService statsStaffPatrolRecordDailyService;
@Autowired
private GovOrgService govOrgService;
/**
* @Param formDTO
@ -2141,5 +2149,21 @@ public class DataStatsServiceImpl implements DataStatsService {
return dataStatsDao.getProjectMonthIncr(formDTO);
}
@Override
public List<GridMemberDataAnalysisResultDTO> getGridMemberIssueProjectStats4PcWork(String pids, Integer pageNo, Integer pageSize, String startDateID, String endDateID) {
boolean isStartDateIdBlank = StringUtils.isBlank(startDateID);
boolean isEndDateIdBlank = StringUtils.isBlank(endDateID);
if (isStartDateIdBlank && !isEndDateIdBlank) {
// 查询截止时间的累计值,直接查询表里的total即可
PageHelper.startPage(pageNo, pageSize);
return factGridMemberStatisticsDailyDao.listGridMemberDataStatsAccumulate(pids, endDateID);
} else if (!isStartDateIdBlank && !isEndDateIdBlank) {
// 查询时间段内的增量,需要使用表中的增量列计算
return factGridMemberStatisticsDailyDao.listGridMemberDataStatsIncr(pids, startDateID, endDateID);
} else {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "【pcwork查询网格员数据统计列表】传入时间条件有误");
}
}
}

11
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/StatsStaffPatrolRecordDailyService.java

@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dataaggre.dto.datastats.form.CustomerDataManageFormDTO;
import com.epmet.dataaggre.dto.datastats.result.CustomerDataManageResultDTO;
import com.epmet.dataaggre.dto.epmetuser.result.PatrolDailySumResult;
import com.epmet.dataaggre.dto.epmetuser.result.StaffPatrolRecordDailyResultDTO;
import com.epmet.dataaggre.entity.epmetuser.StatsStaffPatrolRecordDailyEntity;
import java.util.List;
@ -47,4 +48,14 @@ public interface StatsStaffPatrolRecordDailyService extends BaseService<StatsSta
* @author sun
*/
List<CustomerDataManageResultDTO.CustomerDataManage> patrolList(CustomerDataManageFormDTO formDTO);
/**
* 查询工作人员巡查记录按日统计
* @param gridPids 记录所属的网格的pids
* @param userIds
* @param startDateID
* @param endDateID
* @return
*/
List<StaffPatrolRecordDailyResultDTO> listStaffPatrolRecordDailyAnalysis(String gridPids, List<String> userIds, String startDateID, String endDateID);
}

5
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/StatsStaffPatrolRecordDailyServiceImpl.java

@ -7,6 +7,7 @@ import com.epmet.dataaggre.dao.epmetuser.StatsStaffPatrolRecordDailyDao;
import com.epmet.dataaggre.dto.datastats.form.CustomerDataManageFormDTO;
import com.epmet.dataaggre.dto.datastats.result.CustomerDataManageResultDTO;
import com.epmet.dataaggre.dto.epmetuser.result.PatrolDailySumResult;
import com.epmet.dataaggre.dto.epmetuser.result.StaffPatrolRecordDailyResultDTO;
import com.epmet.dataaggre.entity.epmetuser.StatsStaffPatrolRecordDailyEntity;
import com.epmet.dataaggre.service.epmetuser.StatsStaffPatrolRecordDailyService;
import lombok.extern.slf4j.Slf4j;
@ -47,4 +48,8 @@ public class StatsStaffPatrolRecordDailyServiceImpl extends BaseServiceImpl<Stat
return baseDao.patrolList(formDTO);
}
@Override
public List<StaffPatrolRecordDailyResultDTO> listStaffPatrolRecordDailyAnalysis(String gridPids, List<String> userIds, String startDateID, String endDateID) {
return baseDao.listStaffPatrolRecordDailyAnalysis(gridPids, userIds, startDateID, endDateID);
}
}

102
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/AggreGridServiceImpl.java

@ -1,19 +1,25 @@
package com.epmet.dataaggre.service.impl;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dataaggre.dto.epmetuser.result.StaffPatrolRecordDailyResultDTO;
import com.epmet.dataaggre.dto.govorg.CustomerGridDTO;
import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity;
import com.epmet.dataaggre.service.AggreGridService;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.service.epmetuser.StatsStaffPatrolRecordDailyService;
import com.epmet.dataaggre.service.govorg.GovOrgService;
import org.apache.commons.collections4.CollectionUtils;
import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.*;
@Service
public class AggreGridServiceImpl implements AggreGridService {
@ -24,6 +30,9 @@ public class AggreGridServiceImpl implements AggreGridService {
@Autowired
private DataStatsService dataStatsService;
@Autowired
private StatsStaffPatrolRecordDailyService statsStaffPatrolRecordDailyService;
@Override
public List<GridMemberDataAnalysisResultDTO> getGridMemberDataAnalysis(
List<String> gridIds,
@ -48,4 +57,85 @@ public class AggreGridServiceImpl implements AggreGridService {
return records;
}
@Override
public PageData<GridMemberDataAnalysisResultDTO> getGridMemberDataAnalysis4PcWork(String agencyId, Integer pageNo, Integer pageSize, Date startTime, Date endTime) {
// 计算出开始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);
// 一.查询网格员数据统计相关信息
List<GridMemberDataAnalysisResultDTO> datas = dataStatsService.getGridMemberIssueProjectStats4PcWork(pids, pageNo, pageSize, startDateID, endDateID);
long total = new PageInfo<>(datas).getTotal();
// 二.匹配用户巡查,例行工作数据
int partSize = 100;
// 将数据列表结构化 <staffId:<gridId:data>>
HashMap<String, Map<String, GridMemberDataAnalysisResultDTO>> structedData = new HashMap<>();
for (GridMemberDataAnalysisResultDTO data : datas) {
// 填充gridName
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(data.getGridId());
Optional.ofNullable(gridInfo).ifPresent((d) -> data.setOrgName(d.getGridName()));
// 生成结构化map
Map<String, GridMemberDataAnalysisResultDTO> gridAndData = structedData.get(data.getStaffId());
if (gridAndData == null) {
HashMap<String, GridMemberDataAnalysisResultDTO> gat = new HashMap<>();
gat.put(data.getGridId(), data);
structedData.put(data.getStaffId(), gat);
} else {
Map<String, GridMemberDataAnalysisResultDTO> gat = structedData.get(data.getStaffId());
gat.put(data.getGridId(), data);
}
}
ArrayList<String> userIds = new ArrayList<>(structedData.keySet());
// 分片
List<List<String>> userIdsParts = Lists.partition(userIds, partSize);
for (List<String> userIdsPart : userIdsParts) {
List<StaffPatrolRecordDailyResultDTO> patrolDatas = statsStaffPatrolRecordDailyService.listStaffPatrolRecordDailyAnalysis(pids, userIdsPart, startDateID, endDateID);
for (StaffPatrolRecordDailyResultDTO d : patrolDatas) {
Map<String, GridMemberDataAnalysisResultDTO> gridAndData = structedData.get(d.getStaffId());
if (gridAndData != null) {
GridMemberDataAnalysisResultDTO data = gridAndData.get(d.getGridId());
if (data != null) {
data.setPatrolTimes(d.getPatrolTimes());
data.setTotalTime(d.getTotalTime());
data.setPatrolRoutineWorkTimes(d.getPatrolRoutineWorkTimes());
}
}
}
}
return new PageData<GridMemberDataAnalysisResultDTO>(datas, total);
}
/**
* 使用agencyId,获取pidsagencyPids:agencyId
* @param agencyId
* @return
*/
private String getPidsByAgencyId(String agencyId) {
CustomerAgencyEntity agencyInfo = govOrgService.getAgencyInfo(agencyId);
if (agencyInfo == null) {
String errorMsg = "【网格员数据统计查询pcwork】查询组织信息返回为null";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
}
String pidsAndAgencyIdPath = agencyInfo.getPids().concat(":").concat(agencyId);
if (pidsAndAgencyIdPath.startsWith(":")) {
pidsAndAgencyIdPath = pidsAndAgencyIdPath.replaceFirst(":", "");
}
return pidsAndAgencyIdPath;
}
}

49
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml

@ -131,5 +131,54 @@
and member.DEL_FLAG = 0
</select>
<select id="listGridMemberDataStatsAccumulate"
resultType="com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO">
select member.id,
member.date_id,
member.month_id,
member.year_id,
member.customer_id,
member.agency_id,
member.grid_id,
member.pid,
member.pids,
member.staff_id,
member.staff_name,
member.PROJECT_COUNT project_count,
member.ISSUE_TO_PROJECT_COUNT issue_to_project_count,
member.CLOSED_ISSUE_COUNT closed_issue_count,
member.PROJECT_RESPONSE_COUNT project_response_count,
member.PROJECT_TRANSFER_COUNT project_transfer_count,
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 <![CDATA[<]]> ${endDateID} and gms.DEL_FLAG = '0'
) dim on (member.DATE_ID = dim.dateId)
where member.PIDS like CONCAT(#{pids}, '%') and member.DEL_FLAG = '0'
order by convert(member.staff_name using gbk) asc, member.GRID_ID asc
</select>
<select id="listGridMemberDataStatsIncr"
resultType="com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO">
select member.grid_id,
member.staff_id,
member.STAFF_NAME,
sum(member.project_incr) project_count,
sum(member.issue_to_project_incr) issue_to_project_count,
sum(member.closed_issue_incr) closed_issue_count,
sum(member.project_response_incr) project_response_count,
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}, '%')
and member.DATE_ID >= #{startDateID}
and member.DATE_ID <![CDATA[<]]> #{endDateID}
and member.DEL_FLAG = '0'
group by member.grid_id,
member.staff_id,
member.STAFF_NAME,
order by convert(member.staff_name using gbk) asc, member.GRID_ID asc
</select>
</mapper>

21
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StatsStaffPatrolRecordDailyDao.xml

@ -57,4 +57,25 @@
GROUP BY t.grid_id, t.staffId
</select>
<select id="listStaffPatrolRecordDailyAnalysis"
resultType="com.epmet.dataaggre.dto.epmetuser.result.StaffPatrolRecordDailyResultDTO">
select sprd.STAFF_ID,
sprd.GRID_ID,
sum(PATROL_TOTAL) as patrol_times,
sum(TOTAL_TIME) as total_time,
sum(ROUTINE_WORK_COUNT) as patrol_routine_work_times
from stats_staff_patrol_record_daily sprd
where
sprd.GRID_PIDS like CONCAT(#{gridPids}, '%')
and sprd.STAFF_ID in
<foreach collection="userIds" open="(" item="userId" separator="," close=")">
#{userId}
</foreach>
and sprd.DATE_ID >= #{startDateId}
and sprd.DATE_ID <![CDATA[<]]> #{endDateID}
group by
sprd.STAFF_ID,
sprd.GRID_ID
</select>
</mapper>

Loading…
Cancel
Save