|
@@ -1,5 +1,6 @@
|
|
|
package com.ruoyi.web.controller.qdtl;
|
|
|
|
|
|
+import cn.hutool.core.convert.Convert;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
@@ -12,13 +13,17 @@ import com.ruoyi.common.core.controller.BaseController;
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
import com.ruoyi.common.core.redis.RedisCache;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
+import com.ruoyi.qdtl.domain.IncidentAreaNum;
|
|
|
+import com.ruoyi.qdtl.domain.IncidentDetailAreaNum;
|
|
|
import com.ruoyi.qdtl.domain.MonitorStatic;
|
|
|
import com.ruoyi.qdtl.domain.TlArea;
|
|
|
+import com.ruoyi.qdtl.domain.TlIncident;
|
|
|
import com.ruoyi.qdtl.domain.TlInspectionLocation;
|
|
|
import com.ruoyi.qdtl.domain.TlInspectionLocationLog;
|
|
|
import com.ruoyi.qdtl.domain.UserCheckPoint;
|
|
|
import com.ruoyi.qdtl.service.IQdCommonService;
|
|
|
import com.ruoyi.qdtl.service.ITlAreaService;
|
|
|
+import com.ruoyi.qdtl.service.ITlIncidentService;
|
|
|
import com.ruoyi.qdtl.service.ITlInspectionLocationLogService;
|
|
|
import com.ruoyi.qdtl.service.ITlInspectionLocationService;
|
|
|
import com.ruoyi.qdtl.service.ITlMonitorService;
|
|
@@ -40,6 +45,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
import sun.misc.BASE64Decoder;
|
|
|
|
|
|
import java.io.File;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -67,6 +73,7 @@ public class TlCommonController extends BaseController {
|
|
|
private final IQdCommonService qdCommonService;
|
|
|
|
|
|
private final ITlSinglePawnService singlePawnService;
|
|
|
+ private final ITlIncidentService incidentService;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -175,6 +182,31 @@ public class TlCommonController extends BaseController {
|
|
|
DateTime startDate = DateUtil.offsetDay(endDate, -6);
|
|
|
List<JSONObject> locationLogDaysList = tlInspectionLocationLogService.queryDistanceByDateRange(DateUtil.formatDate(startDate), DateUtil.formatDate(endDate));
|
|
|
map.put("locationLogDaysList", locationLogDaysList);
|
|
|
+ // 隐患分析
|
|
|
+ List<TlIncident> tlIncidents = incidentService.selectTlIncidentList(new TlIncident());
|
|
|
+ long unDealTotal = tlIncidents.stream().filter(obj -> "1".equals(obj.getStatus())).count();
|
|
|
+ Map<String, Map<String, Integer>> incidentDetailCount = tlIncidents.stream().collect(Collectors.groupingBy(TlIncident::getArea, Collectors.groupingBy(TlIncident::getStatus, Collectors.summingInt(e -> 1))));
|
|
|
+ Map<String, Integer> incidentCount = tlIncidents.stream().collect(Collectors.groupingBy(TlIncident::getArea, Collectors.summingInt(e -> 1)));
|
|
|
+ map.put("unDealTotal", unDealTotal); // 未处理隐患总数
|
|
|
+ map.put("incidentTotal", tlIncidents.size()); // 隐患总数
|
|
|
+ TlArea tlArea = new TlArea();
|
|
|
+ tlArea.setAreaType("1");
|
|
|
+ List<TlArea> areas = tlAreaService.selectTlAreaList(tlArea);
|
|
|
+ List<IncidentAreaNum> areaIncidentTotals = new ArrayList<>();
|
|
|
+ List<IncidentDetailAreaNum> incidentDetailCounts = new ArrayList<>();
|
|
|
+ for (TlArea area : areas) {
|
|
|
+ IncidentAreaNum incidentAreaNum = new IncidentAreaNum();
|
|
|
+ incidentAreaNum.setAreaName(area.getAreaName());
|
|
|
+ incidentAreaNum.setNum(incidentCount.getOrDefault(Convert.toStr(area.getId()), 0));
|
|
|
+ areaIncidentTotals.add(incidentAreaNum);
|
|
|
+
|
|
|
+ IncidentDetailAreaNum incidentDetailAreaNum = new IncidentDetailAreaNum();
|
|
|
+ incidentDetailAreaNum.setAreaName(area.getAreaName());
|
|
|
+ incidentDetailAreaNum.setDetail(incidentDetailCount.get(Convert.toStr(area.getId())));
|
|
|
+ incidentDetailCounts.add(incidentDetailAreaNum);
|
|
|
+ }
|
|
|
+ map.put("areaIncidentTotal", areaIncidentTotals); // 各区域隐患占比
|
|
|
+ map.put("areaIncidentDetail", incidentDetailCounts); // 各区域隐患分项占比
|
|
|
|
|
|
return AjaxResult.success(map);
|
|
|
}
|