Commit 1f1fbb58 by 罗志长

fix: 区域固化关联长者

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