|
@@ -17,7 +17,6 @@ import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
-import java.util.concurrent.CompletableFuture;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -64,54 +63,49 @@ public class BusClinicController {
|
|
|
}
|
|
}
|
|
|
//填充临床信息
|
|
//填充临床信息
|
|
|
result.setClinic(ClinicAnalClinicRecord.parse(clinic));
|
|
result.setClinic(ClinicAnalClinicRecord.parse(clinic));
|
|
|
- CompletableFuture
|
|
|
|
|
- .runAsync(()->{
|
|
|
|
|
- //填充评价记录
|
|
|
|
|
- result.setEvaluations(evaluationService.list(new QueryWrapper<BusEvaluationEntity>().lambda().eq(BusEvaluationEntity::getClinicId,clinicId).orderByAsc(BusEvaluationEntity::getEvaluateTime)));
|
|
|
|
|
- })
|
|
|
|
|
- .thenAcceptAsync(ignore->{
|
|
|
|
|
- //填充输注记录
|
|
|
|
|
- List<BusInfusionHistoryEntity> infusionHistories = infusionHistoryService.list(new QueryWrapper<BusInfusionHistoryEntity>().lambda()
|
|
|
|
|
- .eq(BusInfusionHistoryEntity::getClinicId, clinicId)
|
|
|
|
|
- .orderByAsc(BusInfusionHistoryEntity::getStartTime));
|
|
|
|
|
-
|
|
|
|
|
- //添加设备别名
|
|
|
|
|
- Map<String, List<BusInfusionHistoryEntity>> infusionByDeviceId = infusionHistories.stream().collect(Collectors.groupingBy(BusInfusionHistoryEntity::getDeviceId));
|
|
|
|
|
- infusionByDeviceId.forEach((deviceId,infusions)->{
|
|
|
|
|
- String alias = deviceRegistry.getOperator(deviceId).getAlias();
|
|
|
|
|
- infusions.forEach(infusion->infusion.setAlias(alias));
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- result.fillUndoInfo(infusionHistories);
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- List<String> infusionIds = infusionHistories.stream().map(BusInfusionHistoryEntity::getId).collect(Collectors.toList());
|
|
|
|
|
- List<BusInfusionModifyEntity> infusionModifies = infusionModifyService.list(new QueryWrapper<BusInfusionModifyEntity>().lambda()
|
|
|
|
|
- .in(BusInfusionModifyEntity::getInfusionId, infusionIds));
|
|
|
|
|
- result.fillInfusionRecords(infusionHistories,infusionModifies);
|
|
|
|
|
- })
|
|
|
|
|
- .thenAccept(ignore->{
|
|
|
|
|
- List<String> infusionIds = result.getInfusionRecords().stream().map(ClinicAnalInfusionRecord::getId).collect(Collectors.toList());
|
|
|
|
|
- List<BusDeviceHistoryEntity> deviceHistories = deviceHistoryService.list(new QueryWrapper<BusDeviceHistoryEntity>()
|
|
|
|
|
- .lambda()
|
|
|
|
|
- .select(BusDeviceHistoryEntity::getInfusionId,BusDeviceHistoryEntity::getPcaValidCount,BusDeviceHistoryEntity::getInfusionModifyId,
|
|
|
|
|
- BusDeviceHistoryEntity::getPcaInvalidCount,BusDeviceHistoryEntity::getInputDose,BusDeviceHistoryEntity::getUploadTime)
|
|
|
|
|
- .in(BusDeviceHistoryEntity::getInfusionId, infusionIds)
|
|
|
|
|
- .eq(BusDeviceHistoryEntity::getMaster, true));
|
|
|
|
|
- //标记输注
|
|
|
|
|
- result.markInfusion(deviceHistories);
|
|
|
|
|
- List<ClinicStatsQueryResult> statsQueryResults = deviceHistories.stream().map(history -> {
|
|
|
|
|
- ClinicStatsQueryResult statsQueryResult = new ClinicStatsQueryResult();
|
|
|
|
|
- statsQueryResult.setInputDose(history.getInputDose());
|
|
|
|
|
- statsQueryResult.setInValidCount(history.getPcaInvalidCount());
|
|
|
|
|
- statsQueryResult.setValidCount(history.getPcaValidCount());
|
|
|
|
|
- statsQueryResult.setUploadTime(history.getUploadTime());
|
|
|
|
|
- return statsQueryResult;
|
|
|
|
|
- }).collect(Collectors.toList());
|
|
|
|
|
- //填充统计信息
|
|
|
|
|
- result.setStats(ClinicStatsReturnResult.of(statsQueryResults));
|
|
|
|
|
- })
|
|
|
|
|
- .join();
|
|
|
|
|
|
|
+
|
|
|
|
|
+ //填充评价记录
|
|
|
|
|
+ result.setEvaluations(evaluationService.list(new QueryWrapper<BusEvaluationEntity>().lambda().eq(BusEvaluationEntity::getClinicId,clinicId).orderByAsc(BusEvaluationEntity::getEvaluateTime)));
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ //填充输注记录
|
|
|
|
|
+ List<BusInfusionHistoryEntity> infusionHistories = infusionHistoryService.list(new QueryWrapper<BusInfusionHistoryEntity>().lambda()
|
|
|
|
|
+ .eq(BusInfusionHistoryEntity::getClinicId, clinicId)
|
|
|
|
|
+ .orderByAsc(BusInfusionHistoryEntity::getStartTime));
|
|
|
|
|
+
|
|
|
|
|
+ //添加设备别名
|
|
|
|
|
+ Map<String, List<BusInfusionHistoryEntity>> infusionByDeviceId = infusionHistories.stream().collect(Collectors.groupingBy(BusInfusionHistoryEntity::getDeviceId));
|
|
|
|
|
+ infusionByDeviceId.forEach((deviceId,infusions)->{
|
|
|
|
|
+ String alias = deviceRegistry.getOperator(deviceId).getAlias();
|
|
|
|
|
+ infusions.forEach(infusion->infusion.setAlias(alias));
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ result.fillUndoInfo(infusionHistories);
|
|
|
|
|
+
|
|
|
|
|
+ List<String> infusionIds = infusionHistories.stream().map(BusInfusionHistoryEntity::getId).collect(Collectors.toList());
|
|
|
|
|
+ List<BusInfusionModifyEntity> infusionModifies = infusionModifyService.list(new QueryWrapper<BusInfusionModifyEntity>().lambda()
|
|
|
|
|
+ .in(BusInfusionModifyEntity::getInfusionId, infusionIds));
|
|
|
|
|
+ result.fillInfusionRecords(infusionHistories,infusionModifies);
|
|
|
|
|
+
|
|
|
|
|
+ List<BusDeviceHistoryEntity> deviceHistories = deviceHistoryService.list(new QueryWrapper<BusDeviceHistoryEntity>()
|
|
|
|
|
+ .lambda()
|
|
|
|
|
+ .select(BusDeviceHistoryEntity::getInfusionId,BusDeviceHistoryEntity::getPcaValidCount,BusDeviceHistoryEntity::getInfusionModifyId,
|
|
|
|
|
+ BusDeviceHistoryEntity::getPcaInvalidCount,BusDeviceHistoryEntity::getInputDose,BusDeviceHistoryEntity::getUploadTime)
|
|
|
|
|
+ .in(BusDeviceHistoryEntity::getInfusionId, infusionIds)
|
|
|
|
|
+ .eq(BusDeviceHistoryEntity::getMaster, true));
|
|
|
|
|
+ //标记输注
|
|
|
|
|
+ result.markInfusion(deviceHistories);
|
|
|
|
|
+ List<ClinicStatsQueryResult> statsQueryResults = deviceHistories.stream().map(history -> {
|
|
|
|
|
+ ClinicStatsQueryResult statsQueryResult = new ClinicStatsQueryResult();
|
|
|
|
|
+ statsQueryResult.setInputDose(history.getInputDose());
|
|
|
|
|
+ statsQueryResult.setInValidCount(history.getPcaInvalidCount());
|
|
|
|
|
+ statsQueryResult.setValidCount(history.getPcaValidCount());
|
|
|
|
|
+ statsQueryResult.setUploadTime(history.getUploadTime());
|
|
|
|
|
+ return statsQueryResult;
|
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
|
+ //填充统计信息
|
|
|
|
|
+ result.setStats(ClinicStatsReturnResult.of(statsQueryResults));
|
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
|
return R.success(result);
|
|
return R.success(result);
|