Browse Source

网格小组统计修改

dev_shibei_match
zxc 5 years ago
parent
commit
99c1bb8f7b
  1. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/group/form/GridGroupPeopleFormDTO.java
  2. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/group/form/GridGroupPeopleTotalFormDTO.java
  3. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/group/form/GridGroupTotalFormDTO.java
  4. 4
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/group/form/GroupIncrFormDTO.java
  5. 35
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/StatsGroupController.java
  6. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/group/GroupDataDao.java
  7. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGroupAgencyDailyDao.java
  8. 7
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGroupAgencyMonthlyDao.java
  9. 7
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGroupGridDailyDao.java
  10. 8
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/StatsGroupService.java
  11. 6
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/group/GroupDataService.java
  12. 24
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/group/impl/GroupDataServiceImpl.java
  13. 66
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsGroupServiceImpl.java
  14. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactGroupAgencyDailyService.java
  15. 7
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGroupAgencyDailyServiceImpl.java
  16. 1
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGroupAgencyMonthlyServiceImpl.java
  17. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGroupGridDailyServiceImpl.java
  18. 10
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/group/GroupDataDao.xml
  19. 22
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGroupAgencyDailyDao.xml
  20. 8
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGroupAgencyMonthlyDao.xml
  21. 9
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGroupGridDailyDao.xml

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/group/form/GridGroupPeopleFormDTO.java

@ -27,4 +27,9 @@ public class GridGroupPeopleFormDTO implements Serializable {
* 人员状态
*/
private String status = "removed";
/**
* dateID
*/
private String dateId;
}

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/group/form/GridGroupPeopleTotalFormDTO.java

@ -27,4 +27,9 @@ public class GridGroupPeopleTotalFormDTO implements Serializable {
* 人员状态
*/
private String status = "removed";
/**
* dateID
*/
private String dateId;
}

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/group/form/GridGroupTotalFormDTO.java

@ -22,4 +22,9 @@ public class GridGroupTotalFormDTO implements Serializable {
* 小组状态
*/
private String state = "approved";
/**
* dateID
*/
private String dateId;
}

4
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/group/form/GroupIncrFormDTO.java

@ -24,7 +24,7 @@ public class GroupIncrFormDTO implements Serializable {
private String customerId;
/**
* 日期(昨日)
* dateID
*/
private String yesterday;
private String dateId;
}

35
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/StatsGroupController.java

@ -1,14 +1,13 @@
package com.epmet.controller;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.service.StatsGroupService;
import com.epmet.service.stats.DimCustomerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Date;
/**
* @Author zxc
@ -20,8 +19,6 @@ public class StatsGroupController {
@Autowired
private StatsGroupService statsGroupService;
@Autowired
private DimCustomerService dimCustomerService;
/**
* 网格数小组数网格下所有组内人数不去重
@ -35,16 +32,8 @@ public class StatsGroupController {
* @author zxc
*/
@PostMapping("groupgriddaily")
public void groupGridDaily(){
Integer pageNo = NumConstant.ONE;
Integer pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIds = dimCustomerService.selectCustomerIdPage(pageNo,pageSize);
if (customerIds.size() == NumConstant.ZERO){
return;
}
customerIds.forEach(customerId -> {
statsGroupService.groupGridDaily(customerId);
});
public void groupGridDaily(@RequestParam(value = "date",required = false)Date date){
statsGroupService.groupGridDaily(date);
}
/**
@ -53,16 +42,8 @@ public class StatsGroupController {
* @author zxc
*/
@PostMapping("groupagencydaily")
public void groupAgencyDaily(){
Integer pageNo = NumConstant.ONE;
Integer pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIds = dimCustomerService.selectCustomerIdPage(pageNo,pageSize);
if (customerIds.size() == NumConstant.ZERO){
return;
}
customerIds.forEach(customerId -> {
statsGroupService.groupAgencyDaily(customerId);
});
public void groupAgencyDaily(@RequestParam(value = "date",required = false)Date date){
statsGroupService.groupAgencyDaily(date);
}
/**
@ -71,8 +52,8 @@ public class StatsGroupController {
* @author zxc
*/
@PostMapping("groupagencymonthly")
public void groupAgencyMonthly(){
statsGroupService.groupAgencyMonthly();
public void groupAgencyMonthly(@RequestParam(value = "date",required = false)Date date){
statsGroupService.groupAgencyMonthly(date);
}
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/group/GroupDataDao.java

@ -50,29 +50,29 @@ public interface GroupDataDao {
* @param
* @author zxc
*/
List<AgencyGroupTotalCountResultDTO> getAgencyGroupTotalCount(@Param("allGrid") List<String> allGrid);
List<AgencyGroupTotalCountResultDTO> getAgencyGroupTotalCount(@Param("allGrid") List<String> allGrid,@Param("dateId")String dateId);
/**
* @Description 查询机关下网格内的小组人数 待优化
* @param
* @author zxc
*/
List<AgencyGridGroupPeopleTotalResultDTO> selectAgencyGridGroupPeopleTotal(@Param("allGrid") List<String> allGrid);
List<AgencyGridGroupPeopleTotalResultDTO> selectAgencyGridGroupPeopleTotal(@Param("allGrid") List<String> allGrid,@Param("dateId")String dateId);
/**
* @Description 查询机关下每个小组的人数 待优化
* @param
* @author zxc
*/
List<AgencyGridGroupPeopleResultDTO> selectAgencyEveryGroupPeopleCount(@Param("allGrid") List<String> allGrid);
List<AgencyGridGroupPeopleResultDTO> selectAgencyEveryGroupPeopleCount(@Param("allGrid") List<String> allGrid,@Param("dateId")String dateId);
/**
* @Description 查询机关下的小组日增数 待优化
* @param
* @param yesterday
* @param dateId
* @author zxc
*/
List<AgencyGroupIncrResultDTO> selectAgencyGroupIncr(@Param("allGrid") List<String> allGrid,@Param("yesterday")String yesterday);
List<AgencyGroupIncrResultDTO> selectAgencyGroupIncr(@Param("allGrid") List<String> allGrid,@Param("dateId")String dateId);
/**
* @Description 查询机关下所有网格小组人数

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGroupAgencyDailyDao.java

@ -48,7 +48,7 @@ public interface FactGroupAgencyDailyDao extends BaseDao<FactGroupAgencyDailyEnt
* @param
* @author zxc
*/
List<AgencyMonthlyFormDTO> getLastDayAgency();
List<AgencyMonthlyFormDTO> getLastDayAgency(@Param("monthId") String monthId);
/**
* @Description 查询 月的小组增量
@ -56,5 +56,12 @@ public interface FactGroupAgencyDailyDao extends BaseDao<FactGroupAgencyDailyEnt
* @author zxc
*/
List<AgencyGroupMonthlyResultDTO> getMonthGroupIncr(@Param("monthId")String monthId);
/**
* @Description 删除当天已存在数据
* @param dateId
* @author zxc
*/
void deleteInsertAgencyDailyByDateId(@Param("dateId")String dateId);
}

7
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGroupAgencyMonthlyDao.java

@ -40,5 +40,12 @@ public interface FactGroupAgencyMonthlyDao extends BaseDao<FactGroupAgencyMonthl
* @author zxc
*/
void insertAgencyGroupMonthly(@Param("agencyMonth") List<AgencyMonthlyFormDTO> agencyMonth);
/**
* @Description 删除已存在的月数据
* @param monthId
* @author zxc
*/
void deleteInsertAgencyMonthlyByMonthId(@Param("monthId")String monthId);
}

7
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGroupGridDailyDao.java

@ -40,5 +40,12 @@ public interface FactGroupGridDailyDao extends BaseDao<FactGroupGridDailyEntity>
* @author zxc
*/
void insertGroupGridDaily(@Param("formDto") List<GroupGridDailyResultDTO> formDto);
/**
* @Description 删除已存在的数据当天防止当天数据多条
* @param dateId
* @author zxc
*/
void deleteInsertDateId(@Param("dateId")String dateId);
}

8
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/StatsGroupService.java

@ -1,5 +1,7 @@
package com.epmet.service;
import java.util.Date;
/**
* @Author zxc
* @CreateTime 2020/6/16 14:14
@ -10,18 +12,18 @@ public interface StatsGroupService {
* @Description 统计 小组 有关数据 dim网格-
* @author zxc
*/
void groupGridDaily(String customerId);
void groupGridDaily(Date date);
/**
* @Description 统计 小组 有关数据 dim机关-
* @author zxc
*/
void groupAgencyDaily(String customerId);
void groupAgencyDaily(Date date);
/**
* @Description 统计 小组 有关数据 dim机关-
* @author zxc
*/
void groupAgencyMonthly();
void groupAgencyMonthly(Date date);
}

6
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/group/GroupDataService.java

@ -25,21 +25,21 @@ public interface GroupDataService {
* @param allGrid
* @author zxc
*/
List<AgencyGroupTotalCountResultDTO> getAgencyGroupTotalCount(List<String> allGrid);
List<AgencyGroupTotalCountResultDTO> getAgencyGroupTotalCount(List<String> allGrid,String dateId);
/**
* @Description 查询机关下网格内的小组人数
* @param
* @author zxc
*/
List<AgencyGridGroupPeopleTotalResultDTO> selectAgencyGridGroupPeopleTotal(List<String> allGrid);
List<AgencyGridGroupPeopleTotalResultDTO> selectAgencyGridGroupPeopleTotal(List<String> allGrid,String dateId);
/**
* @Description 查询机关下每个小组的人数
* @param
* @author zxc
*/
List<AgencyGridGroupPeopleResultDTO> selectAgencyEveryGroupPeopleCount(List<String> allGrid);
List<AgencyGridGroupPeopleResultDTO> selectAgencyEveryGroupPeopleCount(List<String> allGrid,String dateId);
/**
* @Description 查询机关下的小组日增数

24
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/group/impl/GroupDataServiceImpl.java

@ -41,6 +41,7 @@ public class GroupDataServiceImpl implements GroupDataService {
if (gridsInfo.size() == NumConstant.ZERO){
return new ArrayList<>();
}
String dateId = dimTime.getDateId();
gridsInfo.forEach(grid -> {
GroupGridDailyResultDTO dailyResult = new GroupGridDailyResultDTO();
BeanUtils.copyProperties(dimTime,dailyResult);
@ -52,6 +53,7 @@ public class GroupDataServiceImpl implements GroupDataService {
// 1. 网格下有多少小组,只算 state = ‘approved’
GridGroupTotalFormDTO formDTO = new GridGroupTotalFormDTO();
formDTO.setCustomerId(customerId);
formDTO.setDateId(dateId);
List<GridGroupTotalResultDTO> gridGroupTotalResultDTOS = groupDataDao.selectGridGroupTotal(formDTO);
if (gridGroupTotalResultDTOS.size() == NumConstant.ZERO){
result.forEach(grid -> {
@ -70,6 +72,7 @@ public class GroupDataServiceImpl implements GroupDataService {
// 2. 网格下所有组内人数和(不需要去重) 人员状态 != "removed"
GridGroupPeopleTotalFormDTO peopleTotalFormDTO = new GridGroupPeopleTotalFormDTO();
peopleTotalFormDTO.setCustomerId(customerId);
peopleTotalFormDTO.setDateId(dateId);
List<GridGroupPeopleTotalResultDTO> gridGroupPeopleTotalResultDTOS = groupDataDao.selectGridGroupPeopleTotal(peopleTotalFormDTO);
result.forEach(grid -> {
gridGroupPeopleTotalResultDTOS.forEach(groupPeopleTotal -> {
@ -85,6 +88,7 @@ public class GroupDataServiceImpl implements GroupDataService {
// 4. 网格下小组人数中位数 小组最大(小)成员数、最多(少)成员小组ID
GridGroupPeopleFormDTO everyGroupPeople = new GridGroupPeopleFormDTO();
everyGroupPeople.setCustomerId(customerId);
everyGroupPeople.setDateId(dateId);
List<GridGroupPeopleResultDTO> everyGroupPeopleCount = groupDataDao.selectEveryGroupPeopleCount(everyGroupPeople);
Map<String, List<GridGroupPeopleResultDTO>> collect = everyGroupPeopleCount.stream().collect(Collectors.groupingBy(every -> every.getGridId()));
Set<Map.Entry<String, List<GridGroupPeopleResultDTO>>> entries = collect.entrySet();
@ -111,7 +115,7 @@ public class GroupDataServiceImpl implements GroupDataService {
// 5. 网格下小组增量
GroupIncrFormDTO groupIncr = new GroupIncrFormDTO();
groupIncr.setCustomerId(customerId);
groupIncr.setYesterday(dimTime.getDateId());
groupIncr.setDateId(dateId);
List<GroupIncrResultDTO> groupIncrResult = groupDataDao.selectGroupIncr(groupIncr);
result.forEach(grid -> {
groupIncrResult.forEach(gridIncr -> {
@ -128,11 +132,11 @@ public class GroupDataServiceImpl implements GroupDataService {
* @param
* @author zxc
*/
public List<AgencyGroupTotalCountResultDTO> getAgencyGroupTotalCount(List<String> allGrid){
public List<AgencyGroupTotalCountResultDTO> getAgencyGroupTotalCount(List<String> allGrid,String dateId){
if (allGrid.size() == NumConstant.ZERO){
return new ArrayList<>();
}
return groupDataDao.getAgencyGroupTotalCount(allGrid);
return groupDataDao.getAgencyGroupTotalCount(allGrid,dateId);
}
/**
@ -141,11 +145,11 @@ public class GroupDataServiceImpl implements GroupDataService {
* @author zxc
*/
@Override
public List<AgencyGridGroupPeopleTotalResultDTO> selectAgencyGridGroupPeopleTotal(List<String> allGrid) {
public List<AgencyGridGroupPeopleTotalResultDTO> selectAgencyGridGroupPeopleTotal(List<String> allGrid,String dateId) {
if (allGrid.size() == NumConstant.ZERO){
return new ArrayList<>();
}
return groupDataDao.selectAgencyGridGroupPeopleTotal(allGrid);
return groupDataDao.selectAgencyGridGroupPeopleTotal(allGrid,dateId);
}
/**
@ -153,24 +157,24 @@ public class GroupDataServiceImpl implements GroupDataService {
* @param
* @author zxc
*/
public List<AgencyGridGroupPeopleResultDTO> selectAgencyEveryGroupPeopleCount(List<String> allGrid){
public List<AgencyGridGroupPeopleResultDTO> selectAgencyEveryGroupPeopleCount(List<String> allGrid,String dateId){
if (allGrid.size() == NumConstant.ZERO){
return new ArrayList<>();
}
return groupDataDao.selectAgencyEveryGroupPeopleCount(allGrid);
return groupDataDao.selectAgencyEveryGroupPeopleCount(allGrid,dateId);
}
/**
* @Description 查询机关下的小组日增数
* @param
* @param yesterday
* @param dateId
* @author zxc
*/
public List<AgencyGroupIncrResultDTO> selectAgencyGroupIncr(List<String> allGrid,String yesterday){
public List<AgencyGroupIncrResultDTO> selectAgencyGroupIncr(List<String> allGrid,String dateId){
if (allGrid.size() == NumConstant.ZERO){
return new ArrayList<>();
}
return groupDataDao.selectAgencyGroupIncr(allGrid, yesterday);
return groupDataDao.selectAgencyGroupIncr(allGrid, dateId);
}
/**

66
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsGroupServiceImpl.java

@ -42,6 +42,8 @@ public class StatsGroupServiceImpl implements StatsGroupService {
private FactGroupAgencyDailyService factGroupAgencyDailyService;
@Autowired
private FactGroupAgencyMonthlyService factGroupAgencyMonthlyService;
@Autowired
private DimCustomerService dimCustomerService;
/**
* @Description 统计网格-
@ -49,11 +51,20 @@ public class StatsGroupServiceImpl implements StatsGroupService {
* @author zxc
*/
@Override
public void groupGridDaily(String customerId) {
DimIdGenerator.DimIdBean dimIdBean = this.getDimIdBean();
List<DimGridEntity> gridsInfo = dimGridService.getGridListByCustomerId(customerId);
List<GroupGridDailyResultDTO> resultDTOS = groupDataService.groupGridDaily(customerId,dimIdBean,gridsInfo);
factGroupGridDailyService.statisticsGroupGridDaily(resultDTOS);
public void groupGridDaily(Date date) {
Integer pageNo = NumConstant.ONE;
Integer pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIds = dimCustomerService.selectCustomerIdPage(pageNo,pageSize);
if (customerIds.size() == NumConstant.ZERO){
return;
}
customerIds.forEach(customerId -> {
DimIdGenerator.DimIdBean dimIdBean = this.getDimIdBean(date);
List<DimGridEntity> gridsInfo = dimGridService.getGridListByCustomerId(customerId);
List<GroupGridDailyResultDTO> resultDTOS = groupDataService.groupGridDaily(customerId,dimIdBean,gridsInfo);
factGroupGridDailyService.statisticsGroupGridDaily(resultDTOS);
});
}
/**
@ -61,12 +72,20 @@ public class StatsGroupServiceImpl implements StatsGroupService {
* @author zxc
*/
@Override
public void groupAgencyDaily(String customerId) {
DimIdGenerator.DimIdBean dimIdBean = this.getDimIdBean();
List<DimAgencyDTO> customerAgencyInfos = dimAgencyService.getAgencyInfoByCustomerId(customerId);
List<AgencyGroupDailyResultDTO> agencyGroupDaily = this.getAgencyGroupDaily(customerAgencyInfos, dimIdBean, customerId);
factGroupAgencyDailyService.insertGroupAgencyDaily(agencyGroupDaily);
public void groupAgencyDaily(Date date) {
Integer pageNo = NumConstant.ONE;
Integer pageSize = NumConstant.ONE_HUNDRED;
List<String> customerIds = dimCustomerService.selectCustomerIdPage(pageNo,pageSize);
if (customerIds.size() == NumConstant.ZERO){
return;
}
DimIdGenerator.DimIdBean dimIdBean = this.getDimIdBean(date);
customerIds.forEach(customerId -> {
List<DimAgencyDTO> customerAgencyInfos = dimAgencyService.getAgencyInfoByCustomerId(customerId);
List<AgencyGroupDailyResultDTO> agencyGroupDaily = this.getAgencyGroupDaily(customerAgencyInfos, dimIdBean, customerId);
factGroupAgencyDailyService.insertGroupAgencyDaily(agencyGroupDaily);
});
}
/**
@ -74,10 +93,11 @@ public class StatsGroupServiceImpl implements StatsGroupService {
* @author zxc String customerId
*/
@Override
public void groupAgencyMonthly() {
List<AgencyMonthlyFormDTO> lastDayAgency = factGroupAgencyDailyService.getLastDayAgency();
DimIdGenerator.DimIdBean dimIdBean = this.getDimIdBean();
List<AgencyGroupMonthlyResultDTO> monthGroupIncr = factGroupAgencyDailyService.getMonthGroupIncr(dimIdBean.getMonthId());
public void groupAgencyMonthly(Date date) {
DimIdGenerator.DimIdBean dimIdBean = this.getDimIdBean(date);
String monthId = dimIdBean.getMonthId();
List<AgencyMonthlyFormDTO> lastDayAgency = factGroupAgencyDailyService.getLastDayAgency(monthId);
List<AgencyGroupMonthlyResultDTO> monthGroupIncr = factGroupAgencyDailyService.getMonthGroupIncr(monthId);
if (monthGroupIncr.size() == NumConstant.ZERO){
lastDayAgency.forEach(agency -> {
agency.setGroupIncr(NumConstant.ZERO);
@ -99,6 +119,7 @@ public class StatsGroupServiceImpl implements StatsGroupService {
return new ArrayList<>();
}
List<AgencyGroupDailyResultDTO> result = new ArrayList<>();
String dateId = timeDim.getDateId();
List<DimAgencyEntity> agencyList = dimAgencyService.getAgencyListByCustomerId(customerId);
agencyList.forEach(agency -> {
AgencyGroupDailyResultDTO agencyResult = new AgencyGroupDailyResultDTO();
@ -113,11 +134,11 @@ public class StatsGroupServiceImpl implements StatsGroupService {
agencyResult.setGridTotal(allGrid.size());
// TODO 2. 机关下有多少小组,只算 state = ‘approved’
List<AgencyGroupTotalCountResultDTO> agencyGroupTotalCount = groupDataService.getAgencyGroupTotalCount(allGrid);
List<AgencyGroupTotalCountResultDTO> agencyGroupTotalCount = groupDataService.getAgencyGroupTotalCount(allGrid,dateId);
Integer groupCount = agencyGroupTotalCount.stream().collect(Collectors.summingInt(AgencyGroupTotalCountResultDTO::getGridGroupCount));
agencyResult.setGroupTotalCount(groupCount);
// TODO 3. 机关下所有组内人数和(不需要去重) 人员状态 != "removed"
List<AgencyGridGroupPeopleTotalResultDTO> agencyGridGroupPeopleTotal = groupDataService.selectAgencyGridGroupPeopleTotal(allGrid);
List<AgencyGridGroupPeopleTotalResultDTO> agencyGridGroupPeopleTotal = groupDataService.selectAgencyGridGroupPeopleTotal(allGrid,dateId);
Integer groupPeopleCount = agencyGridGroupPeopleTotal.stream().collect(Collectors.summingInt(AgencyGridGroupPeopleTotalResultDTO::getGridGroupPeopleTotal));
agencyResult.setGroupMemberTotalCount(groupPeopleCount);
@ -127,7 +148,7 @@ public class StatsGroupServiceImpl implements StatsGroupService {
agencyResult.getGroupMemberTotalCount()/agencyResult.getGroupTotalCount());
// TODO 5. 机关下小组人数中位数 小组最大(小)成员数、最多(少)成员小组ID
List<AgencyGridGroupPeopleResultDTO> agencyGridGroupPeople = groupDataService.selectAgencyEveryGroupPeopleCount(allGrid);
List<AgencyGridGroupPeopleResultDTO> agencyGridGroupPeople = groupDataService.selectAgencyEveryGroupPeopleCount(allGrid,dateId);
List<AgencyGridGroupPeopleResultDTO> sorted = agencyGridGroupPeople.stream().sorted(Comparator.comparing(AgencyGridGroupPeopleResultDTO::getGroupCount).reversed()).collect(Collectors.toList());
Integer groupPeopleMedian;
if (sorted.size() == NumConstant.ONE){
@ -147,7 +168,7 @@ public class StatsGroupServiceImpl implements StatsGroupService {
agencyResult.setMinMemberGroupId(sorted.get(sorted.size() - NumConstant.ONE).getGroupId());
}
// TODO 6. 机关下小组增量
List<AgencyGroupIncrResultDTO> agencyGroupIncr = groupDataService.selectAgencyGroupIncr(allGrid, timeDim.getDateId());
List<AgencyGroupIncrResultDTO> agencyGroupIncr = groupDataService.selectAgencyGroupIncr(allGrid, dateId);
Integer groupIncr = agencyGroupIncr.stream().collect(Collectors.summingInt(AgencyGroupIncrResultDTO::getGroupIncr));
agencyResult.setGroupIncr(groupIncr);
result.add(agencyResult);
@ -222,12 +243,15 @@ public class StatsGroupServiceImpl implements StatsGroupService {
* @param
* @author zxc
*/
public DimIdGenerator.DimIdBean getDimIdBean(){
public DimIdGenerator.DimIdBean getDimIdBean(Date date){
if (date != null){
return DimIdGenerator.getDimIdBean(date);
}
ZoneId zoneId = ZoneId.systemDefault();
LocalDate localDate = LocalDate.now().minusDays(NumConstant.ONE);
ZonedDateTime zdt = localDate.atStartOfDay(zoneId);
Date date = Date.from(zdt.toInstant());
return DimIdGenerator.getDimIdBean(date);
Date result = Date.from(zdt.toInstant());
return DimIdGenerator.getDimIdBean(result);
}
public List<String> getAgencyAllGrid(String customerId,String agencyId){

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactGroupAgencyDailyService.java

@ -109,7 +109,7 @@ public interface FactGroupAgencyDailyService extends BaseService<FactGroupAgency
* @param
* @author zxc
*/
List<AgencyMonthlyFormDTO> getLastDayAgency();
List<AgencyMonthlyFormDTO> getLastDayAgency(String monthId);
/**
* @Description 查询 月的小组增量

7
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGroupAgencyDailyServiceImpl.java

@ -103,7 +103,7 @@ public class FactGroupAgencyDailyServiceImpl extends BaseServiceImpl<FactGroupAg
}
/**
* @Description 插入网格小组数据 机关-
* @Description 插入网格小组数据 机关- 先删除再插入
* @param agencyList
* @author zxc
*/
@ -111,6 +111,7 @@ public class FactGroupAgencyDailyServiceImpl extends BaseServiceImpl<FactGroupAg
@Transactional(rollbackFor = Exception.class)
public void insertGroupAgencyDaily(List<AgencyGroupDailyResultDTO> agencyList) {
if (agencyList.size() != NumConstant.ZERO){
baseDao.deleteInsertAgencyDailyByDateId(agencyList.get(NumConstant.ZERO).getDateId());
baseDao.insertGroupAgencyDaily(agencyList);
}
@ -121,8 +122,8 @@ public class FactGroupAgencyDailyServiceImpl extends BaseServiceImpl<FactGroupAg
* @param
* @author zxc
*/
public List<AgencyMonthlyFormDTO> getLastDayAgency(){
return baseDao.getLastDayAgency();
public List<AgencyMonthlyFormDTO> getLastDayAgency(String monthId){
return baseDao.getLastDayAgency(monthId);
}
/**

1
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGroupAgencyMonthlyServiceImpl.java

@ -108,6 +108,7 @@ public class FactGroupAgencyMonthlyServiceImpl extends BaseServiceImpl<FactGroup
if (agencyMonth.size() == NumConstant.ZERO){
return;
}
baseDao.deleteInsertAgencyMonthlyByMonthId(agencyMonth.get(NumConstant.ZERO).getMonthId());
baseDao.insertAgencyGroupMonthly(agencyMonth);
}

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGroupGridDailyServiceImpl.java

@ -115,6 +115,8 @@ public class FactGroupGridDailyServiceImpl extends BaseServiceImpl<FactGroupGrid
if (formDto.size() == NumConstant.ZERO){
return;
}
String dateId = formDto.get(NumConstant.ZERO).getDateId();
baseDao.deleteInsertDateId(dateId);
baseDao.insertGroupGridDaily(formDto);
}

10
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/group/GroupDataDao.xml

@ -14,6 +14,7 @@
DEL_FLAG = 0
AND state = #{state}
AND customer_id = #{customerId}
AND DATE_FORMAT(created_time,'%Y%m%d') <![CDATA[ <= ]]> #{dateId}
GROUP BY
grid_id
</select>
@ -31,6 +32,7 @@
AND rg.state = #{state}
AND rg.customer_id = #{customerId}
AND rgm.status != #{status}
AND DATE_FORMAT(rgm.created_time,'%Y%m%d') <![CDATA[ <= ]]> #{dateId}
GROUP BY rg.grid_id
</select>
@ -49,6 +51,7 @@
AND rg.state = #{state}
AND rg.customer_id = #{customerId}
AND rgm.STATUS != #{status}
AND DATE_FORMAT(rgm.created_time,'%Y%m%d') <![CDATA[ <= ]]> #{dateId}
GROUP BY
rgm.resi_group_id
</select>
@ -63,7 +66,7 @@
WHERE
state = #{state}
AND customer_id = #{customerId}
AND DATE_FORMAT( CREATED_TIME, '%Y-%m-%d' ) = #{yesterday}
AND DATE_FORMAT( CREATED_TIME, '%Y%m%d' ) = #{dateId}
GROUP BY
grid_id
</select>
@ -80,6 +83,7 @@
DEL_FLAG = 0
AND state = 'approved'
AND grid_id = #{grid}
AND DATE_FORMAT(created_time,'%Y%m%d') <![CDATA[ <= ]]> #{dateId}
GROUP BY
grid_id
</foreach>
@ -99,6 +103,7 @@
AND rg.state = 'approved'
AND rg.grid_id = #{grid}
AND rgm.status != 'removed'
AND DATE_FORMAT(rgm.created_time,'%Y%m%d') <![CDATA[ <= ]]> #{dateId}
GROUP BY rg.grid_id
</foreach>
</select>
@ -118,6 +123,7 @@
AND rg.state = 'approved'
AND rg.grid_id = #{grid}
AND rgm.STATUS != 'removed'
AND DATE_FORMAT(rgm.created_time,'%Y%m%d') <![CDATA[ <= ]]> #{dateId}
GROUP BY
rgm.resi_group_id
</foreach>
@ -134,7 +140,7 @@
WHERE
state = 'approved'
AND grid_id = #{grid}
AND DATE_FORMAT( CREATED_TIME, '%Y-%m-%d' ) = #{yesterday}
AND DATE_FORMAT( CREATED_TIME, '%Y%m%d' ) = #{dateId}
GROUP BY
grid_id
</foreach>

22
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGroupAgencyDailyDao.xml

@ -67,7 +67,7 @@
</insert>
<!-- 获取 网格小组【机关-日统计】的最后一天数据 -->
<select id="getLastDayAgency" resultType="com.epmet.dto.group.form.AgencyMonthlyFormDTO">
<select id="getLastDayAgency" resultType="com.epmet.dto.group.form.AgencyMonthlyFormDTO" parameterType="java.lang.String">
SELECT
ID AS id,
AGENCY_ID AS agencyId,
@ -87,11 +87,13 @@
MIN_MEMBER_GROUP_ID AS minMemberGroupId
FROM
fact_group_agency_daily
WHERE del_flag = '0'
GROUP BY
AGENCY_ID
ORDER BY
DATE_ID DESC
WHERE
del_flag = '0'
AND DATE_FORMAT(date_id,'%Y%m') = #{monthId}
GROUP BY
AGENCY_ID
ORDER BY
DATE_ID DESC
</select>
<!-- 查询 月的小组增量 -->
@ -108,5 +110,13 @@
agency_id
</select>
<!-- 删除当天已存在数据 -->
<delete id="deleteInsertAgencyDailyByDateId" parameterType="java.lang.String">
DELETE
FROM
fact_group_agency_daily
WHERE
date_id = #{dateId}
</delete>
</mapper>

8
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGroupAgencyMonthlyDao.xml

@ -63,5 +63,13 @@
</foreach>
</insert>
<!-- 删除已存在的月数据 -->
<delete id="deleteInsertAgencyMonthlyByMonthId" parameterType="java.lang.String">
DELETE
FROM
fact_group_agency_monthly
WHERE
month_id = #{monthId}
</delete>
</mapper>

9
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGroupGridDailyDao.xml

@ -65,4 +65,13 @@
</foreach>
</insert>
<!-- 删除已存在的数据【当天】防止当天数据多条 -->
<delete id="deleteInsertDateId" parameterType="java.lang.String">
DELETE
FROM
fact_group_grid_daily
WHERE
date_id = #{dateId}
</delete>
</mapper>
Loading…
Cancel
Save