Commit 1f1fbb58 by 罗志长

fix: 区域固化关联长者

parent bb38add6
...@@ -18,6 +18,9 @@ public class PlatRegionSettingFixQueryDTO { ...@@ -18,6 +18,9 @@ public class PlatRegionSettingFixQueryDTO {
@ApiModelProperty("房间ID") @ApiModelProperty("房间ID")
private String roomId; private String roomId;
@ApiModelProperty("长者ID")
private String elderId;
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("日期 yyyy-MM-dd") @ApiModelProperty("日期 yyyy-MM-dd")
private LocalDate now; private LocalDate now;
......
...@@ -26,6 +26,7 @@ import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO; ...@@ -26,6 +26,7 @@ import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.elasticsearch.action.bulk.BulkRequest; import org.elasticsearch.action.bulk.BulkRequest;
import org.elasticsearch.action.bulk.BulkResponse; import org.elasticsearch.action.bulk.BulkResponse;
import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.index.IndexRequest;
...@@ -47,6 +48,7 @@ import java.time.LocalDate; ...@@ -47,6 +48,7 @@ import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
...@@ -122,12 +124,21 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC ...@@ -122,12 +124,21 @@ public class PlatElderCoordinateRecordServiceImpl extends ServiceImpl<PlatElderC
List<PlatDevice> platDevices = platDeviceService.listByIds(deviceIds); List<PlatDevice> platDevices = platDeviceService.listByIds(deviceIds);
Map<String, String> deviceMap = StreamUtil.toMap(platDevices, PlatDevice::getId, PlatDevice::getId); Map<String, String> deviceMap = StreamUtil.toMap(platDevices, PlatDevice::getId, PlatDevice::getId);
platRegionSettingList = StreamUtil.filter(platRegionSettingList, setting -> deviceMap.containsKey(setting.getDeviceId())); platRegionSettingList = StreamUtil.filter(platRegionSettingList, setting -> deviceMap.containsKey(setting.getDeviceId()));
List<PlatRegionSettingFix> settingFixList = StreamUtil.map(platRegionSettingList, setting -> { Map<String, List<PlatElder>> roomElderMap = elderList.stream().filter(e -> StringUtils.isNotBlank(e.getRoomId())).collect(Collectors.groupingBy(PlatElder::getRoomId));
PlatRegionSettingFix settingFix = new PlatRegionSettingFix(); List<PlatRegionSettingFix> settingFixList = Lists.newArrayList();
BeanUtils.copyProperties(setting, settingFix,"id"); for (PlatRegionSetting platRegionSetting : platRegionSettingList) {
settingFix.setHappenDate(yesDate.toString()); List<PlatElder> platElders = roomElderMap.get(platRegionSetting.getRoomId());
return settingFix; if (CollectionUtils.isEmpty(platElders)) {
}); continue;
}
for (PlatElder platElder : platElders) {
PlatRegionSettingFix settingFix = new PlatRegionSettingFix();
BeanUtils.copyProperties(platRegionSetting, settingFix,"id");
settingFix.setHappenDate(yesDate.toString());
settingFix.setElderId(platElder.getId());
settingFixList.add(settingFix);
}
}
platRegionSettingFixService.saveBatch(settingFixList); platRegionSettingFixService.saveBatch(settingFixList);
} }
......
...@@ -39,17 +39,16 @@ public class PlatRegionSettingFixServiceImpl extends ServiceImpl<PlatRegionSetti ...@@ -39,17 +39,16 @@ public class PlatRegionSettingFixServiceImpl extends ServiceImpl<PlatRegionSetti
@Override @Override
public List<PlatRegionSettingDTO> list(PlatRegionSettingFixQueryDTO dto) { public List<PlatRegionSettingDTO> list(PlatRegionSettingFixQueryDTO dto) {
if (StringUtils.isAnyBlank(dto.getReportType(), dto.getRoomId())) { if (StringUtils.isAnyBlank(dto.getReportType(), dto.getElderId())) {
return Lists.newArrayList(); return Lists.newArrayList();
} }
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LambdaQueryWrapper<PlatRegionSettingFix> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PlatRegionSettingFix> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PlatRegionSettingFix::getRoomId, dto.getRoomId()); queryWrapper.eq(PlatRegionSettingFix::getElderId, dto.getElderId());
if ("0".equals(dto.getReportType())) { if ("0".equals(dto.getReportType())) {
queryWrapper.eq(PlatRegionSettingFix::getHappenDate, dateTimeFormatter.format(dto.getNow())); queryWrapper.eq(PlatRegionSettingFix::getHappenDate, dateTimeFormatter.format(dto.getNow()));
} else { } else {
queryWrapper.ge(PlatRegionSettingFix::getHappenDate, dateTimeFormatter.format(dto.getStartTime())); queryWrapper.eq(PlatRegionSettingFix::getHappenDate, dateTimeFormatter.format(dto.getEndTime()));
queryWrapper.le(PlatRegionSettingFix::getHappenDate, dateTimeFormatter.format(dto.getEndTime()));
} }
queryWrapper.orderByDesc(PlatRegionSettingFix::getCreateDate); queryWrapper.orderByDesc(PlatRegionSettingFix::getCreateDate);
List<PlatRegionSettingFix> list = this.list(queryWrapper); List<PlatRegionSettingFix> list = this.list(queryWrapper);
......
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