Commit e2c15df5 by 李小龙 Committed by huangjy

fix:29956 平台端-长者管理-导入:如果有填空间的,响应床位的状态要改为已住人|29295 平台端--长者管理:新增长者:没有控制两个长者入住了同一个房间下的同一个床位;导入的也要控制

parent 74ad371b
...@@ -62,7 +62,11 @@ public class ConfigConverter implements Converter<String> { ...@@ -62,7 +62,11 @@ public class ConfigConverter implements Converter<String> {
if (StringUtils.isBlank(s)) { if (StringUtils.isBlank(s)) {
//s = ""; //s = "";
s = cellData.getStringValue(); //s = cellData.getStringValue();
if(StringUtils.isBlank(cellData.getStringValue())){
return cellData.getStringValue();
}
s = "-1";
} }
return s; return s;
......
...@@ -2,6 +2,8 @@ package com.makeit.service.platform.elder.impl; ...@@ -2,6 +2,8 @@ package com.makeit.service.platform.elder.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
...@@ -402,11 +404,13 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder ...@@ -402,11 +404,13 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
List<PlatBed> bedList = platBedService.list(new QueryWrapper<PlatBed>().lambda() List<PlatBed> bedList = platBedService.list(new QueryWrapper<PlatBed>().lambda()
.in(PlatBed::getName, spaceNameList)); .in(PlatBed::getName, spaceNameList));
Map<String, String> bedIdStatusMap = bedList.stream().collect(Collectors.toMap(BaseEntity::getId, PlatBed::getStatus));
treeList.addAll( treeList.addAll(
StreamUtil.map(bedList, e -> { StreamUtil.map(bedList, e -> {
TreeDTOVO tree = new TreeDTOVO(); TreeDTOVO tree = new TreeDTOVO();
tree.setName(e.getName()); tree.setName(e.getRoomId()+ e.getName());
tree.setParentId(e.getSpaceId()); tree.setParentId(e.getSpaceId());
tree.setId(e.getId()); tree.setId(e.getId());
...@@ -420,7 +424,7 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder ...@@ -420,7 +424,7 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
//List<SysConfigVO> sysConfigVOS1 = sysConfigService.viewListByCategoryCode(SysConfigCategoryConst.ELDER_CERTIFICATE_TYPE); //List<SysConfigVO> sysConfigVOS1 = sysConfigService.viewListByCategoryCode(SysConfigCategoryConst.ELDER_CERTIFICATE_TYPE);
ExcelImportVo excelImportVo = ExcelValidatorUtil.validateMain(3, list, l -> { return ExcelValidatorUtil.validateMain(3, list, l -> {
int start = 3; int start = 3;
List<ExcelErrorVo> errorVoList = new ArrayList<>(10); List<ExcelErrorVo> errorVoList = new ArrayList<>(10);
...@@ -432,6 +436,9 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder ...@@ -432,6 +436,9 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
if (StringUtils.isBlank(type)) { if (StringUtils.isBlank(type)) {
errorVoList.add(new ExcelErrorVo(i + start, "证件类型*","证件类型不存在")); errorVoList.add(new ExcelErrorVo(i + start, "证件类型*","证件类型不存在"));
} }
if(StringUtils.equals(type,"-1")){
errorVoList.add(new ExcelErrorVo(i + start, "证件类型*","证件类型不存在"));
}
long count = count(new QueryWrapper<PlatElder>().lambda() long count = count(new QueryWrapper<PlatElder>().lambda()
.eq(StringUtils.isNotEmpty(type), PlatElder::getCertificateType, type) .eq(StringUtils.isNotEmpty(type), PlatElder::getCertificateType, type)
.eq(PlatElder::getCertificateNumber, platElderImportDTO.getCertificateNumber()) .eq(PlatElder::getCertificateNumber, platElderImportDTO.getCertificateNumber())
...@@ -559,42 +566,36 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder ...@@ -559,42 +566,36 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
spaceIdList = new ArrayList<>(10); spaceIdList = new ArrayList<>(10);
spaceIdList.add(lastSpaceId); spaceIdList.add(lastSpaceId);
List<BiConsumer<PlatElderImportDTO, String>> consumerList = Arrays.asList(
PlatElderImportDTO::setRoomId,
PlatElderImportDTO::setBedId
);
for (int j = 0; j <= 1; j++) { for (int j = 0; j <= 1; j++) {
String id = null; String id = null;
Map<String, TreeDTOVO> nameAreaMap = parentIdName.get(spaceIdList.get(0)); Map<String, TreeDTOVO> nameAreaMap = parentIdName.get(spaceIdList.get(0));
if (nameAreaMap != null) { if (nameAreaMap != null) {
TreeDTOVO area = nameAreaMap.get(roomAndBed.get(j)); String nameAreaMapKey = Optional.ofNullable(platElderImportDTO.getRoomId()).orElse("") + roomAndBed.get(j);
TreeDTOVO area = nameAreaMap.get(nameAreaMapKey);
if (area != null) { if (area != null) {
id = area.getId(); id = area.getId();
} }
} }
if (StringUtils.isBlank(id)) { if (StringUtils.isBlank(id)) {
errorVoList.add(new ExcelErrorVo(i + start, excelField.get(j), "导入的数据在数据库中不存在,或者导入的数据父子关系不对")); errorVoList.add(new ExcelErrorVo(i + start, excelField.get(j), "导入的数据在数据库中不存在,或者导入的数据父子关系不对"));
spaceIdList.add(null);
success = false;
} else { } else {
spaceIdList.add(id); consumerList.get(j).accept(platElderImportDTO, id);
} }
} }
if (success && spaceIdList.size() > 1) {
List<BiConsumer<PlatElderImportDTO, String>> consumerList = Arrays.asList(
PlatElderImportDTO::setRoomId,
PlatElderImportDTO::setBedId
);
for (int j = 1; j < spaceIdList.size(); j++) {
consumerList.get(j - 1).accept(platElderImportDTO, spaceIdList.get(j));
}
}
} }
//校验房间是否被占用了
String bedStatus = bedIdStatusMap.get(platElderImportDTO.getBedId());
if (StringUtils.isNotBlank(bedStatus) &&StringUtils.equals(bedStatus,"0")) {
errorVoList.add(new ExcelErrorVo(i + start, "床位","床位被占用"));
}
} }
} }
if (errorVoList.isEmpty()) { if (errorVoList.isEmpty()) {
...@@ -627,14 +628,17 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder ...@@ -627,14 +628,17 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
}); });
saveBatch(platElderList); saveBatch(platElderList);
//更新床位信息
Set<String> bedIdSet = platElderList.stream().map(PlatElder::getBedId).collect(Collectors.toSet());
LambdaUpdateWrapper<PlatBed> lambdaUpdateWrapper = Wrappers.lambdaUpdate(PlatBed.class)
.set(PlatBed::getStatus, "0")
.in(BaseEntity::getId, bedIdSet);
platBedService.update(lambdaUpdateWrapper);
} }
return errorVoList; return errorVoList;
}); });
return excelImportVo;
} }
......
...@@ -423,6 +423,7 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace ...@@ -423,6 +423,7 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
List<PlatRoom> rooms = platRoomService.list(); List<PlatRoom> rooms = platRoomService.list();
Map<String,List<PlatRoom>> roomMap = rooms.stream().collect(Collectors.groupingBy(PlatRoom::getSpaceId)); Map<String,List<PlatRoom>> roomMap = rooms.stream().collect(Collectors.groupingBy(PlatRoom::getSpaceId));
//房间的所属空间(房间的上级)
List<String> lastSpaceIds = rooms.stream().filter(t->StringUtil.isNotEmpty(t.getSpaceId())).map(PlatRoom::getSpaceId).collect(Collectors.toList()); List<String> lastSpaceIds = rooms.stream().filter(t->StringUtil.isNotEmpty(t.getSpaceId())).map(PlatRoom::getSpaceId).collect(Collectors.toList());
...@@ -599,7 +600,7 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace ...@@ -599,7 +600,7 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
threeId = childrenIdMap.get(threeKey); threeId = childrenIdMap.get(threeKey);
} }
spacePath = spacePath + "," + threeId; spacePath = spacePath + "," + threeId;
if(lastSpaceIds.contains(secondId)){ if(lastSpaceIds.contains(threeId)){
flag = true; flag = true;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment