|
@@ -12,8 +12,10 @@ import com.bizmatics.mhfire.service.FireStatisticsService;
|
|
|
import com.bizmatics.mhfire.service.UnitService;
|
|
|
|
|
|
import com.bizmatics.mhfire.service.util.Arith;
|
|
|
+import com.bizmatics.mhfire.service.vo.FireBubbleVO;
|
|
|
import com.bizmatics.mhfire.service.vo.FireLevelRatioVO;
|
|
|
import com.bizmatics.mhfire.service.vo.FireUnitPoliceVO;
|
|
|
+import net.sf.jsqlparser.statement.alter.Alter;
|
|
|
import org.checkerframework.checker.nullness.Opt;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -55,7 +57,7 @@ public class FireStatisticsServiceImpl implements FireStatisticsService {
|
|
|
Date setMonths = DateUtils.setMonths(date, i);
|
|
|
Date firstDayOfMonth = DateUtils.getFirstDayOfMonth(setMonths);
|
|
|
Date lastDayOfMonth = DateUtils.getLastDayOfMonth(setMonths);
|
|
|
- thisYearList.add(fireStatisticsMapper.selectCount(firstDayOfMonth, lastDayOfMonth, address,fireType,null));
|
|
|
+ thisYearList.add(fireStatisticsMapper.selectCount(firstDayOfMonth, lastDayOfMonth, address,fireType,null,null));
|
|
|
//月平均值
|
|
|
Integer monthCount = fireStatisticsMapper.selectCountByRangeDate(startMax, endMax, address, fireType,i+1);
|
|
|
monthList.add(Arith.div(monthCount, distanceOfTwoDate,2));
|
|
@@ -110,7 +112,7 @@ public class FireStatisticsServiceImpl implements FireStatisticsService {
|
|
|
}
|
|
|
FireLevelRatioVO fireLevelRatioVo = new FireLevelRatioVO();
|
|
|
fireLevelRatioVo.setFireType(cause);
|
|
|
- Integer count = fireStatisticsMapper.selectCount(startTime, endTime, address, cause,null);
|
|
|
+ Integer count = fireStatisticsMapper.selectCount(startTime, endTime, address, cause,null,null);
|
|
|
fireLevelRatioVo.setRadio(count.doubleValue());
|
|
|
list.add(fireLevelRatioVo);
|
|
|
fireCount+=count;
|
|
@@ -146,7 +148,7 @@ public class FireStatisticsServiceImpl implements FireStatisticsService {
|
|
|
for (String cause:fireTypes) {
|
|
|
FireLevelRatioVO fireLevelRatioVo = new FireLevelRatioVO();
|
|
|
fireLevelRatioVo.setFireType(cause);
|
|
|
- Integer count = fireStatisticsMapper.selectCount(null, null,null, cause,null);
|
|
|
+ Integer count = fireStatisticsMapper.selectCount(null, null,null, cause,null,null);
|
|
|
fireLevelRatioVo.setRadio(count.doubleValue());
|
|
|
list.add(fireLevelRatioVo);
|
|
|
}
|
|
@@ -162,7 +164,7 @@ public class FireStatisticsServiceImpl implements FireStatisticsService {
|
|
|
for (String address:lists) {
|
|
|
FireLevelRatioVO fireLevelRatioVo = new FireLevelRatioVO();
|
|
|
fireLevelRatioVo.setFireType(address);
|
|
|
- Integer count = fireStatisticsMapper.selectCount(null, null,address, null,null);
|
|
|
+ Integer count = fireStatisticsMapper.selectCount(null, null,null, null,null,address);
|
|
|
fireLevelRatioVo.setRadio(count.doubleValue());
|
|
|
list.add(fireLevelRatioVo);
|
|
|
}
|
|
@@ -170,6 +172,27 @@ public class FireStatisticsServiceImpl implements FireStatisticsService {
|
|
|
.map(FireLevelRatioVO::getFireType).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<FireBubbleVO> getAvgAndSum(Date startTime, Date endTime,String fireType, String unitId) {
|
|
|
+ List<FireBubbleVO> list = new ArrayList<>();
|
|
|
+ List<String> lists = fireStatisticsMapper.getAddress().stream().filter(StringUtils::isNotBlank).filter(s -> !s.contains("派出所")).collect(Collectors.toList());
|
|
|
+ lists.forEach(s -> {
|
|
|
+ Map<String, Double> maps = fireStatisticsMapper.selectAvgAndSum(startTime, endTime, s, fireType, unitId);
|
|
|
+ FireBubbleVO fireBubbleVo = new FireBubbleVO();
|
|
|
+ fireBubbleVo.setRegion(s);
|
|
|
+ fireBubbleVo.setFireCount(fireStatisticsMapper.selectCount(startTime,endTime,null,fireType,unitId,s));
|
|
|
+ if (null != maps){
|
|
|
+ fireBubbleVo.setDeathToll(Optional.ofNullable(maps.get("deathPerson")).map(Double::intValue).orElse(0));
|
|
|
+ fireBubbleVo.setFireArea(Arith.div(maps.get("fireArea"),1));
|
|
|
+ }else {
|
|
|
+ fireBubbleVo.setDeathToll(0);
|
|
|
+ fireBubbleVo.setFireArea(0.00);
|
|
|
+ }
|
|
|
+ list.add(fireBubbleVo);
|
|
|
+ });
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
public FireStatisticsPO enhanceFireStatisticsPo(Map<String,String> map){FireStatisticsPO fireStatisticsPo = new FireStatisticsPO();
|
|
|
fireStatisticsPo.setId(Optional.ofNullable(map.get("火灾序号")).filter(s -> !"null".equals(s)).orElse(""));
|
|
|
fireStatisticsPo.setAddress(Optional.ofNullable(map.get("起火地点")).filter(s -> !"null".equals(s)).orElse(""));
|