|
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.google.common.collect.Lists;
|
|
|
+import com.mysql.cj.x.protobuf.MysqlxDatatypes;
|
|
|
import com.ruoyi.common.core.utils.bean.BeanUtils;
|
|
|
import com.usky.common.core.bean.CommonPage;
|
|
|
import com.usky.common.core.exception.BusinessException;
|
|
@@ -15,10 +16,7 @@ import com.usky.common.core.util.Arith;
|
|
|
import com.usky.common.core.util.DateUtils;
|
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
|
-import com.usky.fire.domain.DemFileLabel;
|
|
|
-import com.usky.fire.domain.DemFireLabelAttribute;
|
|
|
-import com.usky.fire.domain.DemFireStatistics;
|
|
|
-import com.usky.fire.domain.DemFireStatisticsAttach;
|
|
|
+import com.usky.fire.domain.*;
|
|
|
import com.usky.fire.mapper.DemFireStatisticsMapper;
|
|
|
import com.usky.fire.service.DemFileLabelService;
|
|
|
import com.usky.fire.service.DemFireLabelAttributeService;
|
|
@@ -810,6 +808,97 @@ public class DemFireStatisticsServiceImpl extends AbstractCrudService<DemFireSta
|
|
|
return new CommonPage<>(list, page.getTotal(), page.getSize(), page.getCurrent());
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<DemFireStatisticsScattorVO> fireStatisticScattor(String street, String lossType, String startTime, String endTime){
|
|
|
+ List<DemFireStatisticsScattorVO> list = new ArrayList<>();
|
|
|
+// LambdaQueryWrapper<DemFireStatistics> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+// List<DemFireStatistics> dataList = this.list(queryWrapper);
|
|
|
+// if(CollectionUtils.isNotEmpty(dataList)){
|
|
|
+// for (int i = 0; i < dataList.size(); i++) {
|
|
|
+// if(StringUtils.isBlank(dataList.get(i).getStreet()) || (dataList.get(i).getStreet()).length() == 0){
|
|
|
+// List<LocateInfo> infoList = OnlineMethod.getLonLat(dataList.get(i).getFireAddress());
|
|
|
+// if(infoList.size() > 0){
|
|
|
+// dataList.get(i).setLatitude(infoList.get(0).getLatitude().toString());
|
|
|
+// dataList.get(i).setLongitude(infoList.get(0).getLongitude().toString());
|
|
|
+// dataList.get(i).setDistrict(infoList.get(0).getDistrict());
|
|
|
+// this.updateById(dataList.get(i));
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// LambdaQueryWrapper<DemFireStatistics> queryWrapper11 = Wrappers.lambdaQuery();
|
|
|
+// List<DemFireStatistics> dataList11 = this.list(queryWrapper11);
|
|
|
+// if(CollectionUtils.isNotEmpty(dataList11)){
|
|
|
+// for (int i = 0; i < dataList11.size(); i++) {
|
|
|
+// if(StringUtils.isBlank(dataList11.get(i).getStreet()) || (dataList11.get(i).getStreet()).length() == 0){
|
|
|
+// String location = dataList11.get(i).getLongitude() + "," + dataList11.get(i).getLatitude();
|
|
|
+// String streetTown = OnlineMethod.getStreetTown(location);
|
|
|
+// System.out.println(streetTown);
|
|
|
+// if (StringUtils.isNotBlank(streetTown)) {
|
|
|
+// dataList11.get(i).setStreet(streetTown);
|
|
|
+// this.updateById(dataList11.get(i));
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+ LambdaQueryWrapper<DemFireStatistics> queryWrapper1 = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper1.eq(StringUtils.isNotBlank(street),DemFireStatistics::getStreet,street)
|
|
|
+ .between(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime),DemFireStatistics::getFireTime,startTime,endTime);
|
|
|
+ if(StringUtils.isNotBlank(lossType)){
|
|
|
+ if(lossType.equals("亡人火灾")){
|
|
|
+ queryWrapper1.gt(DemFireStatistics::getDeathToll,0);
|
|
|
+ }else if(lossType.equals("伤人火灾")){
|
|
|
+ queryWrapper1.gt(DemFireStatistics::getInjuredNumber,0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<DemFireStatistics> dataList1 = this.list(queryWrapper1);
|
|
|
+ if(CollectionUtils.isNotEmpty(dataList1)){
|
|
|
+ for (int i = 0; i < dataList1.size(); i++) {
|
|
|
+ DemFireStatisticsScattorVO scattorVO = new DemFireStatisticsScattorVO();
|
|
|
+ scattorVO.setFireNumber(dataList1.get(i).getFireNumber());
|
|
|
+ scattorVO.setFireTime(dataList1.get(i).getFireTime());
|
|
|
+ scattorVO.setFireAddress(dataList1.get(i).getFireAddress());
|
|
|
+ scattorVO.setFireProcess(dataList1.get(i).getFireProcess());
|
|
|
+ scattorVO.setDirectPropertyLoss(dataList1.get(i).getDirectPropertyLoss());
|
|
|
+ scattorVO.setBurnedArea(dataList1.get(i).getBurnedArea());
|
|
|
+ scattorVO.setAffectedHouse(dataList1.get(i).getAffectedHouse());
|
|
|
+ scattorVO.setVictimNumber(dataList1.get(i).getVictimNumber());
|
|
|
+ scattorVO.setDeathToll(dataList1.get(i).getDeathToll());
|
|
|
+ scattorVO.setInjuredNumber(dataList1.get(i).getInjuredNumber());
|
|
|
+ scattorVO.setLongitude(dataList1.get(i).getLongitude());
|
|
|
+ scattorVO.setLatitude(dataList1.get(i).getLatitude());
|
|
|
+ scattorVO.setDistrict(dataList1.get(i).getDistrict());
|
|
|
+ scattorVO.setStreet(dataList1.get(i).getStreet());
|
|
|
+ list.add(scattorVO);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<DemFireStatisticsCountScattorVO> fireStatisticCollect(String street, String startTime, String endTime){
|
|
|
+ List<DemFireStatisticsCountScattorVO> list = new ArrayList<>();
|
|
|
+ QueryWrapper<DemFireStatistics> queryWrapper = Wrappers.query();
|
|
|
+ queryWrapper.select("ROUND(SUM(direct_property_loss)/10000,2) as directPropertyLossTotal","COUNT(*) as fireCount","ROUND(SUM(burned_area),2) as burnedAreaTotal","SUM(death_toll) as deathTollTotal","SUM(injured_number) as injuredNumberTotal")
|
|
|
+ .eq(StringUtils.isNotBlank(street),"street",street)
|
|
|
+ .between(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime),"fire_time",startTime,endTime);
|
|
|
+ List<Map<String,Object>> maps = this.listMaps(queryWrapper);
|
|
|
+ if(maps.size() > 0){
|
|
|
+ DemFireStatisticsCountScattorVO scattorVO = new DemFireStatisticsCountScattorVO();
|
|
|
+ scattorVO.setDirectPropertyLossTotal(Double.parseDouble(maps.get(0).get("directPropertyLossTotal").toString()));
|
|
|
+ scattorVO.setFireCount(Integer.parseInt(maps.get(0).get("fireCount").toString()));
|
|
|
+ scattorVO.setBurnedAreaTotal(Double.parseDouble(maps.get(0).get("burnedAreaTotal").toString()));
|
|
|
+ scattorVO.setDeathTollTotal((int)Math.round(Double.parseDouble(maps.get(0).get("deathTollTotal").toString())));
|
|
|
+ scattorVO.setInjuredNumberTotal((int)Math.round(Double.parseDouble(maps.get(0).get("injuredNumberTotal").toString())));
|
|
|
+ list.add(scattorVO);
|
|
|
+ }
|
|
|
+
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<FireBubbleVO> getAvgAndSum(String startTime, String endTime, String fireType, String unitId) {
|
|
|
List<FireBubbleVO> fireBubbleVOS = new ArrayList<>();
|