From dbbfa141bb8b7d57710905d2ac1a40473855d020 Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Thu, 9 Mar 2017 17:02:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=B5=E5=AD=90=E7=97=85?= =?UTF-8?q?=E5=8E=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/operate/web/worker/WorkHR.java | 95 ++++++++++++---------- 1 file changed, 54 insertions(+), 41 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/WorkHR.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/WorkHR.java index 0e867d5..b028d36 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/WorkHR.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/WorkHR.java @@ -89,7 +89,20 @@ public class WorkHR implements Callable> { antExQuery.setYn(YnEnums.YES.getId()); antExQuery.setHospitalId(null); stopWatch.start("cap antex count"); - List ant = antExService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); + AntExChuQuery antExChuQuery1 = new AntExChuQuery(); + antExChuQuery1.setPid(patients.getPid()); + antExChuQuery1.setYn(YnEnums.YES.getId()); + stopWatch.start("query antexc list"); + List chu = antExService.queryAntExChu(antExChuQuery1); + stopWatch.stop(); + //初诊为空就不用查复诊 + List ant =null; + if(CollectionUtils.isNotEmpty(chu)){ + stopWatch.start("query antex list"); + ant=antExService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); + stopWatch.stop(); + } + int i = 0; if (CollectionUtils.isNotEmpty(ant)) { //复诊次数 @@ -108,21 +121,19 @@ public class WorkHR implements Callable> { } } } else { - AntExChuQuery antExChuQuery1 = new AntExChuQuery(); - antExChuQuery1.setPid(patients.getPid()); - antExChuQuery1.setYn(YnEnums.YES.getId()); - List chu = antExService.queryAntExChu(antExChuQuery1); - for (AntExChuModel a : chu) { - try { - if (StringUtils.isNotEmpty(a.getHospitalId())) { - Organization og = organizationService.getOrganization(Integer.valueOf(a.getHospitalId())); - if (null != og) { - riskPatientsResult.setCurrentCh(og.getName()); - break; + if(CollectionUtils.isNotEmpty(chu)){ + for (AntExChuModel a : chu) { + try { + if (StringUtils.isNotEmpty(a.getHospitalId())) { + Organization og = organizationService.getOrganization(Integer.valueOf(a.getHospitalId())); + if (null != og) { + riskPatientsResult.setCurrentCh(og.getName()); + break; + } } + } catch (Exception e) { + riskPatientsResult.setCurrentCh(""); } - } catch (Exception e) { - riskPatientsResult.setCurrentCh(""); } } } @@ -130,20 +141,18 @@ public class WorkHR implements Callable> { riskPatientsResult.setbTime(DateUtil.getyyyy_MM_dd(patients.getBookbuildingDate())); antExChuQuery.setPid(patients.getPid()); antExChuQuery.setYn(YnEnums.YES.getId()); + //初诊次数 - antExChuQuery.setHospitalId(null); - int b = antExService.queryAntExChuCount(antExChuQuery.convertToQuery()); - antExQuery.setHospitalId(hospital); + int b = CollectionUtils.isEmpty(chu)?0:chu.size(); //本院的复诊记录 - int chi = antExService.queryAntenatalExaminationCount(antExQuery.convertToQuery()); - antExChuQuery.setHospitalId(hospital); + int chi = count(ant,hospital); //本院的初诊记录 - int chb = antExService.queryAntExChuCount(antExChuQuery.convertToQuery()); + int chb = countAntChu(chu,hospital); + riskPatientsResult.setcTimes(i + b); riskPatientsResult.setcHTimes(chi + chb); String nextCheckTime = ""; stopWatch.stop(); - stopWatch.start("query antex count"); if(null!=patients.getNextCheckTime()){ nextCheckTime = DateUtil.getyyyy_MM_dd(patients.getNextCheckTime()); } @@ -156,7 +165,6 @@ public class WorkHR implements Callable> { } } - stopWatch.stop(); //注册地址 riskPatientsResult.setRegisterAddr(CommonsHelper.getResidence(patients.getProvinceId(), patients.getCityId(), patients.getAreaId(), patients.getStreetId(), patients.getAddress(), basicConfigService)); riskPatientsResult.setAddr(CommonsHelper.getResidence(patients.getProvinceRegisterId(), patients.getCityRegisterId(), patients.getAreaRegisterId(), patients.getStreetRegisterId(), patients.getAddressRegister(), basicConfigService)); @@ -222,27 +230,32 @@ public class WorkHR implements Callable> { return dataList; } - public static void main(String[] args) { - List level = new ArrayList(); - Map map = new HashMap(); - String name = "黄色预警"; - if (name.indexOf("预警") > -1) { - name = name.replace("预警", ""); + //统计复查里面的本院检查数 + private int count( List list,String hospital){ + int count =0; + if(CollectionUtils.isEmpty(list)||StringUtils.isEmpty(hospital)){ + return count; } - map.put("name", name); - map.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); - - Map map1 = new HashMap(); - String name1 = "绿色预警"; - if (name.indexOf("预警") > -1) { - name1 = name1.replace("预警", ""); + for(AntenatalExaminationModel model:list){ + if(hospital.equals(model.getHospitalId())){ + count++; + } } - map1.put("name", name1); - map1.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name1)); - level.add(map1); + return count; + } + - level.add(map); - System.out.print(HighScoreResult.filter(level)); - ; + //统计复查里面的本院检查数 + private int countAntChu( List list,String hospital){ + int count =0; + if(CollectionUtils.isEmpty(list)||StringUtils.isEmpty(hospital)){ + return count; + } + for(AntExChuModel model:list){ + if(hospital.equals(model.getHospitalId())){ + count++; + } + } + return count; } } \ No newline at end of file -- 1.8.3.1