From d0b0e00e40226700a0ffa1f1671a8dc273610f67 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Mon, 18 Dec 2023 14:28:10 +0800
Subject: [PATCH] 菜单分类优化

---
 src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java |  104 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 91 insertions(+), 13 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 dc5174f..442c307 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
@@ -17,30 +17,37 @@
 package org.springblade.modules.house.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 org.apache.commons.lang3.StringUtils;
 import org.apache.logging.log4j.util.Strings;
+import org.springblade.common.utils.IdUtils;
 import org.springblade.common.utils.NodeTreeUtil;
+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.service.IGridService;
 import org.springblade.modules.house.entity.HouseEntity;
 import org.springblade.modules.house.entity.HouseholdEntity;
+import org.springblade.modules.house.entity.UserHouseLabelEntity;
 import org.springblade.modules.house.excel.HouseAndHoldExcel;
+import org.springblade.modules.house.excel.HouseExcel;
+import org.springblade.modules.house.mapper.HouseMapper;
+import org.springblade.modules.house.service.IHouseService;
 import org.springblade.modules.house.service.IHouseholdService;
+import org.springblade.modules.house.service.IUserHouseLabelService;
 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.modules.house.excel.HouseExcel;
+import org.springblade.modules.label.entity.LabelEntity;
+import org.springblade.modules.label.service.ILabelService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.math.BigDecimal;
+import java.util.*;
 
 /**
  * 房屋 服务实现类
@@ -147,8 +154,10 @@
 	 * @param isCovered
 	 */
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public void importHouseAndHold(List<HouseAndHoldExcel> data, Boolean isCovered) {
 		for (HouseAndHoldExcel houseAndHoldExcel : data) {
+			// System.out.println(houseAndHoldExcel);
 			System.out.println("houseAndHoldExcel = " + houseAndHoldExcel);
 			// 保存房屋数据--一个一个插入,防止一个表格中存在多个地址编号相同的数据
 			saveHouseData(houseAndHoldExcel);
@@ -162,7 +171,8 @@
 	 * 保存房屋数据
 	 * @param houseAndHoldExcel
 	 */
-	private void saveHouseholdData(HouseAndHoldExcel houseAndHoldExcel) {
+	@Transactional(rollbackFor = Exception.class)
+	public void saveHouseData(HouseAndHoldExcel houseAndHoldExcel) {
 		// 查询库中是否已存在
 		QueryWrapper<HouseEntity> wrapper = new QueryWrapper<>();
 		wrapper.eq("house_code",houseAndHoldExcel.getHouseCode())
@@ -175,7 +185,9 @@
 			houseEntity.setHouseName(houseAndHoldExcel.getHouseName());
 			houseEntity.setDistrictName(houseAndHoldExcel.getDistrictName());
 			houseEntity.setUnit(houseAndHoldExcel.getUnit());
-			houseEntity.setFloor(houseAndHoldExcel.getFloor());
+			if (!Strings.isBlank(houseAndHoldExcel.getFloor())){
+				houseEntity.setFloor(houseAndHoldExcel.getFloor());
+			}
 			houseEntity.setRoom(houseAndHoldExcel.getRoom());
 			houseEntity.setBuilding(houseAndHoldExcel.getBuilding());
 			houseEntity.setArea(houseAndHoldExcel.getArea());
@@ -186,6 +198,12 @@
 			houseEntity.setCreateUser(AuthUtil.getUserId().toString());
 			houseEntity.setUpdateTime(new Date());
 			houseEntity.setUpdateUser(AuthUtil.getUserId().toString());
+			if (!Strings.isBlank(houseAndHoldExcel.getHouseCode())) {
+				houseEntity.setSource(1);
+			}else {
+				houseEntity.setHouseCode(IdUtils.getIdBy36());
+				houseEntity.setSource(2);
+			}
 			// 新增
 			save(houseEntity);
 		}
@@ -195,12 +213,13 @@
 	 * 保存住户数据
 	 * @param houseAndHoldExcel
 	 */
-	private void saveHouseData(HouseAndHoldExcel houseAndHoldExcel) {
+	@Transactional(rollbackFor = Exception.class)
+	public void saveHouseholdData(HouseAndHoldExcel houseAndHoldExcel) {
 		// 查询库中是否已存在
 		QueryWrapper<HouseholdEntity> wrapper = new QueryWrapper<>();
 		wrapper.eq("house_code",houseAndHoldExcel.getHouseCode())
 			.eq("is_deleted",0)
-			.eq("phone_number",houseAndHoldExcel.getPhoneNumber());
+			.eq("name",houseAndHoldExcel.getName());
 		HouseholdEntity one = householdService.getOne(wrapper);
 		// 不存在则插入,存在则不操作
 		if (null == one){
@@ -217,10 +236,19 @@
 			if (!Strings.isBlank(houseAndHoldExcel.getIsPrimaryContact())){
 				householdEntity.setIsPrimaryContact(Integer.parseInt(houseAndHoldExcel.getIsPrimaryContact()));
 			}
+			// 居住状态
 			if (!Strings.isBlank(houseAndHoldExcel.getResidentialStatus())){
 				householdEntity.setResidentialStatus(Integer.parseInt(houseAndHoldExcel.getResidentialStatus()));
 			}
+			// 性别
+			if (!Strings.isBlank(houseAndHoldExcel.getGender())){
+				householdEntity.setGender(Short.parseShort(houseAndHoldExcel.getGender()));
+			}
 			householdEntity.setIdCard(houseAndHoldExcel.getIdCard());
+			// 党员
+			if (!Strings.isBlank(houseAndHoldExcel.getPartyEmber())){
+				householdEntity.setPartyEmber(Integer.parseInt(houseAndHoldExcel.getPartyEmber()));
+			}
 			householdEntity.setHkmtPass(houseAndHoldExcel.getHkmtPass());
 			householdEntity.setPassport(houseAndHoldExcel.getPassport());
 			if (!Strings.isBlank(houseAndHoldExcel.getEthnicity())){
@@ -238,13 +266,63 @@
 				householdEntity.setMaritalStatus(Integer.parseInt(houseAndHoldExcel.getMaritalStatus()));
 			}
 			householdEntity.setCardNumber(houseAndHoldExcel.getCardNumber());
+			householdEntity.setOtherContact(houseAndHoldExcel.getOtherContact());
+			householdEntity.setDisabilityCert(houseAndHoldExcel.getDisabilityCert());
 			householdEntity.setRemark(houseAndHoldExcel.getRemarks());
 			householdEntity.setCreateTime(new Date());
 			householdEntity.setCreateUser(AuthUtil.getUserId());
 			householdEntity.setUpdateTime(new Date());
 			householdEntity.setUpdateUser(AuthUtil.getUserId());
 			// 新增
-			householdService.save(householdEntity);
+			boolean save = householdService.save(householdEntity);
+			if (save) {
+				String labelId = houseAndHoldExcel.getLabelId();
+				if (StringUtils.isBlank(labelId)) {
+					return;
+				}
+				String[] split = labelId.split(",");
+				IUserHouseLabelService bean = SpringUtils.getBean(IUserHouseLabelService.class);
+				ILabelService bean1 = SpringUtils.getBean(ILabelService.class);
+				for (String s : split) {
+					LabelEntity one1 = bean1.getOne(Wrappers.<LabelEntity>lambdaQuery().eq(LabelEntity::getLabelName, s));
+					if (one1 != null) {
+						UserHouseLabelEntity userHouseLabelEntity = new UserHouseLabelEntity();
+						userHouseLabelEntity.setLabelId(BigDecimal.valueOf(one1.getId()).longValue());
+						userHouseLabelEntity.setHouseholdId(householdEntity.getId());
+						userHouseLabelEntity.setLableType(1);
+						userHouseLabelEntity.setLabelName(s);
+						userHouseLabelEntity.setHouseCode(houseAndHoldExcel.getHouseCode());
+						bean.save(userHouseLabelEntity);
+					}
+				}
+
+			}
 		}
 	}
+
+	@Override
+	public Map<String, Object> getHouseStatistics(String code, String roleType) {
+		Map<String, Object> objectObjectHashMap = new HashMap<>();
+		if (roleType.equals("1")) {
+		//	 result1 查询楼栋数  result2 查询房屋套数 result3 查询住户数  result4 查询单元数
+			Integer result1 = baseMapper.getHouseStatisticsOne(code, AuthUtil.getUserId());
+			Integer result2 = baseMapper.getHouseStatisticsTwo(code, AuthUtil.getUserId());
+			Integer result3 = baseMapper.getHouseStatisticsThree(code, AuthUtil.getUserId());
+			Integer result4 = baseMapper.getHouseStatisticsFour(code, AuthUtil.getUserId());
+			objectObjectHashMap.put("result1", result1);
+			objectObjectHashMap.put("result2", result2);
+			objectObjectHashMap.put("result3", result3);
+			objectObjectHashMap.put("result4", result4);
+		} else {
+			Integer result1 = baseMapper.getHouseStatisticsOne(code, null);
+			Integer result2 = baseMapper.getHouseStatisticsTwo(code, null);
+			Integer result3 = baseMapper.getHouseStatisticsThree(code, null);
+			Integer result4 = baseMapper.getHouseStatisticsFour(code, null);
+			objectObjectHashMap.put("result1", result1);
+			objectObjectHashMap.put("result2", result2);
+			objectObjectHashMap.put("result3", result3);
+			objectObjectHashMap.put("result4", result4);
+		}
+		return objectObjectHashMap;
+	}
 }

--
Gitblit v1.9.3