From bc670e87f764e250a54b1687dedbe0df135b411f Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 17 Nov 2023 14:12:08 +0800
Subject: [PATCH] 房屋树查询新增,房屋,住户,租赁查询修改
---
src/main/java/org/springblade/common/utils/NodeTreeUtil.java | 41 +++
src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java | 4
src/main/java/org/springblade/modules/house/excel/HouseImporter.java | 4
src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml | 21 +
src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java | 4
src/main/java/org/springblade/modules/house/vo/HouseVO.java | 5
src/main/java/org/springblade/modules/house/controller/HouseRentalController.java | 5
src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml | 122 ++++++++--
src/main/java/org/springblade/modules/house/vo/HouseTree.java | 23 ++
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml | 65 +++++
src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java | 49 ++++
src/main/java/org/springblade/modules/house/vo/HouseholdVO.java | 10
src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVOTree.java | 2
src/main/java/org/springblade/modules/house/mapper/HouseMapper.java | 16 +
src/main/java/org/springblade/modules/house/service/IHouseRentalService.java | 4
src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java | 19 +
src/main/java/org/springblade/modules/house/excel/HouseHoldExcel.java | 2
src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java | 2
src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java | 13 +
src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java | 3
src/main/java/org/springblade/modules/house/service/IHouseService.java | 13
src/main/java/org/springblade/modules/house/controller/HouseController.java | 34 ++
src/main/java/org/springblade/modules/house/excel/HouseExcel.java | 8
src/main/java/org/springblade/modules/house/excel/HouseRentalExcel.java | 2
src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java | 5
src/main/java/org/springblade/modules/house/controller/HouseholdController.java | 6
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java | 17 +
src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml | 24 +
src/main/java/org/springblade/modules/house/excel/HouseHoldImporter.java | 2
src/main/java/org/springblade/modules/house/service/IHouseholdService.java | 2
src/main/java/org/springblade/modules/house/entity/HouseEntity.java | 2
src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java | 113 ++++++++--
32 files changed, 538 insertions(+), 104 deletions(-)
diff --git a/src/main/java/org/springblade/common/utils/NodeTreeUtil.java b/src/main/java/org/springblade/common/utils/NodeTreeUtil.java
index a17981b..88d8860 100644
--- a/src/main/java/org/springblade/common/utils/NodeTreeUtil.java
+++ b/src/main/java/org/springblade/common/utils/NodeTreeUtil.java
@@ -2,6 +2,9 @@
import org.springblade.common.node.TreeIntegerNode;
import org.springblade.common.node.TreeNode;
+import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree;
+import org.springblade.modules.house.vo.HouseTree;
+
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -31,4 +34,42 @@
}
return tree;
}
+
+ /**
+ * 树转换
+ * @param treeMap
+ * @return
+ */
+ public static List<DoorplateAddressVOTree> getAddressNodeTree(Map<String, DoorplateAddressVOTree> treeMap){
+ List<DoorplateAddressVOTree> tree = new ArrayList<>();
+ if (treeMap.size() > 1) {
+ treeMap.forEach((code, treeNode) -> {
+ if (treeMap.containsKey(treeNode.getParentCode())) {
+ treeMap.get(treeNode.getParentCode()).getChildren().add(treeNode);
+ } else {
+ tree.add(treeNode);
+ }
+ });
+ }
+ return tree;
+ }
+
+ /**
+ * 树转换
+ * @param treeMap
+ * @return
+ */
+ public static List<HouseTree> getHouseTree(Map<String, HouseTree> treeMap){
+ List<HouseTree> tree = new ArrayList<>();
+ if (treeMap.size() > 1) {
+ treeMap.forEach((code, treeNode) -> {
+ if (treeMap.containsKey(treeNode.getParentCode())) {
+ treeMap.get(treeNode.getParentCode()).getChildren().add(treeNode);
+ } else {
+ tree.add(treeNode);
+ }
+ });
+ }
+ return tree;
+ }
}
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java b/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
index a40ff3f..8fb5ba5 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
@@ -180,6 +180,16 @@
}
/**
+ * 获取房屋树--数据有问题暂时不用2023/11/16
+ * @param houseParam
+ * @return
+ */
+ @GetMapping("/getHouseTree")
+ public R getHouseTree(HouseParam houseParam){
+ return R.data(doorplateAddressService.getHouseTree(houseParam));
+ }
+
+ /**
* 根据参数获取地址详情
* @return
*/
@@ -189,4 +199,13 @@
return R.data(detail);
}
+ /**
+ * 数据处理
+ * @return
+ */
+ @GetMapping("/dataHandle")
+ public R dataHandle(){
+ return R.data(doorplateAddressService.dataHandle());
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
index f07c0f2..079f930 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
@@ -20,6 +20,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import liquibase.pro.packaged.P;
+import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import org.springblade.common.node.TreeNode;
import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
@@ -29,6 +30,7 @@
import org.springblade.modules.house.vo.HouseParam;
import java.util.List;
+import java.util.Map;
/**
* 门牌地址表(总台账数据) Mapper 接口
@@ -147,4 +149,19 @@
* @return
*/
List<DoorplateAddressEntity> getAllDoorplateAddress(@Param("name") String name);
+
+ /**
+ * 获取房屋树
+ * @param houseParam
+ * @param list
+ * @return
+ */
+ @MapKey("code")
+ Map<String, DoorplateAddressVOTree> getHouseTree(@Param("houseParam") HouseParam houseParam,
+ @Param("list") List<String> list);
+ /**
+ * 查询所有户室数据
+ * @return
+ */
+ List<DoorplateAddressEntity> getHouseList();
}
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
index eaa6e46..a29c098 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -260,4 +260,69 @@
select * from jczz_doorplate_address where nei_name = #{name}
</select>
+ <!--获取房屋树-->
+ <select id="getHouseTree" resultType="org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree">
+ SELECT
+ aoi_code as code,
+ aoi_name as name,
+ nei_code as parentCode
+ FROM jczz_doorplate_address
+ WHERE nei_code = #{houseParam.code}
+ and aoi_code is not null and aoi_code !=''
+ and aoi_name is not null and aoi_name !=''
+ GROUP BY aoi_code,aoi_name,nei_code
+ <include refid="filterHouseGrid"/>
+ union all
+ (
+ SELECT
+ building_code as code,
+ building_name as name,
+ aoi_code as parentCode
+ FROM jczz_doorplate_address
+ WHERE nei_code = #{houseParam.code}
+ and building_code is not null and building_code !=''
+ and building_name is not null and building_name !=''
+ GROUP BY building_code,building_name,aoi_code
+ <include refid="filterHouseGrid"/>
+ )
+ union all
+ (
+ select
+ jda.unit_code as code,
+ ifnull(jda.unit_name,"一单元") name,
+ jda.building_code as parentCode
+ from jczz_doorplate_address jda
+ where 1=1
+ and floor != ''
+ and house_name != ''
+ and doorplate_type = '户室牌'
+ and nei_code = #{houseParam.code}
+ <include refid="filterHouseGrid"/>
+ group by unit_name,unit_code,building_code
+ )
+ union all
+ (
+ select
+ jda.address_code as code,
+ jda.house_name as name,
+ jda.unit_code as parentCode
+ from jczz_doorplate_address jda
+ where 1=1
+ and floor != ''
+ and house_name != ''
+ and doorplate_type = '户室牌'
+ and nei_code = #{houseParam.code}
+ <include refid="filterHouseGrid"/>
+ )
+ </select>
+
+ <!--查询所有户室数据-->
+ <select id="getHouseList" resultType="org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity">
+ select * from jczz_doorplate_address
+ where 1=1 and doorplate_type = '户室牌'
+ and address_code not in (
+ select house_code from jczz_house
+ )
+ </select>
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java b/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
index 7d6592a..2713696 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
@@ -85,4 +85,17 @@
* @return
*/
List<DoorplateAddressEntity> getAllDoorplateAddress(String name);
+
+ /**
+ * 获取房屋树
+ * @param houseParam
+ * @return
+ */
+ List<DoorplateAddressVOTree> getHouseTree(HouseParam houseParam);
+
+ /**
+ * 数据处理
+ * @return
+ */
+ Object dataHandle();
}
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
index 2285264..32e3943 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
@@ -16,12 +16,14 @@
*/
package org.springblade.modules.doorplateAddress.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import liquibase.repackaged.org.apache.commons.lang3.StringUtils;
import org.springblade.common.constant.DictConstant;
import org.springblade.common.node.TreeNode;
+import org.springblade.common.utils.NodeTreeUtil;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
import org.springblade.modules.doorplateAddress.mapper.DoorplateAddressMapper;
@@ -30,7 +32,9 @@
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree;
import org.springblade.modules.doorplateAddress.vo.FuncNode;
import org.springblade.modules.grid.service.IGridService;
+import org.springblade.modules.house.entity.HouseEntity;
import org.springblade.modules.house.service.IHouseRentalService;
+import org.springblade.modules.house.service.IHouseService;
import org.springblade.modules.house.service.IHouseholdService;
import org.springblade.modules.house.vo.HouseParam;
import org.springblade.modules.house.vo.HouseRentalVO;
@@ -53,6 +57,9 @@
@Autowired
private IPlaceService placeService;
+
+ @Autowired
+ private IHouseService houseService;
@Autowired
private IHouseholdService householdService;
@@ -183,13 +190,7 @@
public Object getHousesList(HouseParam houseParam) {
List<TreeNode> list = new ArrayList<>();
Map<String, Object> map = new HashMap<>(2);
- List<String> stringList = new ArrayList<>();
- if (null!=houseParam.getRoleName() && !houseParam.getRoleName().equals("")){
- if (houseParam.getRoleName().equals("网格员")){
- // 查询对应的房屋地址code
- stringList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
- }
- }
+ List<String> stringList = getHouseCodeList(houseParam);
// 查小区,场所
if (houseParam.getType()==1){
// 根据社区名称查询小区集合
@@ -213,13 +214,7 @@
* @return
*/
private Map<String, Object> getHouseLevelData(HouseParam houseParam, Map<String, Object> map) {
- List<String> stringList = new ArrayList<>();
- if (null!=houseParam.getRoleName() && !houseParam.getRoleName().equals("")){
- if (houseParam.getRoleName().equals("网格员")){
- // 查询对应的房屋地址code
- stringList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
- }
- }
+ List<String> stringList = getHouseCodeList(houseParam);
// 判断地址类型
if (houseParam.getAddressType()==1) {
List<FuncNode> aoiList = new ArrayList<>();
@@ -258,13 +253,7 @@
* @return
*/
private Object getBuildLevelData(HouseParam houseParam,Map<String, Object> map) {
- List<String> stringList = new ArrayList<>();
- if (null!=houseParam.getRoleName() && !houseParam.getRoleName().equals("")){
- if (houseParam.getRoleName().equals("网格员")){
- // 查询对应的房屋地址code
- stringList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
- }
- }
+ List<String> stringList = getHouseCodeList(houseParam);
// 判断 code 长度,如果 code 长度大于 12 则为小区查楼栋/商铺,否则则按社区查街路巷
if (houseParam.getCode().length()>12){
List<TreeNode> aoiList = new ArrayList<>();
@@ -300,8 +289,8 @@
/**
* 查询户室及住户相关信息,单元中包含住户
- * @param name
- * @param code
+ * @param houseParam
+ * @param stringList
* @return
*/
private List<FuncNode> getUnitHouseholdList(HouseParam houseParam,List<String> stringList) {
@@ -479,4 +468,82 @@
public List<DoorplateAddressEntity> getAllDoorplateAddress(String name) {
return baseMapper.getAllDoorplateAddress(name);
}
+
+ /**
+ * 获取房屋树
+ * @param houseParam
+ * @return
+ */
+ @Override
+ public List<DoorplateAddressVOTree> getHouseTree(HouseParam houseParam) {
+ List<String> stringList = getHouseCodeList(houseParam);
+ // 根据社区居委会编号获取对应的小区/楼栋/单元/户室
+ return NodeTreeUtil.getAddressNodeTree(baseMapper.getHouseTree(houseParam,stringList));
+ }
+
+ /**
+ * 根据角色获取地址编号集合
+ * @param houseParam
+ * @return
+ */
+ private List<String> getHouseCodeList(HouseParam houseParam) {
+ List<String> stringList = new ArrayList<>();
+ if (null != houseParam.getRoleName() && !houseParam.getRoleName().equals("")) {
+ if (houseParam.getRoleName().equals("网格员")) {
+ // 查询对应的房屋地址code
+ stringList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
+ }
+ }
+ return stringList;
+ }
+
+ /**
+ * 数据处理
+ * @return
+ */
+ @Override
+ public Object dataHandle() {
+ // 处理户室数据
+ handleHouseData();
+
+ return null;
+ }
+
+ /**
+ * 处理房屋数据
+ */
+ private void handleHouseData() {
+ // 查询所有户室数据
+ List<DoorplateAddressEntity> list = baseMapper.getHouseList();
+ // 需要新增的房屋 list
+ List<HouseEntity> houseList = new ArrayList<>();
+ // 处理户室数据
+ for (DoorplateAddressEntity doorplateAddressEntity : list) {
+ // 查询是否已存在,存在就插入,不存在则插入
+ QueryWrapper<HouseEntity> wrapper = new QueryWrapper<>();
+ wrapper.eq("house_code",doorplateAddressEntity.getAddressCode())
+ .eq("is_deleted",0);
+ HouseEntity one = houseService.getOne(wrapper);
+ if (null==one){
+ HouseEntity houseEntity = new HouseEntity();
+ houseEntity.setHouseCode(doorplateAddressEntity.getAddressCode());
+ houseEntity.setDistrictCode(doorplateAddressEntity.getAoiCode());
+ houseEntity.setDistrictName(doorplateAddressEntity.getAoiName());
+ houseEntity.setHouseName(doorplateAddressEntity.getAddressName());
+ houseEntity.setFloor(Integer.parseInt(doorplateAddressEntity.getFloor()));
+ houseEntity.setBuilding(doorplateAddressEntity.getBuildingName());
+ houseEntity.setUnit(doorplateAddressEntity.getUnitName());
+ houseEntity.setRoom(doorplateAddressEntity.getHouseName());
+ houseEntity.setBuildingNo(doorplateAddressEntity.getBuildingCode());
+ houseEntity.setCreateUser(AuthUtil.getUserId().toString());
+ houseEntity.setCreateTime(new Date());
+ houseEntity.setUpdateUser(AuthUtil.getUserId().toString());
+ houseEntity.setUpdateTime(new Date());
+ // 加入集合
+ houseList.add(houseEntity);
+ }
+ }
+ // 批量插入
+ houseService.saveBatch(houseList);
+ }
}
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVOTree.java b/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVOTree.java
index 00bbc7a..aab8639 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVOTree.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVOTree.java
@@ -20,6 +20,8 @@
private String code;
+ private String parentCode;
+
private List<DoorplateAddressVOTree> children;
}
diff --git a/src/main/java/org/springblade/modules/house/controller/HouseController.java b/src/main/java/org/springblade/modules/house/controller/HouseController.java
index e75ff4b..be0e434 100644
--- a/src/main/java/org/springblade/modules/house/controller/HouseController.java
+++ b/src/main/java/org/springblade/modules/house/controller/HouseController.java
@@ -26,15 +26,16 @@
import javax.validation.Valid;
import org.springblade.core.excel.util.ExcelUtil;
-import org.springblade.core.secure.BladeUser;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
-import org.springblade.modules.house.vo.HouseholdVO;
-import org.springblade.modules.system.excel.HouseExcel;
-import org.springblade.modules.system.excel.HouseHoldExcel;
+import org.springblade.modules.house.excel.HouseImporter;
+import org.springblade.modules.house.vo.HouseParam;
+import org.springblade.modules.house.excel.HouseExcel;
+import org.springblade.modules.system.excel.UserExcel;
+import org.springblade.modules.system.excel.UserImporter;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.house.entity.HouseEntity;
@@ -42,6 +43,7 @@
import org.springblade.modules.house.wrapper.HouseWrapper;
import org.springblade.modules.house.service.IHouseService;
import org.springblade.core.boot.ctrl.BladeController;
+import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -157,15 +159,35 @@
/**
- * 导出用户
+ * 导出房屋
*/
@GetMapping("export-house")
@ApiOperationSupport(order = 13)
@ApiOperation(value = "导出房屋", notes = "传入user")
- public void exportUser(HouseVO household, HttpServletResponse response) {
+ public void exportHouse(HouseVO household, HttpServletResponse response) {
List<HouseExcel> list = houseService.export(household);
ExcelUtil.export(response, "房屋数据" + DateUtil.time(), "房屋数据表", list, HouseExcel.class);
}
+ /**
+ * 导入房屋
+ */
+ @GetMapping("import-house")
+ public R importHouse(MultipartFile file, Integer isCovered) {
+ HouseImporter houseImporter = new HouseImporter(houseService, isCovered == 1);
+ ExcelUtil.save(file, houseImporter, HouseExcel.class);
+ return R.success("操作成功");
+ }
+
+ /**
+ * 查询房屋树
+ * @param houseParam
+ * @return
+ */
+ @GetMapping("/getHouseTree")
+ public R getHouseTree(HouseParam houseParam) {
+ return R.data(houseService.getHouseTree(houseParam));
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/house/controller/HouseRentalController.java b/src/main/java/org/springblade/modules/house/controller/HouseRentalController.java
index 2de0768..476185d 100644
--- a/src/main/java/org/springblade/modules/house/controller/HouseRentalController.java
+++ b/src/main/java/org/springblade/modules/house/controller/HouseRentalController.java
@@ -26,7 +26,6 @@
import javax.validation.Valid;
import org.springblade.core.excel.util.ExcelUtil;
-import org.springblade.core.secure.BladeUser;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
@@ -34,9 +33,7 @@
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.house.vo.HouseRentalTenantVO;
-import org.springblade.modules.house.vo.HouseVO;
-import org.springblade.modules.system.excel.HouseExcel;
-import org.springblade.modules.system.excel.HouseRentalExcel;
+import org.springblade.modules.house.excel.HouseRentalExcel;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.house.entity.HouseRentalEntity;
diff --git a/src/main/java/org/springblade/modules/house/controller/HouseholdController.java b/src/main/java/org/springblade/modules/house/controller/HouseholdController.java
index 7734a8c..ed97c13 100644
--- a/src/main/java/org/springblade/modules/house/controller/HouseholdController.java
+++ b/src/main/java/org/springblade/modules/house/controller/HouseholdController.java
@@ -31,10 +31,8 @@
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
-import org.springblade.modules.system.excel.UserExcel;
-import org.springblade.modules.system.excel.HouseHoldExcel;
-import org.springblade.modules.system.excel.HouseHoldImporter;
-import org.springblade.modules.system.excel.UserImporter;
+import org.springblade.modules.house.excel.HouseHoldExcel;
+import org.springblade.modules.house.excel.HouseHoldImporter;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.house.entity.HouseholdEntity;
diff --git a/src/main/java/org/springblade/modules/house/entity/HouseEntity.java b/src/main/java/org/springblade/modules/house/entity/HouseEntity.java
index 3e9d292..6799987 100644
--- a/src/main/java/org/springblade/modules/house/entity/HouseEntity.java
+++ b/src/main/java/org/springblade/modules/house/entity/HouseEntity.java
@@ -119,7 +119,7 @@
* 幢编号
*/
@ApiModelProperty(value = "幢编号")
- private Integer buildingNo;
+ private String buildingNo;
/**
* 图片URLS
*/
diff --git a/src/main/java/org/springblade/modules/system/excel/HouseExcel.java b/src/main/java/org/springblade/modules/house/excel/HouseExcel.java
similarity index 94%
rename from src/main/java/org/springblade/modules/system/excel/HouseExcel.java
rename to src/main/java/org/springblade/modules/house/excel/HouseExcel.java
index 4dc9c26..816e25b 100644
--- a/src/main/java/org/springblade/modules/system/excel/HouseExcel.java
+++ b/src/main/java/org/springblade/modules/house/excel/HouseExcel.java
@@ -1,4 +1,4 @@
-package org.springblade.modules.system.excel;
+package org.springblade.modules.house.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
@@ -12,7 +12,7 @@
import java.util.Date;
/**
- * UserExcel
+ * HouseExcel
*
* @author Chill
*/
@@ -23,10 +23,6 @@
public class HouseExcel implements Serializable {
private static final long serialVersionUID = 2L;
-
- /** 主键id */
- @ExcelProperty( "主键ID")
- private Long id;
/** 门牌地址编码 */
@ExcelProperty( "门牌地址编码")
diff --git a/src/main/java/org/springblade/modules/system/excel/HouseHoldExcel.java b/src/main/java/org/springblade/modules/house/excel/HouseHoldExcel.java
similarity index 98%
rename from src/main/java/org/springblade/modules/system/excel/HouseHoldExcel.java
rename to src/main/java/org/springblade/modules/house/excel/HouseHoldExcel.java
index ebf396e..99d6ac1 100644
--- a/src/main/java/org/springblade/modules/system/excel/HouseHoldExcel.java
+++ b/src/main/java/org/springblade/modules/house/excel/HouseHoldExcel.java
@@ -1,4 +1,4 @@
-package org.springblade.modules.system.excel;
+package org.springblade.modules.house.excel;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
diff --git a/src/main/java/org/springblade/modules/system/excel/HouseHoldImporter.java b/src/main/java/org/springblade/modules/house/excel/HouseHoldImporter.java
similarity index 96%
rename from src/main/java/org/springblade/modules/system/excel/HouseHoldImporter.java
rename to src/main/java/org/springblade/modules/house/excel/HouseHoldImporter.java
index a5673d0..0823881 100644
--- a/src/main/java/org/springblade/modules/system/excel/HouseHoldImporter.java
+++ b/src/main/java/org/springblade/modules/house/excel/HouseHoldImporter.java
@@ -14,7 +14,7 @@
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
-package org.springblade.modules.system.excel;
+package org.springblade.modules.house.excel;
import lombok.RequiredArgsConstructor;
import org.springblade.core.excel.support.ExcelImporter;
diff --git a/src/main/java/org/springblade/modules/system/excel/HouseImporter.java b/src/main/java/org/springblade/modules/house/excel/HouseImporter.java
similarity index 92%
rename from src/main/java/org/springblade/modules/system/excel/HouseImporter.java
rename to src/main/java/org/springblade/modules/house/excel/HouseImporter.java
index f062c3a..93ba791 100644
--- a/src/main/java/org/springblade/modules/system/excel/HouseImporter.java
+++ b/src/main/java/org/springblade/modules/house/excel/HouseImporter.java
@@ -14,12 +14,12 @@
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
-package org.springblade.modules.system.excel;
+package org.springblade.modules.house.excel;
import lombok.RequiredArgsConstructor;
import org.springblade.core.excel.support.ExcelImporter;
+import org.springblade.modules.house.excel.HouseExcel;
import org.springblade.modules.house.service.IHouseService;
-import org.springblade.modules.house.service.IHouseholdService;
import java.util.List;
diff --git a/src/main/java/org/springblade/modules/system/excel/HouseRentalExcel.java b/src/main/java/org/springblade/modules/house/excel/HouseRentalExcel.java
similarity index 97%
rename from src/main/java/org/springblade/modules/system/excel/HouseRentalExcel.java
rename to src/main/java/org/springblade/modules/house/excel/HouseRentalExcel.java
index 3614756..6a19822 100644
--- a/src/main/java/org/springblade/modules/system/excel/HouseRentalExcel.java
+++ b/src/main/java/org/springblade/modules/house/excel/HouseRentalExcel.java
@@ -1,4 +1,4 @@
-package org.springblade.modules.system.excel;
+package org.springblade.modules.house.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
index 6aaed2a..024a6bc 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
@@ -16,14 +16,18 @@
*/
package org.springblade.modules.house.mapper;
+import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.house.entity.HouseEntity;
+import org.springblade.modules.house.vo.HouseParam;
+import org.springblade.modules.house.vo.HouseTree;
import org.springblade.modules.house.vo.HouseVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.modules.system.excel.HouseExcel;
+import org.springblade.modules.house.excel.HouseExcel;
import java.util.List;
+import java.util.Map;
/**
* 房屋 Mapper 接口
@@ -50,4 +54,14 @@
HouseVO getHouseDetail(@Param("house") HouseVO house);
List<HouseExcel> export(HouseVO household);
+
+ /**
+ * 查询房屋树
+ * @param houseParam
+ * @param list
+ * @return
+ */
+ @MapKey(value = "code")
+ Map<String, HouseTree> getHouseTree(@Param("houseParam") HouseParam houseParam,
+ @Param("list") List<String> list);
}
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
index 08dc5ab..e5f9420 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
@@ -27,6 +27,25 @@
<result column="is_deleted" property="isDeleted"/>
</resultMap>
+ <!--过滤网格数据-->
+ <sql id="filterHouseGrid">
+ <if test="houseParam.roleName!=null and houseParam.roleName!=''">
+ <if test="houseParam.roleName=='网格员'">
+ <choose>
+ <when test="list != null and list.size()>0">
+ and house_code in
+ <foreach collection="list" item="houseCode" separator ="," open="(" close=")">
+ #{houseCode}
+ </foreach>
+ </when>
+ <otherwise>
+ and house_code in ('')
+ </otherwise>
+ </choose>
+ </if>
+ </if>
+ </sql>
+
<sql id="selectHouse">
select
id,
@@ -66,31 +85,25 @@
</resultMap>
<!--自定义分页列表-->
- <select id="selectHousePage" resultMap="houseResultMap">
- <include refid="selectHouse"/>
- <where>
- <if test="house.id != null "> and id = #{house.id}</if>
- <if test="house.houseCode != null and house.houseCode != ''"> and house_code = #{house.houseCode}</if>
- <if test="house.districtCode != null and house.districtCode != ''"> and district_code = #{house.districtCode}</if>
- <if test="house.districtName != null and house.districtName != ''"> and district_name = #{house.districtName}</if>
- <if test="house.houseName != null and house.houseName != ''"> and house_name = #{house.houseName}</if>
- <if test="house.phone != null and house.phone != ''"> and phone = #{house.phone}</if>
- <if test="house.area != null "> and area = #{house.area}</if>
- <if test="house.propertyPrice != null "> and property_price = #{house.propertyPrice}</if>
- <if test="house.serviceDue != null "> and service_due = #{house.serviceDue}</if>
- <if test="house.floor != null "> and floor = #{house.floor}</if>
- <if test="house.building != null and house.building != ''"> and building = #{house.building}</if>
- <if test="house.unit != null and house.unit != ''"> and unit = #{house.unit}</if>
- <if test="house.room != null and house.room != ''"> and room = #{house.room}</if>
- <if test="house.buildingNo != null "> and building_no = #{house.buildingNo}</if>
- <if test="house.imageUrls != null and house.imageUrls != ''"> and image_urls = #{house.imageUrls}</if>
- <if test="house.createUser != null and house.createUser != ''"> and create_user = #{house.createUser}</if>
- <if test="house.createTime != null "> and create_time = #{house.createTime}</if>
- <if test="house.updateUser != null and house.updateUser != ''"> and update_user = #{house.updateUser}</if>
- <if test="house.updateTime != null "> and update_time = #{house.updateTime}</if>
- <if test="house.remark != null and house.remark != ''"> and remark = #{house.remark}</if>
- <if test="house.isDeleted != null "> and is_deleted = #{house.isDeleted}</if>
- </where>
+ <select id="selectHousePage" resultType="org.springblade.modules.house.vo.HouseVO">
+ select *,concat(building," ",unit," ",room) as address from jczz_house
+ where is_deleted = 0
+ <if test="house.id != null "> and id = #{house.id}</if>
+ <if test="house.houseCode != null and house.houseCode != ''"> and house_code = #{house.houseCode}</if>
+ <if test="house.districtCode != null and house.districtCode != ''"> and district_code = #{house.districtCode}</if>
+ <if test="house.districtName != null and house.districtName != ''">
+ and district_name like concat('%',#{house.districtName},'%')
+ </if>
+ <if test="house.houseName != null and house.houseName != ''"> and house_name = #{house.houseName}</if>
+ <if test="house.phone != null and house.phone != ''"> and phone = #{house.phone}</if>
+ <if test="house.area != null "> and area = #{house.area}</if>
+ <if test="house.propertyPrice != null "> and property_price = #{house.propertyPrice}</if>
+ <if test="house.serviceDue != null "> and service_due = #{house.serviceDue}</if>
+ <if test="house.floor != null "> and floor = #{house.floor}</if>
+ <if test="house.building != null and house.building != ''"> and building = #{house.building}</if>
+ <if test="house.unit != null and house.unit != ''"> and unit = #{house.unit}</if>
+ <if test="house.room != null and house.room != ''"> and room = #{house.room}</if>
+ <if test="house.buildingNo != null "> and building_no = #{house.buildingNo}</if>
</select>
<!--房屋自定义详情查询-->
@@ -105,7 +118,7 @@
</select>
- <select id="export" resultType="org.springblade.modules.system.excel.HouseExcel">
+ <select id="export" resultType="org.springblade.modules.house.excel.HouseExcel">
<include refid="selectHouse"/>
<where>
<if test="id != null "> and id = #{id}</if>
@@ -134,4 +147,61 @@
</select>
+ <!--获取房屋树-->
+ <select id="getHouseTree" resultType="org.springblade.modules.house.vo.HouseTree">
+ SELECT
+ district_code as code,
+ district_name as name,
+ jda.nei_code as parentCode
+ FROM jczz_house jh
+ left join
+ (select nei_code,aoi_code from jczz_doorplate_address where nei_code = #{houseParam.code} group by nei_code,aoi_code) jda
+ on jda.aoi_code = jh.district_code
+ WHERE jda.nei_code = #{houseParam.code}
+ <include refid="filterHouseGrid"/>
+ GROUP BY district_code,district_name,nei_code
+ union all
+ (
+ SELECT
+ building as code,
+ building as name,
+ district_code as parentCode
+ FROM jczz_house jh
+ left join
+ (select nei_code,aoi_code from jczz_doorplate_address where nei_code = #{houseParam.code} group by nei_code,aoi_code) jda
+ on jda.aoi_code = jh.district_code
+ WHERE jda.nei_code = #{houseParam.code}
+ <include refid="filterHouseGrid"/>
+ GROUP BY building,district_code
+ )
+ union all
+ (
+ select
+ unit as code,
+ unit name,
+ building as parentCode
+ FROM jczz_house jh
+ left join
+ (select nei_code,aoi_code from jczz_doorplate_address where nei_code = #{houseParam.code} group by nei_code,aoi_code) jda
+ on jda.aoi_code = jh.district_code
+ WHERE jda.nei_code = #{houseParam.code}
+ <include refid="filterHouseGrid"/>
+ group by unit,building
+ )
+ union all
+ (
+ select
+ room as code,
+ room name,
+ unit as parentCode
+ FROM jczz_house jh
+ left join
+ (select nei_code,aoi_code from jczz_doorplate_address where nei_code = #{houseParam.code} group by nei_code,aoi_code) jda
+ on jda.aoi_code = jh.district_code
+ WHERE jda.nei_code = #{houseParam.code}
+ <include refid="filterHouseGrid"/>
+ )
+ </select>
+
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
index d0d9ea4..b0fbdac 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
@@ -16,7 +16,6 @@
*/
package org.springblade.modules.house.mapper;
-import liquibase.pro.packaged.P;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.house.entity.HouseRentalEntity;
import org.springblade.modules.house.vo.HouseRentalStatistics;
@@ -24,7 +23,7 @@
import org.springblade.modules.house.vo.HouseRentalVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.modules.system.excel.HouseRentalExcel;
+import org.springblade.modules.house.excel.HouseRentalExcel;
import java.util.List;
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
index 851e4af..dc58847 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -56,9 +56,14 @@
<!--自定义列表查询-->
<select id="selectHouseRentalPage" resultType="org.springblade.modules.house.vo.HouseRentalTenantVO">
- SELECT jhr.*,jda.address_name as houseName,b.tenantName,b.phone
+ SELECT jhr.*,jda.address_name as houseName,b.tenantName,b.phone,
+ concat(jh.district_name," ",jh.building," ",unit," ",room) as address,
+ case when TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )>= 8 then 1
+ when TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )<4 then 3
+ else 2 end as dldType
FROM jczz_house_rental jhr
- LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jhr.house_code
+ JOIN jczz_doorplate_address jda ON jda.address_code = jhr.house_code
+ JOIN jczz_house jh ON jh.house_code = jhr.house_code
LEFT JOIN (
SELECT jht.housing_rental_id,jht.name as tenantName,jht.phone
FROM jczz_house_tenant jht RIGHT JOIN (
@@ -92,8 +97,14 @@
<if test="vo.tenantName != null and vo.tenantName != ''">
AND b.tenantName LIKE CONCAT('%',#{vo.tenantName},'%')
</if>
- <if test="vo.tenantName != null and vo.tenantName != ''">
- AND b.tenantName LIKE CONCAT('%',#{vo.tenantName},'%')
+ <if test="vo.tenantRelationship != null">
+ AND jhr.tenant_relationship = #{vo.tenantRelationship}
+ </if>
+ <if test="vo.houseStatus != null">
+ AND jhr.house_status = #{vo.houseStatus}
+ </if>
+ <if test="vo.rentalUse != null">
+ AND jhr.rental_use = #{vo.rentalUse}
</if>
<if test="vo.dldType != null">
<if test="vo.dldType ==1 ">
@@ -196,7 +207,7 @@
</select>
- <select id="export" resultType="org.springblade.modules.system.excel.HouseRentalExcel">
+ <select id="export" resultType="org.springblade.modules.house.excel.HouseRentalExcel">
<include refid="selectHouseRental"/>
<where>
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java
index 0f13464..f835dcb 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java
@@ -22,7 +22,7 @@
import org.springblade.modules.house.vo.HouseholdVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.modules.system.excel.HouseHoldExcel;
+import org.springblade.modules.house.excel.HouseHoldExcel;
import java.util.List;
@@ -41,7 +41,7 @@
* @param household
* @return
*/
- List<HouseholdVO> selectHouseholdPage(IPage page, HouseholdVO household);
+ List<HouseholdVO> selectHouseholdPage(IPage page,@Param("household") HouseholdVO household);
/**
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
index ac44675..d916280 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
@@ -87,8 +87,26 @@
</resultMap>
<!--自定义分页数据查询-->
- <select id="selectHouseholdPage" resultMap="householdResultMap">
- select * from jczz_household where is_deleted = 0
+ <select id="selectHouseholdPage" resultType="org.springblade.modules.house.vo.HouseholdVO">
+ select
+ jh.*,
+ jhs.district_name aoiName,
+ concat(jhs.building," ",unit," ",room) as address
+ from
+ jczz_household jh join jczz_house jhs on jh.house_code = jhs.house_code and jhs.is_deleted = 0
+ where jh.is_deleted = 0
+ <if test="household.name!=null and household.name !=''">
+ and jh.name like concat('%',#{household.name},'%')
+ </if>
+ <if test="household.phoneNumber!=null and household.phoneNumber !=''">
+ and jh.phone_number like concat('%',#{household.phoneNumber},'%')
+ </if>
+ <if test="household.idCard!=null and household.idCard !=''">
+ and jh.id_card like concat('%',#{household.idCard},'%')
+ </if>
+ <if test="household.aoiName!=null and household.aoiName !=''">
+ and jhs.district_name like concat('%',#{household.aoiName},'%')
+ </if>
</select>
<!--查询房屋集合信息-->
@@ -128,7 +146,7 @@
and jh.id = #{household.id}
</select>
- <select id="export" resultType="org.springblade.modules.system.excel.HouseHoldExcel">
+ <select id="export" resultType="org.springblade.modules.house.excel.HouseHoldExcel">
<include refid="selectHousehold"/>
<where>
<if test="id != null "> and id = #{id}</if>
diff --git a/src/main/java/org/springblade/modules/house/service/IHouseRentalService.java b/src/main/java/org/springblade/modules/house/service/IHouseRentalService.java
index f3313c7..d3a64f0 100644
--- a/src/main/java/org/springblade/modules/house/service/IHouseRentalService.java
+++ b/src/main/java/org/springblade/modules/house/service/IHouseRentalService.java
@@ -18,12 +18,10 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.house.entity.HouseRentalEntity;
-import org.springblade.modules.house.vo.HouseRentalStatistics;
import org.springblade.modules.house.vo.HouseRentalTenantVO;
import org.springblade.modules.house.vo.HouseRentalVO;
-import org.springblade.core.mp.base.BaseService;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.modules.system.excel.HouseRentalExcel;
+import org.springblade.modules.house.excel.HouseRentalExcel;
import java.util.List;
diff --git a/src/main/java/org/springblade/modules/house/service/IHouseService.java b/src/main/java/org/springblade/modules/house/service/IHouseService.java
index 7232e68..8eecfaa 100644
--- a/src/main/java/org/springblade/modules/house/service/IHouseService.java
+++ b/src/main/java/org/springblade/modules/house/service/IHouseService.java
@@ -18,11 +18,11 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.house.entity.HouseEntity;
+import org.springblade.modules.house.vo.HouseParam;
+import org.springblade.modules.house.vo.HouseTree;
import org.springblade.modules.house.vo.HouseVO;
-import org.springblade.core.mp.base.BaseService;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.modules.system.excel.HouseExcel;
-import org.springblade.modules.system.excel.HouseHoldExcel;
+import org.springblade.modules.house.excel.HouseExcel;
import java.util.List;
@@ -60,4 +60,11 @@
void importUserHouse(List<HouseExcel> data, Boolean isCovered);
List<HouseExcel> export(HouseVO household);
+
+ /**
+ * 查询房屋树
+ * @param houseParam
+ * @return
+ */
+ List<HouseTree> getHouseTree(HouseParam houseParam);
}
diff --git a/src/main/java/org/springblade/modules/house/service/IHouseholdService.java b/src/main/java/org/springblade/modules/house/service/IHouseholdService.java
index 4f37dd1..6171201 100644
--- a/src/main/java/org/springblade/modules/house/service/IHouseholdService.java
+++ b/src/main/java/org/springblade/modules/house/service/IHouseholdService.java
@@ -21,7 +21,7 @@
import org.springblade.modules.house.entity.HouseholdEntity;
import org.springblade.modules.house.vo.HouseholdVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.modules.system.excel.HouseHoldExcel;
+import org.springblade.modules.house.excel.HouseHoldExcel;
import java.util.List;
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
index 6064d71..327d8b7 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
@@ -29,8 +29,7 @@
import org.springblade.modules.house.mapper.HouseRentalMapper;
import org.springblade.modules.house.service.IHouseRentalService;
import org.springblade.modules.house.vo.HouseTenantVO;
-import org.springblade.modules.system.excel.HouseExcel;
-import org.springblade.modules.system.excel.HouseRentalExcel;
+import org.springblade.modules.house.excel.HouseRentalExcel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -39,7 +38,6 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
-import java.util.Map;
import java.util.stream.Collectors;
/**
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
index f57fc88..35e5bd4 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
@@ -18,20 +18,22 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.utils.NodeTreeUtil;
+import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.grid.service.IGridService;
import org.springblade.modules.house.entity.HouseEntity;
-import org.springblade.modules.house.entity.HouseholdEntity;
+import org.springblade.modules.house.vo.HouseParam;
+import org.springblade.modules.house.vo.HouseTree;
import org.springblade.modules.house.vo.HouseVO;
import org.springblade.modules.house.mapper.HouseMapper;
import org.springblade.modules.house.service.IHouseService;
-import org.springblade.core.mp.base.BaseServiceImpl;
-import org.springblade.modules.label.service.ILabelService;
-import org.springblade.modules.system.excel.HouseExcel;
-import org.springblade.modules.system.excel.HouseHoldExcel;
+import org.springblade.modules.house.excel.HouseExcel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -43,6 +45,10 @@
*/
@Service
public class HouseServiceImpl extends ServiceImpl<HouseMapper, HouseEntity> implements IHouseService {
+
+
+ @Autowired
+ private IGridService gridService;
@Override
public IPage<HouseVO> selectHousePage(IPage<HouseVO> page, HouseVO house) {
@@ -80,6 +86,11 @@
}
+ /**
+ * 导入房屋数据
+ * @param data
+ * @param isCovered
+ */
@Override
public void importUserHouse(List<HouseExcel> data, Boolean isCovered) {
data.forEach(houseExcel -> {
@@ -93,4 +104,32 @@
List<HouseExcel> houseExcels = baseMapper.export(household);
return houseExcels;
}
+
+ /**
+ * 查询房屋树
+ * @param houseParam
+ * @return
+ */
+ @Override
+ public List<HouseTree> getHouseTree(HouseParam houseParam) {
+ List<String> houseCodeList = getHouseCodeList(houseParam);
+ return NodeTreeUtil.getHouseTree(baseMapper.getHouseTree(houseParam,houseCodeList));
+ }
+
+
+ /**
+ * 根据角色获取地址编号集合
+ * @param houseParam
+ * @return
+ */
+ private List<String> getHouseCodeList(HouseParam houseParam) {
+ List<String> stringList = new ArrayList<>();
+ if (null != houseParam.getRoleName() && !houseParam.getRoleName().equals("")) {
+ if (houseParam.getRoleName().equals("网格员")) {
+ // 查询对应的房屋地址code
+ stringList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
+ }
+ }
+ return stringList;
+ }
}
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
index 5246a30..2023d1c 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
@@ -25,7 +25,7 @@
import org.springblade.modules.house.mapper.HouseholdMapper;
import org.springblade.modules.house.service.IHouseholdService;
import org.springblade.modules.system.entity.DictBiz;
-import org.springblade.modules.system.excel.HouseHoldExcel;
+import org.springblade.modules.house.excel.HouseHoldExcel;
import org.springblade.modules.system.service.IDictBizService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java b/src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java
index 59cf791..3d32da8 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java
+++ b/src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java
@@ -31,5 +31,10 @@
*/
private String roleName;
+ /**
+ * 拼接地址
+ */
+ private String address;
+
}
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseTree.java b/src/main/java/org/springblade/modules/house/vo/HouseTree.java
new file mode 100644
index 0000000..02a7b46
--- /dev/null
+++ b/src/main/java/org/springblade/modules/house/vo/HouseTree.java
@@ -0,0 +1,23 @@
+package org.springblade.modules.house.vo;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+public class HouseTree {
+
+ private static final long serialVersionUID = 1L;
+
+ private String name;
+
+ private String code;
+
+ private String parentCode;
+
+ private boolean hashChild;
+
+ private List<HouseTree> children = new ArrayList<>();
+
+}
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseVO.java b/src/main/java/org/springblade/modules/house/vo/HouseVO.java
index 69a7b1a..27dfb06 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseVO.java
+++ b/src/main/java/org/springblade/modules/house/vo/HouseVO.java
@@ -35,5 +35,10 @@
public class HouseVO extends HouseEntity {
private static final long serialVersionUID = 1L;
+ /**
+ * 拼接地址
+ */
+ private String address;
+
private List<HouseLabelVO> houseLabelVOList = new ArrayList<>();
}
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseholdVO.java b/src/main/java/org/springblade/modules/house/vo/HouseholdVO.java
index efd77e0..778a079 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseholdVO.java
+++ b/src/main/java/org/springblade/modules/house/vo/HouseholdVO.java
@@ -41,6 +41,16 @@
private String roleRelationName;
/**
+ * 小区名称
+ */
+ private String aoiName;
+
+ /**
+ * 地址
+ */
+ private String address;
+
+ /**
* 标签
*/
private List<HouseholdLabelVO> householdLabelList = new ArrayList<>();
--
Gitblit v1.9.3