Pārlūkot izejas kodu

可视化统计优化

wang_xy 1 gadu atpakaļ
vecāks
revīzija
3f3c0204ab

+ 3 - 3
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringCivilServiceImpl.java

@@ -453,9 +453,9 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
             bulidingStatusVo.setUnitName(key);
             bulidingStatusVo.setUnitId(value.get(0).getUnitId());
             //bulidingStatusVo.setRoomStatusVoList(value);
-            Map<String, List<roomStatusVo>> roomMap = value.stream().collect(Collectors.groupingBy(item -> String.valueOf(item.getRoomName().length() > 3 ? item.getRoomName().indexOf('(') == -1 ? (item.getRoomName().indexOf("楼")!=-1?item.getRoomName().substring(0, 1):item.getRoomName().substring(0, 2))
-                : item.getRoomName().substring(0, item.getRoomName().indexOf('(')).trim().length() > 3 ? item.getRoomName().substring(0, item.getRoomName().indexOf('(')).trim().substring(0, 2) : item.getRoomName().substring(0, item.getRoomName().indexOf('(')).trim().substring(0, 1)
-                : item.getRoomName().substring(0, 1))));
+            Map<String, List<roomStatusVo>> roomMap = value.stream().collect(Collectors.groupingBy(item -> (
+                item.getRoomName().replaceAll("[^0-9]","").length() > 3 ? item.getRoomName().substring(0,2):item.getRoomName().substring(0,1))
+                ));
             List willDone = value.stream().filter(item -> item.getRoomStatus().equals("未施工")).collect(Collectors.toList());
             List notstart = value.stream().filter(item -> item.getRoomStatus().equals("施工中")).collect(Collectors.toList());
             List done = value.stream().filter(item -> item.getRoomStatus().equals("竣工")).collect(Collectors.toList());

+ 3 - 1
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringCivilMapper.xml

@@ -156,7 +156,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <if test="unitId != null and unitId != ''">
         and a.unit_id = #{unitId}
     </if>
-    ORDER BY  unitName,a.`name` ASC
+    order by
+    REPLACE(REPLACE(unitName,'单元',''),'栋',''),
+    REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(a.`name`,')',''),'(',''),')',''),'(',''),'号','') ASC
 </select>
     <select id="getAreaCompletionInformationList"  resultType="com.ruoyi.zdsz.domain.vo.areaWillDoneVo">
         SELECT