huanghongfa
2021-10-13 c6f7ec51e53eb6ec344afc8428a2511516fbbc0d
实有房屋-楼栋列表接口开发
2 文件已重命名
9个文件已修改
1 文件已复制
4个文件已添加
679 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/AddBuildingUnitDto.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/EditBuildingUnitDto.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/PageBuildingUnitHouseListDto.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/BuildingDetailAdminVo.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/BuildingListHeaderStatisticsAdminVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/BuildingUnitHouseListAdminVo.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/PageBuildingListAdminVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/ComMngVillageBuildingHouseVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/PopulationListVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/BuildingApi.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/BuildingApi.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngBuildingDAO.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActBuildingService.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java 178 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComMngBuildingMapper.xml 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/AddBuildingUnitDto.java
New file
@@ -0,0 +1,25 @@
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 AddBuildingUnitDto {
    @ApiModelProperty("楼栋id")
    private Long id;
    @ApiModelProperty("单元号")
    private String floor;
    @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
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 EditBuildingUnitDto {
    @ApiModelProperty("楼栋id")
    private Long id;
    @ApiModelProperty("原单元号")
    private String oldFloor;
    @ApiModelProperty("新单元号")
    private String newFloor;
    @ApiModelProperty(value = "社区id", hidden = true)
    private Long communityId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/PageBuildingUnitHouseListDto.java
New file
@@ -0,0 +1,34 @@
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 PageBuildingUnitHouseListDto {
    @ApiModelProperty(value = "分页-当前页数", example = "1")
    private Long pageNum = 1L;
    @ApiModelProperty(value = "分页-每页记录数", example = "10")
    private Long pageSize = 10L;
    @ApiModelProperty(value = "社区id", hidden = true)
    private Long communityId;
    @ApiModelProperty("单元号")
    private String unit;
    @ApiModelProperty("楼栋id")
    private Long id;
    private Long villageId;
    private String floor;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/BuildingDetailAdminVo.java
copy from springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/PageBuildingListVo.java copy to springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/BuildingDetailAdminVo.java
File was copied from springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/PageBuildingListVo.java
@@ -8,12 +8,12 @@
/**
 * @author lyq
 * 分页查询楼栋列表返回参数
 * 楼栋详情返回参数
 */
@Data
@ApiModel("分页查询楼栋列表返回参数")
public class PageBuildingListVo {
@ApiModel("楼栋详情返回参数")
public class BuildingDetailAdminVo {
    @ApiModelProperty("楼栋主键")
    @JsonSerialize(using = ToStringSerializer.class)
@@ -21,6 +21,9 @@
    @ApiModelProperty("街路巷")
    private String alley;
    @ApiModelProperty("街路巷号")
    private String doorNum;
    @ApiModelProperty("楼栋号")
    private String name;
@@ -32,18 +35,15 @@
    @JsonSerialize(using = ToStringSerializer.class)
    private Long villageId;
    @ApiModelProperty("单元数")
    private Integer unitTotal;
    @ApiModelProperty("楼层数")
    private Integer buildFloorSum;
    @ApiModelProperty("总户数")
    @ApiModelProperty("房屋总户数")
    private Integer houseNum;
    @ApiModelProperty("居民人数")
    private Integer populationNum;
    @ApiModelProperty("自住房屋数量")
    private Integer liveTotal;
    @ApiModelProperty("门牌号")
    private String doorNum;
    @ApiModelProperty("出租房屋数量")
    private Integer leaseTotal;
    @ApiModelProperty("空置房屋数量")
    private Integer vacantNum;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/BuildingListHeaderStatisticsAdminVo.java
File was renamed from springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/BuildingListHeaderStatisticsVo.java
@@ -11,7 +11,7 @@
@Data
@ApiModel("楼栋列表表头统计返回参数")
public class BuildingListHeaderStatisticsVo {
public class BuildingListHeaderStatisticsAdminVo {
    @ApiModelProperty("楼栋数")
    private Integer buildNum;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/BuildingUnitHouseListAdminVo.java
New file
@@ -0,0 +1,35 @@
package com.panzhihua.common.model.vos.community.building.admin;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @author lyq
 * 楼栋单元下房屋列表返回参数
 */
@Data
@ApiModel("楼栋单元下房屋列表返回参数")
public class BuildingUnitHouseListAdminVo {
    @ApiModelProperty("楼栋单元下房屋列表")
    private List<ComMngVillageBuildingHouseVO> houseList;
    @ApiModelProperty("房屋总户数")
    private Integer houseNum = 0;
    @ApiModelProperty("自住房屋数量")
    private Integer liveTotal = 0;
    @ApiModelProperty("出租房屋数量")
    private Integer leaseTotal = 0;
    @ApiModelProperty("空置房屋数量")
    private Integer vacantNum = 0;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/PageBuildingListAdminVo.java
File was renamed from springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/PageBuildingListVo.java
@@ -13,7 +13,7 @@
@Data
@ApiModel("分页查询楼栋列表返回参数")
public class PageBuildingListVo {
public class PageBuildingListAdminVo {
    @ApiModelProperty("楼栋主键")
    @JsonSerialize(using = ToStringSerializer.class)
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/ComMngVillageBuildingHouseVO.java
@@ -21,7 +21,7 @@
    @ApiModelProperty("户室号")
    private String houseNo;
    @ApiModelProperty("房屋状态(1.自住 2.租住 3.其他)")
    @ApiModelProperty("房屋状态(1.自住 2.租住 3.空置 4.其他)")
    private Integer status;
    @ApiModelProperty("在住居民数")
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/PopulationListVO.java
@@ -72,4 +72,6 @@
    @ApiModelProperty(value = "纬度")
    private String lat;
    @ApiModelProperty(value = "政治面貌文字描述")
    private String outlook;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -5,6 +5,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.cluster.PageClusterMemberDto;
import com.panzhihua.common.model.dtos.community.cluster.admin.*;
import com.panzhihua.common.model.dtos.property.CommonPage;
@@ -6652,4 +6653,45 @@
     */
    @GetMapping("/building/header/statistics/")
    R buildingListHeaderStatisticsAdmin(@RequestParam("communityId") Long communityId);
    /**
     * 社区后台-查询楼栋详情
     * @param id    楼栋id
     * @return  楼栋详情
     */
    @GetMapping("/building/detail/admin/")
    R detailBuildAdmin(@RequestParam("id") Long id);
    /**
     * 查询楼栋下单元列表
     * @param id    楼栋id
     * @return  单元列表
     */
    @GetMapping("/building/unit/list/admin")
    R buildingUnitListAdmin(@RequestParam("id") Long id);
    /**
     * 查询楼栋单元下房屋列表
     * @param unitHouseListDto    请求参数
     * @return  单元列表
     */
    @PostMapping("/building/unit/house/list/admin")
    R buildingUnitHouseListAdmin(@RequestBody PageBuildingUnitHouseListDto unitHouseListDto);
    /**
     * 查询楼栋单元下房屋详情
     * @param houseId   房屋id
     * @param communityId   社区id
     * @return  房屋详情
     */
    @GetMapping("/building/unit/house/detail/admin")
    R unitHouseDetailAdmin(@RequestParam("houseId") Long houseId,@RequestParam("communityId") Long communityId);
    /**
     * 查询社区下小区列表
     * @param communityId   社区id
     * @return  小区列表
     */
    @GetMapping("/building/village/list/admin")
    R buildingVillageListAdmin(@RequestParam("communityId") Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/BuildingApi.java
@@ -6,8 +6,15 @@
import javax.annotation.Resource;
import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto;
import com.panzhihua.common.model.vos.community.building.admin.BuildingListHeaderStatisticsVo;
import com.panzhihua.common.model.vos.community.building.admin.PageBuildingListVo;
import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingUnitHouseListDto;
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;
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 org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -50,7 +57,7 @@
        return R.ok();
    }
    @ApiOperation(value = "分页查询楼栋列表", response = PageBuildingListVo.class)
    @ApiOperation(value = "分页查询楼栋列表", response = PageBuildingListAdminVo.class)
    @PostMapping("/page")
    public R page(@RequestBody PageBuildingListDto pageBuildingListDto) {
        // 获取登陆用户绑定社区id
@@ -59,7 +66,7 @@
        return communityService.pageBuildingAdmin(pageBuildingListDto);
    }
    @ApiOperation(value = "楼栋列表表头统计", response = BuildingListHeaderStatisticsVo.class)
    @ApiOperation(value = "楼栋列表表头统计", response = BuildingListHeaderStatisticsAdminVo.class)
    @GetMapping("/header/statistics")
    public R headerStatistics() {
        // 获取登陆用户绑定社区id
@@ -67,5 +74,47 @@
        return communityService.buildingListHeaderStatisticsAdmin(communityId);
    }
    @ApiOperation(value = "楼栋详情", response = BuildingDetailAdminVo.class)
    @GetMapping("/detail")
    public R detail(@RequestParam("id") Long id) {
        return communityService.detailBuildAdmin(id);
    }
    @ApiOperation(value = "查询楼栋下单元列表", response = ComMngVillageBuildingVO.class)
    @GetMapping("/unit/list")
    public R unitList(@RequestParam("id") Long id) {
        return communityService.buildingUnitListAdmin(id);
    }
    @ApiOperation(value = "查询单元下房屋列表", response = BuildingUnitHouseListAdminVo.class)
    @PostMapping("/unit/house/list")
    public R unitHouseList(@RequestBody PageBuildingUnitHouseListDto unitHouseListDto) {
        return communityService.buildingUnitHouseListAdmin(unitHouseListDto);
    }
    @ApiOperation(value = "查询房屋详情", response = ComMngVillageBuildingHouseDetailVO.class)
    @GetMapping("/unit/house/detail")
    public R unitHouseDetail(@RequestParam("houseId") Long houseId) {
        // 获取登陆用户绑定社区id
        Long communityId = this.getLoginUserInfo().getCommunityId();
        return communityService.unitHouseDetailAdmin(houseId,communityId);
    }
    @ApiOperation(value = "查询小区列表", response = ComMngVillageVO.class)
    @GetMapping("/village/list")
    public R villageList() {
        // 获取登陆用户绑定社区id
        Long communityId = this.getLoginUserInfo().getCommunityId();
        return communityService.buildingVillageListAdmin(communityId);
    }
//    @ApiOperation(value = "添加单元")
//    @PostMapping("/add/unit")
//    public R addUnit() {
//        // 获取登陆用户绑定社区id
//        Long communityId = this.getLoginUserInfo().getCommunityId();
//        return communityService.buildingVillageListAdmin(communityId);
//    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/BuildingApi.java
@@ -5,6 +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 org.springframework.web.bind.annotation.*;
import com.panzhihua.common.model.vos.R;
@@ -50,4 +51,44 @@
    public R buildingListHeaderStatisticsAdmin(@RequestParam("communityId") Long communityId) {
        return comActBuildingService.buildingListHeaderStatisticsAdmin(communityId);
    }
    /**
     * 社区后台-查询楼栋详情
     * @param id    楼栋id
     * @return  楼栋详情
     */
    @GetMapping("/detail/admin")
    public R detailBuildAdmin(@RequestParam("id") Long id) {
        return comActBuildingService.detailBuildAdmin(id);
    }
    /**
     * 查询楼栋下单元列表
     * @param id    楼栋id
     * @return  单元列表
     */
    @GetMapping("/unit/list/admin")
    public R buildingUnitListAdmin(@RequestParam("id") Long id) {
        return comActBuildingService.buildingUnitListAdmin(id);
    }
    /**
     * 查询楼栋单元下房屋列表
     * @param unitHouseListDto    请求参数
     * @return  单元列表
     */
    @PostMapping("/unit/house/list/admin")
    public R buildingUnitHouseListAdmin(@RequestBody PageBuildingUnitHouseListDto unitHouseListDto) {
        return comActBuildingService.buildingUnitHouseListAdmin(unitHouseListDto);
    }
    @GetMapping("/unit/house/detail/admin")
    public R buildingUnitHouseDetailAdmin(@RequestParam("houseId") Long houseId,@RequestParam("communityId") Long communityId) {
        return comActBuildingService.buildingUnitHouseDetailAdmin(houseId,communityId);
    }
    @GetMapping("/village/list/admin")
    public R buildingVillageListAdmin(@RequestParam("communityId") Long communityId) {
        return comActBuildingService.buildingVillageListAdmin(communityId);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngBuildingDAO.java
@@ -1,13 +1,21 @@
package com.panzhihua.service_community.dao;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.vos.community.ComMngVillageVO;
import com.panzhihua.common.model.vos.community.VillageVO;
import com.panzhihua.common.model.vos.community.building.admin.BuildingListHeaderStatisticsVo;
import com.panzhihua.common.model.vos.community.building.admin.PageBuildingListVo;
import com.panzhihua.common.model.vos.community.building.admin.BuildingDetailAdminVo;
import com.panzhihua.common.model.vos.community.building.admin.BuildingListHeaderStatisticsAdminVo;
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 org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -32,10 +40,56 @@
    /**
     * 社区后台-分页查询楼栋列表
     * @param pageBuildingListDto   请求参数
     * @return  楼栋列表
     *
     * @param pageBuildingListDto 请求参数
     * @return 楼栋列表
     */
    IPage<PageBuildingListVo> pageBuildingAdmin(Page page,@Param(value = "pageBuildingListDto") PageBuildingListDto pageBuildingListDto);
    IPage<PageBuildingListAdminVo> pageBuildingAdmin(Page page, @Param(value = "pageBuildingListDto") PageBuildingListDto pageBuildingListDto);
    BuildingListHeaderStatisticsVo buildingListHeaderStatisticsAdmin(Long communityId);
    /**
     * 社区后台-查询楼栋列表表头统计数据
     *
     * @param communityId 社区id
     * @return 楼栋列表表头统计数据
     */
    BuildingListHeaderStatisticsAdminVo buildingListHeaderStatisticsAdmin(@Param(value = "communityId") Long communityId);
    /**
     * 社区后台-查询楼栋详情
     *
     * @param id 楼栋id
     * @return 楼栋详情
     */
    BuildingDetailAdminVo detailBuildAdmin(@Param(value = "id") Long id);
    /**
     * 查询楼栋下的单元列表
     * @param villageId    小区id
     * @param floor 楼栋号
     * @return  单元列表
     */
    List<ComMngVillageBuildingVO> buildingUnitList(@Param(value = "villageId") Long villageId, @Param(value = "floor") String floor);
    /**
     * 查询楼栋单元下房屋列表
     * @param unitHouseListDto 请求参数
     * @return  房屋列表
     */
    IPage<ComMngVillageBuildingHouseVO> getBuildingUnitHouseList(Page page, @Param(value = "pageBuildingListDto") PageBuildingUnitHouseListDto unitHouseListDto);
    /**
     * 查询楼栋单元下统计数据
     * @param villageId 小区id
     * @param floor 楼栋号
     * @param unit  单元号
     * @return  统计数据
     */
    Map<String,Object> getBuildingUnitHouseStatistics(@Param(value = "villageId") Long villageId, @Param(value = "floor") String floor, @Param(value = "unit") String unit);
    ComMngVillageBuildingHouseDetailVO buildingUnitHouseDetailAdmin(@Param("houseId") Long houseId);
    List<PopulationListVO> getGridVillageBuildingPopulationList(@Param("houseId") Long houseId,@Param("communityId") Long communityId,
                                                                @Param("relation") Integer relation, @Param("relationId") Integer relationId);
    List<ComMngVillageVO> buildingVillageListAdmin(@Param("communityId") Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActBuildingService.java
@@ -4,6 +4,7 @@
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.vos.R;
import com.panzhihua.common.model.vos.community.ComMngBuildingExcelVO;
import com.panzhihua.service_community.model.dos.ComMngBuildingDO;
@@ -30,4 +31,29 @@
     * @return  楼栋列表表头统计数据
     */
    R buildingListHeaderStatisticsAdmin(Long communityId);
    /**
     * 社区后台-查询楼栋详情
     * @param id    楼栋id
     * @return  楼栋详情
     */
    R detailBuildAdmin(Long id);
    /**
     * 查询楼栋下单元列表
     * @param id    楼栋id
     * @return  单元列表
     */
    R buildingUnitListAdmin(Long id);
    /**
     * 查询楼栋单元下房屋列表
     * @param unitHouseListDto    请求参数
     * @return  单元列表
     */
    R buildingUnitHouseListAdmin(PageBuildingUnitHouseListDto unitHouseListDto);
    R buildingUnitHouseDetailAdmin(Long houseId,Long communityId);
    R buildingVillageListAdmin(Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java
@@ -3,13 +3,23 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
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.PopulPoliticalOutlookEnum;
import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto;
import com.panzhihua.common.model.vos.community.building.admin.PageBuildingListVo;
import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingUnitHouseListDto;
import com.panzhihua.common.model.vos.community.ComMngVillageVO;
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 org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -124,7 +134,7 @@
     */
    @Override
    public R pageBuildingAdmin(PageBuildingListDto pageBuildingListDto){
        IPage<PageBuildingListVo> pageBuildingList = this.baseMapper.pageBuildingAdmin(
        IPage<PageBuildingListAdminVo> pageBuildingList = this.baseMapper.pageBuildingAdmin(
                new Page(pageBuildingListDto.getPageNum(),pageBuildingListDto.getPageSize()),pageBuildingListDto);
        return R.ok(pageBuildingList);
    }
@@ -138,4 +148,168 @@
    public R buildingListHeaderStatisticsAdmin(Long communityId){
        return R.ok(this.baseMapper.buildingListHeaderStatisticsAdmin(communityId));
    }
    /**
     * 社区后台-查询楼栋详情
     * @param id    楼栋id
     * @return  楼栋详情
     */
    @Override
    public R detailBuildAdmin(Long id){
        return R.ok(this.baseMapper.detailBuildAdmin(id));
    }
    /**
     * 查询楼栋下单元列表
     * @param id    楼栋id
     * @return  单元列表
     */
    @Override
    public R buildingUnitListAdmin(Long id){
        //查询该楼栋信息
        ComMngBuildingDO buildingDO = this.baseMapper.selectById(id);
        if(buildingDO == null){
            return R.fail("未查询到该楼栋信息");
        }
        List<ComMngVillageBuildingVO> buildList = new ArrayList<>();
        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 (!villageBuilding.getUnitNo().contains("单元")) {
                    villageBuilding.setUnitNoString(villageBuilding.getUnitNo() + "单元");
                } else {
                    villageBuilding.setUnitNoString(villageBuilding.getUnitNo());
                }
            });
        }
        return R.ok(buildList);
    }
    /**
     * 查询楼栋单元下房屋列表
     * @param unitHouseListDto    请求参数
     * @return  单元列表
     */
    @Override
    public R buildingUnitHouseListAdmin(PageBuildingUnitHouseListDto unitHouseListDto){
        BuildingUnitHouseListAdminVo houseListAdminVo = new BuildingUnitHouseListAdminVo();
        //查询该楼栋信息
        ComMngBuildingDO buildingDO = this.baseMapper.selectById(unitHouseListDto.getId());
        if(buildingDO == null){
            return R.fail("未查询到该楼栋信息");
        }
        unitHouseListDto.setVillageId(buildingDO.getVillageId());
        unitHouseListDto.setFloor(buildingDO.getName());
        List<ComMngVillageBuildingHouseVO> buildHouseList = new ArrayList<>();
        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+)", ""));
                        }
                    } else {
                        house.setBuildingNum("-");
                    }
                } else {
                    house.setBuildingNum("-");
                }
            });
            buildHouseList = buildingHousePage.getRecords();
            //查询统计数据
            Map<String,Object> statisticsMap = this.baseMapper.getBuildingUnitHouseStatistics(buildingDO.getVillageId(),buildingDO.getName(),unitHouseListDto.getUnit());
            if(statisticsMap != null){
                houseListAdminVo.setHouseNum(Integer.parseInt(statisticsMap.get("houseNum").toString()));
                houseListAdminVo.setLiveTotal(Integer.parseInt(statisticsMap.get("liveTotal").toString()));
                houseListAdminVo.setLeaseTotal(Integer.parseInt(statisticsMap.get("leaseTotal").toString()));
                houseListAdminVo.setVacantNum(Integer.parseInt(statisticsMap.get("vacantNum").toString()));
            }
        }
        houseListAdminVo.setHouseList(buildHouseList);
        return R.ok(houseListAdminVo);
    }
    @Override
    public R buildingUnitHouseDetailAdmin(Long houseId,Long communityId){
        ComMngVillageBuildingHouseDetailVO buildingHouseDetailVO =
                this.baseMapper.buildingUnitHouseDetailAdmin(houseId);
        if (buildingHouseDetailVO != null) {
            // 转换楼层数
            String houseNo = buildingHouseDetailVO.getHouseNo();
            boolean result = houseNo.matches("[0-9]+");
            if (result) {// 该字段为纯数字
                if (houseNo.length() == 4) {
                    buildingHouseDetailVO.setBuildingNum(houseNo.substring(0, 2).replaceAll("^(0+)", ""));
                } else if (houseNo.length() == 3) {
                    buildingHouseDetailVO.setBuildingNum(houseNo.substring(0, 1).replaceAll("^(0+)", ""));
                }
            } else {
                buildingHouseDetailVO.setBuildingNum("-");
            }
            // 查询该房屋的户主信息
            List<PopulationListVO> householderList =
                    this.baseMapper.getGridVillageBuildingPopulationList(buildingHouseDetailVO.getId(),communityId, 1, null);
            if (!householderList.isEmpty()) {
                householderList.forEach(householder -> {
                    if(householder.getPoliticalOutlook() != null){
                        householder.setOutlook(PopulPoliticalOutlookEnum.getCnDescByName(householder.getPoliticalOutlook()));
                    }else{
                        householder.setOutlook("暂无");
                    }
                    try {
                        Integer age = IdcardUtil.getAgeByIdCard(householder.getCardNo());
                        householder.setAge(age);
                    } catch (Exception e) {
                        log.error("身份证号码转换年龄失败,人员id:" + householder.getId());
                    }
                });
                buildingHouseDetailVO.setHouseholderList(householderList);
            }
            // 查询该房屋的住户信息
            List<PopulationListVO> populationList =
                    this.baseMapper.getGridVillageBuildingPopulationList(buildingHouseDetailVO.getId(),communityId, null, null);
            if (!populationList.isEmpty()) {
                populationList.forEach(population -> {
                    if(population.getPoliticalOutlook() != null){
                        population.setOutlook(PopulPoliticalOutlookEnum.getCnDescByName(population.getPoliticalOutlook()));
                    }else{
                        population.setOutlook("暂无");
                    }
                    try {
                        Integer age = IdcardUtil.getAgeByIdCard(population.getCardNo());
                        population.setAge(age);
                    } catch (Exception e) {
                        log.error("身份证号码转换年龄失败,人员id:" + population.getId());
                    }
                });
                buildingHouseDetailVO.setPopulationList(populationList);
            }
        }
        return R.ok(buildingHouseDetailVO);
    }
    @Override
    public R buildingVillageListAdmin(Long communityId){
        List<ComMngVillageVO> villageList = this.baseMapper.buildingVillageListAdmin(communityId);
        villageList.forEach(village -> {
            if(StringUtils.isEmpty(village.getName())){
                village.setName(village.getAlley() + village.getHouseNum());
            }
        });
        return R.ok(villageList);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComMngBuildingMapper.xml
@@ -54,7 +54,7 @@
        select t.village_id as villageId,t.name as villageName,t1.id,t1.name  from com_mng_village t left join com_mng_building t1 on t.village_id = t1.village_id where t.community_id=#{id} and t1.id is not null
    </select>
    <select id="pageBuildingAdmin" resultType="com.panzhihua.common.model.vos.community.building.admin.PageBuildingListVo">
    <select id="pageBuildingAdmin" resultType="com.panzhihua.common.model.vos.community.building.admin.PageBuildingListAdminVo">
        SELECT
            cmb.id,
            cmv.village_id,
@@ -83,7 +83,7 @@
        order by cmb.create_at desc
    </select>
    <select id="buildingListHeaderStatisticsAdmin" resultType="com.panzhihua.common.model.vos.community.building.admin.BuildingListHeaderStatisticsVo">
    <select id="buildingListHeaderStatisticsAdmin" resultType="com.panzhihua.common.model.vos.community.building.admin.BuildingListHeaderStatisticsAdminVo">
        SELECT count( id ) AS buildNum,( SELECT count( id ) FROM com_mng_population_house WHERE community_id = cmb.act_id ) AS houseNum,
        ( SELECT count( id ) FROM com_mng_population_community_tags WHERE community_id = cmb.act_id ) AS populationNum
        FROM
@@ -92,4 +92,111 @@
            cmb.act_id = #{communityId}
    </select>
    <select id="detailBuildAdmin" resultType="com.panzhihua.common.model.vos.community.building.admin.BuildingDetailAdminVo">
        SELECT
            cmb.id,
            cmv.alley,
            cmv.house_num AS doorNum,
            cmb.`name`,
            cmv.`name` AS village,
            cmv.village_id,
            (select count(id) from com_mng_population_house where village_id = cmb.village_id and floor = cmb.`name`) as houseNum,
            (select count(id) from com_mng_population_house where village_id = cmb.village_id and floor = cmb.`name` and `status` = 1) as liveTotal,
            (select count(id) from com_mng_population_house where village_id = cmb.village_id and floor = cmb.`name` and `status` = 2) as leaseTotal,
            (select count(id) from com_mng_population_house where village_id = cmb.village_id and floor = cmb.`name` and `status` = 3) as vacantNum
        FROM
            com_mng_building AS cmb
            LEFT JOIN com_mng_village AS cmv ON cmv.village_id = cmb.village_id
            where cmb.id = #{id}
    </select>
    <select id="buildingUnitList" resultType="com.panzhihua.common.model.vos.grid.ComMngVillageBuildingVO">
        SELECT DISTINCT
            village_id,
            floor,
            unit_no
        FROM
            com_mng_population_house AS cmph
        WHERE
            village_id = #{villageId} and floor = #{floor}
    </select>
    <select id="getBuildingUnitHouseList" resultType="com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseVO">
        SELECT id, floor, unit_no, house_no, `status`,
        ( 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}
    </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
        FROM
            com_mng_population_house
        WHERE
            village_id = #{villageId} and floor = #{floor} and unit_no = #{unit}
    </select>
    <select id="buildingUnitHouseDetailAdmin" resultType="com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseDetailVO">
        SELECT
            cmph.id,
            cmv.`name` AS villageName,
            cmph.floor,
            cmph.unit_no,
            cmph.house_no,
            cmph.address,
            cmph.`status`,
            cmv.lat,
            cmv.lng
        FROM
            com_mng_population_house AS cmph
            LEFT JOIN com_mng_village AS cmv ON cmv.village_id = cmph.village_id
        WHERE
            cmph.id = #{houseId}
    </select>
    <select id="getGridVillageBuildingPopulationList" resultType="com.panzhihua.common.model.vos.grid.PopulationListVO">
        SELECT
            cmp.id,
            cmphu.id AS housePopulationId,
            cmp.sex,
            cmp.`name`,
            IFNULL( cmp.phone, '暂无' ) AS phone,
            cmp.card_no,
            cmpct.label,
            cmp.address,
            cmp.nation,
            cmphu.create_at,
            cmp.political_outlook
        FROM
            com_mng_population_house_user AS cmphu
            LEFT JOIN com_mng_population AS cmp ON cmp.id = cmphu.popul_id
            LEFT JOIN com_mng_population_community_tags AS cmpct ON cmp.id = cmpct.population_id and community_id = #{communityId}
        WHERE
            cmphu.house_id = #{houseId}
        <if test='relation != null '>
           AND cmphu.relation = #{relation}
        </if>
        <if test='relationId != null '>
           AND cmphu.relation_id = #{relationId}
        </if>
        group by id
    </select>
    <select id="buildingVillageListAdmin" resultType="com.panzhihua.common.model.vos.community.ComMngVillageVO">
        SELECT
            village_id,
            alley,
            house_num,
            `name`
        FROM
            com_mng_village
        WHERE
            community_id = #{communityId}
    </select>
</mapper>