瀏覽代碼

fix
优化查询方式

18339543638 1 年之前
父節點
當前提交
c82fe3f689

+ 30 - 29
nb-service/app-doctor/src/main/java/com/nb/app/doctor/controller/PatientMonitorController.java

@@ -4,7 +4,9 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.json.JSONUtil;
 import com.nb.app.assistant.api.bean.HandleBindResult;
+import com.nb.app.assistant.api.entity.AssistantUserBindEntity;
 import com.nb.app.assistant.api.feign.IAssistantUserBindClient;
+import com.nb.app.assistant.api.feign.result.ContactQuery;
 import com.nb.app.assistant.api.feign.result.PatientBindAssistantResult;
 import com.nb.app.assistant.api.feign.result.UpdateBindPatientParam;
 import com.nb.app.doctor.controller.vo.ChangeManageVo;
@@ -57,37 +59,36 @@ public class PatientMonitorController {
     @PostMapping("/monitor/{consult}/no_page")
     @Log(title = "医生端获取病人输注列表")
     @ApiOperation(value = "输注监控列表")
-    public R<List<PatientMonitorResult>> selectPagePatient( @RequestAttribute("tenantId")@ApiParam(hidden = true) String tenantId,@PathVariable("consult")@ApiParam("是否为咨询模式") boolean consult, @RequestBody PatientMonitorQuery query) {
+    public R<List<PatientMonitorConsultResult>> selectPagePatient(@PathVariable("consult")@ApiParam("是否为咨询模式") boolean consult,@RequestBody PatientMonitorQuery query) {
         log.info("医生查看输注监控列表,【{}】", JSONUtil.toJsonStr(query));
-        query.setTenantId(tenantId);
-//        List<PatientMonitorConsultResult> results = BeanUtil.copyToList(patientClient.selectAll(query), PatientMonitorConsultResult.class);
-        return R.success(patientClient.selectAll(query));
-//        if(consult){
-//            if (CollectionUtil.isNotEmpty(results)) {
-//                Map<String, List<PatientMonitorConsultResult>> resultGroupByPatientId = results.stream().collect(Collectors.groupingBy(PatientMonitorConsultResult::getPatientId));
-//                //获取该与该医生有绑定的所有绑定关系
-//                ContactQuery contactQuery = new ContactQuery();
-//                contactQuery.setDoctorId(String.valueOf(SecurityUtil.getId()));
-//                List<AssistantUserBindEntity> userBinds = userBindClient.contactList(contactQuery);
-//                if(CollectionUtil.isNotEmpty(userBinds)){
-//                    userBinds.parallelStream()
-//                            .forEach(bind->{
-//                                String patientId = bind.getPatientId();
-//                                String assistId = bind.getAssistId();
-////                                if (lifeCycleManage.isOnline(assistId)) {
-//                                List<PatientMonitorConsultResult> groupByPatientId = resultGroupByPatientId.get(patientId);
-//                                if (CollectionUtil.isNotEmpty(groupByPatientId)) {
-//                                    groupByPatientId
-//                                            .forEach(consultResult->{
-//                                                consultResult.setAssistId(assistId);
-////                                                consultResult.setOnline(true);
-//                                            });
+        List<PatientMonitorConsultResult> results = BeanUtil.copyToList(patientClient.selectAll(query), PatientMonitorConsultResult.class);
+        if(consult){
+            if (CollectionUtil.isNotEmpty(results)) {
+                Map<String, List<PatientMonitorConsultResult>> resultGroupByPatientId = results.stream().collect(Collectors.groupingBy(PatientMonitorConsultResult::getPatientId));
+                //获取该与该医生有绑定的所有绑定关系
+                ContactQuery contactQuery = new ContactQuery();
+                contactQuery.setDoctorId(String.valueOf(SecurityUtil.getId()));
+                List<AssistantUserBindEntity> userBinds = userBindClient.contactList(contactQuery);
+                if(CollectionUtil.isNotEmpty(userBinds)){
+                    userBinds.parallelStream()
+                            .forEach(bind->{
+                                String patientId = bind.getPatientId();
+                                String assistId = bind.getAssistId();
+//                                if (lifeCycleManage.isOnline(assistId)) {
+                                List<PatientMonitorConsultResult> groupByPatientId = resultGroupByPatientId.get(patientId);
+                                if (CollectionUtil.isNotEmpty(groupByPatientId)) {
+                                    groupByPatientId
+                                            .forEach(consultResult->{
+                                                consultResult.setAssistId(assistId);
+//                                                consultResult.setOnline(true);
+                                            });
+                                }
 //                                }
-////                                }
-//                            });
-//                }
-//            }
-//        }
+                            });
+                }
+            }
+        }
+        return R.success(results);
     }
 
     @ApiOperation("修改看护位置")