springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/BuildingDto.java
New file @@ -0,0 +1,4 @@ package com.panzhihua.common.model.dtos.community.building; public class BuildingDto { } 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
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 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
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 oldUnitNo; @ApiModelProperty("新单元号") private String newUnitNo; @ApiModelProperty(value = "社区id", hidden = true) private Long communityId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/PageBuildingListDto.java
New file @@ -0,0 +1,30 @@ 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 PageBuildingListDto { @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 keyWord; @ApiModelProperty("小区id") private Long villageId; } 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/BuildingVO.java
New file @@ -0,0 +1,9 @@ package com.panzhihua.common.model.vos.community.building; import lombok.Data; @Data public class BuildingVO { private String label; private String value; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/BuildingDetailAdminVo.java
New file @@ -0,0 +1,49 @@ 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 io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author lyq * 楼栋详情返回参数 */ @Data @ApiModel("楼栋详情返回参数") public class BuildingDetailAdminVo { @ApiModelProperty("楼栋主键") @JsonSerialize(using = ToStringSerializer.class) private Long id; @ApiModelProperty("街路巷") private String alley; @ApiModelProperty("街路巷号") private String doorNum; @ApiModelProperty("楼栋号") private String name; @ApiModelProperty("小区名称") private String villageName; @ApiModelProperty("小区id") @JsonSerialize(using = ToStringSerializer.class) private Long villageId; @ApiModelProperty("房屋总户数") private Integer houseNum; @ApiModelProperty("自住房屋数量") private Integer liveTotal; @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
New file @@ -0,0 +1,25 @@ package com.panzhihua.common.model.vos.community.building.admin; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author lyq * 楼栋列表表头统计返回参数 */ @Data @ApiModel("楼栋列表表头统计返回参数") public class BuildingListHeaderStatisticsAdminVo { @ApiModelProperty("楼栋数") private Integer buildNum; @ApiModelProperty("总户数") private Integer houseNum; @ApiModelProperty("居民人数") private Integer populationNum; } 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
New file @@ -0,0 +1,49 @@ 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 io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author lyq * 分页查询楼栋列表返回参数 */ @Data @ApiModel("分页查询楼栋列表返回参数") public class PageBuildingListAdminVo { @ApiModelProperty("楼栋主键") @JsonSerialize(using = ToStringSerializer.class) private Long id; @ApiModelProperty("街路巷") private String alley; @ApiModelProperty("楼栋号") private String name; @ApiModelProperty("小区名称") private String villageName; @ApiModelProperty("小区id") @JsonSerialize(using = ToStringSerializer.class) private Long villageId; @ApiModelProperty("单元数") private Integer unitTotal; @ApiModelProperty("楼层数") private Integer buildFloorSum; @ApiModelProperty("总户数") private Integer houseNum; @ApiModelProperty("居民人数") private Integer populationNum; @ApiModelProperty("门牌号") private String doorNum; } 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
@@ -4,6 +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.*; 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; @@ -6635,4 +6636,101 @@ */ @GetMapping("/common/data/population/house/user/detail") public R detailHousesUser(@RequestParam("id") Long id); /** * 社区后台-分页查询楼栋列表 * @param pageBuildingListDto 请求参数 * @return 楼栋列表 */ @PostMapping("/building/page/admin/") R pageBuildingAdmin(@RequestBody PageBuildingListDto pageBuildingListDto); /** * 社区后台-查询楼栋列表表头统计数据 * @param communityId 社区id * @return 楼栋列表表头统计数据 */ @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); /** * 添加楼栋下单元 * @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
@@ -4,12 +4,17 @@ import java.io.InputStream; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; 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; 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; import com.alibaba.excel.EasyExcel; @@ -27,7 +32,7 @@ * @date 2021/6/10 12:34 */ @Slf4j @Api(tags = {"社区管理"}) @Api(tags = {"楼栋管理"}) @RestController @RequestMapping("/building") public class BuildingApi extends BaseController { @@ -35,11 +40,9 @@ @Resource private CommunityService communityService; @ApiOperation(value = "excel导入楼栋信息") @ApiOperation(value = "excel导入楼栋信息--注:以前的接口,不需要对接") @PostMapping(value = "/import", consumes = "multipart/*", headers = "content-type=multipart/form-date") public R downloadPopulationTemplate(@RequestParam MultipartFile file, HttpServletRequest request) { // String fileName = file.getOriginalFilename(); // log.info("传入文件名字【{}】", fileName); public R downloadPopulationTemplate(@RequestParam MultipartFile file) { InputStream inputStream; try { inputStream = file.getInputStream(); @@ -52,4 +55,121 @@ } return R.ok(); } @ApiOperation(value = "分页查询楼栋列表", response = PageBuildingListAdminVo.class) @PostMapping("/page") public R page(@RequestBody PageBuildingListDto pageBuildingListDto) { // 获取登陆用户绑定社区id Long communityId = this.getLoginUserInfo().getCommunityId(); pageBuildingListDto.setCommunityId(communityId); return communityService.pageBuildingAdmin(pageBuildingListDto); } @ApiOperation(value = "楼栋列表表头统计", response = BuildingListHeaderStatisticsAdminVo.class) @GetMapping("/header/statistics") public R headerStatistics() { // 获取登陆用户绑定社区id Long communityId = this.getLoginUserInfo().getCommunityId(); 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(@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,6 +4,7 @@ import javax.annotation.Resource; import com.panzhihua.common.model.dtos.community.building.admin.*; import org.springframework.web.bind.annotation.*; import com.panzhihua.common.model.vos.R; @@ -18,7 +19,7 @@ */ @Slf4j @RestController @RequestMapping("/building") @RequestMapping("/building/") public class BuildingApi { @Resource @@ -27,7 +28,91 @@ @PostMapping("/batchSave") R listSaveBuildingExcelVO(@RequestBody List<ComMngBuildingExcelVO> newVoList, @RequestParam("communityId") Long communityId) { return comActBuildingService.batchSaveBuilding(newVoList, communityId); } /** * 社区后台-分页查询楼栋列表 * @param pageBuildingListDto 请求参数 * @return 楼栋列表 */ @PostMapping("/page/admin") public R pageBuildingAdmin(@RequestBody PageBuildingListDto pageBuildingListDto) { return comActBuildingService.pageBuildingAdmin(pageBuildingListDto); } /** * 社区后台-查询楼栋列表表头统计数据 * @param communityId 社区id * @return 楼栋列表表头统计数据 */ @GetMapping("/header/statistics/") 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); } @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/ComMngBuildingDAO.java
@@ -1,9 +1,23 @@ 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.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; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -23,4 +37,59 @@ List<String> findByVillage(String ids); List<VillageVO> select(Long id); /** * 社区后台-分页查询楼栋列表 * * @param pageBuildingListDto 请求参数 * @return 楼栋列表 */ IPage<PageBuildingListAdminVo> pageBuildingAdmin(Page page, @Param(value = "pageBuildingListDto") PageBuildingListDto pageBuildingListDto); /** * 社区后台-查询楼栋列表表头统计数据 * * @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/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,6 +3,7 @@ import java.util.List; import com.baomidou.mybatisplus.extension.service.IService; 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; @@ -15,4 +16,53 @@ public interface ComActBuildingService extends IService<ComMngBuildingDO> { R batchSaveBuilding(List<ComMngBuildingExcelVO> newVoList, Long communityId); /** * 社区后台-分页查询楼栋列表 * @param pageBuildingListDto 请求参数 * @return 楼栋列表 */ R pageBuildingAdmin(PageBuildingListDto pageBuildingListDto); /** * 社区后台-查询楼栋列表表头统计数据 * @param communityId 社区id * @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); 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,11 +1,29 @@ package com.panzhihua.service_community.service.impl; import java.math.BigDecimal; 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.PopulIsOksEnum; import com.panzhihua.common.enums.PopulPoliticalOutlookEnum; 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; @@ -18,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; @@ -42,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) { @@ -112,4 +129,498 @@ gridBuildRelation.setCreateAt(new Date()); return gridBuildRelation; } /** * 社区后台-分页查询楼栋列表 * @param pageBuildingListDto 请求参数 * @return 楼栋列表 */ @Override public R pageBuildingAdmin(PageBuildingListDto pageBuildingListDto){ IPage<PageBuildingListAdminVo> pageBuildingList = this.baseMapper.pageBuildingAdmin( new Page(pageBuildingListDto.getPageNum(),pageBuildingListDto.getPageSize()),pageBuildingListDto); return R.ok(pageBuildingList); } /** * 社区后台-查询楼栋列表表头统计数据 * @param communityId 社区id * @return 楼栋列表表头统计数据 */ @Override 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(StringUtils.isNotEmpty(villageBuilding.getFloor())){ if (!villageBuilding.getFloor().contains("栋")) { villageBuilding.setFloorString(villageBuilding.getFloor() + "栋"); } else { villageBuilding.setFloorString(villageBuilding.getFloor()); } } if(StringUtils.isNotEmpty(villageBuilding.getUnitNo())){ 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.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("-"); } } }); 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, null, 1); 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); } @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
@@ -54,4 +54,154 @@ 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.PageBuildingListAdminVo"> SELECT cmb.id, cmv.village_id, cmv.alley, cmb.`name`, cmv.`name` AS villageName, cmv.house_num as doorNum, cmb.unit_total, cmb.build_floor_sum, (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 where village_id = cmb.village_id and floor = cmb.`name`) as populationNum FROM com_mng_building AS cmb LEFT JOIN com_mng_village AS cmv ON cmv.village_id = cmb.village_id <where> <if test="pageBuildingListDto.communityId != null"> and cmb.act_id = #{pageBuildingListDto.communityId} </if> <if test="pageBuildingListDto.villageId != null"> and cmb.village_id = #{pageBuildingListDto.villageId} </if> <if test="pageBuildingListDto.keyWord != null and pageBuildingListDto.keyWord != """> and cmv.alley like concat(#{pageBuildingListDto.keyWord},'%') </if> </where> order by cmb.create_at desc </select> <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 com_mng_building AS cmb WHERE 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`,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} 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 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} and house_no is not null </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> springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComMngPopulationDOMapper.xml
@@ -601,4 +601,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 != """> `address` = #{item.address}, </if> <if test="item.path != null and item.path != """> `path` = #{item.path}, </if> <if test="item.unitNo != null and item.unitNo != """> `unit_no` = #{item.unitNo}, </if> `update_at` = NOW() </set> WHERE `id` = #{item.id} </foreach> </update> </mapper>