huanghongfa
2021-10-13 412195ce63c5d639bf6658b9ffae8468cde1cdb8
实有房屋-楼栋列表接口开发
4个文件已添加
13个文件已修改
747 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/AddBuildingHouseDto.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/AddBuildingUnitDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/DeleteBuildingHousePopulationDto.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/EditBuildingHouseDto.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/EditBuildingUnitDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/BuildingApi.java 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/BuildingApi.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationDAO.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationHouseDAO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComMngPopulationHouseDO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComMngPopulationHouseUserDO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActBuildingService.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java 365 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComMngBuildingMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComMngPopulationDOMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComMngPopulationHouseDOMapper.xml 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/AddBuildingHouseDto.java
New file
@@ -0,0 +1,31 @@
package com.panzhihua.common.model.dtos.community.building.admin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author lyq
 * 添加楼栋户室请求参数
 */
@Data
@ApiModel("添加楼栋户室请求参数")
public class AddBuildingHouseDto {
    @ApiModelProperty("楼栋id")
    private Long id;
    @ApiModelProperty("单元号")
    private String unitNo;
    @ApiModelProperty("门牌号")
    private String houseNo;
    @ApiModelProperty("楼层数")
    private Integer floorNum;
    @ApiModelProperty(value = "社区id", hidden = true)
    private Long communityId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/AddBuildingUnitDto.java
@@ -17,7 +17,7 @@
    private Long id;
    @ApiModelProperty("单元号")
    private String floor;
    private String unitNo;
    @ApiModelProperty(value = "社区id", hidden = true)
    private Long communityId;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/DeleteBuildingHousePopulationDto.java
New file
@@ -0,0 +1,36 @@
package com.panzhihua.common.model.dtos.community.building.admin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author lyq
 * 删除楼栋户室人员关系请求参数
 */
@Data
@ApiModel("删除楼栋户室人员关系请求参数")
public class DeleteBuildingHousePopulationDto {
    @ApiModelProperty("房屋id")
    private Long houseId;
    @ApiModelProperty("人员类型(1.业主 2.居住人)")
    private Integer type;
    @ApiModelProperty("人员id")
    private Long populationId;
    @ApiModelProperty(value = "社区id", hidden = true)
    private Long communityId;
    /**
     * 人员类型(1.业主 2.居住人)
     */
    public interface type{
        int yz = 1;
        int jzr = 2;
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/EditBuildingHouseDto.java
New file
@@ -0,0 +1,28 @@
package com.panzhihua.common.model.dtos.community.building.admin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author lyq
 * 修改楼栋户室请求参数
 */
@Data
@ApiModel("修改楼栋户室请求参数")
public class EditBuildingHouseDto {
    @ApiModelProperty("房屋id")
    private Long houseId;
    @ApiModelProperty("门牌号")
    private String houseNo;
    @ApiModelProperty("楼层数")
    private Integer floorNum;
    @ApiModelProperty(value = "社区id", hidden = true)
    private Long communityId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/EditBuildingUnitDto.java
@@ -17,10 +17,10 @@
    private Long id;
    @ApiModelProperty("原单元号")
    private String oldFloor;
    private String oldUnitNo;
    @ApiModelProperty("新单元号")
    private String newFloor;
    private String newUnitNo;
    @ApiModelProperty(value = "社区id", hidden = true)
    private Long communityId;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -4,8 +4,7 @@
import com.panzhihua.common.model.dtos.community.GetIdentityEidTokenDTO;
import com.panzhihua.common.model.dtos.community.*;
import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto;
import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingUnitHouseListDto;
import com.panzhihua.common.model.dtos.community.building.admin.*;
import com.panzhihua.common.model.dtos.community.cluster.PageClusterMemberDto;
import com.panzhihua.common.model.dtos.community.cluster.admin.*;
import com.panzhihua.common.model.dtos.property.CommonPage;
@@ -6694,4 +6693,44 @@
     */
    @GetMapping("/building/village/list/admin")
    R buildingVillageListAdmin(@RequestParam("communityId") Long communityId);
    /**
     * 添加楼栋下单元
     * @param addBuildingUnitDto  请求参数
     * @return  添加结果
     */
    @PostMapping("/building/unit/add/admin")
    R addBuildingUnitAdmin(@RequestBody AddBuildingUnitDto addBuildingUnitDto);
    /**
     * 修改楼栋下单元
     * @param editBuildingUnitDto  请求参数
     * @return  修改结果
     */
    @PostMapping("/building/unit/edit/admin")
    R editBuildingUnitAdmin(@RequestBody EditBuildingUnitDto editBuildingUnitDto);
    /**
     * 添加户室
     * @param addBuildingHouseDto    请求参数
     * @return  添加结果
     */
    @PostMapping("/building/house/add/admin")
    R addBuildingHouseAdmin(@RequestBody AddBuildingHouseDto addBuildingHouseDto);
    /**
     * 修改户室
     * @param editBuildingHouseDto   请求参数
     * @return  修改结果
     */
    @PostMapping("/building/house/edit/admin")
    R editBuildingHouseAdmin(@RequestBody EditBuildingHouseDto editBuildingHouseDto);
    /**
     * 删除户室下人员关联信息
     * @param housePopulationDto    请求参数
     * @return  删除结果
     */
    @PostMapping("/building/house/population/delete/admin")
    R deleteBuildingHousePopulationAdmin(@RequestBody DeleteBuildingHousePopulationDto housePopulationDto);
}
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/BuildingApi.java
@@ -5,8 +5,7 @@
import javax.annotation.Resource;
import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto;
import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingUnitHouseListDto;
import com.panzhihua.common.model.dtos.community.building.admin.*;
import com.panzhihua.common.model.vos.community.ComMngVillageVO;
import com.panzhihua.common.model.vos.community.building.admin.BuildingDetailAdminVo;
import com.panzhihua.common.model.vos.community.building.admin.BuildingListHeaderStatisticsAdminVo;
@@ -108,13 +107,69 @@
        return communityService.buildingVillageListAdmin(communityId);
    }
//    @ApiOperation(value = "添加单元")
//    @PostMapping("/add/unit")
//    public R addUnit() {
//        // 获取登陆用户绑定社区id
//        Long communityId = this.getLoginUserInfo().getCommunityId();
//        return communityService.buildingVillageListAdmin(communityId);
//    }
    @ApiOperation(value = "添加单元")
    @PostMapping("/add/unit")
    public R addUnit(@RequestBody AddBuildingUnitDto addBuildingUnitDto) {
        // 获取登陆用户绑定社区id
        Long communityId = this.getLoginUserInfo().getCommunityId();
        addBuildingUnitDto.setCommunityId(communityId);
        if(addBuildingUnitDto.getId() == null || addBuildingUnitDto.getUnitNo() == null){
            return R.fail("参数有误");
        }
        return communityService.addBuildingUnitAdmin(addBuildingUnitDto);
    }
    @ApiOperation(value = "修改单元")
    @PostMapping("/edit/unit")
    public R editUnit(@RequestBody EditBuildingUnitDto editBuildingUnitDto) {
        // 获取登陆用户绑定社区id
        Long communityId = this.getLoginUserInfo().getCommunityId();
        editBuildingUnitDto.setCommunityId(communityId);
        if(editBuildingUnitDto.getId() == null || editBuildingUnitDto.getOldUnitNo() == null || editBuildingUnitDto.getNewUnitNo() == null){
            return R.fail("参数有误");
        }
        return communityService.editBuildingUnitAdmin(editBuildingUnitDto);
    }
    @ApiOperation(value = "添加户室")
    @PostMapping("/add/house")
    public R addHouse(@RequestBody AddBuildingHouseDto addBuildingHouseDto) {
        // 获取登陆用户绑定社区id
        Long communityId = this.getLoginUserInfo().getCommunityId();
        addBuildingHouseDto.setCommunityId(communityId);
        if(addBuildingHouseDto.getId() == null || addBuildingHouseDto.getHouseNo() == null || addBuildingHouseDto.getUnitNo() == null){
            return R.fail("参数有误");
        }
        return communityService.addBuildingHouseAdmin(addBuildingHouseDto);
    }
    @ApiOperation(value = "修改户室")
    @PostMapping("/edit/house")
    public R editHouse(@RequestBody EditBuildingHouseDto editBuildingHouseDto) {
        // 获取登陆用户绑定社区id
        Long communityId = this.getLoginUserInfo().getCommunityId();
        editBuildingHouseDto.setCommunityId(communityId);
        if(editBuildingHouseDto.getHouseId() == null || editBuildingHouseDto.getHouseNo() == null){
            return R.fail("参数有误");
        }
        return communityService.editBuildingHouseAdmin(editBuildingHouseDto);
    }
    @ApiOperation(value = "删除户室下人员")
    @PostMapping("/delete/population")
    public R deletePopulation(@RequestBody DeleteBuildingHousePopulationDto housePopulationDto) {
        // 获取登陆用户绑定社区id
        Long communityId = this.getLoginUserInfo().getCommunityId();
        housePopulationDto.setCommunityId(communityId);
        if(housePopulationDto.getHouseId() == null || housePopulationDto.getPopulationId() == null || housePopulationDto.getType() == null){
            return R.fail("参数有误");
        }
        return communityService.deleteBuildingHousePopulationAdmin(housePopulationDto);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/BuildingApi.java
@@ -4,8 +4,7 @@
import javax.annotation.Resource;
import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto;
import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingUnitHouseListDto;
import com.panzhihua.common.model.dtos.community.building.admin.*;
import org.springframework.web.bind.annotation.*;
import com.panzhihua.common.model.vos.R;
@@ -91,4 +90,29 @@
    public R buildingVillageListAdmin(@RequestParam("communityId") Long communityId) {
        return comActBuildingService.buildingVillageListAdmin(communityId);
    }
    @PostMapping("/unit/add/admin")
    public R addBuildingUnitAdmin(@RequestBody AddBuildingUnitDto addBuildingUnitDto) {
        return comActBuildingService.addBuildingUnitAdmin(addBuildingUnitDto);
    }
    @PostMapping("/unit/edit/admin")
    public R editBuildingUnitAdmin(@RequestBody EditBuildingUnitDto editBuildingUnitDto) {
        return comActBuildingService.editBuildingUnitAdmin(editBuildingUnitDto);
    }
    @PostMapping("/house/add/admin")
    public R addBuildingHouseAdmin(@RequestBody AddBuildingHouseDto addBuildingHouseDto) {
        return comActBuildingService.addBuildingHouseAdmin(addBuildingHouseDto);
    }
    @PostMapping("/house/edit/admin")
    public R editBuildingHouseAdmin(@RequestBody EditBuildingHouseDto editBuildingHouseDto) {
        return comActBuildingService.editBuildingHouseAdmin(editBuildingHouseDto);
    }
    @PostMapping("/house/population/delete/admin")
    public R deleteBuildingHousePopulationAdmin(@RequestBody DeleteBuildingHousePopulationDto housePopulationDto) {
        return comActBuildingService.deleteBuildingHousePopulationAdmin(housePopulationDto);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationDAO.java
@@ -597,4 +597,13 @@
     * 居民详情
     */
    ComMngPopulationDetailVO getById(Long id);
    /**
     * 修改实有人口绑定单元号
     * @param villageId 小区id
     * @param floor 楼栋号
     * @param oldUnitNo 原单元号
     * @param newUnitNo 新单元号
     */
    void updatePopulationUnit(@Param("villageId") Long villageId, @Param("floor") String floor,@Param("oldUnitNo") String oldUnitNo,@Param("newUnitNo") String newUnitNo);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationHouseDAO.java
@@ -189,4 +189,19 @@
        + ",#{item.purpose},#{item.controlStatus},#{item.isEmpty},#{item.constructPurpose}"
        + ",#{item.constructArea},#{item.path},now())" + "    </foreach>" + " </script>")
    void insertAll(@Param("houseList") List<ComMngPopulationHouseDO> houseList);
    /**
     * 修改房屋关联单元号
     * @param villageId 小区id
     * @param floor 楼栋号
     * @param oldUnitNo 原单元号
     * @param newUnitNo 新单元号
     */
    void updateHouseUnit(@Param("villageId") Long villageId, @Param("floor") String floor,@Param("oldUnitNo") String oldUnitNo,@Param("newUnitNo") String newUnitNo);
    /**
     * 修改房屋关联单元号
     * @param houseList    需要修改的数据
     */
    void updateUnitAll(@Param("houseList") List<ComMngPopulationHouseDO> houseList);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComMngPopulationHouseDO.java
@@ -65,7 +65,7 @@
    private String houseNo;
    /**
     * 房屋状态(1.自住 2.租住 3.其他)
     * 房屋状态(1.自住 2.租住 3.空置 4.其他)
     */
    private Integer status;
@@ -123,6 +123,11 @@
     */
    private String path;
    /**
     * 楼层数
     */
    private Integer floorNum;
    @Override
    public String toString() {
        return "ComMngPopulationHouseDO{" + "id=" + id + ", streetId=" + streetId + ", address=" + address + ", code="
@@ -131,4 +136,14 @@
            + ", constructArea=" + constructArea + ", path=" + path + ", createAt=" + createAt + ", updateAt="
            + updateAt + "}";
    }
    /**
     * 房屋状态(1.自住 2.租住 3.空置 4.其他)
     */
    public interface status{
        int zizhu = 1;
        int zuzhu = 2;
        int kongzhi = 3;
        int qita = 4;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComMngPopulationHouseUserDO.java
@@ -41,7 +41,7 @@
    private Integer relation;
    /**
     * 人和房屋关系’ (1.自住2、租住)
     * 人和房屋关系’ (1.自住2、租住) 该字段类型改为(1.业主 2.业主家属 3.租户)
     */
    private Integer relationId;
@@ -91,10 +91,11 @@
    }
    /**
     * 人和房屋关系’ (1.自住2、租住)
     * 人和房屋关系’ (1.自住2、租住) 该字段类型改为(1.业主 2.业主家属 3.租户)
     */
    public interface relationId {
        int zizhu = 1;
        int zuzhu = 2;
        int zuhu = 3;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActBuildingService.java
@@ -3,8 +3,7 @@
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto;
import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingUnitHouseListDto;
import com.panzhihua.common.model.dtos.community.building.admin.*;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComMngBuildingExcelVO;
import com.panzhihua.service_community.model.dos.ComMngBuildingDO;
@@ -56,4 +55,14 @@
    R buildingUnitHouseDetailAdmin(Long houseId,Long communityId);
    R buildingVillageListAdmin(Long communityId);
    R addBuildingUnitAdmin(AddBuildingUnitDto addBuildingUnitDto);
    R editBuildingUnitAdmin(EditBuildingUnitDto editBuildingUnitDto);
    R addBuildingHouseAdmin(AddBuildingHouseDto addBuildingHouseDto);
    R editBuildingHouseAdmin(EditBuildingHouseDto editBuildingHouseDto);
    R deleteBuildingHousePopulationAdmin(DeleteBuildingHousePopulationDto housePopulationDto);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java
@@ -1,5 +1,6 @@
package com.panzhihua.service_community.service.impl;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -10,16 +11,19 @@
import cn.hutool.core.util.IdcardUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.enums.PopulIsOksEnum;
import com.panzhihua.common.enums.PopulPoliticalOutlookEnum;
import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto;
import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingUnitHouseListDto;
import com.panzhihua.common.model.dtos.community.building.admin.*;
import com.panzhihua.common.model.vos.community.ComMngVillageVO;
import com.panzhihua.common.model.vos.community.ComPopulationActVO;
import com.panzhihua.common.model.vos.community.building.admin.BuildingUnitHouseListAdminVo;
import com.panzhihua.common.model.vos.community.building.admin.PageBuildingListAdminVo;
import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseDetailVO;
import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseVO;
import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingVO;
import com.panzhihua.common.model.vos.grid.PopulationListVO;
import com.panzhihua.service_community.dao.*;
import com.panzhihua.service_community.model.dos.*;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -32,13 +36,6 @@
import com.panzhihua.common.model.vos.community.ComMngPopulationImportErrorVO;
import com.panzhihua.common.utlis.Snowflake;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_community.dao.ComActDAO;
import com.panzhihua.service_community.dao.ComActVillageDAO;
import com.panzhihua.service_community.dao.ComMngBuildingDAO;
import com.panzhihua.service_community.model.dos.ComActDO;
import com.panzhihua.service_community.model.dos.ComMngBuildingDO;
import com.panzhihua.service_community.model.dos.ComMngVillageDO;
import com.panzhihua.service_community.model.dos.GridBuildRelationDO;
import com.panzhihua.service_community.service.ComActBuildingService;
import com.panzhihua.service_community.service.GridBuildRelationService;
@@ -56,6 +53,12 @@
    private ComActDAO comActDAO;
    @Resource
    private GridBuildRelationService gridBuildRelationService;
    @Resource
    private ComMngPopulationHouseDAO comMngPopulationHouseDAO;
    @Resource
    private ComMngPopulationDAO comMngPopulationDAO;
    @Resource
    private ComMngPopulationHouseUserDAO comMngPopulationHouseUserDAO;
    @Override
    public R batchSaveBuilding(List<ComMngBuildingExcelVO> newVoList, Long communityId) {
@@ -175,15 +178,19 @@
        if(StringUtils.isNotEmpty(buildingDO.getName())){
            buildList = this.baseMapper.buildingUnitList(buildingDO.getVillageId(),buildingDO.getName());
            buildList.forEach(villageBuilding -> {
                if (!villageBuilding.getFloor().contains("栋")) {
                    villageBuilding.setFloorString(villageBuilding.getFloor() + "栋");
                } else {
                    villageBuilding.setFloorString(villageBuilding.getFloor());
                if(StringUtils.isNotEmpty(villageBuilding.getFloor())){
                    if (!villageBuilding.getFloor().contains("栋")) {
                        villageBuilding.setFloorString(villageBuilding.getFloor() + "栋");
                    } else {
                        villageBuilding.setFloorString(villageBuilding.getFloor());
                    }
                }
                if (!villageBuilding.getUnitNo().contains("单元")) {
                    villageBuilding.setUnitNoString(villageBuilding.getUnitNo() + "单元");
                } else {
                    villageBuilding.setUnitNoString(villageBuilding.getUnitNo());
                if(StringUtils.isNotEmpty(villageBuilding.getUnitNo())){
                    if (!villageBuilding.getUnitNo().contains("单元")) {
                        villageBuilding.setUnitNoString(villageBuilding.getUnitNo() + "单元");
                    } else {
                        villageBuilding.setUnitNoString(villageBuilding.getUnitNo());
                    }
                }
            });
        }
@@ -210,19 +217,21 @@
        if(StringUtils.isNotEmpty(buildingDO.getName())){
            IPage<ComMngVillageBuildingHouseVO> buildingHousePage = this.baseMapper.getBuildingUnitHouseList(new Page(unitHouseListDto.getPageNum(),unitHouseListDto.getPageSize()),unitHouseListDto);
            buildingHousePage.getRecords().forEach(house -> {
                if(StringUtils.isNotEmpty(house.getHouseNo())){
                    boolean result = house.getHouseNo().matches("[0-9]+");
                    if (result) {// 该字段为纯数字
                        if (house.getHouseNo().length() == 4) {
                            house.setBuildingNum(house.getHouseNo().substring(0, 2).replaceAll("^(0+)", ""));
                        } else if (house.getHouseNo().length() == 3) {
                            house.setBuildingNum(house.getHouseNo().substring(0, 1).replaceAll("^(0+)", ""));
                if(StringUtils.isEmpty(house.getBuildingNum())){
                    if(StringUtils.isNotEmpty(house.getHouseNo())){
                        boolean result = house.getHouseNo().matches("[0-9]+");
                        if (result) {// 该字段为纯数字
                            if (house.getHouseNo().length() == 4) {
                                house.setBuildingNum(house.getHouseNo().substring(0, 2).replaceAll("^(0+)", ""));
                            } else if (house.getHouseNo().length() == 3) {
                                house.setBuildingNum(house.getHouseNo().substring(0, 1).replaceAll("^(0+)", ""));
                            }
                        } else {
                            house.setBuildingNum("-");
                        }
                    } else {
                        house.setBuildingNum("-");
                    }
                } else {
                    house.setBuildingNum("-");
                }
            });
            buildHouseList = buildingHousePage.getRecords();
@@ -262,7 +271,7 @@
            // 查询该房屋的户主信息
            List<PopulationListVO> householderList =
                    this.baseMapper.getGridVillageBuildingPopulationList(buildingHouseDetailVO.getId(),communityId, 1, null);
                    this.baseMapper.getGridVillageBuildingPopulationList(buildingHouseDetailVO.getId(),communityId, null, 1);
            if (!householderList.isEmpty()) {
                householderList.forEach(householder -> {
                    if(householder.getPoliticalOutlook() != null){
@@ -312,4 +321,306 @@
        });
        return R.ok(villageList);
    }
    @Override
    public R addBuildingUnitAdmin(AddBuildingUnitDto addBuildingUnitDto){
        //查询该楼栋信息
        ComMngBuildingDO buildingDO = this.baseMapper.selectById(addBuildingUnitDto.getId());
        if(buildingDO == null){
            return R.fail("未查询到该楼栋信息");
        }
        Integer count = comMngPopulationHouseDAO.selectCount(new QueryWrapper<ComMngPopulationHouseDO>().lambda()
                .eq(ComMngPopulationHouseDO::getVillageId,buildingDO.getVillageId())
                .eq(ComMngPopulationHouseDO::getFloor,buildingDO.getName())
                .eq(ComMngPopulationHouseDO::getUnitNo,addBuildingUnitDto.getUnitNo()));
        if(count > 0){
            return R.fail("该单元号已存在");
        }
        //查询小区信息
        ComMngVillageDO villageDO = comActVillageDAO.selectById(buildingDO.getVillageId());
        if(villageDO != null){
            StringBuilder address = new StringBuilder();
            StringBuilder housePath = new StringBuilder();
            ComPopulationActVO populationActVO = comActDAO.getPopulationActById(addBuildingUnitDto.getCommunityId());
            if(populationActVO != null){
                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName())
                        .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName())
                        .append(villageDO.getAlley()).append(villageDO.getHouseNum()).append("号");
                if (StringUtils.isNotEmpty(buildingDO.getName())) {
                    address.append(buildingDO.getName()).append("栋");
                }
                if (StringUtils.isNotEmpty(addBuildingUnitDto.getUnitNo())) {
                    address.append(addBuildingUnitDto.getUnitNo()).append("单元");
                }
                housePath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()).append(">")
                        .append(villageDO.getAlley()).append(">").append(populationActVO.getName()).append(">").append(villageDO.getName()).append(">").append(address.toString());
            }
            ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO();
            populationHouseDO.setId(Snowflake.getId());
            populationHouseDO.setStreetId(buildingDO.getStreetId());
            populationHouseDO.setVillageId(buildingDO.getVillageId());
            populationHouseDO.setAlley(villageDO.getAlley());
            populationHouseDO.setHouseNum(villageDO.getHouseNum());
            populationHouseDO.setStatus(ComMngPopulationHouseDO.status.kongzhi);
            populationHouseDO.setCommunityId(addBuildingUnitDto.getCommunityId());
            populationHouseDO.setFloor(buildingDO.getName());
            populationHouseDO.setUnitNo(addBuildingUnitDto.getUnitNo());
            populationHouseDO.setAddress(address.toString());
            populationHouseDO.setUpdateAt(new Date());
            populationHouseDO.setPath(housePath.toString());
            populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode());
            comMngPopulationHouseDAO.insert(populationHouseDO);
        }else{
            return R.fail();
        }
        return R.ok();
    }
    @Override
    public R editBuildingUnitAdmin(EditBuildingUnitDto editBuildingUnitDto){
        //查询该楼栋信息
        ComMngBuildingDO buildingDO = this.baseMapper.selectById(editBuildingUnitDto.getId());
        if(buildingDO == null){
            return R.fail("未查询到该楼栋信息");
        }
        Integer oldCount = comMngPopulationHouseDAO.selectCount(new QueryWrapper<ComMngPopulationHouseDO>().lambda()
                .eq(ComMngPopulationHouseDO::getVillageId,buildingDO.getVillageId())
                .eq(ComMngPopulationHouseDO::getFloor,buildingDO.getName())
                .eq(ComMngPopulationHouseDO::getUnitNo,editBuildingUnitDto.getOldUnitNo()));
        if(oldCount <= 0){
            return R.fail("原单元号不存在");
        }
        Integer newCount = comMngPopulationHouseDAO.selectCount(new QueryWrapper<ComMngPopulationHouseDO>().lambda()
                .eq(ComMngPopulationHouseDO::getVillageId,buildingDO.getVillageId())
                .eq(ComMngPopulationHouseDO::getFloor,buildingDO.getName())
                .eq(ComMngPopulationHouseDO::getUnitNo,editBuildingUnitDto.getNewUnitNo()));
        if(newCount > 0){
            return R.fail("新单元号已存在");
        }
        //查询小区信息
        ComMngVillageDO villageDO = comActVillageDAO.selectById(buildingDO.getVillageId());
        if(villageDO != null){
            String unitString = editBuildingUnitDto.getNewUnitNo() + "单元";
            List<ComMngPopulationHouseDO> editHouseList = new ArrayList<>();
            //查询需要修改的房屋列表信息
            List<ComMngPopulationHouseDO> houseList = comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda()
                    .eq(ComMngPopulationHouseDO::getVillageId,villageDO.getVillageId())
                    .eq(ComMngPopulationHouseDO::getFloor,buildingDO.getName())
                    .eq(ComMngPopulationHouseDO::getUnitNo,editBuildingUnitDto.getOldUnitNo()));
            houseList.forEach(house -> {
                ComMngPopulationHouseDO houseDO = new ComMngPopulationHouseDO();
                houseDO.setId(house.getId());
                houseDO.setAddress(house.getAddress().replace(house.getUnitNo() + "单元", unitString));
                houseDO.setPath(house.getPath().replace(house.getUnitNo() + "单元", unitString));
                houseDO.setUnitNo(editBuildingUnitDto.getNewUnitNo());
                editHouseList.add(houseDO);
            });
            List<ComMngPopulationDO> editPopulationList = new ArrayList<>();
            //查询需要修改的人口信息
            List<ComMngPopulationDO> populationList = comMngPopulationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda()
                    .eq(ComMngPopulationDO::getVillageId,villageDO.getVillageId())
                    .eq(ComMngPopulationDO::getFloor,buildingDO.getName())
                    .eq(ComMngPopulationDO::getUnitNo,editBuildingUnitDto.getOldUnitNo()));
            populationList.forEach(population -> {
                ComMngPopulationDO populationDO = new ComMngPopulationDO();
                populationDO.setId(population.getId());
                populationDO.setAddress(population.getAddress().replace(population.getUnitNo() + "单元", unitString));
                populationDO.setUnitNo(editBuildingUnitDto.getNewUnitNo());
                editPopulationList.add(populationDO);
            });
            if(!editHouseList.isEmpty()){
                comMngPopulationHouseDAO.updateUnitAll(editHouseList);
            }
            if(!editPopulationList.isEmpty()){
                comMngPopulationDAO.updateAll(editPopulationList);
            }
        }else{
            return R.fail();
        }
        return R.ok();
    }
    @Override
    public R addBuildingHouseAdmin(AddBuildingHouseDto addBuildingHouseDto){
        //查询该楼栋信息
        ComMngBuildingDO buildingDO = this.baseMapper.selectById(addBuildingHouseDto.getId());
        if(buildingDO == null){
            return R.fail("未查询到该楼栋信息");
        }
        Integer count = comMngPopulationHouseDAO.selectCount(new QueryWrapper<ComMngPopulationHouseDO>().lambda()
                .eq(ComMngPopulationHouseDO::getVillageId,buildingDO.getVillageId())
                .eq(ComMngPopulationHouseDO::getFloor,buildingDO.getName())
                .eq(ComMngPopulationHouseDO::getUnitNo,addBuildingHouseDto.getUnitNo())
                .eq(ComMngPopulationHouseDO::getHouseNo,addBuildingHouseDto.getHouseNo()));
        if(count > 0){
            return R.fail("该房间已存在");
        }
        //查询小区信息
        ComMngVillageDO villageDO = comActVillageDAO.selectById(buildingDO.getVillageId());
        if(villageDO != null){
            StringBuilder address = new StringBuilder();
            StringBuilder housePath = new StringBuilder();
            ComPopulationActVO populationActVO = comActDAO.getPopulationActById(addBuildingHouseDto.getCommunityId());
            if(populationActVO != null){
                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName())
                        .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName())
                        .append(villageDO.getAlley()).append(villageDO.getHouseNum()).append("号");
                if (StringUtils.isNotEmpty(buildingDO.getName())) {
                    address.append(buildingDO.getName()).append("栋");
                }
                if (StringUtils.isNotEmpty(addBuildingHouseDto.getUnitNo())) {
                    address.append(addBuildingHouseDto.getUnitNo()).append("单元");
                }
                if (StringUtils.isNotEmpty(addBuildingHouseDto.getHouseNo())) {
                    address.append(addBuildingHouseDto.getHouseNo()).append("号");
                }
                housePath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()).append(">")
                        .append(villageDO.getAlley()).append(">").append(populationActVO.getName()).append(">").append(villageDO.getName()).append(">").append(address.toString());
            }
            ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO();
            populationHouseDO.setId(Snowflake.getId());
            populationHouseDO.setStreetId(buildingDO.getStreetId());
            populationHouseDO.setVillageId(buildingDO.getVillageId());
            populationHouseDO.setAlley(villageDO.getAlley());
            populationHouseDO.setHouseNum(villageDO.getHouseNum());
            populationHouseDO.setStatus(ComMngPopulationHouseDO.status.kongzhi);
            populationHouseDO.setCommunityId(addBuildingHouseDto.getCommunityId());
            populationHouseDO.setFloor(buildingDO.getName());
            populationHouseDO.setUnitNo(addBuildingHouseDto.getUnitNo());
            populationHouseDO.setHouseNo(addBuildingHouseDto.getHouseNo());
            populationHouseDO.setFloorNum(addBuildingHouseDto.getFloorNum());
            populationHouseDO.setAddress(address.toString());
            populationHouseDO.setUpdateAt(new Date());
            populationHouseDO.setPath(housePath.toString());
            populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode());
            comMngPopulationHouseDAO.insert(populationHouseDO);
        }else{
            return R.fail();
        }
        return R.ok();
    }
    @Override
    public R editBuildingHouseAdmin(EditBuildingHouseDto editBuildingHouseDto){
        ComMngPopulationHouseDO houseDO = comMngPopulationHouseDAO.selectById(editBuildingHouseDto.getHouseId());
        if(houseDO == null){
            return R.fail("未查询到该户室");
        }
        Integer count = comMngPopulationHouseDAO.selectCount(new QueryWrapper<ComMngPopulationHouseDO>().lambda()
                .eq(ComMngPopulationHouseDO::getVillageId,houseDO.getVillageId())
                .eq(ComMngPopulationHouseDO::getFloor,houseDO.getFloor())
                .eq(ComMngPopulationHouseDO::getUnitNo,houseDO.getUnitNo())
                .eq(ComMngPopulationHouseDO::getHouseNo,editBuildingHouseDto.getHouseNo()));
        if(count > 0){
            return R.fail("该房间已存在");
        }
        //查询小区信息
        ComMngVillageDO villageDO = comActVillageDAO.selectById(houseDO.getVillageId());
        if(villageDO != null){
            StringBuilder address = new StringBuilder();
            StringBuilder housePath = new StringBuilder();
            ComPopulationActVO populationActVO = comActDAO.getPopulationActById(editBuildingHouseDto.getCommunityId());
            if(populationActVO != null){
                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName())
                        .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName())
                        .append(villageDO.getAlley()).append(villageDO.getHouseNum()).append("号");
                if (StringUtils.isNotEmpty(houseDO.getFloor())) {
                    address.append(houseDO.getFloor()).append("栋");
                }
                if (StringUtils.isNotEmpty(houseDO.getUnitNo())) {
                    address.append(houseDO.getUnitNo()).append("单元");
                }
                if (StringUtils.isNotEmpty(editBuildingHouseDto.getHouseNo())) {
                    address.append(editBuildingHouseDto.getHouseNo()).append("号");
                }
                housePath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()).append(">")
                        .append(villageDO.getAlley()).append(">").append(populationActVO.getName()).append(">").append(villageDO.getName()).append(">").append(address.toString());
                houseDO.setAddress(address.toString());
                houseDO.setPath(housePath.toString());
            }
            List<ComMngPopulationDO> editPopulationList = new ArrayList<>();
            //查询需要修改的人口信息
            List<ComMngPopulationDO> populationList = comMngPopulationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda()
                    .eq(ComMngPopulationDO::getVillageId,villageDO.getVillageId())
                    .eq(ComMngPopulationDO::getFloor,houseDO.getFloor())
                    .eq(ComMngPopulationDO::getUnitNo,houseDO.getUnitNo())
                    .eq(ComMngPopulationDO::getHouseNo,houseDO.getHouseNo()));
            populationList.forEach(population -> {
                ComMngPopulationDO populationDO = new ComMngPopulationDO();
                populationDO.setId(population.getId());
                populationDO.setAddress(address.toString());
                populationDO.setHouseNo(editBuildingHouseDto.getHouseNo());
                editPopulationList.add(populationDO);
            });
            houseDO.setHouseNo(editBuildingHouseDto.getHouseNo());
            houseDO.setFloorNum(editBuildingHouseDto.getFloorNum());
            comMngPopulationHouseDAO.updateById(houseDO);
            if(!editPopulationList.isEmpty()){
                comMngPopulationDAO.updateAll(editPopulationList);
            }
        }else{
            return R.fail();
        }
        return R.ok();
    }
    @Override
    public R deleteBuildingHousePopulationAdmin(DeleteBuildingHousePopulationDto housePopulationDto){
        ComMngPopulationHouseDO houseDO = comMngPopulationHouseDAO.selectById(housePopulationDto.getHouseId());
        if(houseDO == null){
            return R.fail("未查询到该户室");
        }
        if(housePopulationDto.getType().equals(DeleteBuildingHousePopulationDto.type.yz)){
            ComMngPopulationHouseUserDO houseUserDO = comMngPopulationHouseUserDAO.selectOne(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda()
                    .eq(ComMngPopulationHouseUserDO::getHouseId,housePopulationDto.getHouseId())
                    .eq(ComMngPopulationHouseUserDO::getPopulId,housePopulationDto.getPopulationId()));
            if(houseUserDO != null){
                houseUserDO.setRelationId(ComMngPopulationHouseUserDO.relationId.zuzhu);
                houseUserDO.setUpdateAt(new Date());
                comMngPopulationHouseUserDAO.updateById(houseUserDO);
            }
        }else if(housePopulationDto.getType().equals(DeleteBuildingHousePopulationDto.type.jzr)){
            //清理人员和房屋关联关系
            comMngPopulationHouseUserDAO.delete(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda()
                    .eq(ComMngPopulationHouseUserDO::getHouseId,housePopulationDto.getHouseId())
                    .eq(ComMngPopulationHouseUserDO::getPopulId,housePopulationDto.getPopulationId()));
            //查询该房屋是否还有人居住
            Integer count = comMngPopulationHouseUserDAO.selectCount(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda()
                    .eq(ComMngPopulationHouseUserDO::getHouseId,housePopulationDto.getHouseId()));
            if(count <= 0){
                houseDO.setStatus(ComMngPopulationHouseDO.status.kongzhi);
                comMngPopulationHouseDAO.updateById(houseDO);
            }else{
                //查询该房屋的居住人中是否还有租住的人
                Integer zCount = comMngPopulationHouseUserDAO.selectCount(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda()
                        .eq(ComMngPopulationHouseUserDO::getHouseId,housePopulationDto.getHouseId())
                        .eq(ComMngPopulationHouseUserDO::getRelationId,ComMngPopulationHouseUserDO.relationId.zuhu));
                if(zCount <= 0){
                    houseDO.setStatus(ComMngPopulationHouseDO.status.zizhu);
                    comMngPopulationHouseDAO.updateById(houseDO);
                }
            }
        }
        return R.ok();
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComMngBuildingMapper.xml
@@ -122,23 +122,28 @@
    </select>
    <select id="getBuildingUnitHouseList" resultType="com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseVO">
        SELECT id, floor, unit_no, house_no, `status`,
        SELECT id, floor, unit_no, house_no, `status`,floor_num as buildingNum,
        ( SELECT count( id ) FROM com_mng_population_house_user WHERE house_id = cmph.id ) AS userNum
        FROM
            com_mng_population_house AS cmph
        where cmph.village_id = #{pageBuildingListDto.villageId} and cmph.floor = #{pageBuildingListDto.floor} and cmph.unit_no = #{pageBuildingListDto.unit}
        where cmph.village_id = #{pageBuildingListDto.villageId}
         and cmph.floor = #{pageBuildingListDto.floor}
          and cmph.unit_no = #{pageBuildingListDto.unit}
          and cmph.house_no is not null
          order by floor_num asc
    </select>
    <select id="getBuildingUnitHouseStatistics" resultType="Map">
        SELECT
            count( id ) as houseNum,
            (select count(id) from com_mng_population_house where village_id = #{villageId} and floor = #{floor} and unit_no = #{unit} and `status` = 1) as liveTotal,
            (select count(id) from com_mng_population_house where village_id = #{villageId} and floor = #{floor} and unit_no = #{unit} and `status` = 2) as leaseTotal,
            (select count(id) from com_mng_population_house where village_id = #{villageId} and floor = #{floor} and unit_no = #{unit} and `status` = 3) as vacantNum
            (select count(id) from com_mng_population_house where village_id = #{villageId} and floor = #{floor} and unit_no = #{unit} and house_no is not null and `status` = 1) as liveTotal,
            (select count(id) from com_mng_population_house where village_id = #{villageId} and floor = #{floor} and unit_no = #{unit} and house_no is not null and `status` = 2) as leaseTotal,
            (select count(id) from com_mng_population_house where village_id = #{villageId} and floor = #{floor} and unit_no = #{unit} and house_no is not null and `status` = 3) as vacantNum
        FROM
            com_mng_population_house
        WHERE
            village_id = #{villageId} and floor = #{floor} and unit_no = #{unit}
            village_id = #{villageId} and floor = #{floor} and unit_no = #{unit} and house_no is not null
    </select>
    <select id="buildingUnitHouseDetailAdmin" resultType="com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseDetailVO">
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComMngPopulationDOMapper.xml
@@ -600,4 +600,8 @@
        AND e.create_at <![CDATA[<=]]> #{screenEventDTO.endTime}
        </if>
    </select>
    <update id="updatePopulationUnit">
        update com_mng_population set unit_no = #{newUnitNo} where village_id = #{villageId} and floor = #{floor} and unit_no = #{oldUnitNo}
    </update>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComMngPopulationHouseDOMapper.xml
New file
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.panzhihua.service_community.dao.ComMngPopulationHouseDAO">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComMngPopulationHouseDO">
        <id column="id" property="id" />
        <result column="street_id" property="streetId" />
        <result column="community_id" property="communityId" />
        <result column="village_id" property="villageId" />
        <result column="alley" property="alley" />
        <result column="house_num" property="houseNum" />
        <result column="unit_no" property="unitNo" />
        <result column="floor" property="floor" />
        <result column="house_no" property="houseNo" />
        <result column="code" property="code" />
        <result column="address" property="address" />
        <result column="status" property="status" />
        <result column="purpose" property="purpose" />
        <result column="control_status" property="controlStatus" />
        <result column="is_empty" property="isEmpty" />
        <result column="construct_purpose" property="constructPurpose" />
        <result column="construct_area" property="constructArea" />
        <result column="path" property="path" />
        <result column="create_at" property="createAt" />
        <result column="update_at" property="updateAt" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, street_id, community_id, village_id, alley, house_num, unit_no, floor, house_no, code, address, status, purpose, control_status, is_empty, construct_purpose, construct_area, path, create_at, update_at
    </sql>
    <update id="updateHouseUnit">
        update com_mng_population_house set unit_no = #{newUnitNo} where village_id = #{villageId} and floor = #{floor} and unit_no = #{oldUnitNo}
    </update>
    <update id="updateUnitAll" parameterType="java.util.List">
        <foreach collection="houseList" item="item" index="index" separator=";">
            update com_mng_population_house
            <set>
                <if test="item.address != null and item.address != &quot;&quot;">
                    `address` = #{item.address},
                </if>
                <if test="item.path != null and item.path != &quot;&quot;">
                    `path` = #{item.path},
                </if>
                <if test="item.unitNo != null and item.unitNo != &quot;&quot;">
                    `unit_no` = #{item.unitNo},
                </if>
                `update_at` = NOW()
            </set>
            WHERE `id` = #{item.id}
        </foreach>
    </update>
</mapper>