Browse Source

人员类别分析-3个数查询

dev
yinzuomei 4 years ago
parent
commit
6cfe2b37e8
  1. 110
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/FactIcuserCategoryAnalysisDailyDTO.java
  2. 37
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/IcUserCategoryFormDTO.java
  3. 50
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/IcUserCategoryResultDTO.java
  4. 42
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/IcUserController.java
  5. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java
  6. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercustomize/CustomerFootBarDao.java
  7. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java
  8. 19
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  9. 7
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java
  10. 64
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java
  11. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercustomize/CustomerFootBarService.java
  12. 14
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercustomize/impl/CustomerFootBarServiceImpl.java
  13. 36
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml
  14. 15
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercustomize/CustomerFootBarDao.xml

110
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/FactIcuserCategoryAnalysisDailyDTO.java

@ -0,0 +1,110 @@
package com.epmet.dataaggre.dto.epmetuser;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 人员类别分析
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-17
*/
@Data
public class FactIcuserCategoryAnalysisDailyDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键人员类别分析表
*/
private String id;
/**
* 客户id
*/
private String customerId;
/**
* 预警配置ID
*/
private String configId;
/**
* 类别列名对个数据太麻烦了在这个表存一下
*/
private String columnName;
/**
* 当前数据是截止到XXX的yyyyMMdd
*/
private String dateId;
/**
* 网格id或者组织id
*/
private String orgId;
/**
* grid或者agency
*/
private String orgType;
/**
* orgid的上级
*/
private String pid;
/**
* orgid的所有上级
*/
private String pids;
/**
* 当前类别总人数
*/
private Integer total;
/**
* 较上月迁出
*/
private Integer qcIncr;
/**
* 较上月迁入
*/
private Integer qrIncr;
/**
* 删除标识 0.未删除 1.已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

37
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/IcUserCategoryFormDTO.java

@ -0,0 +1,37 @@
package com.epmet.dataaggre.dto.epmetuser.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 人员类别分析 入参
*/
@Data
public class IcUserCategoryFormDTO implements Serializable {
private static final long serialVersionUID = 2834180692632036316L;
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
@NotBlank(message = "请选择查看某个组织或网格", groups = AddUserShowGroup.class)
private String orgId;
@NotBlank(message = "orgType不能为空", groups = AddUserInternalGroup.class)
private String orgType;
@NotBlank(message = "dateId不能为空", groups = AddUserInternalGroup.class)
@Length(min = 8, max = 8, message = "dateId格式:yyyyMMdd", groups = AddUserInternalGroup.class)
private String dateId;
@NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class)
private String customerId;
}

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

@ -0,0 +1,50 @@
package com.epmet.dataaggre.dto.epmetuser.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
/**
* 人员类别分析-返参DTO
*/
@Data
public class IcUserCategoryResultDTO implements Serializable {
private static final long serialVersionUID = -2150403803220667018L;
/**
* 居民类别配置主键
*/
// @JsonIgnore
private String configId;
/**
* 当前类别对应的列名
*/
private String categoryKey;
/**
* 类别名称
*/
private String categoryName;
/**
* 类别图标
*/
private String dataIcon;
/**
* 当前类别下总人数
*/
private Integer total=0;
/**
* 桥上月迁入
*/
private Integer immigration=0;
/**
* 较上月迁出
*/
private Integer emigration=0;
}

42
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/IcUserController.java

@ -0,0 +1,42 @@
package com.epmet.dataaggre.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dataaggre.dto.epmetuser.form.IcUserCategoryFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.IcUserCategoryResultDTO;
import com.epmet.dataaggre.service.epmetuser.EpmetUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("icuser")
public class IcUserController {
@Autowired
private EpmetUserService epmetUserService;
/**
* 人员类别分析-各类别人数
*
* @param tokenDto
* @param formDTO
* @return
*/
@PostMapping("category-data")
public Result<List<IcUserCategoryResultDTO>> queryIcUserCategoryData(@LoginUser TokenDto tokenDto, @RequestBody IcUserCategoryFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(formDTO, IcUserCategoryFormDTO.AddUserShowGroup.class, IcUserCategoryFormDTO.AddUserInternalGroup.class);
return new Result<List<IcUserCategoryResultDTO>>().ok(epmetUserService.queryIcUserCategoryData(formDTO));
}
}

10
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java

@ -22,10 +22,10 @@ import com.epmet.dataaggre.dto.datastats.form.CustomerDataManageFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO; import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO; import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO;
import com.epmet.dataaggre.dto.datastats.result.*; import com.epmet.dataaggre.dto.datastats.result.*;
import com.epmet.dataaggre.dto.epmetuser.FactIcuserCategoryAnalysisDailyDTO;
import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO; import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO;
import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO; import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO;
import com.epmet.dataaggre.dto.govproject.result.ProjectMonthIncrResultDTO;
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO; import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
import com.epmet.dataaggre.entity.datastats.DimAgencyEntity; import com.epmet.dataaggre.entity.datastats.DimAgencyEntity;
@ -349,4 +349,12 @@ public interface DataStatsDao {
* @author sun * @author sun
*/ */
List<FactAgencyProjectMonthResultDTO> getProjectMonthIncr(ProjectTotalFormDTO formDTO); List<FactAgencyProjectMonthResultDTO> getProjectMonthIncr(ProjectTotalFormDTO formDTO);
List<FactIcuserCategoryAnalysisDailyDTO> queryGridIcUserCategoryData(@Param("orgId") String orgId,
@Param("dateId") String dateId,
@Param("configIds") List<String> configIds);
List<FactIcuserCategoryAnalysisDailyDTO> queryAgencyIcUserCategoryData(@Param("gridPids") String gridPids,
@Param("dateId") String dateId,
@Param("configIds") List<String> configIds);
} }

2
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercustomize/CustomerFootBarDao.java

@ -20,6 +20,7 @@ package com.epmet.dataaggre.dao.opercustomize;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.app.result.CustomerFootBarDTO; import com.epmet.dataaggre.dto.app.result.CustomerFootBarDTO;
import com.epmet.dataaggre.dto.epmetuser.IcFormResColumnDTO; import com.epmet.dataaggre.dto.epmetuser.IcFormResColumnDTO;
import com.epmet.dataaggre.dto.epmetuser.result.IcUserCategoryResultDTO;
import com.epmet.dataaggre.entity.opercustomize.CustomerFootBarEntity; import com.epmet.dataaggre.entity.opercustomize.CustomerFootBarEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -59,4 +60,5 @@ public interface CustomerFootBarDao extends BaseDao<CustomerFootBarEntity> {
*/ */
CustomerFootBarEntity selectDefaultIcon(@Param("customerId") String customerId, @Param("appType")String appType, @Param("barKey")String barKey); CustomerFootBarEntity selectDefaultIcon(@Param("customerId") String customerId, @Param("appType")String appType, @Param("barKey")String barKey);
List<IcUserCategoryResultDTO> queryCustomerIcResiCategoryStatsConfig(String customerId);
} }

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

@ -3,6 +3,7 @@ package com.epmet.dataaggre.service.datastats;
import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO; import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO;
import com.epmet.dataaggre.dto.datastats.form.*; import com.epmet.dataaggre.dto.datastats.form.*;
import com.epmet.dataaggre.dto.datastats.result.*; import com.epmet.dataaggre.dto.datastats.result.*;
import com.epmet.dataaggre.dto.epmetuser.FactIcuserCategoryAnalysisDailyDTO;
import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO; import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
@ -279,4 +280,8 @@ public interface DataStatsService {
String startDateID, String startDateID,
String endDateID, String endDateID,
Boolean needCount); Boolean needCount);
List<FactIcuserCategoryAnalysisDailyDTO> queryGridIcUserCategoryData(String orgId, String dateId, List<String> configIds);
List<FactIcuserCategoryAnalysisDailyDTO> queryAgencyIcUserCategoryData(String gridPids, String dateId, List<String> configIds);
} }

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

@ -16,7 +16,8 @@ import com.epmet.dataaggre.dao.datastats.FactGridMemberStatisticsDailyDao;
import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO; import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO;
import com.epmet.dataaggre.dto.datastats.form.*; import com.epmet.dataaggre.dto.datastats.form.*;
import com.epmet.dataaggre.dto.datastats.result.*; import com.epmet.dataaggre.dto.datastats.result.*;
import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO; import com.epmet.dataaggre.dto.epmetuser.FactIcuserCategoryAnalysisDailyDTO;
import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO;
import com.epmet.dataaggre.dto.epmetuser.result.PatrolDailySumResult; import com.epmet.dataaggre.dto.epmetuser.result.PatrolDailySumResult;
import com.epmet.dataaggre.dto.evaluationindex.ScreenAgencyOrGridListDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenAgencyOrGridListDTO;
@ -2170,4 +2171,20 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
PageHelper.startPage(pageNo, pageSize, needCount); PageHelper.startPage(pageNo, pageSize, needCount);
return factGridMemberStatisticsDailyDao.listGridMemberDataStatsIncr(pids, gridId, startDateID, endDateID); return factGridMemberStatisticsDailyDao.listGridMemberDataStatsIncr(pids, gridId, startDateID, endDateID);
} }
@Override
public List<FactIcuserCategoryAnalysisDailyDTO> queryGridIcUserCategoryData(String orgId, String dateId, List<String> configIds) {
if(CollectionUtils.isEmpty(configIds)||StringUtils.isBlank(orgId)){
return new ArrayList<>();
}
return dataStatsDao.queryGridIcUserCategoryData(orgId,dateId,configIds);
}
@Override
public List<FactIcuserCategoryAnalysisDailyDTO> queryAgencyIcUserCategoryData(String gridPids, String dateId, List<String> configIds) {
if(CollectionUtils.isEmpty(configIds)||StringUtils.isBlank(gridPids)){
return new ArrayList<>();
}
return dataStatsDao.queryAgencyIcUserCategoryData(gridPids,dateId,configIds);
}
} }

7
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java

@ -175,4 +175,11 @@ public interface EpmetUserService {
* @return * @return
*/ */
List<CustomerStaffEntity> listStaffsByIds(List<String> userIdsPart); List<CustomerStaffEntity> listStaffsByIds(List<String> userIdsPart);
/**
* 人员类别分析-各类别人数
* @param formDTO
* @return
*/
List<IcUserCategoryResultDTO> queryIcUserCategoryData(IcUserCategoryFormDTO formDTO);
} }

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

@ -11,9 +11,11 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.BadgeConstant; import com.epmet.constant.BadgeConstant;
import com.epmet.constant.OrgInfoConstant;
import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.epmetuser.*; import com.epmet.dataaggre.dao.epmetuser.*;
import com.epmet.dataaggre.dto.epmetuser.CustomerStaffDTO; import com.epmet.dataaggre.dto.epmetuser.CustomerStaffDTO;
import com.epmet.dataaggre.dto.epmetuser.FactIcuserCategoryAnalysisDailyDTO;
import com.epmet.dataaggre.dto.epmetuser.StaffPatrolDetailDTO; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolDetailDTO;
import com.epmet.dataaggre.dto.epmetuser.StaffPatrolRecordDTO; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolRecordDTO;
import com.epmet.dataaggre.dto.epmetuser.form.*; import com.epmet.dataaggre.dto.epmetuser.form.*;
@ -30,18 +32,21 @@ import com.epmet.dataaggre.dto.govproject.result.ProjectAnalysisResultDTO;
import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity;
import com.epmet.dataaggre.entity.epmetuser.GovStaffRoleEntity; import com.epmet.dataaggre.entity.epmetuser.GovStaffRoleEntity;
import com.epmet.dataaggre.entity.epmetuser.ResiUserBadgeEntity; import com.epmet.dataaggre.entity.epmetuser.ResiUserBadgeEntity;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.entity.epmetuser.StaffRoleEntity; import com.epmet.dataaggre.entity.epmetuser.StaffRoleEntity;
import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.epmetuser.EpmetUserService;
import com.epmet.dataaggre.service.epmetuser.StaffPatrolDetailService; import com.epmet.dataaggre.service.epmetuser.StaffPatrolDetailService;
import com.epmet.dataaggre.service.epmetuser.StaffPatrolRecordService; import com.epmet.dataaggre.service.epmetuser.StaffPatrolRecordService;
import com.epmet.dataaggre.service.govorg.GovOrgService; import com.epmet.dataaggre.service.govorg.GovOrgService;
import com.epmet.dataaggre.service.govproject.GovProjectService; import com.epmet.dataaggre.service.govproject.GovProjectService;
import com.epmet.dataaggre.service.opercustomize.CustomerFootBarService;
import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.IcResiUserDTO;
import com.epmet.dto.UserBaseInfoDTO; import com.epmet.dto.UserBaseInfoDTO;
import com.epmet.dto.result.StaffRoleResultDTO; import com.epmet.dto.result.StaffRoleResultDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -84,6 +89,8 @@ public class EpmetUserServiceImpl implements EpmetUserService {
private GovStaffRoleDao govStaffRoleDao; private GovStaffRoleDao govStaffRoleDao;
@Resource @Resource
private IcResiUserDao icResiUserDao; private IcResiUserDao icResiUserDao;
@Resource
private CustomerFootBarService customerFootBarService;
/** /**
* @Description 根据UserIds查询 * @Description 根据UserIds查询
@ -742,4 +749,59 @@ public class EpmetUserServiceImpl implements EpmetUserService {
return customerStaffDao.selectList(query); return customerStaffDao.selectList(query);
} }
/**
* 人员类别分析-各类别人数
*
* @param formDTO
* @return
*/
@Override
public List<IcUserCategoryResultDTO> queryIcUserCategoryData(IcUserCategoryFormDTO formDTO) {
// 1、 先查询出居民类别配置(状态为显示)
List<IcUserCategoryResultDTO> resList=customerFootBarService.queryCustomerIcResiCategoryStatsConfig(formDTO.getCustomerId());
if(CollectionUtils.isNotEmpty(resList)){
//所有类别初始值为0 todo
List<String> configIds=resList.stream().map(IcUserCategoryResultDTO::getConfigId).collect(Collectors.toList());
if(OrgInfoConstant.GRID.equals(formDTO.getOrgType())){
List<FactIcuserCategoryAnalysisDailyDTO> list=dataStatsService.queryGridIcUserCategoryData(formDTO.getOrgId(),formDTO.getDateId(),configIds);
if(CollectionUtils.isNotEmpty(list)){
Map<String, FactIcuserCategoryAnalysisDailyDTO> configMap = list.stream().collect(Collectors.toMap(FactIcuserCategoryAnalysisDailyDTO::getConfigId, m -> m, (k1, k2) -> k1));
resList.forEach(resDto->{
if(MapUtils.isNotEmpty(configMap)&&configMap.containsKey(resDto.getConfigId())){
FactIcuserCategoryAnalysisDailyDTO dailyDTO=configMap.get(resDto.getConfigId());
resDto.setTotal(dailyDTO.getTotal());
resDto.setImmigration(dailyDTO.getQrIncr());
resDto.setEmigration(dailyDTO.getQcIncr());
}
});
}
}else if(OrgInfoConstant.AGENCY.equals(formDTO.getOrgType())){
CustomerAgencyEntity agencyEntity=govOrgService.getAgencyInfo(formDTO.getOrgId());
String gridPids="";
if(NumConstant.ZERO_STR.equals(agencyEntity.getPid())){
// 当前组织是根组织
gridPids=formDTO.getOrgId();
}else {
gridPids=agencyEntity.getPids().concat(StrConstant.COLON).concat(formDTO.getOrgId());
}
List<FactIcuserCategoryAnalysisDailyDTO> list = dataStatsService.queryAgencyIcUserCategoryData(gridPids, formDTO.getDateId(), configIds);
if(CollectionUtils.isNotEmpty(list)){
Map<String, FactIcuserCategoryAnalysisDailyDTO> configMap = list.stream().collect(Collectors.toMap(FactIcuserCategoryAnalysisDailyDTO::getConfigId, m -> m, (k1, k2) -> k1));
resList.forEach(resDto->{
if(MapUtils.isNotEmpty(configMap)&&configMap.containsKey(resDto.getConfigId())){
FactIcuserCategoryAnalysisDailyDTO dailyDTO=configMap.get(resDto.getConfigId());
resDto.setTotal(dailyDTO.getTotal());
resDto.setImmigration(dailyDTO.getQrIncr());
resDto.setEmigration(dailyDTO.getQcIncr());
}
});
}
}
}
return resList;
}
} }

9
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercustomize/CustomerFootBarService.java

@ -20,8 +20,11 @@ package com.epmet.dataaggre.service.opercustomize;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dataaggre.dto.app.form.AppFootBarFormDTO; import com.epmet.dataaggre.dto.app.form.AppFootBarFormDTO;
import com.epmet.dataaggre.dto.app.result.AppFootBarResultDTO; import com.epmet.dataaggre.dto.app.result.AppFootBarResultDTO;
import com.epmet.dataaggre.dto.epmetuser.result.IcUserCategoryResultDTO;
import com.epmet.dataaggre.entity.opercustomize.CustomerFootBarEntity; import com.epmet.dataaggre.entity.opercustomize.CustomerFootBarEntity;
import java.util.List;
/** /**
* APP底部菜单栏信息 * APP底部菜单栏信息
* *
@ -40,4 +43,10 @@ public interface CustomerFootBarService extends BaseService<CustomerFootBarEntit
*/ */
AppFootBarResultDTO queryAppFootBars(AppFootBarFormDTO footBarFormDTO); AppFootBarResultDTO queryAppFootBars(AppFootBarFormDTO footBarFormDTO);
/**
* 查询居民类别配置表ic_resi_category_stats_config
* @param customerId
* @return
*/
List<IcUserCategoryResultDTO> queryCustomerIcResiCategoryStatsConfig(String customerId);
} }

14
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercustomize/impl/CustomerFootBarServiceImpl.java

@ -27,7 +27,7 @@ import com.epmet.dataaggre.dao.opercustomize.CustomerFootBarDao;
import com.epmet.dataaggre.dto.app.form.AppFootBarFormDTO; import com.epmet.dataaggre.dto.app.form.AppFootBarFormDTO;
import com.epmet.dataaggre.dto.app.result.AppFootBarResultDTO; import com.epmet.dataaggre.dto.app.result.AppFootBarResultDTO;
import com.epmet.dataaggre.dto.app.result.CustomerFootBarDTO; import com.epmet.dataaggre.dto.app.result.CustomerFootBarDTO;
import com.epmet.dataaggre.dto.epmetuser.IcFormResColumnDTO; import com.epmet.dataaggre.dto.epmetuser.result.IcUserCategoryResultDTO;
import com.epmet.dataaggre.entity.opercrm.CustomerParameterEntity; import com.epmet.dataaggre.entity.opercrm.CustomerParameterEntity;
import com.epmet.dataaggre.entity.opercustomize.CustomerFootBarEntity; import com.epmet.dataaggre.entity.opercustomize.CustomerFootBarEntity;
import com.epmet.dataaggre.service.opercrm.CustomerParameterService; import com.epmet.dataaggre.service.opercrm.CustomerParameterService;
@ -39,7 +39,6 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
@ -114,4 +113,15 @@ public class CustomerFootBarServiceImpl extends BaseServiceImpl<CustomerFootBarD
return resultDTO; return resultDTO;
} }
/**
* 查询居民类别配置表ic_resi_category_stats_config
*
* @param customerId
* @return
*/
@Override
public List<IcUserCategoryResultDTO> queryCustomerIcResiCategoryStatsConfig(String customerId) {
return baseDao.queryCustomerIcResiCategoryStatsConfig(customerId);
}
} }

36
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml

@ -1107,4 +1107,40 @@
ORDER BY month_id ASC ORDER BY month_id ASC
</select> </select>
<select id="queryGridIcUserCategoryData" parameterType="map" resultType="com.epmet.dataaggre.dto.epmetuser.FactIcuserCategoryAnalysisDailyDTO">
SELECT
m.*
FROM
fact_icuser_category_analysis_daily m
WHERE
m.DATE_ID = #{dateId}
AND m.DEL_FLAG = '0'
AND m.ORG_ID = #{orgId}
<if test='null!=configIds and configIds.size()>0'>
<foreach collection="configIds" item="configId" open="AND (" close=")" separator=" OR ">
m.CONFIG_ID = #{configId}
</foreach>
</if>
</select>
<select id="queryAgencyIcUserCategoryData" parameterType="map" resultType="com.epmet.dataaggre.dto.epmetuser.FactIcuserCategoryAnalysisDailyDTO">
SELECT
m.CONFIG_ID,m.COLUMN_NAME,
SUM(m.TOTAL)as TOTAL,
SUM(m.QR_INCR) AS QR_INCR,
SUM(m.QC_INCR) AS QC_INCR
FROM
fact_icuser_category_analysis_daily m
WHERE
m.DATE_ID = #{dateId}
AND m.DEL_FLAG = '0'
AND m.PIDS LIKE concat(#{gridPids},'%')
AND M.ORG_TYPE='grid'
<if test='null!=configIds and configIds.size()>0'>
<foreach collection="configIds" item="configId" open="AND (" close=")" separator=" OR ">
m.CONFIG_ID = #{configId}
</foreach>
</if>
group by m.CONFIG_ID,m.COLUMN_NAME
</select>
</mapper> </mapper>

15
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercustomize/CustomerFootBarDao.xml

@ -39,4 +39,19 @@
AND C.DISPLAY='1' AND C.DISPLAY='1'
</select> </select>
<select id="queryCustomerIcResiCategoryStatsConfig" parameterType="java.lang.String" resultType="com.epmet.dataaggre.dto.epmetuser.result.IcUserCategoryResultDTO">
SELECT
m.id AS configId,
m.COLUMN_NAME AS categoryKey,
m.LABEL AS categoryName,
m.DATA_ICON AS dataIcon
FROM
ic_resi_category_stats_config m
WHERE
m.DEL_FLAG = '0'
AND m.CUSTOMER_ID = #{customerId}
AND m.`STATUS`='show'
ORDER BY
m.SORT ASC
</select>
</mapper> </mapper>
Loading…
Cancel
Save