Bläddra i källkod

火灾模块业务修改

yq 4 år sedan
förälder
incheckning
ed028c7693

+ 1 - 0
mhfire-mapping/src/main/resources/mapper/mysql/FireStatisticsMapper.xml

@@ -37,6 +37,7 @@
                 and `起火地点` LIKE CONCAT(CONCAT('%', #{address}), '%')
             </if>
         </where>
+        order by isnull(`死亡人数`) || `死亡人数`='null' || `死亡人数`='' asc,`死亡人数` desc
     </select>
     <select id="getOne" resultType="java.util.Map">
         select * from `hzdc-hztjb` where `火灾序号` = #{id};

+ 23 - 2
mhfire-service/src/main/java/com/bizmatics/mhfire/service/impl/FireStatisticsServiceImpl.java

@@ -121,12 +121,33 @@ public class FireStatisticsServiceImpl implements FireStatisticsService {
 
     @Override
     public List<String> getFireType() {
-        return fireStatisticsMapper.groupByCause().stream().filter(StringUtils::isNotBlank).collect(Collectors.toList());
+        List<FireLevelRatioVO> list = new ArrayList<>();
+        List<String> fireTypes = fireStatisticsMapper.groupByCause().stream().filter(StringUtils::isNotBlank).collect(Collectors.toList());
+        for (String cause:fireTypes) {
+            FireLevelRatioVO fireLevelRatioVo = new FireLevelRatioVO();
+            fireLevelRatioVo.setFireType(cause);
+            Integer count = fireStatisticsMapper.selectCount(null, null,null, cause,null);
+            fireLevelRatioVo.setRadio(count.doubleValue());
+            list.add(fireLevelRatioVo);
+        }
+        return list.stream().sorted(Comparator.comparing(FireLevelRatioVO::getRadio).reversed())
+                .map(FireLevelRatioVO::getFireType).collect(Collectors.toList());
+
     }
 
     @Override
     public List<String> getAddress() {
-        return fireStatisticsMapper.getAddress().stream().filter(StringUtils::isNotBlank).collect(Collectors.toList());
+        List<FireLevelRatioVO> list = new ArrayList<>();
+        List<String> lists = fireStatisticsMapper.getAddress().stream().filter(StringUtils::isNotBlank).filter(s -> !s.contains("派出所")).collect(Collectors.toList());
+        for (String address:lists) {
+            FireLevelRatioVO fireLevelRatioVo = new FireLevelRatioVO();
+            fireLevelRatioVo.setFireType(address);
+            Integer count = fireStatisticsMapper.selectCount(null, null,address, null,null);
+            fireLevelRatioVo.setRadio(count.doubleValue());
+            list.add(fireLevelRatioVo);
+        }
+        return list.stream().sorted(Comparator.comparing(FireLevelRatioVO::getRadio).reversed())
+                .map(FireLevelRatioVO::getFireType).collect(Collectors.toList());
     }
 
     public FireStatisticsPO enhanceFireStatisticsPo(Map<String,String> map){FireStatisticsPO fireStatisticsPo = new FireStatisticsPO();