From 55d677758efadb6d42e6d4e595cecc2c50c20d5a Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Sat, 23 Dec 2023 17:19:12 +0800
Subject: [PATCH] bug修复

---
 src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java |   93 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 72 insertions(+), 21 deletions(-)

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 4eeedc1..9953e71 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
@@ -27,7 +27,10 @@
 import org.springblade.common.utils.SpringUtils;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.grid.entity.GridRangeEntity;
+import org.springblade.modules.grid.service.IGridRangeService;
 import org.springblade.modules.grid.service.IGridService;
+import org.springblade.modules.grid.vo.GridVO;
 import org.springblade.modules.house.entity.HouseEntity;
 import org.springblade.modules.house.entity.HouseholdEntity;
 import org.springblade.modules.house.entity.UserHouseLabelEntity;
@@ -65,9 +68,21 @@
 	@Autowired
 	private IHouseholdService householdService;
 
+	@Autowired
+	private IGridRangeService gridRangeService;
+
 	@Override
 	public IPage<HouseVO> selectHousePage(IPage<HouseVO> page, HouseVO house) {
-		return page.setRecords(baseMapper.selectHousePage(page, house));
+		List<HouseVO> houseVOS = baseMapper.selectHousePage(page, house);
+		// 遍历查询网格
+		for (HouseVO houseVO : houseVOS) {
+			// 设置对应的网格名称
+			GridVO gridVO = gridService.getGridDetailByHouseCode(houseVO.getHouseCode());
+			if (null!= gridVO){
+				houseVO.setGridName(gridVO.getGridName());
+			}
+		}
+		return page.setRecords(houseVOS);
 	}
 
 	/**
@@ -87,17 +102,52 @@
 	 */
 	@Override
 	public boolean saveOrUpdateHouse(HouseEntity house) {
-		// 查询是否已存在房屋数据
-		QueryWrapper<HouseEntity> wrapper = new QueryWrapper<>();
-		wrapper.eq("house_code",house.getHouseCode());
-		HouseEntity one = getOne(wrapper);
-		if (null != one){
-			house.setId(one.getId());
-			// 更新数据
-			return updateById(house);
+		boolean flag = false;
+		// 如果没有房屋编号,自己生成
+		if (!Strings.isBlank(house.getHouseCode())) {
+			// 查询是否已存在房屋数据
+			QueryWrapper<HouseEntity> wrapper = new QueryWrapper<>();
+			wrapper.eq("house_code", house.getHouseCode());
+			HouseEntity one = getOne(wrapper);
+			if (null != one) {
+				house.setId(one.getId());
+				// 更新数据
+				return updateById(house);
+			}
+		}else {
+			//自己生成编号
+			// 设置来源( 1:地址总表  2:国控采集)
+			house.setSource(2);
+			// 并生成36位的houseCode
+			house.setHouseCode(IdUtils.getIdBy36());
 		}
 		//插入数据
-		return save(house);
+		flag = save(house);
+		// 设置网格绑定数据
+		gridBind(house);
+		// 返回
+		return flag;
+	}
+
+	/**
+	 * 网格绑定
+	 * @param house
+	 */
+	public void gridBind(HouseEntity house) {
+		if (null!=house.getGridId()){
+			// 判断关联关系表是否存在
+			QueryWrapper<GridRangeEntity> wrapper = new QueryWrapper<>();
+			wrapper.eq("grid_id",house.getGridId()).eq("house_code",house.getHouseCode());
+			GridRangeEntity one = gridRangeService.getOne(wrapper);
+			if (null==one){
+				// 新增
+				GridRangeEntity gridRangeEntity = new GridRangeEntity();
+				gridRangeEntity.setHouseCode(house.getHouseCode());
+				gridRangeEntity.setGridId(house.getGridId());
+				// 插入
+				gridRangeService.save(gridRangeEntity);
+			}
+		}
 	}
 
 
@@ -301,23 +351,24 @@
 	}
 
 	@Override
-	public Map<String, Object> getHouseStatistics(String code, String roleType,String aoiCode,String buildingCode,String uniCode) {
+	public Map<String, Object> getHouseStatistics(String code, String roleType,String aoiCode,String buildingCode,String unitCode) {
 		Map<String, Object> objectObjectHashMap = new HashMap<>();
-		if (roleType.equals("1")) {
-		//	 result1 查询楼栋数  result2 查询房屋套数 result3 查询住户数  result4 查询单元数
-			Integer result1 = baseMapper.getHouseStatisticsOne(code, AuthUtil.getUserId(),aoiCode,buildingCode,uniCode);
-			Integer result2 = baseMapper.getHouseStatisticsTwo(code, AuthUtil.getUserId(),aoiCode,buildingCode,uniCode);
-			Integer result3 = baseMapper.getHouseStatisticsThree(code, AuthUtil.getUserId(),aoiCode,buildingCode,uniCode);
-			Integer result4 = baseMapper.getHouseStatisticsFour(code, AuthUtil.getUserId(),aoiCode,buildingCode,uniCode);
+		if (roleType.equals("2")) {
+			//	 result1 查询楼栋数  result2 查询房屋套数 result3 查询住户数  result4 查询单元数
+			Integer result1 = baseMapper.getHouseStatisticsOne(code, null, aoiCode, buildingCode, unitCode, roleType);
+			Integer result2 = baseMapper.getHouseStatisticsTwo(code, null, aoiCode, buildingCode, unitCode, roleType);
+			Integer result3 = baseMapper.getHouseStatisticsThree(code, null, aoiCode, buildingCode, unitCode, roleType);
+			Integer result4 = baseMapper.getHouseStatisticsFour(code, null, aoiCode, buildingCode, unitCode, roleType);
 			objectObjectHashMap.put("result1", result1);
 			objectObjectHashMap.put("result2", result2);
 			objectObjectHashMap.put("result3", result3);
 			objectObjectHashMap.put("result4", result4);
 		} else {
-			Integer result1 = baseMapper.getHouseStatisticsOne(code, null,aoiCode,buildingCode,uniCode);
-			Integer result2 = baseMapper.getHouseStatisticsTwo(code, null,aoiCode,buildingCode,uniCode);
-			Integer result3 = baseMapper.getHouseStatisticsThree(code, null,aoiCode,buildingCode,uniCode);
-			Integer result4 = baseMapper.getHouseStatisticsFour(code, null,aoiCode,buildingCode,uniCode);
+
+			Integer result1 = baseMapper.getHouseStatisticsOne(code, AuthUtil.getUserId(), aoiCode, buildingCode, unitCode, roleType);
+			Integer result2 = baseMapper.getHouseStatisticsTwo(code, AuthUtil.getUserId(), aoiCode, buildingCode, unitCode, roleType);
+			Integer result3 = baseMapper.getHouseStatisticsThree(code, AuthUtil.getUserId(), aoiCode, buildingCode, unitCode, roleType);
+			Integer result4 = baseMapper.getHouseStatisticsFour(code, AuthUtil.getUserId(), aoiCode, buildingCode, unitCode, roleType);
 			objectObjectHashMap.put("result1", result1);
 			objectObjectHashMap.put("result2", result2);
 			objectObjectHashMap.put("result3", result3);

--
Gitblit v1.9.3