Commit a2e32306 authored by tianbo's avatar tianbo

三库建设-按监管单位统计调整-RegionModelDto替换RegionModel

parent 0340cae6
package com.yeejoin.amos.boot.module.statistics.api.dto;
import lombok.Builder;
import lombok.Data;
/**
* 监管单位三库统计实体
*/
@Data
public class RegionModelDto {
/**
* 区域-code
*/
private String regionCode;
/**
* 区域-name
*/
private String regionName;
private String level;
}
\ No newline at end of file
...@@ -23,6 +23,11 @@ public class SkjsEquipCountItemDto { ...@@ -23,6 +23,11 @@ public class SkjsEquipCountItemDto {
*/ */
private String superviseKey; private String superviseKey;
/*
* 监管单位-org code
*/
private String orgBranchCode;
/** /**
* 电梯 * 电梯
*/ */
......
...@@ -33,10 +33,7 @@ import com.yeejoin.amos.boot.module.jg.api.entity.SafetyProblemTracing; ...@@ -33,10 +33,7 @@ import com.yeejoin.amos.boot.module.jg.api.entity.SafetyProblemTracing;
import com.yeejoin.amos.boot.module.jg.api.enums.*; import com.yeejoin.amos.boot.module.jg.api.enums.*;
import com.yeejoin.amos.boot.module.jg.api.mapper.*; import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.statistcs.biz.utils.JsonUtils; import com.yeejoin.amos.boot.module.statistcs.biz.utils.JsonUtils;
import com.yeejoin.amos.boot.module.statistics.api.dto.SkjsCompanyCountItemDto; import com.yeejoin.amos.boot.module.statistics.api.dto.*;
import com.yeejoin.amos.boot.module.statistics.api.dto.SkjsCountItemDto;
import com.yeejoin.amos.boot.module.statistics.api.dto.SkjsEquipCountItemDto;
import com.yeejoin.amos.boot.module.statistics.api.dto.SkjsUserCountItemDto;
import com.yeejoin.amos.boot.module.statistics.api.enums.RegulatoryUnitLevelEnum; import com.yeejoin.amos.boot.module.statistics.api.enums.RegulatoryUnitLevelEnum;
import com.yeejoin.amos.boot.module.statistics.api.mapper.CylinderBusinessStatisticsMapper; import com.yeejoin.amos.boot.module.statistics.api.mapper.CylinderBusinessStatisticsMapper;
import com.yeejoin.amos.boot.module.statistics.api.mapper.JGStatisticsMapper; import com.yeejoin.amos.boot.module.statistics.api.mapper.JGStatisticsMapper;
...@@ -3655,17 +3652,25 @@ public class JGDPStatisticsServiceImpl { ...@@ -3655,17 +3652,25 @@ public class JGDPStatisticsServiceImpl {
public Map<String, Object> querySkjsDetail(DPFilterParamDto dpFilterParamDto) { public Map<String, Object> querySkjsDetail(DPFilterParamDto dpFilterParamDto) {
String orgCodeP = stCommonService.getAndSetOrgCode(dpFilterParamDto); String orgCodeP = stCommonService.getAndSetOrgCode(dpFilterParamDto);
List<RegionModel> regionModels = stCommonService.setRegionIfRootParentAndNoAccessIf3Level(dpFilterParamDto); List<RegionModel> regionModels = stCommonService.setRegionIfRootParentAndNoAccessIf3Level(dpFilterParamDto);
List<RegionModelDto> regionModelsDto = new ArrayList<>();
regionModels.forEach(r -> {
RegionModelDto regionModelDto = new RegionModelDto();
regionModelDto.setRegionCode(r.getRegionCode().toString());
regionModelDto.setRegionName(r.getRegionName());
regionModelDto.setLevel(r.getLevel());
regionModelsDto.add(regionModelDto);
});
if (orgCodeP == null || regionModels.isEmpty()) { if (orgCodeP == null || regionModels.isEmpty()) {
return this.getDefaultSkjsDetail(); return this.getDefaultSkjsDetail();
} }
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
// 设备上线情况 // 设备上线情况
result.put("equipOnLineInfo", this.getEquipOnLineInfo(regionModels)); result.put("equipOnLineInfo", this.getEquipOnLineInfo(regionModelsDto));
// 企业上线情况 // 企业上线情况
result.put("companyOnLineInfo", this.getCompanyOnLineInfo(regionModels)); result.put("companyOnLineInfo", this.getCompanyOnLineInfo(regionModelsDto));
// 人员上线情况 // 人员上线情况
result.put("userOnLineInfo", this.getUserOnLineInfo(regionModels)); result.put("userOnLineInfo", this.getUserOnLineInfo(regionModelsDto));
return result; return result;
} }
...@@ -3680,15 +3685,15 @@ public class JGDPStatisticsServiceImpl { ...@@ -3680,15 +3685,15 @@ public class JGDPStatisticsServiceImpl {
return result; return result;
} }
private Object getEquipOnLineInfo(List<RegionModel> regionModels) { private Object getEquipOnLineInfo(List<RegionModelDto> regionModels) {
// 多线程处理 // 多线程处理
Map<String, SkjsEquipCountItemDto> countItemMap = regionModels.parallelStream().map(r -> { Map<String, SkjsEquipCountItemDto> countItemMap = regionModels.parallelStream().map(r -> {
String regionCode = r.getRegionCode().toString(); String regionCode = r.getRegionCode();
String orgCode = stCommonService.getAndSetOrgCode(regionCode); String orgCode = stCommonService.getAndSetOrgCode(regionCode);
SkjsEquipCountItemDto countItemDto = new SkjsEquipCountItemDto(); SkjsEquipCountItemDto countItemDto = new SkjsEquipCountItemDto();
countItemDto.setRegionCode(regionCode); countItemDto.setRegionCode(regionCode);
countItemDto.setRegionName(r.getRegionName()); countItemDto.setRegionName(r.getRegionName());
countItemDto.setSuperviseKey(regionCode + "_" + r.getRegionName()); countItemDto.setOrgBranchCode(orgCode);
if (!ValidationUtil.isEmpty(orgCode)) { if (!ValidationUtil.isEmpty(orgCode)) {
Map<String, Object> data = new HashMap<>(); Map<String, Object> data = new HashMap<>();
// 是否按监管机构代码精确匹配 // 是否按监管机构代码精确匹配
...@@ -3719,10 +3724,10 @@ public class JGDPStatisticsServiceImpl { ...@@ -3719,10 +3724,10 @@ public class JGDPStatisticsServiceImpl {
return countItemDtos; return countItemDtos;
} }
private Object getCompanyOnLineInfo(List<RegionModel> regionModels) { private Object getCompanyOnLineInfo(List<RegionModelDto> regionModels) {
// 多线程处理 // 多线程处理
Map<String, SkjsCompanyCountItemDto> companyCountItemDtoMap = regionModels.parallelStream().map(r -> { Map<String, SkjsCompanyCountItemDto> companyCountItemDtoMap = regionModels.parallelStream().map(r -> {
String regionCode = r.getRegionCode().toString(); String regionCode = r.getRegionCode();
String conditionRegionCode = regionCode; String conditionRegionCode = regionCode;
String orgCode = stCommonService.getAndSetOrgCode(regionCode); String orgCode = stCommonService.getAndSetOrgCode(regionCode);
// 按管辖机构统计企业数量时:检验检测机构直接归属省局管辖,则只有省局才统计检验检测机构数量。其他地市区县不统计 // 按管辖机构统计企业数量时:检验检测机构直接归属省局管辖,则只有省局才统计检验检测机构数量。其他地市区县不统计
...@@ -3765,7 +3770,7 @@ public class JGDPStatisticsServiceImpl { ...@@ -3765,7 +3770,7 @@ public class JGDPStatisticsServiceImpl {
} }
private Object getUserOnLineInfo(List<RegionModel> regionModels) { private Object getUserOnLineInfo(List<RegionModelDto> regionModels) {
// 多线程处理 // 多线程处理
Map<String, SkjsUserCountItemDto> userCountItemDtoMap = regionModels.parallelStream().map(r -> { Map<String, SkjsUserCountItemDto> userCountItemDtoMap = regionModels.parallelStream().map(r -> {
String regionCode = r.getRegionCode().toString(); String regionCode = r.getRegionCode().toString();
...@@ -3981,19 +3986,19 @@ public class JGDPStatisticsServiceImpl { ...@@ -3981,19 +3986,19 @@ public class JGDPStatisticsServiceImpl {
String orgCodeP = stCommonService.getAndSetOrgCode(dpFilterParamDto); String orgCodeP = stCommonService.getAndSetOrgCode(dpFilterParamDto);
Map<String, Object> parentModel = getSuperviseTreeByLoginUnitCode(orgCodeP).get(0); Map<String, Object> parentModel = getSuperviseTreeByLoginUnitCode(orgCodeP).get(0);
List<Map<String, Object>> childrenRegionModelList = (List<Map<String, Object>>) parentModel.get("children"); List<Map<String, Object>> childrenRegionModelList = (List<Map<String, Object>>) parentModel.get("children");
List<RegionModel> regionModels = Lists.newArrayList(); List<RegionModelDto> regionModels = Lists.newArrayList();
if (childrenRegionModelList != null) { if (childrenRegionModelList != null) {
childrenRegionModelList.forEach(r -> { childrenRegionModelList.forEach(r -> {
RegionModel regionModel = new RegionModel(); RegionModelDto regionModel = new RegionModelDto();
regionModel.setRegionCode(Integer.parseInt(r.get("companyCode").toString())); regionModel.setRegionCode(r.get("companyCode").toString());
regionModel.setRegionName((String) r.get("companyName")); regionModel.setRegionName((String) r.get("companyName"));
regionModels.add(regionModel); regionModels.add(regionModel);
}); });
} }
// 如果是省局、地市局、区县局查看,则把各对应省局、地市局、区县局数据单独添加到列表中 // 如果是省局、地市局、区县局查看,则把各对应省局、地市局、区县局数据单独添加到列表中
if (!ValidationUtil.isEmpty(RegulatoryUnitLevelEnum.getEnumByCode((String) parentModel.get("level")))) { if (!ValidationUtil.isEmpty(RegulatoryUnitLevelEnum.getEnumByCode((String) parentModel.get("level")))) {
RegionModel regionModel = new RegionModel(); RegionModelDto regionModel = new RegionModelDto();
regionModel.setRegionCode(Integer.parseInt(parentModel.get("companyCode").toString())); regionModel.setRegionCode(parentModel.get("companyCode").toString());
regionModel.setRegionName((String) parentModel.get("companyName")); regionModel.setRegionName((String) parentModel.get("companyName"));
// 设置等级字段是为了区分本级监管单位在查询时是否需要精确匹配 // 设置等级字段是为了区分本级监管单位在查询时是否需要精确匹配
regionModel.setLevel((String) parentModel.get("level")); regionModel.setLevel((String) parentModel.get("level"));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment