Explorar o código

增加数量统计接口

liuqq %!s(int64=3) %!d(string=hai) anos
pai
achega
fcc3f079ea

+ 43 - 2
external-service/src/main/java/com/lantone/external/facade/DataBalanceFacade.java

@@ -60,9 +60,50 @@ public class DataBalanceFacade {
                     }
                     dtoList.add(dto);
                 });
-                dataDto.setBehospitalCount(beHospitalCodeList.size());
+                /*dataDto.setBehospitalCount(beHospitalCodeList.size());
                 dataDto.setHomePageCount(homePageMap.size());
-                dataDto.setRecCount(recMap.size());
+                dataDto.setRecCount(recMap.size());*/
+            }
+            dataDto.setBalanceDTOList(dtoList);
+            return dataDto;
+        }catch (Exception e){
+            log.error("数据比对-获取某个入院时间段内的病历数::"+e.getMessage(),new Throwable());
+            return null;
+        }
+    }
+
+
+    public DataBalanceDTO balanceCount(DataViewVO dataViewVO){
+        try{
+            DataBalanceDTO dataDto=new DataBalanceDTO();
+            List<BalanceDTO> dtoList= Lists.newLinkedList();
+            List<String> beHospitalCodeList=vLtBehospitalInfoFacade.getTimeSoltData(dataViewVO);
+            if(ListUtil.isNotEmpty(beHospitalCodeList)){
+                //获取病案首页数据
+                Map<String,String> homePageMap=vLtHomePageFacade.getTimeSoltData(beHospitalCodeList);
+
+                Map<String,List<VLtMedicalRecord>> recMap=vLtMedicalRecordFacade.getTimeSoltData(beHospitalCodeList);
+                beHospitalCodeList.stream().forEach(s->{
+                    BalanceDTO dto=new BalanceDTO();
+                    dataDto.setBehospitalCount(beHospitalCodeList.size());
+                    //拼接病案序号
+                    if(StringUtil.isNotEmpty(homePageMap.get(s))){
+                        dataDto.setHomePageCount(homePageMap.size());
+                    }
+
+                    //拼接文书序号
+                    if(ListUtil.isNotEmpty(recMap.get(s))){
+                        List<RecDTO> recDTOList=Lists.newLinkedList();
+                        recMap.get(s).stream().forEach(i->{
+                            RecDTO recdto=new RecDTO();
+                            recdto.setRecId(i.getRecId());
+                            recdto.setRecTitle(i.getRecTitle());
+
+                            recDTOList.add(recdto);
+                        });
+                        dataDto.setRecCount(recDTOList.size());
+                    }
+                });
             }
             dataDto.setBalanceDTOList(dtoList);
             return dataDto;

+ 6 - 0
external-service/src/main/java/com/lantone/external/web/DataBalanceController.java

@@ -25,4 +25,10 @@ public class DataBalanceController {
     public DataBalanceDTO getDataCount(DataViewVO dataViewVO){
         return dataBalanceFacade.balanceData(dataViewVO);
     }
+
+    @ApiOperation(value = "数据比对-获取某个入院时间段内的病历数量")
+    @PostMapping("/getCount")
+    public DataBalanceDTO getCount(DataViewVO dataViewVO){
+        return dataBalanceFacade.balanceCount(dataViewVO);
+    }
 }