From 5eeb1956c2affea99c1d87d3c253e3ab9677a917 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Tue, 20 Nov 2018 15:51:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=BA=E5=9F=9F=E5=9B=B4=E4=BA=A7=E5=84=BF?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/facade/BabyBookbuildingFacade.java | 112 +++++++++++++-------- 1 file changed, 72 insertions(+), 40 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index 598c435..cc26811 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -3229,7 +3229,7 @@ public class BabyBookbuildingFacade { public BaseResponse queryWcExportHospList(Integer userId, String provinceId, String cityId) { //获取用户权限医院和筛选条件的交集 - List currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions(userId, provinceId, + List currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions2(userId, provinceId, cityId, null); List hospitals = new ArrayList<>(); @@ -3434,11 +3434,9 @@ public class BabyBookbuildingFacade { } //查询机构数 List orgs = organizationService.queryOrganization(query); - int orgSize = CollectionUtils.isNotEmpty(orgs) ? orgs.size() : 0; - items.add(String.valueOf(orgSize)); - - List hids = getConditionHospitalIds(currentUserHospPermissions, orgs); + int orgSize = CollectionUtils.isNotEmpty(hids) ? hids.size() : 0; + items.add(String.valueOf(orgSize)); if (CollectionUtils.isNotEmpty(hids)) { BabyModelQuery babyModelQuery = new BabyModelQuery(); @@ -3595,54 +3593,58 @@ public class BabyBookbuildingFacade { private List> getWcQkBabyDatas(String hospitalId, String[] dates) { + + List czParentIds = getPatientIdByPreType(hospitalId, CZ, null, null); + List ncParentIds = getPatientIdByPreType(hospitalId, NC, null, null); + List> list = new ArrayList<>(); //死胎,死产 //城镇 - String czs = getNoBaby(hospitalId,CZ,dates); - String ncs = getNoBaby(hospitalId,NC,dates); + String czs = getNoBaby(hospitalId,CZ,dates,czParentIds); + String ncs = getNoBaby(hospitalId,NC,dates,ncParentIds); - Map map = new HashMap<>(); + Map map = new LinkedHashMap<>(); map.put("czs",czs); map.put("ncs", ncs); list.add(map); //缺陷 - String czqx = getQueXianBaby(hospitalId,CZ,dates); - String ncqx = getQueXianBaby(hospitalId,CZ,dates); + String czqx = getQueXianBaby(hospitalId,dates,czParentIds); + String ncqx = getQueXianBaby(hospitalId,dates,ncParentIds); - Map map1 = new HashMap<>(); + Map map1 = new LinkedHashMap<>(); map1.put("czqx",czqx); map1.put("ncqx", ncqx); list.add(map1); - Map map2 = new HashMap<>(); + Map map2 = new LinkedHashMap<>(); map2.put("czqtsw","-"); map2.put("ncqtsw", "-"); list.add(map2); - Map map3 = new HashMap<>(); + Map map3 = new LinkedHashMap<>(); map3.put("czqtsw", czs + czqx); map3.put("ncqtsw", ncs + ncqx); list.add(map3); - String czst = getTsBaby( hospitalId,CZ,dates,2); - String ncst = getTsBaby( hospitalId,NC,dates,2); + String czst = getTsBaby( hospitalId,dates,czParentIds,2); + String ncst = getTsBaby( hospitalId,dates,ncParentIds,2); - Map map4 = new HashMap<>(); + Map map4 = new LinkedHashMap<>(); map4.put("czst", czst); map4.put("ncst", ncst); list.add(map4); - String czdt = getTsBaby( hospitalId,CZ,dates,3,4,5,6,7,8); - String ncdt = getTsBaby( hospitalId,NC,dates,3,4,5,6,7,8); + String czdt = getTsBaby( hospitalId,dates,czParentIds,3,4,5,6,7,8); + String ncdt = getTsBaby( hospitalId,dates,ncParentIds,3,4,5,6,7,8); - Map map5 = new HashMap<>(); + Map map5 = new LinkedHashMap<>(); map5.put("czdt", czdt); map5.put("ncdt", ncdt); list.add(map5); - Map map6 = new HashMap<>(); + Map map6 = new LinkedHashMap<>(); map6.put("czhj", czs+czqx+czst+czdt); map6.put("nchj", ncs+ncqx+ncst+ncdt); list.add(map6); @@ -3651,7 +3653,12 @@ public class BabyBookbuildingFacade { } - private String getTsBaby(String hospitalId,String type,String[] dates,Integer ...tireNumbers) { + private String getTsBaby(String hospitalId,String[] dates,List parentIds,Integer ...tireNumbers) { + + if (CollectionUtils.isEmpty(parentIds)) + { + return "0"; + } MatDeliverQuery matDeliverQuery1 = new MatDeliverQuery(); matDeliverQuery1.setYn(YnEnums.YES.getId()); @@ -3661,19 +3668,22 @@ public class BabyBookbuildingFacade { matDeliverQuery1.setEndStart(DateUtil.parseYMDHMS(dates[1])); } } - matDeliverQuery1.setParentIdList(getPatientIdByPreType(hospitalId, type, null, null)); + matDeliverQuery1.setParentIdList(parentIds); matDeliverQuery1.setTireNumbers(Arrays.asList(tireNumbers)); matDeliverQuery1.setFmHospital(hospitalId); int doubleCount = matDeliverService.count(matDeliverQuery1); return String.valueOf(doubleCount); } - private String getQueXianBaby(String hospitalId,String type,String[] dates) { - + private String getQueXianBaby(String hospitalId,String[] dates,List parentIds) { + if (CollectionUtils.isEmpty(parentIds)) + { + return "0"; + } BabyModelQuery babyModelQuery3 = new BabyModelQuery(); babyModelQuery3.setDataStatus(false); babyModelQuery3.setHospitalId(hospitalId); - babyModelQuery3.setParentIds(getPatientIdByPreType( hospitalId, type,null,null)); + babyModelQuery3.setParentIds(parentIds); if (dates != null) { babyModelQuery3.setBirthStart(DateUtil.parseYMD(dates[0])); if (dates.length == 2) { @@ -3722,7 +3732,7 @@ public class BabyBookbuildingFacade { } - Map map = new HashMap<>(); + Map map = new LinkedHashMap<>(); BabyModelQuery babyModelQuery = new BabyModelQuery(); if (dates != null) { babyModelQuery.setBirthStart(DateUtil.parseYMD(dates[0])); @@ -3733,30 +3743,48 @@ public class BabyBookbuildingFacade { babyModelQuery.setDataStatus(false); babyModelQuery.setBuildType(2); - babyModelQuery.setSex(1); - babyModelQuery.setParentIds(getPatientIdByPreType(hospitalId, CZ, fmAgeStart, fmAgeEnd)); - int cznCount = babyService.queryBabyCount(babyModelQuery); + int cznCount = 0; + int czlCount = 0; + List czParentIds = getPatientIdByPreType(hospitalId, CZ, fmAgeStart, fmAgeEnd); + if (CollectionUtils.isNotEmpty(czParentIds)); + { + babyModelQuery.setParentIds(czParentIds); + + babyModelQuery.setSex(1); + cznCount = babyService.queryBabyCount(babyModelQuery); + + babyModelQuery.setSex(0); + czlCount = babyService.queryBabyCount(babyModelQuery); + } + map.put("cznCount", String.valueOf(cznCount)); - babyModelQuery.setSex(0); - babyModelQuery.setParentIds(getPatientIdByPreType(hospitalId, CZ, fmAgeStart, fmAgeEnd)); - int czlCount = babyService.queryBabyCount(babyModelQuery); map.put("czlCount", String.valueOf(czlCount)); int czbmCount= 0; map.put("czbmCount", String.valueOf(czbmCount)); - babyModelQuery.setSex(1); - babyModelQuery.setParentIds(getPatientIdByPreType(hospitalId, NC, fmAgeStart, fmAgeEnd)); - int ncnCount = babyService.queryBabyCount(babyModelQuery); + List ncParentIds = getPatientIdByPreType(hospitalId, NC, fmAgeStart, fmAgeEnd); + + int ncnCount = 0; + int nclCount = 0; + if (CollectionUtils.isNotEmpty(ncParentIds)) + { + babyModelQuery.setParentIds(ncParentIds); + + babyModelQuery.setSex(1); + ncnCount = babyService.queryBabyCount(babyModelQuery); + + babyModelQuery.setSex(0); + nclCount = babyService.queryBabyCount(babyModelQuery); + } + map.put("ncnCount", String.valueOf(ncnCount)); - babyModelQuery.setSex(0); - babyModelQuery.setParentIds(getPatientIdByPreType(hospitalId, NC, fmAgeStart, fmAgeEnd)); - int nclCount = babyService.queryBabyCount(babyModelQuery); + map.put("nclCount", String.valueOf(nclCount)); int ncbmCount= 0; @@ -3825,15 +3853,19 @@ public class BabyBookbuildingFacade { list.add(dataMap); } - private String getNoBaby(String hospitalId,String type,String[] dates) + private String getNoBaby(String hospitalId,String type,String[] dates,List parentIds) { + if (CollectionUtils.isEmpty(parentIds)) + { + return "0"; + } List PregnancyOuts = new ArrayList<>(); PregnancyOuts.add("1"); PregnancyOuts.add("3"); MatDeliverQuery matDeliverQuery10 = new MatDeliverQuery(); matDeliverQuery10.setYn(YnEnums.YES.getId()); - matDeliverQuery10.setParentIdList(getPatientIdByPreType(hospitalId, type, 0, 100)); + matDeliverQuery10.setParentIdList(parentIds); if (dates != null) { matDeliverQuery10.setCreatedStart(DateUtil.parseYMD(dates[0])); if (dates.length == 2) { -- 1.8.3.1