Browse Source

修该房间编辑接口。房型添加,编辑,删除

liu 1 year ago
parent
commit
54fc2a8c3d

+ 4 - 0
src/main/java/com/template/api/BuildingControllerAPI.java

@@ -30,4 +30,8 @@ public interface BuildingControllerAPI {
     @ApiOperation(value = "楼栋下拉框查询", notes = "楼栋下拉框查询", httpMethod = "GET")
     CommonResult displayBar();
 
+    @GetMapping("/beDisplayBar")
+    @ApiOperation(value = "楼栋单元下拉框查询", notes = "楼栋单元下拉框查询", httpMethod = "GET")
+    CommonResult beDisplayBar();
+
 }

+ 2 - 0
src/main/java/com/template/api/HouseNumberControllerAPI.java

@@ -65,4 +65,6 @@ public interface HouseNumberControllerAPI {
     @ApiOperation(value = "房间删除", notes = "房间删除", httpMethod = "GET")
     CommonResult deleteHouseNumber(@RequestParam Integer houseNumberId);
 
+
+
 }

+ 9 - 0
src/main/java/com/template/controller/BuildingController.java

@@ -131,5 +131,14 @@ public class BuildingController implements BuildingControllerAPI {
 
         return CommonResult.ok(vos);
     }
+
+    @Override
+    public CommonResult beDisplayBar() {
+        LambdaQueryWrapper<Building> wrapper=new LambdaQueryWrapper<>();
+        wrapper.orderByAsc(Building::getBuilding)
+                .orderByAsc(Building::getElement);
+        List<Building> list = buildingService.list(wrapper);
+        return CommonResult.ok(list);
+    }
 }
 

+ 137 - 127
src/main/java/com/template/controller/HouseController.java

@@ -13,10 +13,7 @@ import com.template.model.dto.HouseDto;
 import com.template.model.pojo.*;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
-import com.template.model.vo.HouseAppletPageVo;
-import com.template.model.vo.HouseDisplayBarVo;
-import com.template.model.vo.HouseVo;
-import com.template.model.vo.HousedetailsVo;
+import com.template.model.vo.*;
 import com.template.services.*;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,7 +27,6 @@ import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
-import java.util.Objects;
 
 /**
  * <p>
@@ -64,7 +60,7 @@ public class HouseController implements HouseAPI {
     @Encrypt
     @Transactional(rollbackFor = Exception.class)
     public CommonResult save(@RequestBody HouseDto houseDto) {
-        if (ObjectUtils.isEmpty(houseDto) && ObjectUtils.isEmpty(houseDto.getRoomNumbers()) && ObjectUtils.isEmpty(houseDto.getAdminId())) {
+        if (ObjectUtils.isEmpty(houseDto)  && ObjectUtils.isEmpty(houseDto.getAdminId())) {
             return CommonResult.fail("参数异常");
         }
 
@@ -80,18 +76,14 @@ public class HouseController implements HouseAPI {
 
 
         House house = houseDto.getHouse();
-        List<String> roomNumbers = houseDto.getRoomNumbers();
-
-        Integer number = house.getNumber();
+//        List<String> roomNumbers = houseDto.getRoomNumbers();
+//
+//        Integer number = house.getNumber();
+//
+//        if (number != roomNumbers.size()) {
+//            return CommonResult.fail("房间数量不一致");
+//        }
 
-        if (number != roomNumbers.size()) {
-            return CommonResult.fail("房间数量不一致");
-        }
-        //      去重后的数量
-        long count = roomNumbers.stream().distinct().count();
-        if (count != roomNumbers.size()) {
-            return CommonResult.fail("房间号不可重复");
-        }
 
         LambdaQueryWrapper<House> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(House::getRoomName, house.getRoomName())
@@ -101,42 +93,27 @@ public class HouseController implements HouseAPI {
             return CommonResult.fail("该房型已存在");
         }
 
-//        房间号不能重复
-//        LambdaQueryWrapper<HouseNumber> wrapperHn = new LambdaQueryWrapper<>();
-//        wrapperHn.in(HouseNumber::getRoomNumber, roomNumbers);
-//        List<HouseNumber> list = houseNumberService.list(wrapperHn);
-//        if (ObjectUtils.isNotEmpty(list) && list.size() > 0) {
-//            return CommonResult.fail("该房间号已存在");
-//        }
-
-
         try {
-            houseService.saveOrUpdate(house);
-
-            ArrayList<HouseNumber> houseNumbers = new ArrayList<>();
-            for (String roomNumber : roomNumbers) {
-//                tian
-                HouseNumber houseNumber = new HouseNumber();
-                houseNumber.setRoomNumber(roomNumber);
-                houseNumber.setHouseId(house.getId() + "");
-//                默认净房
-                houseNumber.setHouseStatus(1);
-//                默认关电
-                houseNumber.setElectricType("2");
-
-                houseNumbers.add(houseNumber);
-            }
-            boolean b = houseNumberService.saveOrUpdateBatch(houseNumbers);
-
-            if (b) {
-                return CommonResult.ok();
-            }
+            houseService.save(house);
+
+//            ArrayList<HouseNumber> houseNumbers = new ArrayList<>();
+//            for (String roomNumber : roomNumbers) {
+////             修改房间
+//                HouseNumber byId = houseNumberService.getById(roomNumber);
+//                byId.setHouseId(house.getId()+"");
+//                houseNumbers.add(byId);
+//            }
+//            boolean b = houseNumberService.updateBatchById(houseNumbers);
+//
+//            if (b) {
+//                return CommonResult.ok();
+//            }
 
         } catch (Exception e) {
             return CommonResult.fail();
         }
 
-        return CommonResult.fail();
+        return CommonResult.ok();
     }
 
 
@@ -165,6 +142,23 @@ public class HouseController implements HouseAPI {
         }
 
         HousedetailsVo housedetailsVo = houseService.details(houseId);
+        if (ObjectUtils.isNotEmpty(housedetailsVo)) {
+            String roomIds = housedetailsVo.getRoomIds();
+            if (ObjectUtils.isNotEmpty(roomIds)) {
+                String[] split = roomIds.split(",");
+                ArrayList<BuildingHouseNumberVo> vos = new ArrayList<>();
+                for (int i = 0; i < split.length; i++) {
+                    String s = split[i];
+                    HouseNumber byId = houseNumberService.getById(s);
+                    BuildingHouseNumberVo vo = new BuildingHouseNumberVo();
+                    vo.setHouseNumberId(byId.getId());
+//            跟下拉列表的楼栋单元id一样
+                    vo.setBuildingId(byId.getBuildingId() + 1000000);
+                    vos.add(vo);
+                }
+                housedetailsVo.setList(vos);
+            }
+        }
 
         return CommonResult.ok(housedetailsVo);
     }
@@ -173,7 +167,7 @@ public class HouseController implements HouseAPI {
     @Override
     @Transactional(rollbackFor = Exception.class)
     public CommonResult update(HouseDto houseDto) {
-        if (ObjectUtils.isEmpty(houseDto) && ObjectUtils.isEmpty(houseDto.getRoomNumbers()) && ObjectUtils.isEmpty(houseDto.getHouse().getId()) && ObjectUtils.isEmpty(houseDto.getAdminId())) {
+        if (ObjectUtils.isEmpty(houseDto) && ObjectUtils.isEmpty(houseDto.getHouse().getId()) && ObjectUtils.isEmpty(houseDto.getAdminId())) {
             return CommonResult.fail("参数异常");
         }
 
@@ -189,22 +183,20 @@ public class HouseController implements HouseAPI {
 
 
         House house = houseDto.getHouse();
-        List<String> roomNumbers = houseDto.getRoomNumbers();
-
-        Integer number = house.getNumber();
-
-        if (number != roomNumbers.size()) {
-            return CommonResult.fail("房间数量不一致");
-        }
-        //      去重后的数量
-        long count = roomNumbers.stream().distinct().count();
-        if (count != roomNumbers.size()) {
-            return CommonResult.fail("房间号不可重复");
-        }
+//        List<String> roomNumbers = houseDto.getRoomNumbers();
+//
+//        Integer number = house.getNumber();
+//
+//        if (number != roomNumbers.size()) {
+//            return CommonResult.fail("房间数量不一致");
+//        }
 
 //        判断修改的房型名称和房型类型是是否已存在
         House byId = houseService.getById(house.getId());
-        if (!house.getNumber().equals(byId.getNumber()) && !Objects.equals(house.getRoomType(), byId.getRoomType())) {
+
+        String roomName = byId.getRoomName();
+        Integer type = byId.getRoomType();
+        if (!house.getRoomName().equals(roomName)||!type.equals(house.getRoomType())) {
             LambdaQueryWrapper<House> wrapper = new LambdaQueryWrapper<>();
             wrapper.eq(House::getRoomName, house.getRoomName())
                     .eq(House::getRoomType, house.getRoomType());
@@ -214,56 +206,63 @@ public class HouseController implements HouseAPI {
             }
         }
 
-        try {
-            //        通过houseId,找到房间号
-            LambdaQueryWrapper<HouseNumber> wrapperHn = new LambdaQueryWrapper<>();
-            wrapperHn.eq(HouseNumber::getHouseId, house.getId());
-            List<HouseNumber> list = houseNumberService.list(wrapperHn);
-            for (HouseNumber houseNumber : list) {
-//            判断房间号是否还存在
-                String roomNumber = houseNumber.getRoomNumber();
-//            不存在则删除
-                if (!roomNumbers.contains(roomNumber)) {
-//                判断房间是否有订单,有则不能删除
-                    LambdaQueryWrapper<HouseNumberState> wrapperHNS = new LambdaQueryWrapper<>();
-                    wrapperHNS.eq(HouseNumberState::getHouseNumberId, houseNumber.getId())
-                            .ge(HouseNumberState::getEndTime, new Date());
-                    List<HouseNumberState> houseNumberStates = houseNumberStateService.list(wrapperHNS);
-                    if (ObjectUtils.isNotEmpty(houseNumberStates) && houseNumberStates.size() > 0) {
-                        return CommonResult.fail(roomNumber + "房间在使用");
-                    }
-                    houseNumberService.removeById(houseNumber);
-
-                } else {
-//                存在则在集合删除这个
-                    roomNumbers.remove(roomNumber);
-                }
-            }
-
-            houseService.updateById(house);
-            if (ObjectUtils.isNotEmpty(roomNumbers) && roomNumbers.size() > 0) {
-                ArrayList<HouseNumber> houseNumbers = new ArrayList<>();
-                for (String roomNumber : roomNumbers) {
-//                添加
-                    HouseNumber houseNumber = new HouseNumber();
-                    houseNumber.setRoomNumber(roomNumber);
-                    houseNumber.setHouseId(house.getId() + "");
-//                默认净房
-                    houseNumber.setHouseStatus(1);
-////               默认空闲
-//                    houseNumber.setStatus(1);
-//                默认关电
-                    houseNumber.setElectricType("2");
-
-                    houseNumbers.add(houseNumber);
-                }
-                boolean b = houseNumberService.saveOrUpdateBatch(houseNumbers);
-            }
-            return CommonResult.ok();
-
-        } catch (Exception e) {
-            return CommonResult.fail();
-        }
+        houseService.updateById(house);
+
+        return CommonResult.ok();
+
+
+
+
+//        try {
+//            //        通过houseId,找到房间号
+////            LambdaQueryWrapper<HouseNumber> wrapperHn = new LambdaQueryWrapper<>();
+////            wrapperHn.eq(HouseNumber::getHouseId, house.getId());
+////            List<HouseNumber> list = houseNumberService.list(wrapperHn);
+////            for (HouseNumber houseNumber : list) {
+//////            判断房间号是否还存在
+////                String roomNumber = houseNumber.getRoomNumber();
+//////            不存在则删除
+////                if (!roomNumbers.contains(roomNumber)) {
+//////                判断房间是否有订单,有则不能删除
+////                    LambdaQueryWrapper<HouseNumberState> wrapperHNS = new LambdaQueryWrapper<>();
+////                    wrapperHNS.eq(HouseNumberState::getHouseNumberId, houseNumber.getId())
+////                            .ge(HouseNumberState::getEndTime, new Date());
+////                    List<HouseNumberState> houseNumberStates = houseNumberStateService.list(wrapperHNS);
+////                    if (ObjectUtils.isNotEmpty(houseNumberStates) && houseNumberStates.size() > 0) {
+////                        return CommonResult.fail(roomNumber + "房间在使用");
+////                    }
+////                    houseNumberService.removeById(houseNumber);
+////
+////                } else {
+//////                存在则在集合删除这个
+////                    roomNumbers.remove(roomNumber);
+////                }
+////            }
+////
+////            houseService.updateById(house);
+////            if (ObjectUtils.isNotEmpty(roomNumbers) && roomNumbers.size() > 0) {
+////                ArrayList<HouseNumber> houseNumbers = new ArrayList<>();
+////                for (String roomNumber : roomNumbers) {
+//////                添加
+////                    HouseNumber houseNumber = new HouseNumber();
+////                    houseNumber.setRoomNumber(roomNumber);
+////                    houseNumber.setHouseId(house.getId() + "");
+//////                默认净房
+////                    houseNumber.setHouseStatus(1);
+////////               默认空闲
+//////                    houseNumber.setStatus(1);
+//////                默认关电
+////                    houseNumber.setElectricType("2");
+////
+////                    houseNumbers.add(houseNumber);
+////                }
+////                boolean b = houseNumberService.saveOrUpdateBatch(houseNumbers);
+////            }
+//            return CommonResult.ok();
+//
+//        } catch (Exception e) {
+//            return CommonResult.fail();
+//        }
 
 
     }
@@ -289,24 +288,35 @@ public class HouseController implements HouseAPI {
 
 //        删除房型需先删除房间号
         //        通过houseId,找到房间号
-        LambdaQueryWrapper<HouseNumber> wrapperHn = new LambdaQueryWrapper<>();
-        wrapperHn.eq(HouseNumber::getHouseId, houseId);
-        List<HouseNumber> list = houseNumberService.list(wrapperHn);
-        for (HouseNumber houseNumber : list) {
-//            判断房间是否有订单,有则不能删除
-            LambdaQueryWrapper<HouseNumberState> wrapperHNS = new LambdaQueryWrapper<>();
-            wrapperHNS.eq(HouseNumberState::getHouseNumberId, houseNumber.getId())
-                    .ge(HouseNumberState::getEndTime, new Date());
-            List<HouseNumberState> houseNumberStates = houseNumberStateService.list(wrapperHNS);
-            if (ObjectUtils.isNotEmpty(houseNumberStates) && houseNumberStates.size() > 0) {
-                return CommonResult.fail(houseNumber.getRoomNumber() + "房间在使用,无法删除");
-            }
-        }
+//        LambdaQueryWrapper<HouseNumber> wrapperHn = new LambdaQueryWrapper<>();
+//        wrapperHn.eq(HouseNumber::getHouseId, houseId);
+//        List<HouseNumber> list = houseNumberService.list(wrapperHn);
+//        for (HouseNumber houseNumber : list) {
+////            判断房间是否有订单,有则不能删除
+//            LambdaQueryWrapper<HouseNumberState> wrapperHNS = new LambdaQueryWrapper<>();
+//            wrapperHNS.eq(HouseNumberState::getHouseNumberId, houseNumber.getId())
+//                    .ge(HouseNumberState::getEndTime, new Date());
+//            List<HouseNumberState> houseNumberStates = houseNumberStateService.list(wrapperHNS);
+//            if (ObjectUtils.isNotEmpty(houseNumberStates) && houseNumberStates.size() > 0) {
+//                return CommonResult.fail(houseNumber.getRoomNumber() + "房间在使用,无法删除");
+//            }
+//        }
         try {
-            for (HouseNumber houseNumber : list) {
-                Integer id = houseNumber.getId();
-                houseNumberService.removeById(id);
+//            for (HouseNumber houseNumber : list) {
+//                Integer id = houseNumber.getId();
+//                houseNumberService.removeById(id);
+//            }
+            House byId = houseService.getById(houseId);
+
+            if (ObjectUtils.isEmpty(byId)) {
+                return CommonResult.fail("参数异常");
             }
+            List<HouseNumber> houseNumberList=houseNumberService.getHouseId(houseId);
+
+            if (ObjectUtils.isNotEmpty(houseNumberList)||houseNumberList.size()>0) {
+                return CommonResult.fail("该房型下还有房间");
+            }
+
             houseService.removeById(Integer.valueOf(houseId));
 
             return CommonResult.ok();

+ 9 - 2
src/main/java/com/template/controller/HouseNumberController.java

@@ -424,8 +424,8 @@ public class HouseNumberController implements HouseNumberControllerAPI {
         ArrayList<HouseNumberPullDownVo> vos = new ArrayList<>();
         for (Building building : buildingList) {
             HouseNumberPullDownVo vo = new HouseNumberPullDownVo();
-            vo.setBuilding(building.getBuilding());
-            vo.setElement(building.getElement());
+            vo.setId(building.getId()+1000000);
+            vo.setRoomNumber(building.getBuilding()+"/"+building.getElement());
             List<HouseNumber> ownerClasses = list.stream().filter(e -> e.getBuildingId().equals(building.getId())).collect(Collectors.toList());
             if (ownerClasses != null && ownerClasses.size() > 0) {
                 vo.setVos(ownerClasses);
@@ -555,6 +555,11 @@ public class HouseNumberController implements HouseNumberControllerAPI {
                 }
                 byId.setWaterEquipmentId(waterEquipment.getId() + "");
             }
+            byId.setHouseId(dto.getHouseId());
+            byId.setBuildingId(dto.getBuildingId());
+            byId.setRoomNumber(dto.getRoomNumber());
+            byId.setWaterEquipmentMeterName(dto.getWaterEquipmentMeterName());
+            byId.setElectricEquipmentMeterName(dto.getElectricEquipmentMeterName());
             houseNumberService.updateById(byId);
             LambdaQueryWrapper<HouseLock> wrapper = new LambdaQueryWrapper<>();
             wrapper.eq(HouseLock::getHouseNumberId, dto.getId());
@@ -652,5 +657,7 @@ public class HouseNumberController implements HouseNumberControllerAPI {
     }
 
 
+
+
 }
 

+ 5 - 3
src/main/java/com/template/controller/HouseOrderController.java

@@ -179,9 +179,11 @@ public class HouseOrderController implements HouseOrderAPI {
             return CommonResult.fail("无此房间,请重新查询");
         }
 
-        if (house.getNumber() < Func.parseInt(establishOrderDto.getHouseOrderNumber())) {
-            return CommonResult.fail("超出限定房间数量");
-        }
+
+
+//        if (house.getNumber() < Func.parseInt(establishOrderDto.getHouseOrderNumber())) {
+//            return CommonResult.fail("超出限定房间数量");
+//        }
 
 
         LambdaQueryWrapper<HouseNumber> wrapperHn = new LambdaQueryWrapper<>();

+ 1 - 3
src/main/java/com/template/model/dto/HouseDto.java

@@ -3,13 +3,11 @@ package com.template.model.dto;
 import com.template.model.pojo.House;
 import lombok.Data;
 
-import java.util.List;
-
 @Data
 public class HouseDto {
     private House house;
 //    房间号
-    private List<String> roomNumbers;
+//    private List<String> roomNumbers;
 
     private int adminId;
 }

+ 6 - 11
src/main/java/com/template/model/pojo/House.java

@@ -1,20 +1,15 @@
 package com.template.model.pojo;
 
-import java.math.BigDecimal;
-import com.baomidou.mybatisplus.annotation.IdType;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.Version;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableField;
-import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.*;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
+import java.math.BigDecimal;
+
 /**
  * <p>
  * 
@@ -44,8 +39,8 @@ public class House implements Serializable {
     @ApiModelProperty(value = "房间单价")
     private BigDecimal roomPrice;
 
-    @ApiModelProperty(value = "房间数量")
-    private Integer number;
+//    @ApiModelProperty(value = "房间数量")
+//    private Integer number;
 
     @ApiModelProperty(value = "房间面积")
     private String roomArea;

+ 9 - 0
src/main/java/com/template/model/vo/BuildingHouseNumberVo.java

@@ -0,0 +1,9 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+@Data
+public class BuildingHouseNumberVo {
+    private Integer buildingId;
+    private Integer houseNumberId;
+}

+ 2 - 0
src/main/java/com/template/model/vo/HouseNumberListVo.java

@@ -46,4 +46,6 @@ public class HouseNumberListVo {
     @ApiModelProperty(value = "房间类型(1:全日房,2:钟点房)")
     private Integer roomType;
 
+    private Integer buildingId;
+
 }

+ 5 - 4
src/main/java/com/template/model/vo/HouseNumberPullDownVo.java

@@ -8,11 +8,12 @@ import java.util.List;
 
 @Data
 public class HouseNumberPullDownVo {
+    private Integer id;
 
-    @ApiModelProperty(value = "楼栋")
-    private String building;
-    @ApiModelProperty(value = "单元")
-    private String element;
+    @ApiModelProperty(value = "楼栋/单元")
+    private String roomNumber;
+//    @ApiModelProperty(value = "单元")
+//    private String element;
 
     private List<HouseNumber> vos;
 

+ 1 - 1
src/main/java/com/template/model/vo/HouseVo.java

@@ -12,6 +12,6 @@ public class HouseVo {
     private String name;
     private BigDecimal price;
     private String visible;
-    private Integer count;
+//    private Integer count;
     private Integer type;
 }

+ 4 - 0
src/main/java/com/template/model/vo/HousedetailsVo.java

@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 @Data
 public class HousedetailsVo {
@@ -41,4 +42,7 @@ public class HousedetailsVo {
 
 //  房间号
     private String roomIds;
+
+    private List<BuildingHouseNumberVo> list;
+
 }

+ 1 - 2
src/main/java/com/template/services/HouseNumberService.java

@@ -48,6 +48,5 @@ public interface HouseNumberService extends IService<HouseNumber> {
     PageUtils<HouseNumberListVo> getpage(int page, int size, String keyWord, Integer buildingId, Integer houseId);
 
 
-
-
+    List<HouseNumber> getHouseId(String houseId);
 }

+ 8 - 0
src/main/java/com/template/services/impl/HouseNumberServiceImpl.java

@@ -116,5 +116,13 @@ public class HouseNumberServiceImpl extends ServiceImpl<HouseNumberMapper, House
         return new PageUtils(result);
     }
 
+    @Override
+    public List<HouseNumber> getHouseId(String houseId) {
+        LambdaQueryWrapper<HouseNumber> wrapper=new LambdaQueryWrapper<>();
+        wrapper.eq(HouseNumber::getHouseId,houseId);
+        List<HouseNumber> list = this.list(wrapper);
+        return list;
+    }
+
 
 }

+ 3 - 3
src/main/resources/mapper/template/HouseMapper.xml

@@ -5,7 +5,7 @@
     <!-- 可根据自己的需求,是否要使用 -->
     <resultMap type="com.template.model.pojo.House" id="HouseTypeMapper">
         <result property="id" column="id"/>
-        <result property="number" column="number"/>
+<!--        <result property="number" column="number"/>-->
         <result property="roomName" column="room_name"/>
         <result property="roomType" column="room_type"/>
         <result property="roomPrice" column="room_price"/>
@@ -30,7 +30,7 @@
         as roomId ,
         h.room_price AS price,
         h.visible AS visible,
-        h.number AS count,
+--         h.number AS count,
         h.room_type AS type,
         h.id as id
         FROM
@@ -52,7 +52,7 @@
 
     <select id="details" resultType="com.template.model.vo.HousedetailsVo">
         SELECT h.*,
-               (SELECT GROUP_CONCAT(DISTINCT hn.room_number )
+               (SELECT GROUP_CONCAT(DISTINCT hn.id )
                 FROM house_number hn
                 WHERE hn.house_id = h.id
                   and hn.deleted = 0) AS roomIds

+ 3 - 1
src/main/resources/mapper/template/HouseNumberMapper.xml

@@ -298,7 +298,9 @@
             hn.electric_equipment_id AS electricEquipmentId,
             hn.electric_equipment_meter_name AS electricEquipmentMeterName,
             hn.water_equipment_id AS waterEquipmentId,
-            hn.water_equipment_meter_name AS waterEquipmentMeterName
+            hn.water_equipment_meter_name AS waterEquipmentMeterName,
+            b.id as buildingId,
+            h.id as houseId
         FROM
             `house_number` hn
                 LEFT JOIN building b ON b.id = hn.building_id