Commit 6abaa84f authored by suhuiguang's avatar suhuiguang

1.区县未在amos创建公司时代码报错处理

parent ce777e3b
...@@ -33,15 +33,17 @@ public class CylinderFillingMessageService extends BaseService<CylinderFillingMe ...@@ -33,15 +33,17 @@ public class CylinderFillingMessageService extends BaseService<CylinderFillingMe
public IPage<CylinderFillingMessageModel> getUploadCylinderLogs(PageParam pageParam, String regionCode) { public IPage<CylinderFillingMessageModel> getUploadCylinderLogs(PageParam pageParam, String regionCode) {
CompanyModel result = Privilege.companyClient.queryByCompanyCode(regionCode).getResult(); CompanyModel result = Privilege.companyClient.queryByCompanyCode(regionCode).getResult();
Page<CylinderFillingMessageModel> page = new Page<>(pageParam.getCurrent(), pageParam.getSize()); Page<CylinderFillingMessageModel> page = new Page<>(pageParam.getCurrent(), pageParam.getSize());
IPage<CylinderFillingMessageModel> uploadCylinderLogsByOrgCode = getUploadCylinderLogsByOrgCode(page, result.getOrgCode()); if(result != null){
List<String> appIds = uploadCylinderLogsByOrgCode.getRecords().stream().map(CylinderFillingMessageModel::getAppId).collect(Collectors.toList()).stream().filter(x -> !ValidationUtil.isEmpty(x)).distinct().collect(Collectors.toList()); IPage<CylinderFillingMessageModel> uploadCylinderLogsByOrgCode = getUploadCylinderLogsByOrgCode(page, result.getOrgCode());
if(appIds.size() > 0){ List<String> appIds = uploadCylinderLogsByOrgCode.getRecords().stream().map(CylinderFillingMessageModel::getAppId).collect(Collectors.toList()).stream().filter(x -> !ValidationUtil.isEmpty(x)).distinct().collect(Collectors.toList());
List<TzBaseEnterpriseInfoDto> tzBaseEnterpriseInfoDtos = iTzBaseEnterpriseInfoService.queryByAppId(appIds); if(appIds.size() > 0){
if (!ValidationUtil.isEmpty(tzBaseEnterpriseInfoDtos)){ List<TzBaseEnterpriseInfoDto> tzBaseEnterpriseInfoDtos = iTzBaseEnterpriseInfoService.queryByAppId(appIds);
Map<String, String> map = tzBaseEnterpriseInfoDtos.stream().collect(Collectors.toMap(TzBaseEnterpriseInfoDto::getAppId, TzBaseEnterpriseInfoDto::getUseUnitCode)); if (!ValidationUtil.isEmpty(tzBaseEnterpriseInfoDtos)){
uploadCylinderLogsByOrgCode.getRecords().forEach(x -> { Map<String, String> map = tzBaseEnterpriseInfoDtos.stream().collect(Collectors.toMap(TzBaseEnterpriseInfoDto::getAppId, TzBaseEnterpriseInfoDto::getUseUnitCode));
x.setUseUnitCode(map.get(x.getAppId())); uploadCylinderLogsByOrgCode.getRecords().forEach(x -> {
}); x.setUseUnitCode(map.get(x.getAppId()));
});
}
} }
} }
return page; return page;
......
package com.yeejoin.amos.boot.module.statistics.api.mapper; package com.yeejoin.amos.boot.module.statistics.api.mapper;
import com.yeejoin.amos.boot.biz.common.dto.CountDto;
import com.yeejoin.amos.boot.biz.common.dto.KeyValueDto; import com.yeejoin.amos.boot.biz.common.dto.KeyValueDto;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto; import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.statistics.api.dto.EquipQuestionNumCountDto; import com.yeejoin.amos.boot.module.statistics.api.dto.EquipQuestionNumCountDto;
...@@ -32,7 +33,7 @@ public interface AQZSDPStatisticsMapper { ...@@ -32,7 +33,7 @@ public interface AQZSDPStatisticsMapper {
List<Map<String, Object>> issueMonthList(@Param("orgCode") String orgCode, @Param("time") String time); List<Map<String, Object>> issueMonthList(@Param("orgCode") String orgCode, @Param("time") String time);
List<Map<String, Object>> issueProblemLevelCount(@Param("orgCode") String orgCode, @Param("time") String time); List<CountDto> issueProblemLevelCount(@Param("orgCode") String orgCode, @Param("time") String time);
List<Map<String, Object>> issueCompanyTop(@Param("orgCode") String orgCode, @Param("time") String time); List<Map<String, Object>> issueCompanyTop(@Param("orgCode") String orgCode, @Param("time") String time);
......
...@@ -136,19 +136,18 @@ ...@@ -136,19 +136,18 @@
AND A.EQU_CATEGORY = '2300' AND A.EQU_CATEGORY = '2300'
</select> </select>
<select id="issueProblemLevelCount" resultType="java.util.Map"> <select id="issueProblemLevelCount" resultType="com.yeejoin.amos.boot.biz.common.dto.CountDto">
SELECT SELECT
COUNT COUNT(1) as longValue,
( 1 ), problem_level_code AS keyStr
problem_level AS problemLevel
FROM FROM
tzs_safety_problem_tracing tzs_safety_problem_tracing
WHERE WHERE
governing_body_org_code LIKE concat ( #{orgCode}, '%' ) governing_body_org_code LIKE concat ( #{orgCode}, '%' )
AND DATE_FORMAT(problem_time,'%Y') = #{time} AND DATE_FORMAT(problem_time,'%Y') = #{time}
AND problem_level IS NOT NULL AND problem_level_code IS NOT NULL
GROUP BY GROUP BY
problem_level problem_level_code
ORDER BY ORDER BY
problem_level_code problem_level_code
</select> </select>
......
...@@ -31,7 +31,7 @@ public class AQZSDPStatisticsController { ...@@ -31,7 +31,7 @@ public class AQZSDPStatisticsController {
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "大屏-气瓶-区域安全指数") @ApiOperation(value = "大屏-气瓶-区域安全指数排名")
@PostMapping(value = "/security-index") @PostMapping(value = "/security-index")
public ResponseModel<Map<String, Object>> getSecurityIndex(@Validated @RequestBody DPFilterParamDto dpFilterParamDto, BindingResult bindingResult) throws Exception { public ResponseModel<Map<String, Object>> getSecurityIndex(@Validated @RequestBody DPFilterParamDto dpFilterParamDto, BindingResult bindingResult) throws Exception {
List<FieldError> fieldErrors = bindingResult.getFieldErrors(); List<FieldError> fieldErrors = bindingResult.getFieldErrors();
......
...@@ -117,7 +117,7 @@ public class JGDPStatisticsController { ...@@ -117,7 +117,7 @@ public class JGDPStatisticsController {
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "监管大屏-左侧设备状态情况统计", notes = "监管大屏-左侧设备状态情况统计") @ApiOperation(httpMethod = "POST", value = "大屏-监管-左侧设备状态情况统计", notes = "大屏-监管-左侧设备状态情况统计")
@PostMapping(value = "/equStateCount") @PostMapping(value = "/equStateCount")
public ResponseModel<List<Map<String, Object>>> equStateCount(@Validated @RequestBody DPFilterParamDto dpFilterParamDto, BindingResult result) { public ResponseModel<List<Map<String, Object>>> equStateCount(@Validated @RequestBody DPFilterParamDto dpFilterParamDto, BindingResult result) {
List<FieldError> fieldErrors = result.getFieldErrors(); List<FieldError> fieldErrors = result.getFieldErrors();
......
...@@ -120,7 +120,7 @@ public class YJDPStatisticsController { ...@@ -120,7 +120,7 @@ public class YJDPStatisticsController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "大屏-应急-维保单位平均救援时间排名", notes = "大屏-应急-维保单位平均救援时间排名") @ApiOperation(httpMethod = "POST", value = "大屏-应急-维保单位平均救援时间排名", notes = "大屏-应急-维保单位平均救援时间排名")
@PostMapping(value = "/rankUnitByRescueTime") @PostMapping(value = "/rankUnitByRescueTime")
public ResponseModel<List<Map<String, Object>>> rankUnitByRescueTime(@Validated @RequestBody DPFilterParamDto dpFilterParamDto, BindingResult result) throws Exception { public ResponseModel<List<Map<String, Object>>> rankUnitByRescueTime(@Validated @RequestBody DPFilterParamDto dpFilterParamDto, BindingResult result) {
List<FieldError> fieldErrors = result.getFieldErrors(); List<FieldError> fieldErrors = result.getFieldErrors();
if (!fieldErrors.isEmpty()) { if (!fieldErrors.isEmpty()) {
throw new BadRequest(fieldErrors.get(0).getDefaultMessage()); throw new BadRequest(fieldErrors.get(0).getDefaultMessage());
...@@ -131,7 +131,7 @@ public class YJDPStatisticsController { ...@@ -131,7 +131,7 @@ public class YJDPStatisticsController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "大屏-应急-各地市应急事件总数排名", notes = "大屏-应急-各地市应急事件总数排名") @ApiOperation(httpMethod = "POST", value = "大屏-应急-各地市应急事件总数排名", notes = "大屏-应急-各地市应急事件总数排名")
@PostMapping(value = "/regionEventRank") @PostMapping(value = "/regionEventRank")
public ResponseModel<JSONObject> regionEventRank(@Validated @RequestBody DPFilterParamDto dpFilterParamDto, BindingResult result) throws Exception { public ResponseModel<JSONObject> regionEventRank(@Validated @RequestBody DPFilterParamDto dpFilterParamDto, BindingResult result) {
List<FieldError> fieldErrors = result.getFieldErrors(); List<FieldError> fieldErrors = result.getFieldErrors();
if (!fieldErrors.isEmpty()) { if (!fieldErrors.isEmpty()) {
throw new BadRequest(fieldErrors.get(0).getDefaultMessage()); throw new BadRequest(fieldErrors.get(0).getDefaultMessage());
......
...@@ -5,6 +5,7 @@ import com.yeejoin.amos.boot.biz.common.dto.CountDto; ...@@ -5,6 +5,7 @@ import com.yeejoin.amos.boot.biz.common.dto.CountDto;
import com.yeejoin.amos.boot.biz.common.dto.KeyValueDto; import com.yeejoin.amos.boot.biz.common.dto.KeyValueDto;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto; import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.common.api.enums.IssueMainBodyEnum; import com.yeejoin.amos.boot.module.common.api.enums.IssueMainBodyEnum;
import com.yeejoin.amos.boot.module.common.api.enums.IssueProblemLevelEnum;
import com.yeejoin.amos.boot.module.common.api.enums.IssueTypeEnum; import com.yeejoin.amos.boot.module.common.api.enums.IssueTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.DPMapStatisticsItemEnum; import com.yeejoin.amos.boot.module.jg.api.enums.DPMapStatisticsItemEnum;
import com.yeejoin.amos.boot.module.statistics.api.dto.EquipQuestionNumCountDto; import com.yeejoin.amos.boot.module.statistics.api.dto.EquipQuestionNumCountDto;
...@@ -162,7 +163,7 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -162,7 +163,7 @@ public class AQZSDPStatisticsServiceImpl {
} }
public Map<String, Object> getChildEarlyWarning(DPFilterParamDto dpFilterParamDto) { public Map<String, Object> getChildEarlyWarning(DPFilterParamDto dpFilterParamDto) {
List<RegionModel> regionModels = stCommonService.setRegionIfRootParent(dpFilterParamDto.getCityCode()); List<RegionModel> regionModels = stCommonService.setRegionIfRootParentAndNoAccessIf3Level(dpFilterParamDto.getCityCode());
Map<String, SecurityIndexCountItemDto> regionCodeSecurityIndexMap = getSecurityIndexCountItemDtoMap(regionModels); Map<String, SecurityIndexCountItemDto> regionCodeSecurityIndexMap = getSecurityIndexCountItemDtoMap(regionModels);
Set<String> legendData = getLegendForCyArea(); Set<String> legendData = getLegendForCyArea();
List<String> xuke = new ArrayList<>(); List<String> xuke = new ArrayList<>();
...@@ -212,8 +213,8 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -212,8 +213,8 @@ public class AQZSDPStatisticsServiceImpl {
} }
public Map<String, Object> getSecurityIndex(DPFilterParamDto dpFilterParamDto) throws Exception { public Map<String, Object> getSecurityIndex(DPFilterParamDto dpFilterParamDto) {
List<RegionModel> regionModels = stCommonService.setRegionIfRootParent(dpFilterParamDto.getCityCode()); List<RegionModel> regionModels = stCommonService.setRegionIfRootParentAndNoAccessIf3Level(dpFilterParamDto.getCityCode());
Map<String, SecurityIndexCountItemDto> regionCodeSecurityIndexMap = getSecurityIndexCountItemDtoMap(regionModels); Map<String, SecurityIndexCountItemDto> regionCodeSecurityIndexMap = getSecurityIndexCountItemDtoMap(regionModels);
List<Map<String, String>> data = new ArrayList<>(); List<Map<String, String>> data = new ArrayList<>();
List<Map<String, String>> finalData = data; List<Map<String, String>> finalData = data;
...@@ -320,15 +321,13 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -320,15 +321,13 @@ public class AQZSDPStatisticsServiceImpl {
Map<String, Object> dataMap = new HashMap<>(); Map<String, Object> dataMap = new HashMap<>();
String startDate = LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); String startDate = LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
List<String> mainBodyNameList = IssueMainBodyEnum.getEnumNameList(); List<String> mainBodyNameList = IssueMainBodyEnum.getEnumNameList();
String orgCode = stCommonService.getAndSetOrgCode(cityCode);
List<Map<String, Object>> list = statisticsMapper.selectByOrgAndMainBody(orgCode, mainBodyNameList, startDate, null);
List<Object> legendDataList = new ArrayList<>(); List<Object> legendDataList = new ArrayList<>();
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
if (0 == i) { if (0 == i) {
map.put("dataKey", "problemCount"); map.put("dataKey", "problemCount");
map.put("value", "问题数量"); map.put("value", "问题数量");
} else if (1 == i) { } else {
map.put("dataKey", "problemRate"); map.put("dataKey", "problemRate");
map.put("value", "问题闭环率"); map.put("value", "问题闭环率");
} }
...@@ -338,9 +337,13 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -338,9 +337,13 @@ public class AQZSDPStatisticsServiceImpl {
List<String> xdata = new ArrayList<>(); List<String> xdata = new ArrayList<>();
List<Object> problemCount = new ArrayList<>(); List<Object> problemCount = new ArrayList<>();
List<Object> problemRate = new ArrayList<>(); List<Object> problemRate = new ArrayList<>();
list.stream().forEach(t -> { String orgCode = stCommonService.getAndSetOrgCode(cityCode);
dataMap.put(t.get("sourceType").toString(), t.get("count").toString()); if(orgCode != null){
}); List<Map<String, Object>> list = statisticsMapper.selectByOrgAndMainBody(orgCode, mainBodyNameList, startDate, null);
list.forEach(t -> {
dataMap.put(t.get("sourceType").toString(), t.get("count").toString());
});
}
for (int i = 0; i < mainBodyNameList.size(); i++) { for (int i = 0; i < mainBodyNameList.size(); i++) {
if (null != dataMap.get(mainBodyNameList.get(i))) { if (null != dataMap.get(mainBodyNameList.get(i))) {
problemCount.add(dataMap.get(mainBodyNameList.get(i))); problemCount.add(dataMap.get(mainBodyNameList.get(i)));
...@@ -371,13 +374,15 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -371,13 +374,15 @@ public class AQZSDPStatisticsServiceImpl {
Map<String, Object> dataMap = new HashMap<>(); Map<String, Object> dataMap = new HashMap<>();
List<Object> xdata = new ArrayList<>(); List<Object> xdata = new ArrayList<>();
List<Object> ydata = new ArrayList<>(); List<Object> ydata = new ArrayList<>();
String orgCode = stCommonService.getAndSetOrgCode(cityCode);
List<String> enumNameList = IssueTypeEnum.getEnumNameListByMainBody("3"); List<String> enumNameList = IssueTypeEnum.getEnumNameListByMainBody("3");
String startDate = LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); String startDate = LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
List<Map<String, Object>> list = statisticsMapper.selectByOrgAndProblemType(orgCode, enumNameList, startDate, IssueMainBodyEnum.EQUIPMENT.getName(), null); String orgCode = stCommonService.getAndSetOrgCode(cityCode);
list.stream().forEach(t -> { if(orgCode != null){
dataMap.put(t.get("problemType").toString(), t.get("count").toString()); List<Map<String, Object>> list = statisticsMapper.selectByOrgAndProblemType(orgCode, enumNameList, startDate, IssueMainBodyEnum.EQUIPMENT.getName(), null);
}); list.forEach(t -> {
dataMap.put(t.get("problemType").toString(), t.get("count").toString());
});
}
for (int i = 0; i < enumNameList.size(); i++) { for (int i = 0; i < enumNameList.size(); i++) {
xdata.add(enumNameList.get(i)); xdata.add(enumNameList.get(i));
ydata.add(dataMap.getOrDefault(enumNameList.get(i), "0")); ydata.add(dataMap.getOrDefault(enumNameList.get(i), "0"));
...@@ -390,27 +395,35 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -390,27 +395,35 @@ public class AQZSDPStatisticsServiceImpl {
public List<Map<String, Object>> companyCount(String cityCode) { public List<Map<String, Object>> companyCount(String cityCode) {
List<Map<String, Object>> resultList = new ArrayList<>(); List<Map<String, Object>> resultList = new ArrayList<>();
Map<String, Object> dataMap = new HashMap<>(); Map<String, Object> dataMap = new HashMap<>();
String orgCode = stCommonService.getAndSetOrgCode(cityCode);
List<String> enumNameList = IssueTypeEnum.getEnumNameListByMainBody("2"); List<String> enumNameList = IssueTypeEnum.getEnumNameListByMainBody("2");
String startDate = LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); String startDate = LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
List<Map<String, Object>> list = statisticsMapper.selectByOrgAndProblemType(orgCode, enumNameList, startDate, IssueMainBodyEnum.COMPANY.getName(), null); String orgCode = stCommonService.getAndSetOrgCode(cityCode);
list.stream().forEach(t -> { if(orgCode != null){
dataMap.put(t.get("problemType").toString(), t.get("count").toString()); List<Map<String, Object>> list = statisticsMapper.selectByOrgAndProblemType(orgCode, enumNameList, startDate, IssueMainBodyEnum.COMPANY.getName(), null);
}); list.forEach(t -> {
dataMap.put(t.get("problemType").toString(), t.get("count").toString());
});
}
for (int i = 0; i < enumNameList.size(); i++) { for (int i = 0; i < enumNameList.size(); i++) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
if (enumNameList.get(i).equals("许可临期")) { switch (enumNameList.get(i)) {
map.put("key", "licenseExpirationDateNumber"); case "许可临期":
map.put("label", "许可临期数"); map.put("key", "licenseExpirationDateNumber");
map.put("value", dataMap.getOrDefault(enumNameList.get(i), "0")); map.put("label", "许可临期数");
} else if (enumNameList.get(i).equals("许可超期")) { map.put("value", dataMap.getOrDefault(enumNameList.get(i), "0"));
map.put("key", "licenseOverdueNumber"); break;
map.put("label", "许可超期数"); case "许可超期":
map.put("value", dataMap.getOrDefault(enumNameList.get(i), "0")); map.put("key", "licenseOverdueNumber");
} else if (enumNameList.get(i).equals("维保备案超期")) { map.put("label", "许可超期数");
map.put("key", "maintenanceFilingOverdueNumber"); map.put("value", dataMap.getOrDefault(enumNameList.get(i), "0"));
map.put("label", "维保备案超期数(仅电梯)"); break;
map.put("value", dataMap.getOrDefault(enumNameList.get(i), "0")); case "维保备案超期":
map.put("key", "maintenanceFilingOverdueNumber");
map.put("label", "维保备案超期数(仅电梯)");
map.put("value", dataMap.getOrDefault(enumNameList.get(i), "0"));
break;
default:
break;
} }
resultList.add(map); resultList.add(map);
} }
...@@ -422,13 +435,15 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -422,13 +435,15 @@ public class AQZSDPStatisticsServiceImpl {
Map<String, Object> dataMap = new HashMap<>(); Map<String, Object> dataMap = new HashMap<>();
List<Object> xdata = new ArrayList<>(); List<Object> xdata = new ArrayList<>();
List<Object> ydata = new ArrayList<>(); List<Object> ydata = new ArrayList<>();
String orgCode = stCommonService.getAndSetOrgCode(cityCode);
List<String> enumNameList = IssueTypeEnum.getEnumNameListByMainBody("1"); List<String> enumNameList = IssueTypeEnum.getEnumNameListByMainBody("1");
String startDate = LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); String startDate = LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
List<Map<String, Object>> list = statisticsMapper.selectByOrgAndProblemType(orgCode, enumNameList, startDate, IssueMainBodyEnum.PERSON.getName(), null); String orgCode = stCommonService.getAndSetOrgCode(cityCode);
list.stream().forEach(t -> { if(orgCode != null){
dataMap.put(t.get("problemType").toString(), t.get("count").toString()); List<Map<String, Object>> list = statisticsMapper.selectByOrgAndProblemType(orgCode, enumNameList, startDate, IssueMainBodyEnum.PERSON.getName(), null);
}); list.forEach(t -> {
dataMap.put(t.get("problemType").toString(), t.get("count").toString());
});
}
for (int i = 0; i < enumNameList.size(); i++) { for (int i = 0; i < enumNameList.size(); i++) {
xdata.add(enumNameList.get(i)); xdata.add(enumNameList.get(i));
ydata.add(dataMap.getOrDefault(enumNameList.get(i), "0")); ydata.add(dataMap.getOrDefault(enumNameList.get(i), "0"));
...@@ -443,13 +458,15 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -443,13 +458,15 @@ public class AQZSDPStatisticsServiceImpl {
Map<String, Object> dataMap = new HashMap<>(); Map<String, Object> dataMap = new HashMap<>();
List<Object> xdata = new ArrayList<>(); List<Object> xdata = new ArrayList<>();
List<Object> ydata = new ArrayList<>(); List<Object> ydata = new ArrayList<>();
String orgCode = stCommonService.getAndSetOrgCode(cityCode);
List<String> enumNameList = IssueTypeEnum.getEnumNameListByMainBody("4"); List<String> enumNameList = IssueTypeEnum.getEnumNameListByMainBody("4");
String startDate = LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); String startDate = LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
List<Map<String, Object>> list = statisticsMapper.selectByOrgAndProblemType(orgCode, enumNameList, startDate, IssueMainBodyEnum.EQUIPMENT.getName(), "2300"); String orgCode = stCommonService.getAndSetOrgCode(cityCode);
list.stream().forEach(t -> { if(orgCode != null){
dataMap.put(t.get("problemType").toString(), t.get("count").toString()); List<Map<String, Object>> list = statisticsMapper.selectByOrgAndProblemType(orgCode, enumNameList, startDate, IssueMainBodyEnum.EQUIPMENT.getName(), "2300");
}); list.forEach(t -> {
dataMap.put(t.get("problemType").toString(), t.get("count").toString());
});
}
for (int i = 0; i < enumNameList.size(); i++) { for (int i = 0; i < enumNameList.size(); i++) {
xdata.add(enumNameList.get(i)); xdata.add(enumNameList.get(i));
ydata.add(dataMap.getOrDefault(enumNameList.get(i), "0")); ydata.add(dataMap.getOrDefault(enumNameList.get(i), "0"));
...@@ -475,17 +492,19 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -475,17 +492,19 @@ public class AQZSDPStatisticsServiceImpl {
} }
resultMap.put("legendData", legendData); resultMap.put("legendData", legendData);
String orgCode = stCommonService.getAndSetOrgCode(cityCode); String orgCode = stCommonService.getAndSetOrgCode(cityCode);
int year = LocalDate.now().getYear();
List<Map<String, Object>> allIssue = statisticsMapper.getIssueCountByMonth(orgCode, String.valueOf(year), null);
List<Map<String, Object>> endIssue = statisticsMapper.getIssueCountByMonth(orgCode, String.valueOf(year), "1");
Map<String, Object> allIssueMap = new HashMap<>(); Map<String, Object> allIssueMap = new HashMap<>();
Map<String, Object> endIssueMap = new HashMap<>(); Map<String, Object> endIssueMap = new HashMap<>();
allIssue.stream().forEach(t -> { if(orgCode != null){
allIssueMap.put(t.get("time").toString(), t.get("count")); int year = LocalDate.now().getYear();
}); List<Map<String, Object>> allIssue = statisticsMapper.getIssueCountByMonth(orgCode, String.valueOf(year), null);
endIssue.stream().forEach(t -> { List<Map<String, Object>> endIssue = statisticsMapper.getIssueCountByMonth(orgCode, String.valueOf(year), "1");
endIssueMap.put(t.get("time").toString(), t.get("count")); allIssue.forEach(t -> {
}); allIssueMap.put(t.get("time").toString(), t.get("count"));
});
endIssue.forEach(t -> {
endIssueMap.put(t.get("time").toString(), t.get("count"));
});
}
List<Object> problemCount = new ArrayList<>(); List<Object> problemCount = new ArrayList<>();
List<Object> processedRate = new ArrayList<>(); List<Object> processedRate = new ArrayList<>();
List<Object> xdata = new ArrayList<>(); List<Object> xdata = new ArrayList<>();
...@@ -577,19 +596,19 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -577,19 +596,19 @@ public class AQZSDPStatisticsServiceImpl {
} }
public List<Map<String, Object>> issueChildrenCityCount(String cityCode) throws Exception { public List<Map<String, Object>> issueChildrenCityCount(String cityCode) {
List<RegionModel> regionModels = stCommonService.setRegionIfRootParent(cityCode); List<RegionModel> regionModels = stCommonService.setRegionIfRootParent(cityCode);
List<Integer> regionCodeList = regionModels.stream().map(m -> m.getRegionCode()).collect(Collectors.toList()); List<Integer> regionCodeList = regionModels.stream().map(RegionModel::getRegionCode).collect(Collectors.toList());
List<Map<String, String>> orgCodeAndCompanyCodesByCompanyCodes = statisticsMapper.getOrgCodeAndCompanyCodesByCompanyCodes(regionCodeList); List<Map<String, String>> orgCodeAndCompanyCodesByCompanyCodes = statisticsMapper.getOrgCodeAndCompanyCodesByCompanyCodes(regionCodeList);
List<String> orgCodes = orgCodeAndCompanyCodesByCompanyCodes.stream().map(m -> m.get("orgCode")).collect(Collectors.toList()); List<String> orgCodes = orgCodeAndCompanyCodesByCompanyCodes.stream().map(m -> m.get("orgCode")).collect(Collectors.toList());
String now = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM")); String now = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM"));
Map<String, String> orgCodeAndCompanyCodesMap = new HashMap<>(); Map<String, String> orgCodeAndCompanyCodesMap = new HashMap<>();
orgCodeAndCompanyCodesByCompanyCodes.stream().forEach(t -> { orgCodeAndCompanyCodesByCompanyCodes.forEach(t -> {
orgCodeAndCompanyCodesMap.put(t.get("companyCode"), t.get("orgCode")); orgCodeAndCompanyCodesMap.put(t.get("companyCode"), t.get("orgCode"));
}); });
List<Map<String, Object>> list = statisticsMapper.countByOrgCodes(orgCodes, now); List<Map<String, Object>> list = statisticsMapper.countByOrgCodes(orgCodes, now);
Map<String, Object> dataMap = new HashMap<>(); Map<String, Object> dataMap = new HashMap<>();
list.stream().forEach(t -> { list.forEach(t -> {
dataMap.put(t.get("orgCode").toString(), t.get("count")); dataMap.put(t.get("orgCode").toString(), t.get("count"));
}); });
...@@ -626,13 +645,18 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -626,13 +645,18 @@ public class AQZSDPStatisticsServiceImpl {
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
String orgCode = stCommonService.getAndSetOrgCode(cityCode); String orgCode = stCommonService.getAndSetOrgCode(cityCode);
String time = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy")); String time = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy"));
List<Map<String, Object>> list = statisticsMapper.issueProblemLevelCount(orgCode, time); Map<String, Long> problemLevelNumMap = new LinkedHashMap<>();
if(orgCode != null){
List<CountDto> list = statisticsMapper.issueProblemLevelCount(orgCode, time);
problemLevelNumMap = list.stream().collect(Collectors.toMap(CountDto::getKeyStr,CountDto::getLongValue));
}
List<Object> xdata = new ArrayList<>(); List<Object> xdata = new ArrayList<>();
List<Object> ydata = new ArrayList<>(); List<Object> ydata = new ArrayList<>();
for (int i = 0; i < list.size(); i++) { Map<String, Long> finalProblemLevelNumMap = problemLevelNumMap;
xdata.add(list.get(i).get("problemLevel")); Arrays.stream(IssueProblemLevelEnum.values()).forEach(e->{
ydata.add(list.get(i).get("count")); xdata.add(e.getName());
} ydata.add(finalProblemLevelNumMap.getOrDefault(e.getCode(), 0L));
});
resultMap.put("xdata", xdata); resultMap.put("xdata", xdata);
resultMap.put("ydata", ydata); resultMap.put("ydata", ydata);
return resultMap; return resultMap;
...@@ -641,6 +665,9 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -641,6 +665,9 @@ public class AQZSDPStatisticsServiceImpl {
public List<Map<String, Object>> issueCompanyTop(String cityCode) { public List<Map<String, Object>> issueCompanyTop(String cityCode) {
List<Map<String, Object>> resultList = new ArrayList<>(); List<Map<String, Object>> resultList = new ArrayList<>();
String orgCode = stCommonService.getAndSetOrgCode(cityCode); String orgCode = stCommonService.getAndSetOrgCode(cityCode);
if(orgCode == null){
return new ArrayList<>();
}
String time = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy")); String time = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy"));
List<Map<String, Object>> list = statisticsMapper.issueCompanyTop(orgCode, time); List<Map<String, Object>> list = statisticsMapper.issueCompanyTop(orgCode, time);
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
...@@ -654,25 +681,29 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -654,25 +681,29 @@ public class AQZSDPStatisticsServiceImpl {
return resultList; return resultList;
} }
public List<Map<String, Object>> issueChildrenCityCountTop(String cityCode) throws Exception { public List<Map<String, Object>> issueChildrenCityCountTop(String cityCode) {
String orgCode = stCommonService.getAndSetOrgCode(cityCode);
if(orgCode == null){
return new ArrayList<>();
}
List<RegionModel> regionModels = stCommonService.setRegionIfRootParent(cityCode); List<RegionModel> regionModels = stCommonService.setRegionIfRootParent(cityCode);
List<Integer> regionCodeList = regionModels.stream().map(RegionModel::getRegionCode).collect(Collectors.toList()); List<Integer> regionCodeList = regionModels.stream().map(RegionModel::getRegionCode).collect(Collectors.toList());
List<Map<String, String>> orgCodeAndCompanyCodesByCompanyCodes = statisticsMapper.getOrgCodeAndCompanyCodesByCompanyCodes(regionCodeList); List<Map<String, String>> orgCodeAndCompanyCodesByCompanyCodes = statisticsMapper.getOrgCodeAndCompanyCodesByCompanyCodes(regionCodeList);
List<String> orgCodes = orgCodeAndCompanyCodesByCompanyCodes.stream().map(m -> m.get("orgCode")).collect(Collectors.toList()); List<String> orgCodes = orgCodeAndCompanyCodesByCompanyCodes.stream().map(m -> m.get("orgCode")).collect(Collectors.toList());
String now = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy")); String now = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy"));
Map<String, String> orgCodeAndCompanyCodesMap = new HashMap<>(); Map<String, String> orgCodeAndCompanyCodesMap = new HashMap<>();
orgCodeAndCompanyCodesByCompanyCodes.stream().forEach(t -> { orgCodeAndCompanyCodesByCompanyCodes.forEach(t -> {
orgCodeAndCompanyCodesMap.put(t.get("companyCode"), t.get("orgCode")); orgCodeAndCompanyCodesMap.put(t.get("companyCode"), t.get("orgCode"));
}); });
List<Map<String, Object>> allIssueCount = statisticsMapper.issueChildrenCityCountTop(orgCodes, now, null); List<Map<String, Object>> allIssueCount = statisticsMapper.issueChildrenCityCountTop(orgCodes, now, null);
List<Map<String, Object>> endIssueCount = statisticsMapper.issueChildrenCityCountTop(orgCodes, now, "1"); List<Map<String, Object>> endIssueCount = statisticsMapper.issueChildrenCityCountTop(orgCodes, now, "1");
Map<String, Object> allIssuedataMap = new HashMap<>(); Map<String, Object> allIssuedataMap = new HashMap<>();
Map<String, Object> endIssuedataMap = new HashMap<>(); Map<String, Object> endIssuedataMap = new HashMap<>();
allIssueCount.stream().forEach(t -> { allIssueCount.forEach(t -> {
allIssuedataMap.put(t.get("orgCode").toString(), t.get("count")); allIssuedataMap.put(t.get("orgCode").toString(), t.get("count"));
}); });
endIssueCount.stream().forEach(t -> { endIssueCount.forEach(t -> {
endIssuedataMap.put(t.get("orgCode").toString(), t.get("count")); endIssuedataMap.put(t.get("orgCode").toString(), t.get("count"));
}); });
...@@ -866,7 +897,7 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -866,7 +897,7 @@ public class AQZSDPStatisticsServiceImpl {
result.put(DPMapStatisticsItemEnum.OPERATORS.getCode(), num); result.put(DPMapStatisticsItemEnum.OPERATORS.getCode(), num);
} }
public List<Map<String, Object>> getCenterMapCountDataForOverview(DPFilterParamDto dpFilterParamDto) throws Exception { public List<Map<String, Object>> getCenterMapCountDataForOverview(DPFilterParamDto dpFilterParamDto) {
List<RegionModel> regionModels = stCommonService.setRegionIfRootParent(dpFilterParamDto.getCityCode()); List<RegionModel> regionModels = stCommonService.setRegionIfRootParent(dpFilterParamDto.getCityCode());
List<Map<String, Object>> result = regionModels.parallelStream().map(r -> { List<Map<String, Object>> result = regionModels.parallelStream().map(r -> {
DPFilterParamDto filterParamDto = new DPFilterParamDto(); DPFilterParamDto filterParamDto = new DPFilterParamDto();
......
...@@ -133,9 +133,9 @@ public class CylinderDPStatisticsServiceImpl { ...@@ -133,9 +133,9 @@ public class CylinderDPStatisticsServiceImpl {
} }
public Map<String, Object> getCylinderStatisticsDataByCity(DPFilterParamDto dpFilterParamDto) throws Exception { public Map<String, Object> getCylinderStatisticsDataByCity(DPFilterParamDto dpFilterParamDto) {
String regionCode = dpFilterParamDto.getCityCode(); String regionCode = dpFilterParamDto.getCityCode();
List<RegionModel> regionList = stCommonService.setRegionIfRootParent(regionCode); List<RegionModel> regionList = stCommonService.setRegionIfRootParentAndNoAccessIf3Level(regionCode);
List<Map<String, Object>> legendData = new ArrayList<>(); List<Map<String, Object>> legendData = new ArrayList<>();
List<String> xdata = this.buildXData(regionList); List<String> xdata = this.buildXData(regionList);
List<Long> qiping = getYDataForQP(regionList); List<Long> qiping = getYDataForQP(regionList);
...@@ -372,24 +372,19 @@ public class CylinderDPStatisticsServiceImpl { ...@@ -372,24 +372,19 @@ public class CylinderDPStatisticsServiceImpl {
} }
public List<CylinderFillingRecordStatisticsDto> fillingTimesAndQuantity(String reginCode) { public List<CylinderFillingRecordStatisticsDto> fillingTimesAndQuantity(String reginCode) {
String orgCode = null; String orgCode = stCommonService.getAndSetOrgCode(reginCode);
CompanyModel result = Privilege.companyClient.queryByCompanyCode(reginCode).getResult();
orgCode = result.getOrgCode();
List<String> times = new ArrayList<>(); List<String> times = new ArrayList<>();
for (int i = 0; i < 30; i++) { for (int i = 0; i < 30; i++) {
times.add(LocalDate.now().minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); times.add(LocalDate.now().minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
} }
List<CylinderFillingRecordStatisticsDto> fillingRecord = cylinderInfoMapper.queryFillingRecordByOrgCode(orgCode, LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); List<CylinderFillingRecordStatisticsDto> fillingRecord = new ArrayList<>(0);
List<CylinderFillingRecordStatisticsDto> offloading = cylinderInfoMapper.queryoffloadingByOrgCode(orgCode, LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); List<CylinderFillingRecordStatisticsDto> offloading = new ArrayList<>(0);
if (fillingRecord == null) { if(orgCode != null){
fillingRecord = new ArrayList<>(0); fillingRecord = cylinderInfoMapper.queryFillingRecordByOrgCode(orgCode, LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
} offloading = cylinderInfoMapper.queryoffloadingByOrgCode(orgCode, LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
if (offloading == null) {
offloading = new ArrayList<>(0);
} }
Map<String, String> fillingRecordMap = fillingRecord.stream().collect(Collectors.toMap(CylinderFillingRecordStatisticsDto::getTime, f -> f.getFillingQuantity())); Map<String, String> fillingRecordMap = fillingRecord.stream().collect(Collectors.toMap(CylinderFillingRecordStatisticsDto::getTime, CylinderFillingRecordStatisticsDto::getFillingQuantity));
Map<String, String> offloadingMap = offloading.stream().collect(Collectors.toMap(CylinderFillingRecordStatisticsDto::getTime, f -> f.getOffloadingVolume())); Map<String, String> offloadingMap = offloading.stream().collect(Collectors.toMap(CylinderFillingRecordStatisticsDto::getTime, CylinderFillingRecordStatisticsDto::getOffloadingVolume));
List<CylinderFillingRecordStatisticsDto> data = new ArrayList<>(); List<CylinderFillingRecordStatisticsDto> data = new ArrayList<>();
for (String key : times) { for (String key : times) {
CylinderFillingRecordStatisticsDto dayData = new CylinderFillingRecordStatisticsDto(); CylinderFillingRecordStatisticsDto dayData = new CylinderFillingRecordStatisticsDto();
...@@ -404,8 +399,10 @@ public class CylinderDPStatisticsServiceImpl { ...@@ -404,8 +399,10 @@ public class CylinderDPStatisticsServiceImpl {
public List<Map<String, Object>> cylinderIssueMonthList(String regionCode) { public List<Map<String, Object>> cylinderIssueMonthList(String regionCode) {
String orgCode = stCommonService.getAndSetOrgCode(regionCode); String orgCode = stCommonService.getAndSetOrgCode(regionCode);
if(orgCode == null){
return new ArrayList<>();
}
String time = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM")); String time = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM"));
List<Map<String, Object>> list = statisticsMapper.cylinderIssueMonthList(orgCode, time); return statisticsMapper.cylinderIssueMonthList(orgCode, time);
return list;
} }
} }
\ No newline at end of file
...@@ -3,10 +3,8 @@ package com.yeejoin.amos.boot.module.statistcs.biz.service.impl; ...@@ -3,10 +3,8 @@ package com.yeejoin.amos.boot.module.statistcs.biz.service.impl;
import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.yeejoin.amos.boot.biz.common.dto.CountDto; import com.yeejoin.amos.boot.biz.common.dto.CountDto;
import com.yeejoin.amos.boot.module.common.api.constant.TZSCommonConstant;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto; import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.common.api.dto.LegendDataDto; import com.yeejoin.amos.boot.module.common.api.dto.LegendDataDto;
import com.yeejoin.amos.boot.module.common.api.enums.ReginStepEnum;
import com.yeejoin.amos.boot.module.jg.api.dto.EquipBizCountDto; import com.yeejoin.amos.boot.module.jg.api.dto.EquipBizCountDto;
import com.yeejoin.amos.boot.module.jg.api.dto.FourColorCountDataDto; import com.yeejoin.amos.boot.module.jg.api.dto.FourColorCountDataDto;
import com.yeejoin.amos.boot.module.jg.api.enums.DPMapStatisticsItemEnum; import com.yeejoin.amos.boot.module.jg.api.enums.DPMapStatisticsItemEnum;
...@@ -16,7 +14,6 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.*; ...@@ -16,7 +14,6 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.statistics.api.mapper.ZLStatisticsMapper; import com.yeejoin.amos.boot.module.statistics.api.mapper.ZLStatisticsMapper;
import com.yeejoin.amos.boot.module.ymt.api.dto.EquipmentCategoryDto; import com.yeejoin.amos.boot.module.ymt.api.dto.EquipmentCategoryDto;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseEnterpriseInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseEnterpriseInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzsUserInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.TzsUserInfoMapper;
import com.yeejoin.amos.feign.systemctl.model.RegionModel; import com.yeejoin.amos.feign.systemctl.model.RegionModel;
...@@ -384,14 +381,6 @@ public class JGDPStatisticsServiceImpl { ...@@ -384,14 +381,6 @@ public class JGDPStatisticsServiceImpl {
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
private Map<String, Map<String, CountDto>> getAllDataMap(DPFilterParamDto dpFilterParamDto) {
Map<String, Map<String, CountDto>> countMap = new HashMap<>();
countMap.put(FourColorCountItemEnum.EQUIP.getKey(), this.countEquipNum(dpFilterParamDto));
countMap.put(FourColorCountItemEnum.COMPANY.getKey(), this.countCompanyNum(dpFilterParamDto));
countMap.put(FourColorCountItemEnum.USER.getKey(), this.countUserNum(dpFilterParamDto));
return countMap;
}
private Map<String, CountDto> countEquipNum(DPFilterParamDto dpFilterParamDto) { private Map<String, CountDto> countEquipNum(DPFilterParamDto dpFilterParamDto) {
Map<String, CountDto> countMap = new HashMap<>(); Map<String, CountDto> countMap = new HashMap<>();
countMap.put(FourColorEnum.GREEN.getCode(), this.getGreenStatusEquip(dpFilterParamDto)); countMap.put(FourColorEnum.GREEN.getCode(), this.getGreenStatusEquip(dpFilterParamDto));
...@@ -414,6 +403,9 @@ public class JGDPStatisticsServiceImpl { ...@@ -414,6 +403,9 @@ public class JGDPStatisticsServiceImpl {
request.indices("idx_biz_view_jg_all"); request.indices("idx_biz_view_jg_all");
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if (orgCode == null) {
return 0L;
}
// 按照管辖机构区域信息模糊查询 // 按照管辖机构区域信息模糊查询
boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*")); boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*"));
// 设备状态过滤 // 设备状态过滤
...@@ -435,6 +427,14 @@ public class JGDPStatisticsServiceImpl { ...@@ -435,6 +427,14 @@ public class JGDPStatisticsServiceImpl {
return countDto; return countDto;
} }
private Map<String, Map<String, CountDto>> getAllDataMap(DPFilterParamDto dpFilterParamDto) {
Map<String, Map<String, CountDto>> countMap = new HashMap<>();
countMap.put(FourColorCountItemEnum.EQUIP.getKey(), this.countEquipNum(dpFilterParamDto));
countMap.put(FourColorCountItemEnum.COMPANY.getKey(), this.countCompanyNum(dpFilterParamDto));
countMap.put(FourColorCountItemEnum.USER.getKey(), this.countUserNum(dpFilterParamDto));
return countMap;
}
private CountDto getYellowStatusEquip(DPFilterParamDto dpFilterParamDto) { private CountDto getYellowStatusEquip(DPFilterParamDto dpFilterParamDto) {
CountDto countDto = new CountDto(); CountDto countDto = new CountDto();
countDto.setLongValue(this.staticsCenterMapCountDateTemporary(dpFilterParamDto)); countDto.setLongValue(this.staticsCenterMapCountDateTemporary(dpFilterParamDto));
...@@ -454,6 +454,9 @@ public class JGDPStatisticsServiceImpl { ...@@ -454,6 +454,9 @@ public class JGDPStatisticsServiceImpl {
request.indices("idx_biz_view_jg_all"); request.indices("idx_biz_view_jg_all");
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if (orgCode == null) {
return 0L;
}
// 按照管辖机构区域信息模糊查询 // 按照管辖机构区域信息模糊查询
boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*")); boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*"));
// 且在用状态设备 // 且在用状态设备
...@@ -486,6 +489,9 @@ public class JGDPStatisticsServiceImpl { ...@@ -486,6 +489,9 @@ public class JGDPStatisticsServiceImpl {
request.indices("idx_biz_view_jg_all"); request.indices("idx_biz_view_jg_all");
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if (orgCode == null) {
return 0L;
}
// 按照管辖机构区域信息模糊查询 // 按照管辖机构区域信息模糊查询
boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*")); boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*"));
// 在用状态设备 // 在用状态设备
...@@ -527,7 +533,6 @@ public class JGDPStatisticsServiceImpl { ...@@ -527,7 +533,6 @@ public class JGDPStatisticsServiceImpl {
} }
private CountDto getRedStatusCompany(DPFilterParamDto dpFilterParamDto) { private CountDto getRedStatusCompany(DPFilterParamDto dpFilterParamDto) {
CountDto countDto = new CountDto(); CountDto countDto = new CountDto();
countDto.setLongValue(this.countCompanyForCertDateTimeOut(dpFilterParamDto)); countDto.setLongValue(this.countCompanyForCertDateTimeOut(dpFilterParamDto));
...@@ -544,6 +549,9 @@ public class JGDPStatisticsServiceImpl { ...@@ -544,6 +549,9 @@ public class JGDPStatisticsServiceImpl {
private long countCompanyForCertDateTemporary(DPFilterParamDto dpFilterParamDto) { private long countCompanyForCertDateTemporary(DPFilterParamDto dpFilterParamDto) {
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if (orgCode == null) {
return 0L;
}
// 临期6个月 // 临期6个月
String limitDate = DateUtil.offset(DateUtil.date(), DateField.DAY_OF_MONTH, 6).toDateStr(); String limitDate = DateUtil.offset(DateUtil.date(), DateField.DAY_OF_MONTH, 6).toDateStr();
return zlStatisticsMapper.countCompanyForCertDateTemporary(dpFilterParamDto, orgCode, limitDate); return zlStatisticsMapper.countCompanyForCertDateTemporary(dpFilterParamDto, orgCode, limitDate);
...@@ -551,6 +559,9 @@ public class JGDPStatisticsServiceImpl { ...@@ -551,6 +559,9 @@ public class JGDPStatisticsServiceImpl {
private long countCompanyForCertDateTimeOut(DPFilterParamDto dpFilterParamDto) { private long countCompanyForCertDateTimeOut(DPFilterParamDto dpFilterParamDto) {
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if (orgCode == null) {
return 0L;
}
String limitDate = DateUtil.today(); String limitDate = DateUtil.today();
return zlStatisticsMapper.countCompanyForCertDateTimeOut(dpFilterParamDto, orgCode, limitDate); return zlStatisticsMapper.countCompanyForCertDateTimeOut(dpFilterParamDto, orgCode, limitDate);
} }
...@@ -565,6 +576,9 @@ public class JGDPStatisticsServiceImpl { ...@@ -565,6 +576,9 @@ public class JGDPStatisticsServiceImpl {
private long countCompanyByOperatingStatus(DPFilterParamDto dpFilterParamDto, String operatingStatus) { private long countCompanyByOperatingStatus(DPFilterParamDto dpFilterParamDto, String operatingStatus) {
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if (orgCode == null) {
return 0L;
}
return enterpriseInfoMapper.countByOperatingStatusAndOrgCode(orgCode, operatingStatus, dpFilterParamDto.getCityCode()); return enterpriseInfoMapper.countByOperatingStatusAndOrgCode(orgCode, operatingStatus, dpFilterParamDto.getCityCode());
} }
...@@ -649,12 +663,18 @@ public class JGDPStatisticsServiceImpl { ...@@ -649,12 +663,18 @@ public class JGDPStatisticsServiceImpl {
private Long countAllBizDataInFlowing(DPFilterParamDto dpFilterParamDto) { private Long countAllBizDataInFlowing(DPFilterParamDto dpFilterParamDto) {
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if (orgCode == null) {
return 0L;
}
List<Long> inFlowingForDP = commonMapper.countAllInFlowingForDPNoFinishedBizData(orgCode, dpFilterParamDto); List<Long> inFlowingForDP = commonMapper.countAllInFlowingForDPNoFinishedBizData(orgCode, dpFilterParamDto);
return inFlowingForDP.stream().mapToLong(e -> e).sum(); return inFlowingForDP.stream().mapToLong(e -> e).sum();
} }
private List<Long> countBizDataInFlowing(DPFilterParamDto dpFilterParamDto) { private List<Long> countBizDataInFlowing(DPFilterParamDto dpFilterParamDto) {
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if (orgCode == null) {
return Arrays.asList(0L, 0L, 0L, 0L, 0L, 0L);
}
return commonMapper.countAllInFlowingForDPNoFinishedBizData(orgCode, dpFilterParamDto); return commonMapper.countAllInFlowingForDPNoFinishedBizData(orgCode, dpFilterParamDto);
} }
...@@ -674,6 +694,10 @@ public class JGDPStatisticsServiceImpl { ...@@ -674,6 +694,10 @@ public class JGDPStatisticsServiceImpl {
request.indices("idx_biz_view_jg_all"); request.indices("idx_biz_view_jg_all");
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if (orgCode == null) {
this.setDefaultEquStateCount(resultList);
return resultList;
}
// 按照管辖机构区域信息模糊查询 // 按照管辖机构区域信息模糊查询
boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*")); boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*"));
SearchSourceBuilder builder = new SearchSourceBuilder(); SearchSourceBuilder builder = new SearchSourceBuilder();
...@@ -685,9 +709,8 @@ public class JGDPStatisticsServiceImpl { ...@@ -685,9 +709,8 @@ public class JGDPStatisticsServiceImpl {
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT); SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
Terms terms = response.getAggregations().get("EQU_STATE_COUNT"); Terms terms = response.getAggregations().get("EQU_STATE_COUNT");
Map<String, Long> dataMap = new HashMap<>(); Map<String, Long> dataMap = new HashMap<>();
Long total = terms.getBuckets().stream().mapToLong(Terms.Bucket::getDocCount).sum();
for (Terms.Bucket bucket : terms.getBuckets()) { for (Terms.Bucket bucket : terms.getBuckets()) {
String category = bucket.getKeyAsString(); // 或者使用 bucket.getKey() 对于非字符串类型 String category = bucket.getKeyAsString();
long docCount = bucket.getDocCount(); long docCount = bucket.getDocCount();
dataMap.put(category, docCount); dataMap.put(category, docCount);
} }
...@@ -698,16 +721,7 @@ public class JGDPStatisticsServiceImpl { ...@@ -698,16 +721,7 @@ public class JGDPStatisticsServiceImpl {
* 4 注销 * 4 注销
*/ */
for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) {
Map<String, Object> map = new HashMap(); Map<String, Object> map = setEquStateNameValue(i);
if (i == 0) {
map.put("name", "在用");
} else if (i == 1) {
map.put("name", "停用");
} else if (i == 2) {
map.put("name", "报废");
} else if (i == 3) {
map.put("name", "注销");
}
map.put("value", dataMap.getOrDefault(String.valueOf(i), 0L)); map.put("value", dataMap.getOrDefault(String.valueOf(i), 0L));
resultList.add(map); resultList.add(map);
} }
...@@ -718,122 +732,128 @@ public class JGDPStatisticsServiceImpl { ...@@ -718,122 +732,128 @@ public class JGDPStatisticsServiceImpl {
return resultList; return resultList;
} }
private Map<String, Object> setEquStateNameValue(int i) {
Map<String, Object> map = new LinkedHashMap<>();
if (i == 0) {
map.put("name", "在用");
} else if (i == 1) {
map.put("name", "停用");
} else if (i == 2) {
map.put("name", "报废");
} else {
map.put("name", "注销");
}
return map;
}
private void setDefaultEquStateCount(List<Map<String, Object>> resultList) {
for (int i = 0; i < 4; i++) {
Map<String, Object> map = setEquStateNameValue(i);
map.put("value", 0L);
resultList.add(map);
}
}
public Map<String, Object> equStopStateCount(DPFilterParamDto dpFilterParamDto) { public Map<String, Object> equStopStateCount(DPFilterParamDto dpFilterParamDto) {
SearchRequest request = new SearchRequest(); SearchRequest request = new SearchRequest();
request.indices("idx_biz_view_jg_all"); request.indices("idx_biz_view_jg_all");
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
// 按照管辖机构区域信息模糊查询 Map<String, Long> dataMap = new HashMap<>();
boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*")); if (orgCode != null) {
SearchSourceBuilder builder = new SearchSourceBuilder(); // 按照管辖机构区域信息模糊查询
builder.query(boolMust); boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*"));
// 设备状态 SearchSourceBuilder builder = new SearchSourceBuilder();
TermsAggregationBuilder aggregationBuilder = AggregationBuilders.terms("EQU_STATE_COUNT").field("EQU_STATE") builder.query(boolMust);
//设备类型 // 设备状态
.subAggregation(AggregationBuilders.terms("EQU_LIST_CODE_COUNT").field("EQU_LIST_CODE")); TermsAggregationBuilder aggregationBuilder = AggregationBuilders.terms("EQU_STATE_COUNT").field("EQU_STATE")
builder.aggregation(aggregationBuilder); //设备类型
request.source(builder); .subAggregation(AggregationBuilders.terms("EQU_LIST_CODE_COUNT").field("EQU_LIST_CODE"));
try { builder.aggregation(aggregationBuilder);
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT); request.source(builder);
Terms terms = response.getAggregations().get("EQU_STATE_COUNT"); try {
Map<String, Long> dataMap = new HashMap<>(); SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
for (Terms.Bucket bucket : terms.getBuckets()) { Terms terms = response.getAggregations().get("EQU_STATE_COUNT");
String category = bucket.getKeyAsString(); // 或者使用 bucket.getKey() 对于非字符串类型
Terms subTerms = bucket.getAggregations().get("EQU_LIST_CODE_COUNT"); for (Terms.Bucket bucket : terms.getBuckets()) {
for (Terms.Bucket subBucket : subTerms.getBuckets()) { // 或者使用 bucket.getKey() 对于非字符串类型
String subCategory = subBucket.getKeyAsString(); String category = bucket.getKeyAsString();
long docCount = subBucket.getDocCount(); Terms subTerms = bucket.getAggregations().get("EQU_LIST_CODE_COUNT");
dataMap.put(category + "#" + subCategory, docCount); for (Terms.Bucket subBucket : subTerms.getBuckets()) {
String subCategory = subBucket.getKeyAsString();
long docCount = subBucket.getDocCount();
dataMap.put(category + "#" + subCategory, docCount);
}
} }
} catch (Exception e) {
throw new RuntimeException(e);
} }
/** }
* 2300 气瓶 List<Map<String, Object>> legendDataList = new ArrayList<>();
* 3000 电梯 for (int i = 0; i < 3; i++) {
* 4000 起重机械 Map<String, Object> map = new HashMap();
* 2000 压力容器 if (i == 0) {
* 5000 场(厂)内专用机动车辆 map.put("dataKey", "stop");
* 1000 锅炉 map.put("value", "停用");
* 8000 压力管道 } else if (i == 1) {
* F000 安全附件 map.put("dataKey", "logout");
* 7000 压力管道元件 map.put("value", "注销");
* 9000 客运索道 } else {
* 6000 大型游乐设施 map.put("dataKey", "scrap");
*/ map.put("value", "报废");
/**
* 2 停用
* 4 注销
* 3 报废
*/
List<Map<String, Object>> legendDataList = new ArrayList<>();
for (int i = 0; i < 3; i++) {
Map<String, Object> map = new HashMap();
if (i == 0) {
map.put("dataKey", "stop");
map.put("value", "停用");
} else if (i == 1) {
map.put("dataKey", "logout");
map.put("value", "注销");
} else if (i == 2) {
map.put("dataKey", "scrap");
map.put("value", "报废");
}
legendDataList.add(map);
} }
List<String> xDataList = Arrays.asList("气瓶", "电梯", "压力容器", "锅炉", "起重机械", "场(厂)内专用", "大型游乐设施", "压力管道", "客运索道"); legendDataList.add(map);
List<Object> stop = new ArrayList<>(); }
List<Object> logout = new ArrayList<>(); List<String> xDataList = Arrays.asList("气瓶", "电梯", "压力容器", "锅炉", "起重机械", "场(厂)内专用", "大型游乐设施", "压力管道", "客运索道");
List<Object> scrap = new ArrayList<>(); List<Object> stop = new ArrayList<>();
for (int i = 0; i < 9; i++) { List<Object> logout = new ArrayList<>();
if (i == 0) { List<Object> scrap = new ArrayList<>();
stop.add(dataMap.getOrDefault("2#2300", 0L)); for (int i = 0; i < 9; i++) {
logout.add(dataMap.getOrDefault("4#2300", 0L)); if (i == 0) {
scrap.add(dataMap.getOrDefault("3#2300", 0L)); stop.add(dataMap.getOrDefault("2#2300", 0L));
} else if (i == 1) { logout.add(dataMap.getOrDefault("4#2300", 0L));
stop.add(dataMap.getOrDefault("2#3000", 0L)); scrap.add(dataMap.getOrDefault("3#2300", 0L));
logout.add(dataMap.getOrDefault("4#3000", 0L)); } else if (i == 1) {
scrap.add(dataMap.getOrDefault("3#3000", 0L)); stop.add(dataMap.getOrDefault("2#3000", 0L));
} else if (i == 2) { logout.add(dataMap.getOrDefault("4#3000", 0L));
stop.add(dataMap.getOrDefault("2#2000", 0L) - dataMap.getOrDefault("2#2300", 0L)); scrap.add(dataMap.getOrDefault("3#3000", 0L));
logout.add(dataMap.getOrDefault("4#2000", 0L) - dataMap.getOrDefault("4#2300", 0L)); } else if (i == 2) {
scrap.add(dataMap.getOrDefault("3#2000", 0L) - dataMap.getOrDefault("3#2300", 0L)); stop.add(dataMap.getOrDefault("2#2000", 0L) - dataMap.getOrDefault("2#2300", 0L));
} else if (i == 3) { logout.add(dataMap.getOrDefault("4#2000", 0L) - dataMap.getOrDefault("4#2300", 0L));
stop.add(dataMap.getOrDefault("2#1000", 0L)); scrap.add(dataMap.getOrDefault("3#2000", 0L) - dataMap.getOrDefault("3#2300", 0L));
logout.add(dataMap.getOrDefault("4#1000", 0L)); } else if (i == 3) {
scrap.add(dataMap.getOrDefault("3#1000", 0L)); stop.add(dataMap.getOrDefault("2#1000", 0L));
} else if (i == 4) { logout.add(dataMap.getOrDefault("4#1000", 0L));
stop.add(dataMap.getOrDefault("2#4000", 0L)); scrap.add(dataMap.getOrDefault("3#1000", 0L));
logout.add(dataMap.getOrDefault("4#4000", 0L)); } else if (i == 4) {
scrap.add(dataMap.getOrDefault("3#4000", 0L)); stop.add(dataMap.getOrDefault("2#4000", 0L));
} else if (i == 5) { logout.add(dataMap.getOrDefault("4#4000", 0L));
stop.add(dataMap.getOrDefault("2#5000", 0L)); scrap.add(dataMap.getOrDefault("3#4000", 0L));
logout.add(dataMap.getOrDefault("4#5000", 0L)); } else if (i == 5) {
scrap.add(dataMap.getOrDefault("3#5000", 0L)); stop.add(dataMap.getOrDefault("2#5000", 0L));
} else if (i == 6) { logout.add(dataMap.getOrDefault("4#5000", 0L));
stop.add(dataMap.getOrDefault("2#6000", 0L)); scrap.add(dataMap.getOrDefault("3#5000", 0L));
logout.add(dataMap.getOrDefault("4#6000", 0L)); } else if (i == 6) {
scrap.add(dataMap.getOrDefault("3#6000", 0L)); stop.add(dataMap.getOrDefault("2#6000", 0L));
} else if (i == 7) { logout.add(dataMap.getOrDefault("4#6000", 0L));
stop.add(dataMap.getOrDefault("2#8000", 0L)); scrap.add(dataMap.getOrDefault("3#6000", 0L));
logout.add(dataMap.getOrDefault("4#8000", 0L)); } else if (i == 7) {
scrap.add(dataMap.getOrDefault("3#8000", 0L)); stop.add(dataMap.getOrDefault("2#8000", 0L));
} else if (i == 8) { logout.add(dataMap.getOrDefault("4#8000", 0L));
stop.add(dataMap.getOrDefault("2#9000", 0L)); scrap.add(dataMap.getOrDefault("3#8000", 0L));
logout.add(dataMap.getOrDefault("4#9000", 0L)); } else {
scrap.add(dataMap.getOrDefault("3#9000", 0L)); stop.add(dataMap.getOrDefault("2#9000", 0L));
} logout.add(dataMap.getOrDefault("4#9000", 0L));
scrap.add(dataMap.getOrDefault("3#9000", 0L));
} }
Map<String, Object> returnMap = new HashMap<>();
returnMap.put("legendData", legendDataList);
returnMap.put("xdata", xDataList);
returnMap.put("stop", stop);
returnMap.put("logout", logout);
returnMap.put("scrap", scrap);
return returnMap;
} catch (Exception e) {
throw new RuntimeException(e);
} }
Map<String, Object> returnMap = new HashMap<>();
returnMap.put("legendData", legendDataList);
returnMap.put("xdata", xDataList);
returnMap.put("stop", stop);
returnMap.put("logout", logout);
returnMap.put("scrap", scrap);
return returnMap;
} }
public List<Map<String, Object>> maintenanceCountTopTen(DPFilterParamDto dpFilterParamDto) { public List<Map<String, Object>> maintenanceCountTopTen(DPFilterParamDto dpFilterParamDto) {
...@@ -871,23 +891,24 @@ public class JGDPStatisticsServiceImpl { ...@@ -871,23 +891,24 @@ public class JGDPStatisticsServiceImpl {
} }
public Map<String, Object> cityBusinessCount(DPFilterParamDto dpFilterParamDto) { public Map<String, Object> cityBusinessCount(DPFilterParamDto dpFilterParamDto) {
List<RegionModel> regionModels = stCommonService.setRegionIfRootParent(dpFilterParamDto); List<RegionModel> regionModels = stCommonService.setRegionIfRootParentAndNoAccessIf3Level(dpFilterParamDto);
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
/** String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto);
* 业务类型0告知管理,1使用登记,2变更登记,3停用启用,4注销报废 if (orgCode == null) {
*/ return new HashMap<>();
}
// 业务类型0告知管理,1使用登记,2变更登记,3停用启用,4注销报废
if ("0".equals(dpFilterParamDto.getBusinessKey())) { if ("0".equals(dpFilterParamDto.getBusinessKey())) {
resultMap = noticeCount(resultMap, regionModels); noticeCount(resultMap, regionModels);
} else if ("1".equals(dpFilterParamDto.getBusinessKey())) { } else if ("1".equals(dpFilterParamDto.getBusinessKey())) {
resultMap = useCount(resultMap, regionModels); useCount(resultMap, regionModels);
} else if ("2".equals(dpFilterParamDto.getBusinessKey())) { } else if ("2".equals(dpFilterParamDto.getBusinessKey())) {
resultMap = changeCount(resultMap, regionModels); changeCount(resultMap, regionModels);
} else if ("3".equals(dpFilterParamDto.getBusinessKey())) { } else if ("3".equals(dpFilterParamDto.getBusinessKey())) {
resultMap = disableCount(resultMap, regionModels); disableCount(resultMap, regionModels);
} else if ("4".equals(dpFilterParamDto.getBusinessKey())) { } else if ("4".equals(dpFilterParamDto.getBusinessKey())) {
resultMap = cancelCount(resultMap, regionModels); cancelCount(resultMap, regionModels);
} }
return resultMap; return resultMap;
} }
...@@ -896,11 +917,11 @@ public class JGDPStatisticsServiceImpl { ...@@ -896,11 +917,11 @@ public class JGDPStatisticsServiceImpl {
Map<String, Integer> countMap = new HashMap<>(); Map<String, Integer> countMap = new HashMap<>();
List<Object> xDataList = new ArrayList<>(); List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>(); List<Object> yDataList = new ArrayList<>();
List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList()); List<Integer> regionCodeList = regionModelList.stream().map(RegionModel::getRegionCode).collect(Collectors.toList());
List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodesByCompanyCodes(regionCodeList); List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodesByCompanyCodes(regionCodeList);
Map<String, String> companyMap = new HashMap<>(); Map<String, String> companyMap = new HashMap<>();
List<String> orgCodes = new ArrayList<>(); List<String> orgCodes = new ArrayList<>();
orgCodeByCompanyCodes.stream().forEach(t -> { orgCodeByCompanyCodes.forEach(t -> {
companyMap.put(t.get("companyCode") + "", t.get("orgCode")); companyMap.put(t.get("companyCode") + "", t.get("orgCode"));
if (StringUtils.isNotBlank(t.get("orgCode"))) { if (StringUtils.isNotBlank(t.get("orgCode"))) {
orgCodes.add(t.get("orgCode")); orgCodes.add(t.get("orgCode"));
...@@ -1030,7 +1051,7 @@ public class JGDPStatisticsServiceImpl { ...@@ -1030,7 +1051,7 @@ public class JGDPStatisticsServiceImpl {
Map<String, Integer> countMap = new HashMap<>(); Map<String, Integer> countMap = new HashMap<>();
List<Object> xDataList = new ArrayList<>(); List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>(); List<Object> yDataList = new ArrayList<>();
List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList()); List<Integer> regionCodeList = regionModelList.stream().map(RegionModel::getRegionCode).collect(Collectors.toList());
List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodesByCompanyCodes(regionCodeList); List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodesByCompanyCodes(regionCodeList);
Map<String, String> companyMap = new HashMap<>(); Map<String, String> companyMap = new HashMap<>();
List<String> orgCodes = new ArrayList<>(); List<String> orgCodes = new ArrayList<>();
...@@ -1072,11 +1093,11 @@ public class JGDPStatisticsServiceImpl { ...@@ -1072,11 +1093,11 @@ public class JGDPStatisticsServiceImpl {
Map<String, Integer> countMap = new HashMap<>(); Map<String, Integer> countMap = new HashMap<>();
List<Object> xDataList = new ArrayList<>(); List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>(); List<Object> yDataList = new ArrayList<>();
List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList()); List<Integer> regionCodeList = regionModelList.stream().map(RegionModel::getRegionCode).collect(Collectors.toList());
List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodesByCompanyCodes(regionCodeList); List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodesByCompanyCodes(regionCodeList);
Map<String, String> companyMap = new HashMap<>(); Map<String, String> companyMap = new HashMap<>();
List<String> orgCodes = new ArrayList<>(); List<String> orgCodes = new ArrayList<>();
orgCodeByCompanyCodes.stream().forEach(t -> { orgCodeByCompanyCodes.forEach(t -> {
companyMap.put(t.get("companyCode") + "", t.get("orgCode")); companyMap.put(t.get("companyCode") + "", t.get("orgCode"));
if (StringUtils.isNotBlank(t.get("orgCode"))) { if (StringUtils.isNotBlank(t.get("orgCode"))) {
orgCodes.add(t.get("orgCode")); orgCodes.add(t.get("orgCode"));
...@@ -1653,15 +1674,19 @@ public class JGDPStatisticsServiceImpl { ...@@ -1653,15 +1674,19 @@ public class JGDPStatisticsServiceImpl {
public List<Map<String, Object>> noticeList(DPFilterParamDto dpFilterParamDto) { public List<Map<String, Object>> noticeList(DPFilterParamDto dpFilterParamDto) {
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if(orgCode == null){
return new ArrayList<>();
}
String time = LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); String time = LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
List<Map<String,Object>> list = dpStatisticsMapper.selectNoticeList(orgCode,time); return dpStatisticsMapper.selectNoticeList(orgCode, time);
return list;
} }
public List<Map<String, Object>> noticeCountTop(DPFilterParamDto dpFilterParamDto) { public List<Map<String, Object>> noticeCountTop(DPFilterParamDto dpFilterParamDto) {
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if(orgCode == null){
return new ArrayList<>();
}
String time = LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); String time = LocalDate.now().minusDays(29).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
List<Map<String,Object>> list = dpStatisticsMapper.selectNoticeCountTopTen(orgCode,time); return dpStatisticsMapper.selectNoticeCountTopTen(orgCode, time);
return list;
} }
} }
...@@ -210,7 +210,7 @@ public class JYJCDPStatisticsServiceImpl { ...@@ -210,7 +210,7 @@ public class JYJCDPStatisticsServiceImpl {
public Map<String, Object> inspectPersonCount(DPFilterParamDto dpFilterParamDto) { public Map<String, Object> inspectPersonCount(DPFilterParamDto dpFilterParamDto) {
// 2.按照前端约定格式返回数据 // 2.按照前端约定格式返回数据
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
List<RegionModel> childRegion = stCommonService.setRegionIfRootParent(dpFilterParamDto); List<RegionModel> childRegion = stCommonService.setRegionIfRootParentAndNoAccessIf3Level(dpFilterParamDto);
if (childRegion.isEmpty()) { if (childRegion.isEmpty()) {
return new HashMap<>(0); return new HashMap<>(0);
} }
...@@ -250,6 +250,10 @@ public class JYJCDPStatisticsServiceImpl { ...@@ -250,6 +250,10 @@ public class JYJCDPStatisticsServiceImpl {
JYJCTypeEnum[] jyjcTypeEnums = JYJCTypeEnum.values(); JYJCTypeEnum[] jyjcTypeEnums = JYJCTypeEnum.values();
//2.1 x轴数据构造 //2.1 x轴数据构造
result.put("xdata", this.getXDataForInspectBizNumCount(jyjcTypeEnums)); result.put("xdata", this.getXDataForInspectBizNumCount(jyjcTypeEnums));
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if(orgCode == null){
return result;
}
//2.3 y轴数据构造 //2.3 y轴数据构造
this.buildYDataForFlowingAndFinishedInspectApp(result, jyjcTypeEnums, dpFilterParamDto); this.buildYDataForFlowingAndFinishedInspectApp(result, jyjcTypeEnums, dpFilterParamDto);
return result; return result;
...@@ -263,6 +267,10 @@ public class JYJCDPStatisticsServiceImpl { ...@@ -263,6 +267,10 @@ public class JYJCDPStatisticsServiceImpl {
JYJCTypeEnum[] jyjcTypeEnums = JYJCTypeEnum.values(); JYJCTypeEnum[] jyjcTypeEnums = JYJCTypeEnum.values();
//2.1 x轴数据构造 //2.1 x轴数据构造
result.put("xdata", this.getXDataForInspectBizNumCount(jyjcTypeEnums)); result.put("xdata", this.getXDataForInspectBizNumCount(jyjcTypeEnums));
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if(orgCode == null){
return result;
}
//2.3 y轴数据构造 //2.3 y轴数据构造
this.buildYDataForPendingResultInspectApp(result, jyjcTypeEnums, dpFilterParamDto); this.buildYDataForPendingResultInspectApp(result, jyjcTypeEnums, dpFilterParamDto);
return result; return result;
...@@ -295,11 +303,17 @@ public class JYJCDPStatisticsServiceImpl { ...@@ -295,11 +303,17 @@ public class JYJCDPStatisticsServiceImpl {
public List<InspectionTimelinesDto> queryInspectionTimelinessTopXX(String top, DPFilterParamDto dpFilterParamDto) { public List<InspectionTimelinesDto> queryInspectionTimelinessTopXX(String top, DPFilterParamDto dpFilterParamDto) {
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if(orgCode == null){
return new ArrayList<>();
}
return inspectionResultMapper.queryInspectionTimelinessTopXX(top, orgCode, dpFilterParamDto); return inspectionResultMapper.queryInspectionTimelinessTopXX(top, orgCode, dpFilterParamDto);
} }
public List<PublicityInspectOrgInfoDto> queryInspectionOrgListForPublicity(DPFilterParamDto dpFilterParamDto) { public List<PublicityInspectOrgInfoDto> queryInspectionOrgListForPublicity(DPFilterParamDto dpFilterParamDto) {
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if(orgCode == null){
return new ArrayList<>();
}
return openingApplicationMapper.queryInspectionOrgListForPublicity(orgCode, dpFilterParamDto); return openingApplicationMapper.queryInspectionOrgListForPublicity(orgCode, dpFilterParamDto);
} }
...@@ -311,6 +325,9 @@ public class JYJCDPStatisticsServiceImpl { ...@@ -311,6 +325,9 @@ public class JYJCDPStatisticsServiceImpl {
// 2.x轴数据构建 // 2.x轴数据构建
List<EquipmentCategoryDto> equipmentCategoryDtos = equipmentCategoryMapper.selectClassify(); List<EquipmentCategoryDto> equipmentCategoryDtos = equipmentCategoryMapper.selectClassify();
this.setXDataForInspectionEquipByEquList(result, equipmentCategoryDtos); this.setXDataForInspectionEquipByEquList(result, equipmentCategoryDtos);
if(orgCode == null){
return result;
}
// 3.y轴数据设置 // 3.y轴数据设置
// 目前都单设备报检故统计主表即可 // 目前都单设备报检故统计主表即可
List<CountDto> countDtos = inspectionApplicationMapper.queryAppByEquListForDP(orgCode, dpFilterParamDto); List<CountDto> countDtos = inspectionApplicationMapper.queryAppByEquListForDP(orgCode, dpFilterParamDto);
...@@ -472,6 +489,10 @@ public class JYJCDPStatisticsServiceImpl { ...@@ -472,6 +489,10 @@ public class JYJCDPStatisticsServiceImpl {
List<EquipmentCategoryDto> equipmentCategoryDtos = equipmentCategoryMapper.selectClassify(); List<EquipmentCategoryDto> equipmentCategoryDtos = equipmentCategoryMapper.selectClassify();
// 2.x轴数据构造 // 2.x轴数据构造
result.put("xdata", this.getEquListXDataCommon(equipmentCategoryDtos)); result.put("xdata", this.getEquListXDataCommon(equipmentCategoryDtos));
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto.getCityCode());
if(orgCode == null){
return result;
}
// 3.y轴数据构造 // 3.y轴数据构造
this.buildYDataForJyTime(result, dpFilterParamDto, equipmentCategoryDtos); this.buildYDataForJyTime(result, dpFilterParamDto, equipmentCategoryDtos);
return result; return result;
......
...@@ -17,6 +17,7 @@ import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper; ...@@ -17,6 +17,7 @@ import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.RegionModel; import com.yeejoin.amos.feign.systemctl.model.RegionModel;
import org.apache.lucene.queryparser.classic.QueryParser; import org.apache.lucene.queryparser.classic.QueryParser;
import org.bouncycastle.pqc.crypto.newhope.NHOtherInfoGenerator;
import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RequestOptions;
...@@ -36,6 +37,7 @@ import java.math.BigDecimal; ...@@ -36,6 +37,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -54,6 +56,12 @@ public class StCommonServiceImpl { ...@@ -54,6 +56,12 @@ public class StCommonServiceImpl {
*/ */
public final static String EQU_CATEGORY_CYLINDER = "2300"; public final static String EQU_CATEGORY_CYLINDER = "2300";
/**
* 行政区划级别-3级
*/
public final static String REGION_LEVEL_THIRD = "3";
private CommonBaseMapper commonMapper; private CommonBaseMapper commonMapper;
private RestHighLevelClient restHighLevelClient; private RestHighLevelClient restHighLevelClient;
...@@ -66,6 +74,8 @@ public class StCommonServiceImpl { ...@@ -66,6 +74,8 @@ public class StCommonServiceImpl {
private static Map<String, String> regionCodeOrgCodeMap = new ConcurrentHashMap<>(); private static Map<String, String> regionCodeOrgCodeMap = new ConcurrentHashMap<>();
private static Map<Integer, RegionModel> regionCodeRegionMap = new ConcurrentHashMap<>();
private static List<RegionModel> regionModels = new ArrayList<>(); private static List<RegionModel> regionModels = new ArrayList<>();
private static List<EquipmentCategoryDto> equipmentCategoryDtos; private static List<EquipmentCategoryDto> equipmentCategoryDtos;
...@@ -98,6 +108,7 @@ public class StCommonServiceImpl { ...@@ -98,6 +108,7 @@ public class StCommonServiceImpl {
regionModels.add(r); regionModels.add(r);
this.loopSetChildRegin(regionModels, r.getChildren()); this.loopSetChildRegin(regionModels, r.getChildren());
}); });
regionCodeRegionMap = regionModels.stream().collect(Collectors.toMap(RegionModel::getRegionCode, Function.identity(),(k1,k2)->k2));
} }
private void loopSetChildRegin(List<RegionModel> regionModels, Collection<RegionModel> children) { private void loopSetChildRegin(List<RegionModel> regionModels, Collection<RegionModel> children) {
...@@ -152,6 +163,11 @@ public class StCommonServiceImpl { ...@@ -152,6 +163,11 @@ public class StCommonServiceImpl {
return regions; return regions;
} }
/**
* 获取指定区域下的子区域
* @param regionCode 行政区划
* @return List<RegionModel>
*/
public List<RegionModel> setRegionIfRootParent(String regionCode) { public List<RegionModel> setRegionIfRootParent(String regionCode) {
List<RegionModel> regions = regionModels.parallelStream().filter(e -> e.getParentRegionCode() != null && (e.getParentRegionCode().toString()).equals(regionCode)).collect(Collectors.toList()); List<RegionModel> regions = regionModels.parallelStream().filter(e -> e.getParentRegionCode() != null && (e.getParentRegionCode().toString()).equals(regionCode)).collect(Collectors.toList());
// 陕西省时需要在地图返回独立的地级市:韩城、杨凌、西咸 // 陕西省时需要在地图返回独立的地级市:韩城、杨凌、西咸
...@@ -162,6 +178,37 @@ public class StCommonServiceImpl { ...@@ -162,6 +178,37 @@ public class StCommonServiceImpl {
return regions; return regions;
} }
/**
* 获取指定区域下的子区域,独立地市及区县级不再下钻,直接返回当前区域信息
*
* @param dpFilterParamDto 行政区划过滤条件
* @return List<RegionModel>
*/
public List<RegionModel> setRegionIfRootParentAndNoAccessIf3Level(DPFilterParamDto dpFilterParamDto) {
String regionCode = dpFilterParamDto.getCityCode();
// 独立地市、区县级别时(level=3),直接返回当前区域信息,不在显示街道
if((Arrays.stream(ReginStepEnum.values())).anyMatch(e->e.getCode().equals(regionCode)) || regionCodeRegionMap.get(Integer.parseInt(regionCode)).getLevel().trim().equals(REGION_LEVEL_THIRD)){
return Collections.singletonList(regionCodeRegionMap.get(Integer.parseInt(regionCode)));
} else {
return setRegionIfRootParent(regionCode);
}
}
/**
* 获取指定区域下的子区域,独立地市及区县级不再下钻,直接返回当前区域信息
* @param regionCode 行政区划
* @return List<RegionModel>
*/
public List<RegionModel> setRegionIfRootParentAndNoAccessIf3Level(String regionCode) {
// 独立地市、区县级别时(level=3),直接返回当前区域信息,不在显示街道
if((Arrays.stream(ReginStepEnum.values())).anyMatch(e->e.getCode().equals(regionCode)) || regionCodeRegionMap.get(Integer.parseInt(regionCode)).getLevel().trim().equals(REGION_LEVEL_THIRD)){
return Collections.singletonList(regionCodeRegionMap.get(Integer.parseInt(regionCode)));
} else {
return setRegionIfRootParent(regionCode);
}
}
public List<String> buildXData(List<RegionModel> regionList) { public List<String> buildXData(List<RegionModel> regionList) {
return regionList.stream().map(RegionModel::getRegionName).collect(Collectors.toList()); return regionList.stream().map(RegionModel::getRegionName).collect(Collectors.toList());
} }
......
...@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONObject; ...@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.dto.CountDto; import com.yeejoin.amos.boot.biz.common.dto.CountDto;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto; import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.common.api.entity.AlertRescueStatistics; import com.yeejoin.amos.boot.module.common.api.entity.AlertRescueStatistics;
import com.yeejoin.amos.boot.module.common.api.entity.AlertUseUnitStatistics; import com.yeejoin.amos.boot.module.common.api.entity.AlertUseUnitStatistics;
...@@ -79,13 +81,15 @@ public class YJDPStatisticsServiceImpl { ...@@ -79,13 +81,15 @@ public class YJDPStatisticsServiceImpl {
private StCommonServiceImpl stCommonService; private StCommonServiceImpl stCommonService;
private DataDictionaryServiceImpl dataDictionaryService;
/** /**
* 电梯设备品种 * 电梯设备品种
*/ */
private final String ELEVATOR_EQU_DEFINE_CODES = "3410,3420,3430,3310,3320,3210,3220,3120,3130,3110"; private final static String ELEVATOR_EQU_DEFINE_CODES = "3410,3420,3430,3310,3320,3210,3220,3120,3130,3110";
public YJDPStatisticsServiceImpl(AlertCalledMapper alertCalledMapper, AlertRescueStatisticsMapper alertRescueStatisticsMapper, AlertUseUnitStatisticsMapper alertUseUnitStatisticsMapper, AlertStatisticsMapper alertStatisticsMapper, DispatchTaskMapper dispatchTaskMapper, DispatchPaperMapper dispatchPaperMapper, RestHighLevelClient restHighLevelClient, StCommonServiceImpl stCommonService) { public YJDPStatisticsServiceImpl(AlertCalledMapper alertCalledMapper, AlertRescueStatisticsMapper alertRescueStatisticsMapper, AlertUseUnitStatisticsMapper alertUseUnitStatisticsMapper, AlertStatisticsMapper alertStatisticsMapper, DispatchTaskMapper dispatchTaskMapper, DispatchPaperMapper dispatchPaperMapper, RestHighLevelClient restHighLevelClient, StCommonServiceImpl stCommonService, DataDictionaryServiceImpl dataDictionaryService) {
this.alertCalledMapper = alertCalledMapper; this.alertCalledMapper = alertCalledMapper;
this.alertRescueStatisticsMapper = alertRescueStatisticsMapper; this.alertRescueStatisticsMapper = alertRescueStatisticsMapper;
this.alertUseUnitStatisticsMapper = alertUseUnitStatisticsMapper; this.alertUseUnitStatisticsMapper = alertUseUnitStatisticsMapper;
...@@ -94,6 +98,7 @@ public class YJDPStatisticsServiceImpl { ...@@ -94,6 +98,7 @@ public class YJDPStatisticsServiceImpl {
this.dispatchPaperMapper = dispatchPaperMapper; this.dispatchPaperMapper = dispatchPaperMapper;
this.restHighLevelClient = restHighLevelClient; this.restHighLevelClient = restHighLevelClient;
this.stCommonService = stCommonService; this.stCommonService = stCommonService;
this.dataDictionaryService = dataDictionaryService;
} }
public JSONObject eventStatByDay(DPFilterParamDto dpFilterParamDto) throws Exception { public JSONObject eventStatByDay(DPFilterParamDto dpFilterParamDto) throws Exception {
...@@ -110,19 +115,23 @@ public class YJDPStatisticsServiceImpl { ...@@ -110,19 +115,23 @@ public class YJDPStatisticsServiceImpl {
List<Object> trapped = new ArrayList<>(); List<Object> trapped = new ArrayList<>();
List<Object> complaint = new ArrayList<>(); List<Object> complaint = new ArrayList<>();
List<Object> fault = new ArrayList<>(); List<Object> fault = new ArrayList<>();
List<Map<String, Object>> maps = alertCalledMapper.queryNearlyList(beginDate, endDate, orgCode); List<Map<String, Object>> maps = new ArrayList<>();
everyDay.stream().forEach(day -> { if(orgCode != null){
maps = alertCalledMapper.queryNearlyList(beginDate, endDate, orgCode);
}
List<Map<String, Object>> finalMaps = maps;
everyDay.forEach(day -> {
try { try {
xdata.add(DateUtil.formatDate(DateUtil.formatStringToDate(day, DateUtil.Y_M_D), "MM.dd")); xdata.add(DateUtil.formatDate(DateUtil.formatStringToDate(day, DateUtil.Y_M_D), "MM.dd"));
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
Map<String, Object> map = maps.stream().filter(x -> day.equals(x.get("day"))).collect(Collectors.toMap( Map<String, Object> map = finalMaps.stream().filter(x -> day.equals(x.get("day"))).collect(Collectors.toMap(
item -> (String) item.get("alarmType"), item -> (String) item.get("alarmType"),
item -> item.get("majorAlertCount"))); item -> item.get("majorAlertCount")));
trapped.add(!ValidationUtil.isEmpty(map.get("困人救援")) ? Integer.valueOf(map.get("困人救援").toString()) : 0); trapped.add(!ValidationUtil.isEmpty(map.get("困人救援")) ? Integer.parseInt(map.get("困人救援").toString()) : 0);
complaint.add(!ValidationUtil.isEmpty(map.get("投诉咨询")) ? Integer.valueOf(map.get("投诉咨询").toString()) : 0); complaint.add(!ValidationUtil.isEmpty(map.get("投诉咨询")) ? Integer.parseInt(map.get("投诉咨询").toString()) : 0);
fault.add(!ValidationUtil.isEmpty(map.get("故障维修")) ? Integer.valueOf(map.get("故障维修").toString()) : 0); fault.add(!ValidationUtil.isEmpty(map.get("故障维修")) ? Integer.parseInt(map.get("故障维修").toString()) : 0);
}); });
jsonObject.put("xdata", xdata); jsonObject.put("xdata", xdata);
...@@ -133,7 +142,7 @@ public class YJDPStatisticsServiceImpl { ...@@ -133,7 +142,7 @@ public class YJDPStatisticsServiceImpl {
} }
public JSONObject elevatorCountStat(DPFilterParamDto dpFilterParamDto) { public JSONObject elevatorCountStat(DPFilterParamDto dpFilterParamDto) {
List<RegionModel> regionList = stCommonService.setRegionIfRootParent(dpFilterParamDto); List<RegionModel> regionList = stCommonService.setRegionIfRootParentAndNoAccessIf3Level(dpFilterParamDto);
List<String> xdata = regionList.stream().map(RegionModel::getRegionName).collect(Collectors.toList()); List<String> xdata = regionList.stream().map(RegionModel::getRegionName).collect(Collectors.toList());
List<Long> ydata = new ArrayList<>(); List<Long> ydata = new ArrayList<>();
...@@ -152,28 +161,46 @@ public class YJDPStatisticsServiceImpl { ...@@ -152,28 +161,46 @@ public class YJDPStatisticsServiceImpl {
} }
public JSONObject eventStatByLocation(DPFilterParamDto dpFilterParamDto) throws Exception { public JSONObject eventStatByLocation(DPFilterParamDto dpFilterParamDto) throws Exception {
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto);
dpFilterParamDto.setBeginDate(DateUtil.formatDate(DateTimeUtil.getMinValueOfOneDay(DateTimeUtil.addMonths(new Date(), -1)), DateUtil.Y_M_D_HMS)); dpFilterParamDto.setBeginDate(DateUtil.formatDate(DateTimeUtil.getMinValueOfOneDay(DateTimeUtil.addMonths(new Date(), -1)), DateUtil.Y_M_D_HMS));
dpFilterParamDto.setEndDate(DateUtil.formatDate(DateTimeUtil.getMaxValueOfOneDay(new Date()), DateUtil.Y_M_D_HMS)); dpFilterParamDto.setEndDate(DateUtil.formatDate(DateTimeUtil.getMaxValueOfOneDay(new Date()), DateUtil.Y_M_D_HMS));
// 查询字典 ADDRESS id name
List<Map<String, Object>> maps = alertCalledMapper.queryListByLocation(orgCode, dpFilterParamDto); List<DataDictionary> dataDictionaries = dataDictionaryService.getByType("ADDRESS");
List<Object> xdata = maps.stream().map(item -> item.get("name")).collect(Collectors.toList()); List<Object> xdata = dataDictionaries.stream().map(DataDictionary::getName).collect(Collectors.toList());
List<Object> ydata = maps.stream().map(item -> item.get("majorAlertCount")).collect(Collectors.toList()); List<Object> ydata;
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto);
if(orgCode == null){
ydata = dataDictionaries.stream().map(d-> 0L).collect(Collectors.toList());
} else {
List<CountDto> maps = alertCalledMapper.queryListByLocation(orgCode, dpFilterParamDto);
Map<String, Long> addressNumMap = maps.stream().collect(Collectors.toMap(CountDto::getKeyStr,CountDto::getLongValue));
ydata = dataDictionaries.stream().map(d-> {
Long num = 0L;
// 目前USE_PLACE字段存放字典的id
if(addressNumMap.get(d.getSequenceNbr().toString()) != null){
num = addressNumMap.get(d.getSequenceNbr().toString());
}
// 数据库中老数据历史问题存放字典的name,兼容对老数据的统计
if(addressNumMap.get(d.getName()) != null){
num = num + addressNumMap.get(d.getName());
}
return num;
}).collect(Collectors.toList());
}
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("xdata", xdata); jsonObject.put("xdata", xdata);
jsonObject.put("ydata", ydata); jsonObject.put("ydata", ydata);
return jsonObject; return jsonObject;
} }
public JSONObject faultCauseRatio(DPFilterParamDto dpFilterParamDto) throws Exception { public JSONObject faultCauseRatio(DPFilterParamDto dpFilterParamDto) {
JSONObject jsonObject = new JSONObject();
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto);
if(orgCode == null){
return jsonObject;
}
List<Map<String, Object>> maps = alertCalledMapper.faultCauseRatio(orgCode); List<Map<String, Object>> maps = alertCalledMapper.faultCauseRatio(orgCode);
List<Object> xdata = maps.stream().map(item -> item.get("errorResult")).collect(Collectors.toList()); List<Object> xdata = maps.stream().map(item -> item.get("errorResult")).collect(Collectors.toList());
List<Object> ydata = maps.stream().map(item -> item.get("majorAlertCount")).collect(Collectors.toList()); List<Object> ydata = maps.stream().map(item -> item.get("majorAlertCount")).collect(Collectors.toList());
JSONObject jsonObject = new JSONObject();
jsonObject.put("xdata", xdata); jsonObject.put("xdata", xdata);
jsonObject.put("ydata", ydata); jsonObject.put("ydata", ydata);
return jsonObject; return jsonObject;
...@@ -282,6 +309,9 @@ public class YJDPStatisticsServiceImpl { ...@@ -282,6 +309,9 @@ public class YJDPStatisticsServiceImpl {
public List<Map<String, Object>> rankUnitByRescueTime(DPFilterParamDto dpFilterParamDto) { public List<Map<String, Object>> rankUnitByRescueTime(DPFilterParamDto dpFilterParamDto) {
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamDto);
if(orgCode == null){
return new ArrayList<>();
}
List<Map<String, Object>> maps = dispatchTaskMapper.rankUnitByRescueTime(orgCode); List<Map<String, Object>> maps = dispatchTaskMapper.rankUnitByRescueTime(orgCode);
maps.forEach(x -> { maps.forEach(x -> {
String avgTime = ""; String avgTime = "";
......
package com.yeejoin.amos.boot.module.statistcs.biz.service.impl; package com.yeejoin.amos.boot.module.statistcs.biz.service.impl;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.dto.CountDto;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary; import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl; import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto; import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
...@@ -464,14 +461,20 @@ public class ZLDPStatisticsServiceImpl { ...@@ -464,14 +461,20 @@ public class ZLDPStatisticsServiceImpl {
public List<Map<String, Object>> equipmentInformCount(DPFilterParamDto screenDto) { public List<Map<String, Object>> equipmentInformCount(DPFilterParamDto screenDto) {
SearchRequest searchRequest = new SearchRequest("idx_biz_view_jg_all"); SearchRequest searchRequest = new SearchRequest("idx_biz_view_jg_all");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
List<DataDictionary> dataDictionaryList = iDataDictionaryService.getByType("ADDRESS");
//设置模糊搜索 //设置模糊搜索
String orgCode = stCommonService.getAndSetOrgCode(screenDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(screenDto.getCityCode());
List<Map<String, Object>> returnList = new ArrayList<>();
if(orgCode == null){
this.setEquipmentInformCountDefaultData(returnList, dataDictionaryList);
return returnList;
}
searchSourceBuilder.query(QueryBuilders.boolQuery() searchSourceBuilder.query(QueryBuilders.boolQuery()
.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*"))); .must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(orgCode) + "*")));
searchSourceBuilder.aggregation(AggregationBuilders.terms("count_by_use_site_code").field("USE_SITE_CODE").size(500)); searchSourceBuilder.aggregation(AggregationBuilders.terms("count_by_use_site_code").field("USE_SITE_CODE").size(500));
searchRequest.source(searchSourceBuilder); searchRequest.source(searchSourceBuilder);
Map<String, Integer> dataMap = new HashMap<>(); Map<String, Integer> dataMap = new HashMap<>();
List<Map<String, Object>> returnList = new ArrayList<>();
try { try {
// 执行搜索请求 // 执行搜索请求
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT); SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
...@@ -484,7 +487,6 @@ public class ZLDPStatisticsServiceImpl { ...@@ -484,7 +487,6 @@ public class ZLDPStatisticsServiceImpl {
long docCount = bucket.getDocCount(); long docCount = bucket.getDocCount();
dataMap.put(category, (int) docCount); dataMap.put(category, (int) docCount);
} }
List<DataDictionary> dataDictionaryList = iDataDictionaryService.getByType("ADDRESS");
dataDictionaryList.stream().forEach(x -> { dataDictionaryList.stream().forEach(x -> {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("name", x.getName()); map.put("name", x.getName());
...@@ -502,6 +504,14 @@ public class ZLDPStatisticsServiceImpl { ...@@ -502,6 +504,14 @@ public class ZLDPStatisticsServiceImpl {
return returnList; return returnList;
} }
private void setEquipmentInformCountDefaultData(List<Map<String, Object>> returnList, List<DataDictionary> dataDictionaryList) {
dataDictionaryList.forEach(x -> {
Map<String, Object> map = new HashMap<>();
map.put("name", x.getName());
map.put("value", 0);
returnList.add(map);
});
}
public Map<String,Object> userCountNew(DPFilterParamDto screenDto) { public Map<String,Object> userCountNew(DPFilterParamDto screenDto) {
List<String> unitTypeList = UnitTypeEnum.getNameListByType(screenDto.getCompanyType()); List<String> unitTypeList = UnitTypeEnum.getNameListByType(screenDto.getCompanyType());
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.dto.CountDto;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto; import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.ymt.api.dto.AlertCalledQueryDto; import com.yeejoin.amos.boot.module.ymt.api.dto.AlertCalledQueryDto;
import com.yeejoin.amos.boot.module.ymt.api.dto.AlertCalledRecordDto; import com.yeejoin.amos.boot.module.ymt.api.dto.AlertCalledRecordDto;
...@@ -130,7 +131,7 @@ public interface AlertCalledMapper extends BaseMapper<AlertCalled> { ...@@ -130,7 +131,7 @@ public interface AlertCalledMapper extends BaseMapper<AlertCalled> {
* *
* @return * @return
*/ */
List<Map<String, Object>> queryListByLocation(@Param("regionCode") String regionCode, @Param("dto") DPFilterParamDto filterParamDto); List<CountDto> queryListByLocation(@Param("regionCode") String regionCode, @Param("dto") DPFilterParamDto filterParamDto);
/** /**
* 接警情况统计(故障原因) * 接警情况统计(故障原因)
* *
......
...@@ -640,25 +640,22 @@ ...@@ -640,25 +640,22 @@
day ASC day ASC
</select> </select>
<select id="queryListByLocation" resultType="java.util.Map"> <select id="queryListByLocation" resultType="com.yeejoin.amos.boot.biz.common.dto.CountDto">
SELECT SELECT
ifnull ( SUM ( CASE WHEN father_alert IS NULL THEN 1 ELSE 0 END ), 0 ) AS majorAlertCount, ifnull ( SUM ( CASE WHEN father_alert IS NULL THEN 1 ELSE 0 END ), 0 ) AS longValue,
cdd.NAME as name ibjuj."USE_PLACE" as keyStr
FROM FROM
tz_alert_called tac tz_alert_called tac
LEFT JOIN idx_biz_jg_use_info ibjuj ON tac.equipment_id = ibjuj.RECORD LEFT JOIN idx_biz_jg_use_info ibjuj ON tac.equipment_id = ibjuj.RECORD
LEFT JOIN cb_data_dictionary cdd ON ibjuj.USE_PLACE = cdd.sequence_nbr
WHERE WHERE
tac.biz_org_code LIKE concat(#{regionCode}, '%') tac.biz_org_code LIKE concat(#{regionCode}, '%')
AND (tac.alarm_type_code = '960' or tac.alarm_type_code = '961') AND (tac.alarm_type_code = '960' or tac.alarm_type_code = '961')
AND AND ibjuj.USE_PLACE is NOT NULL
ibjuj.USE_PLACE is NOT NULL
AND cdd.NAME is NOT NULL
<if test="dto.beginDate !=null and dto.beginDate !='' and dto.endDate !=null and dto.endDate !=''"> <if test="dto.beginDate !=null and dto.beginDate !='' and dto.endDate !=null and dto.endDate !=''">
AND tac.call_time BETWEEN #{dto.beginDate} AND #{dto.endDate} AND tac.call_time BETWEEN #{dto.beginDate} AND #{dto.endDate}
</if> </if>
GROUP BY GROUP BY
cdd.NAME ibjuj."USE_PLACE"
ORDER BY ibjuj.USE_PLACE ASC ORDER BY ibjuj.USE_PLACE ASC
</select> </select>
......
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