From ad22371088e209b743011248fcc5e5cf3a935d45 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 04 Jun 2024 19:48:37 +0800
Subject: [PATCH] 住户导入
---
src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java | 66 ++++++++++++++++++++++++++-------
1 files changed, 52 insertions(+), 14 deletions(-)
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 6ed11e4..6200251 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
@@ -36,6 +36,7 @@
import org.springblade.modules.house.entity.HouseholdEntity;
import org.springblade.modules.house.entity.UserHouseLabelEntity;
import org.springblade.modules.house.excel.ExportHouseholdExcel;
+import org.springblade.modules.house.excel.HouseTenantExcel;
import org.springblade.modules.house.excel.ImportHouseholdExcel;
import org.springblade.modules.house.mapper.HouseholdMapper;
import org.springblade.modules.house.service.IHouseRentalService;
@@ -61,6 +62,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
/**
@@ -345,7 +347,6 @@
HouseholdEntity householdEntity = Objects.requireNonNull(BeanUtil.copy(houseHoldExcel, HouseholdEntity.class));
// 判断姓名,手机号
if (Strings.isBlank(householdEntity.getName())
- || Strings.isBlank(householdEntity.getPhoneNumber())
|| Strings.isBlank(householdEntity.getHouseCode())
) {
errorNum++;
@@ -355,9 +356,8 @@
QueryWrapper<HouseholdEntity> wrapper = new QueryWrapper<>();
wrapper.eq("house_code", householdEntity.getHouseCode())
.eq("is_deleted", 0)
- .eq("phone_number", householdEntity.getPhoneNumber())
.eq("name", householdEntity.getName());
- HouseholdEntity one = this.getOne(wrapper);
+ List<HouseholdEntity> list = this.list(wrapper);
// 与角色关系
if (!Strings.isBlank(houseHoldExcel.getRelationship())) {
householdEntity.setRelationship(Integer.parseInt(houseHoldExcel.getRelationship()));
@@ -374,8 +374,20 @@
if (houseRentalEntity != null) {
householdEntity.setHousingRentalId(houseRentalEntity.getId());
} else {
- errorNum++;
- continue;
+ // 新建出租屋
+ HouseRentalEntity houseRentalEntity1 = new HouseRentalEntity();
+ houseRentalEntity1.setHouseCode(householdEntity.getHouseCode());
+ houseRentalEntity1.setHouseStatus(1);
+ houseRentalEntity1.setAuditStatus(0);
+ houseRentalEntity1.setRentalUse(4);
+ houseRentalEntity1.setTenantRelationship(1);
+ houseRentalEntity1.setRentalTime(new Date());
+ houseRentalEntity1.setDueTime(new Date());
+ houseRentalEntity1.setTerminationTime(new Date());
+ iHouseRentalService.save(houseRentalEntity1);
+ householdEntity.setHousingRentalId(houseRentalEntity1.getId());
+ // errorNum++;
+ // continue;
}
}
/// 是否主要联系人
@@ -431,7 +443,7 @@
householdEntity.setMaritalStatus(Integer.parseInt(houseHoldExcel.getMaritalStatus()));
}
- if (one==null){
+ if (list.size()==0){
// 新增
this.save(householdEntity);
importNum++;
@@ -440,13 +452,15 @@
}else {
updateNum++;
if (isCovered){
- // 覆盖更新
- householdEntity.setId(one.getId());
- // 更新
- updateById(householdEntity);
+ for (HouseholdEntity one : list) {
+ // 覆盖更新
+ householdEntity.setId(one.getId());
+ // 更新
+ updateById(householdEntity);
+ // 处理标签
+ handleLabel(householdEntity,houseHoldExcel);
+ }
importNum++;
- // 处理标签
- handleLabel(householdEntity,houseHoldExcel);
}
}
}
@@ -457,7 +471,7 @@
builder.append("其中有 ").append(updateNum).append(" 条数据已存在。");
}
if (errorNum>0){
- builder.append("共有 ").append(errorNum).append(" 条数据由于无姓名或手机号或门牌地址编码信息未导入!");
+ builder.append("共有 ").append(errorNum).append(" 条数据由于无姓名或门牌地址编码信息未导入!");
}
return builder.toString();
}
@@ -780,12 +794,36 @@
/**
* 查询对应的住户集合
+ *
* @param i
* @param size
* @return
*/
@Override
public List<HouseholdVO> getAllList(int i, int size) {
- return baseMapper.getAllList(i,size);
+ return baseMapper.getAllList(i, size);
+ }
+
+ @Override
+ public List<HouseTenantExcel> exportTenant(HouseholdVO household) {
+ CommonParamSet commonParamSet = new CommonParamSet().invoke(HouseholdVO.class, household);
+ List<HouseTenantExcel> houseTenantExcels = baseMapper.exportTenant(household,
+ commonParamSet.getIsAdministrator(),
+ commonParamSet.getRegionChildCodesList(),
+ commonParamSet.getGridCodeList()
+ );
+ return houseTenantExcels;
+ }
+
+ @Override
+ public boolean saveOrUpdateHouseholdBatch(List<HouseholdVO> householdVOList) {
+ if (householdVOList.size() == 0) {
+ return false;
+ }
+ AtomicBoolean restult = new AtomicBoolean(false);
+ householdVOList.forEach(item -> {
+ restult.set(saveOrUpdateHousehold(item));
+ });
+ return restult.get();
}
}
--
Gitblit v1.9.3