Browse Source

组织、网格层级用户数据

dev_shibei_match
sunyuchao 4 years ago
parent
commit
4ca51fec88
  1. 4
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgenctBasicDataFormDTO.java
  2. 28
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/SubAgencyFormDTO.java
  3. 28
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/SubGridFormDTO.java
  4. 6
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/AgencyBasicDataResultDTO.java
  5. 33
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyUserResultDTO.java
  6. 33
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubGridUserResultDTO.java
  7. 33
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DataStatsController.java
  8. 27
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java
  9. 78
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/DimAgencyEntity.java
  10. 49
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/DimCustomerEntity.java
  11. 59
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/DimGridEntity.java
  12. 19
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java
  13. 97
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  14. 57
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml

4
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgenctBasicDataFormDTO.java

@ -20,10 +20,6 @@ public class AgenctBasicDataFormDTO implements Serializable {
*/
@NotBlank(message = "组织ID不能为空",groups = AgenctBasicDataFormDTO.Agency.class)
private String agencyId;
/**
* 客户Id
*/
private String customerId;
public interface Agency extends CustomerClientShowGroup{}
}

28
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/SubAgencyFormDTO.java

@ -0,0 +1,28 @@
package com.epmet.dataaggre.dto.datastats.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 基础数据-组织直属下级数据汇总-接口入参
* @Auth sun
*/
@Data
public class SubAgencyFormDTO implements Serializable {
private static final long serialVersionUID = -3381286960911634231L;
/**
* 组织Id
*/
@NotBlank(message = "组织ID不能为空",groups = SubAgencyFormDTO.Agency.class)
private String agencyId;
/**
* 日维度Id
*/
private String dateId;
public interface Agency extends CustomerClientShowGroup{}
}

28
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/SubGridFormDTO.java

@ -0,0 +1,28 @@
package com.epmet.dataaggre.dto.datastats.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 基础数据-组织直属网格数据汇总-接口入参
* @Auth sun
*/
@Data
public class SubGridFormDTO implements Serializable {
private static final long serialVersionUID = -3381286960911634231L;
/**
* 组织Id
*/
@NotBlank(message = "组织ID不能为空",groups = SubGridFormDTO.Agency.class)
private String agencyId;
/**
* 日维度Id
*/
private String dateId;
public interface Agency extends CustomerClientShowGroup{}
}

6
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/AgencyBasicDataResultDTO.java

@ -1,5 +1,6 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
@ -12,11 +13,8 @@ import java.math.BigDecimal;
@Data
public class AgencyBasicDataResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
/**
* 客户Id
*/
private String customerId;
/**
* 组织Id
*/

33
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyUserResultDTO.java

@ -0,0 +1,33 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 基础数据-查询当前组织的直属下级组织用户数据-接口返参
* @Auth sun
*/
@Data
public class SubAgencyUserResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
//组织Id
private String agencyId;
//组织名称
private String agencyName;
//用户总数
private Integer userTotal = 0;
//党员总数
private Integer partyMemberTotal = 0;
//党员总数占比
private BigDecimal partyMemberRatio = bi;
//居民总数
private Integer resiTotal = 0;
//居民总数占比
private BigDecimal resiRatio = bi;
}

33
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubGridUserResultDTO.java

@ -0,0 +1,33 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 基础数据-查询当前组织下直属网格列表用户数据-接口返参
* @Auth sun
*/
@Data
public class SubGridUserResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
@JsonIgnore
BigDecimal bi = new BigDecimal(0);
//网格Id
private String gridId;
//网格名称
private String gridName;
//用户总数
private Integer userTotal = 0;
//党员总数
private Integer partyMemberTotal = 0;
//党员总数占比
private BigDecimal partyMemberRatio = bi;
//居民总数
private Integer resiTotal = 0;
//居民总数占比
private BigDecimal resiRatio = bi;
}

33
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DataStatsController.java

@ -1,11 +1,13 @@
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.datastats.form.AgenctBasicDataFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO;
import com.epmet.dataaggre.dto.datastats.result.AgencyBasicDataResultDTO;
import com.epmet.dataaggre.dto.datastats.result.SubAgencyUserResultDTO;
import com.epmet.dataaggre.dto.datastats.result.SubGridUserResultDTO;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@ -13,6 +15,8 @@ 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;
/**
* @Author sun
* @Description 数据统计服务
@ -30,10 +34,31 @@ public class DataStatsController {
* @author sun
*/
@PostMapping("agencybasicdata")
public Result<AgencyBasicDataResultDTO> agencyBasicData(@LoginUser TokenDto tokenDto, @RequestBody AgenctBasicDataFormDTO formDTO) {
public Result<AgencyBasicDataResultDTO> agencyBasicData(@RequestBody AgenctBasicDataFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AgenctBasicDataFormDTO.Agency.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
return new Result<AgencyBasicDataResultDTO>().ok(dataStatsService.agencyBasicData(formDTO));
}
/**
* @Param formDTO
* @Description 查询当前组织的直属下级组织用户数据
* @author sun
*/
@PostMapping("subagencyuser")
public Result<List<SubAgencyUserResultDTO>> subAgencyUser(@RequestBody SubAgencyFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SubAgencyFormDTO.Agency.class);
return new Result<List<SubAgencyUserResultDTO>>().ok(dataStatsService.subAgencyUser(formDTO));
}
/**
* @Param formDTO
* @Description 查询当前组织下直属网格列表用户数据
* @author sun
*/
@PostMapping("subgriduser")
public Result<List<SubGridUserResultDTO>> subGridUser(@RequestBody SubGridFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SubGridFormDTO.Agency.class);
return new Result<List<SubGridUserResultDTO>>().ok(dataStatsService.subGridUser(formDTO));
}
}

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

@ -18,6 +18,10 @@
package com.epmet.dataaggre.dao.datastats;
import com.epmet.dataaggre.dto.datastats.result.AgencyBasicDataResultDTO;
import com.epmet.dataaggre.dto.datastats.result.SubAgencyUserResultDTO;
import com.epmet.dataaggre.dto.datastats.result.SubGridUserResultDTO;
import com.epmet.dataaggre.entity.datastats.DimAgencyEntity;
import com.epmet.dataaggre.entity.datastats.DimGridEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -66,4 +70,27 @@ public interface DataStatsDao {
*/
AgencyBasicDataResultDTO getAgencyProject(@Param("agencyId") String agencyId);
/**
* @Description 查询当前组织的直属下级组织信息
* @author sun
*/
List<DimAgencyEntity> getSubAgencyList(@Param("pid") String pid);
/**
* @Description 查询当前组织的直属下级组织信息
* @author sun
*/
List<SubAgencyUserResultDTO> getSubAgencyUser(@Param("agencyIds") List<String> agencyIds, @Param("dateId") String dateId);
/**
* @Description 查询组织下网格列表
* @author sun
*/
List<DimGridEntity> getSubGridList(@Param("agencyId") String agencyId);
/**
* @Description 查询网格层级注册用户日统计数据
* @author sun
*/
List<SubGridUserResultDTO> getSubGridUser(@Param("gridIds") List<String> gridIds, @Param("dateId") String dateId);
}

78
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/DimAgencyEntity.java

@ -0,0 +1,78 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dataaggre.entity.datastats;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 机关维度
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-16
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("dim_agency")
public class DimAgencyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 组织名称
*/
private String agencyName;
/**
* 客户ID
*/
private String customerId;
/**
* 上级组织机构ID根组织为0
*/
private String pid;
/**
* 所有上级组织机构ID(以英文:隔开)
*/
private String pids;
/**
* 机关维度类型self:机关本身自己,all:机关自己+下级+网格+部门等
*/
private String agencyDimType;
/**
* 所有上级名称,-连接
*/
private String allParentName;
/**
* 机关级别社区级community
* 街道:street,
* 区县级: district,
* 市级: city
* 省级:province
*/
private String level;
}

49
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/DimCustomerEntity.java

@ -0,0 +1,49 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dataaggre.entity.datastats;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 客户维度
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-16
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("dim_customer")
public class DimCustomerEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户名称
*/
private String customerName;
/**
* 客户所属行政地区编码取值来自客户根组织的area_code01.14 add
*/
private String areaCode;
}

59
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/DimGridEntity.java

@ -0,0 +1,59 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dataaggre.entity.datastats;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 客户网格维度
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-16
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("dim_grid")
public class DimGridEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 网格名称
*/
private String gridName;
/**
* 客户ID
*/
private String customerId;
/**
* 所属组织机构IDcustomer_agency.id
*/
private String agencyId;
/**
* 所属地区码所属组织地区码
*/
private String areaCode;
}

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

@ -1,7 +1,13 @@
package com.epmet.dataaggre.service.datastats;
import com.epmet.dataaggre.dto.datastats.form.AgenctBasicDataFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO;
import com.epmet.dataaggre.dto.datastats.result.AgencyBasicDataResultDTO;
import com.epmet.dataaggre.dto.datastats.result.SubAgencyUserResultDTO;
import com.epmet.dataaggre.dto.datastats.result.SubGridUserResultDTO;
import java.util.List;
/**
* @Author sun
@ -16,4 +22,17 @@ public interface DataStatsService {
*/
AgencyBasicDataResultDTO agencyBasicData(AgenctBasicDataFormDTO formDTO);
/**
* @Param formDTO
* @Description 查询当前组织的直属下级组织用户数据
* @author sun
*/
List<SubAgencyUserResultDTO> subAgencyUser(SubAgencyFormDTO formDTO);
/**
* @Param formDTO
* @Description 查询当前组织下直属网格列表用户数据
* @author sun
*/
List<SubGridUserResultDTO> subGridUser(SubGridFormDTO formDTO);
}

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

@ -1,18 +1,30 @@
package com.epmet.dataaggre.service.datastats.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.datastats.DataStatsDao;
import com.epmet.dataaggre.dto.datastats.form.AgenctBasicDataFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO;
import com.epmet.dataaggre.dto.datastats.result.AgencyBasicDataResultDTO;
import com.epmet.dataaggre.dto.datastats.result.SubAgencyUserResultDTO;
import com.epmet.dataaggre.dto.datastats.result.SubGridUserResultDTO;
import com.epmet.dataaggre.entity.datastats.DimAgencyEntity;
import com.epmet.dataaggre.entity.datastats.DimGridEntity;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
@ -37,7 +49,6 @@ public class DataStatsServiceImpl implements DataStatsService {
@Override
public AgencyBasicDataResultDTO agencyBasicData(AgenctBasicDataFormDTO formDTO) {
AgencyBasicDataResultDTO resultDTO = new AgencyBasicDataResultDTO();
resultDTO.setCustomerId(formDTO.getCustomerId());
resultDTO.setAgencyId(formDTO.getAgencyId());
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setMaximumFractionDigits(NumConstant.SIX);
@ -111,4 +122,88 @@ public class DataStatsServiceImpl implements DataStatsService {
return resultDTO;
}
/**
* @Param formDTO
* @Description 查询当前组织的直属下级组织用户数据
* @author sun
*/
@Override
public List<SubAgencyUserResultDTO> subAgencyUser(SubAgencyFormDTO formDTO) {
List<SubAgencyUserResultDTO> resultList = new ArrayList<>();
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setMaximumFractionDigits(NumConstant.SIX);
//入参有日期的则按具体时间执行,没有的则按当前时间前一天执行
if (StringUtils.isBlank(formDTO.getDateId())) {
Date yesterday = DateUtils.addDateDays(new Date(), -1);
SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD);
formDTO.setDateId(format.format(yesterday));
}
//1.查询当前组织的直属下级组织信息【机关维度】
List<DimAgencyEntity> subAgencyList = dataStatsDao.getSubAgencyList(formDTO.getAgencyId());
if(subAgencyList.size()<NumConstant.ONE){
return resultList;
}
List<String> agencyIds = subAgencyList.stream().map(DimAgencyEntity::getId).collect(Collectors.toList());
//2.查询直属下级组织注册用户日统计数据,默认按用户总数降序
resultList = dataStatsDao.getSubAgencyUser(agencyIds, formDTO.getDateId());
//3.封装数据并返回
resultList.forEach(re->{
re.setPartyMemberRatio(re.getPartyMemberTotal() == 0 || re.getUserTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) re.getPartyMemberTotal() / (float) re.getUserTotal())));
re.setResiRatio(re.getResiTotal() == 0 || re.getUserTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) re.getResiTotal() / (float) re.getUserTotal())));
subAgencyList.forEach(sub->{
if(re.getAgencyId().equals(sub.getId())){
re.setAgencyName(sub.getAgencyName());
}
});
});
return resultList;
}
/**
* @Param formDTO
* @Description 查询当前组织下直属网格列表用户数据
* @author sun
*/
@Override
public List<SubGridUserResultDTO> subGridUser(SubGridFormDTO formDTO) {
List<SubGridUserResultDTO> resultList = new ArrayList<>();
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setMaximumFractionDigits(NumConstant.SIX);
//入参有日期的则按具体时间执行,没有的则按当前时间前一天执行
if (StringUtils.isBlank(formDTO.getDateId())) {
Date yesterday = DateUtils.addDateDays(new Date(), -1);
SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD);
formDTO.setDateId(format.format(yesterday));
}
//1.查询组织直属网格列表【网格维度】
List<DimGridEntity> gridList = dataStatsDao.getSubGridList(formDTO.getAgencyId());
if(gridList.size()<NumConstant.ONE){
return resultList;
}
List<String> gridIds = gridList.stream().map(DimGridEntity::getId).collect(Collectors.toList());
//2.查询网格层级注册用户日统计数据,默认按用户总数降序
resultList = dataStatsDao.getSubGridUser(gridIds, formDTO.getDateId());
//3.封装数据并返回
resultList.forEach(re->{
re.setPartyMemberRatio(re.getPartyMemberTotal() == 0 || re.getUserTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) re.getPartyMemberTotal() / (float) re.getUserTotal())));
re.setResiRatio(re.getResiTotal() == 0 || re.getUserTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) re.getResiTotal() / (float) re.getUserTotal())));
gridList.forEach(sub->{
if(re.getGridId().equals(sub.getId())){
re.setGridName(sub.getGridName());
}
});
});
return resultList;
}
}

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

@ -93,4 +93,61 @@
LIMIT 1
</select>
<select id="getSubAgencyList" resultType="com.epmet.dataaggre.entity.datastats.DimAgencyEntity">
SELECT
*
FROM
dim_agency
WHERE
del_flag = '0'
AND agency_dim_type = 'all'
AND pid = #{pid}
</select>
<select id="getSubAgencyUser" resultType="com.epmet.dataaggre.dto.datastats.result.SubAgencyUserResultDTO">
SELECT
agency_id AS agencyId,
reg_total AS userTotal,
partymember_total AS partyMemberTotal,
(reg_total - partymember_total) AS resiTotal
FROM
fact_reg_user_agency_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="agencyId" collection="agencyIds" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
ORDER BY
reg_total DESC
</select>
<select id="getSubGridList" resultType="com.epmet.dataaggre.entity.datastats.DimGridEntity">
SELECT
*
FROM
dim_grid
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
</select>
<select id="getSubGridUser" resultType="com.epmet.dataaggre.dto.datastats.result.SubGridUserResultDTO">
SELECT
grid_id AS gridId,
reg_total AS userTotal,
partymember_total AS partyMemberTotal,
(reg_total - partymember_total) AS resiTotal
FROM
fact_reg_user_grid_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="gridId" collection="gridIds" open="AND (" separator="or" close=")" index="">
grid_id = #{gridId}
</foreach>
ORDER BY
reg_total DESC
</select>
</mapper>
Loading…
Cancel
Save