From fc543429fceebcc54bc46513a8e59fd15fee2e0e Mon Sep 17 00:00:00 2001 From: wangbo <184677810@qq.com> Date: Sat, 11 May 2019 15:19:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B4=E6=8A=A5bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/facade/annualReportFacade.java | 1055 ++++++++++---------- 1 file changed, 528 insertions(+), 527 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/annualReportFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/annualReportFacade.java index 32a9390..2fbba67 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/annualReportFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/annualReportFacade.java @@ -343,312 +343,312 @@ public class annualReportFacade { Integer patientCountSum = 0; Integer babyCountSum = 0; for (Map.Entry> entry : hospitalIdMap.entrySet()) { - Map map = new LinkedHashMap<>(); - //机构名称 - BasicConfig basicConfig = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(entry.getKey())), BasicConfig.class); - map.put("orgName", basicConfig.getName()); - System.out.println(basicConfig.getId()); - //活产数 - BabyModelQuery babyModelQuery = new BabyModelQuery(); - babyModelQuery.setDataStatus(false); - babyModelQuery.setHospitalIdList(entry.getValue()); - if (StringUtils.isNotEmpty(time)) { - babyModelQuery.setBirthStart(DateUtil.getSNDate(time)[0]); - babyModelQuery.setBirthEnd(DateUtil.getSNDate(time)[1]); - } - babyModelQuery.setBuildType(2); - babyModelQuery.setOrder("birth"); - int huoChanCount = babyService.queryBabyCount(babyModelQuery); - map.put("huoChanCount", String.valueOf(huoChanCount)); - - //男 - BabyModelQuery babyModelQuery1 = new BabyModelQuery(); - babyModelQuery1.setDataStatus(false); - babyModelQuery1.setHospitalIdList(entry.getValue()); - babyModelQuery1.setBuildType(2); - if (StringUtils.isNotEmpty(time)) { - babyModelQuery1.setBirthStart(DateUtil.getSNDate(time)[0]); - babyModelQuery1.setBirthEnd(DateUtil.getSNDate(time)[1]); - } - babyModelQuery1.setOrder("birth"); - babyModelQuery1.setSex(1); - int boyCount = babyService.queryBabyCount(babyModelQuery1); - map.put("boyCount", String.valueOf(boyCount)); - + if (CollectionUtils.isNotEmpty(entry.getValue())) { + Map map = new LinkedHashMap<>(); + //机构名称 + BasicConfig basicConfig = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(entry.getKey())), BasicConfig.class); + map.put("orgName", basicConfig.getName()); + //活产数 + BabyModelQuery babyModelQuery = new BabyModelQuery(); + babyModelQuery.setDataStatus(false); + babyModelQuery.setHospitalIdList(entry.getValue()); + if (StringUtils.isNotEmpty(time)) { + babyModelQuery.setBirthStart(DateUtil.getSNDate(time)[0]); + babyModelQuery.setBirthEnd(DateUtil.getSNDate(time)[1]); + } + babyModelQuery.setBuildType(2); + babyModelQuery.setOrder("birth"); + int huoChanCount = babyService.queryBabyCount(babyModelQuery); + map.put("huoChanCount", String.valueOf(huoChanCount)); + + //男 + BabyModelQuery babyModelQuery1 = new BabyModelQuery(); + babyModelQuery1.setDataStatus(false); + babyModelQuery1.setHospitalIdList(entry.getValue()); + babyModelQuery1.setBuildType(2); + if (StringUtils.isNotEmpty(time)) { + babyModelQuery1.setBirthStart(DateUtil.getSNDate(time)[0]); + babyModelQuery1.setBirthEnd(DateUtil.getSNDate(time)[1]); + } + babyModelQuery1.setOrder("birth"); + babyModelQuery1.setSex(1); + int boyCount = babyService.queryBabyCount(babyModelQuery1); + map.put("boyCount", String.valueOf(boyCount)); - //女 - BabyModelQuery babyModelQuery2 = new BabyModelQuery(); - babyModelQuery2.setDataStatus(false); - babyModelQuery2.setHospitalIdList(entry.getValue()); - if (StringUtils.isNotEmpty(time)) { - babyModelQuery2.setBirthStart(DateUtil.getSNDate(time)[0]); - babyModelQuery2.setBirthEnd(DateUtil.getSNDate(time)[1]); - } + //女 + BabyModelQuery babyModelQuery2 = new BabyModelQuery(); + babyModelQuery2.setDataStatus(false); + babyModelQuery2.setHospitalIdList(entry.getValue()); - babyModelQuery2.setBuildType(2); - babyModelQuery2.setOrder("birth"); - babyModelQuery2.setSex(0); - int girlCount = babyService.queryBabyCount(babyModelQuery2); - map.put("girlCount", String.valueOf(girlCount)); - map.put("sexNo", "0"); - //产妇数 - MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); - matDeliverQuery.setYn(YnEnums.YES.getId()); - - if (StringUtils.isNotEmpty(time)) { - matDeliverQuery.setCreatedStart(DateUtil.getSNDate(time)[0]); - matDeliverQuery.setEndStart(DateUtil.getSNDate(time)[1]); - } - matDeliverQuery.setFmHospitalList(entry.getValue()); - int chanCount = matDeliverService.count(matDeliverQuery); - map.put("chanCount", String.valueOf(chanCount)); - //产妇建卡 人数 - map.put("maternalCount", String.valueOf(chanCount)); - //产妇建卡 百分比 - map.put("maternalPercent", this.division(chanCount, chanCount)); - - //获取所有建档人数 - PatientsQuery patientsQuerys = new PatientsQuery(); - patientsQuerys.setYn(YnEnums.YES.getId()); - if (StringUtils.isNotEmpty(time)) { - patientsQuerys.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); - patientsQuerys.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); - } - patientsQuerys.setHospitalList(entry.getValue()); - int patientCount = patientsService.queryPatientCount(patientsQuerys); + if (StringUtils.isNotEmpty(time)) { + babyModelQuery2.setBirthStart(DateUtil.getSNDate(time)[0]); + babyModelQuery2.setBirthEnd(DateUtil.getSNDate(time)[1]); + } - //产检 人数 - AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); - if (StringUtils.isNotEmpty(time)) { - antExRecordQuery.setCheckTimeStart(DateUtil.getSNDate(time)[0]); - antExRecordQuery.setCheckTimeEnd(DateUtil.getSNDate(time)[1]); - } - antExRecordQuery.setHospitalList(entry.getValue()); - List antExRecordModels = antExRecordService.queryAntExRecords(antExRecordQuery); - Map antexMap = new HashMap<>(); - List count = new ArrayList<>(); - for (AntExRecordModel antExRecord : antExRecordModels) { - antexMap.put(antExRecord.getParentId(), ""); - count.add(antExRecord.getParentId()); - } - map.put("antexCount", String.valueOf(antexMap.size())); - map.put("antexPercent", this.division(antexMap.size(), patientCount)); - //产检>=5次 - Map maps = new HashMap<>(); - for (String string : count) { - if (maps.containsKey(string)) { - maps.put(string, maps.get(string).intValue() + 1); - } else { - maps.put(string, new Integer(1)); + babyModelQuery2.setBuildType(2); + babyModelQuery2.setOrder("birth"); + babyModelQuery2.setSex(0); + int girlCount = babyService.queryBabyCount(babyModelQuery2); + map.put("girlCount", String.valueOf(girlCount)); + map.put("sexNo", "0"); + //产妇数 + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); + matDeliverQuery.setYn(YnEnums.YES.getId()); + + if (StringUtils.isNotEmpty(time)) { + matDeliverQuery.setCreatedStart(DateUtil.getSNDate(time)[0]); + matDeliverQuery.setEndStart(DateUtil.getSNDate(time)[1]); } - } - int i = 0; - Iterator iter = maps.keySet().iterator(); - while (iter.hasNext()) { - String key = iter.next(); - if (maps.get(key) >= 5) { - i += 1; + matDeliverQuery.setFmHospitalList(entry.getValue()); + int chanCount = matDeliverService.count(matDeliverQuery); + map.put("chanCount", String.valueOf(chanCount)); + //产妇建卡 人数 + map.put("maternalCount", String.valueOf(chanCount)); + //产妇建卡 百分比 + map.put("maternalPercent", this.division(chanCount, chanCount)); + + //获取所有建档人数 + PatientsQuery patientsQuerys = new PatientsQuery(); + patientsQuerys.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(time)) { + patientsQuerys.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); + patientsQuerys.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); } - } - map.put("fiveCount", String.valueOf(i)); - map.put("fivePercent", this.division(i, antexMap.size())); - //早检 0-12孕周的 - //存在点问题 - AntExRecordQuery antExRecordQueryWeek = new AntExRecordQuery(); - antExRecordQueryWeek.setLastMensesEnd(DateUtil.getWeekEnd(0)); - antExRecordQueryWeek.setLastMensesStart(DateUtil.getWeekStart(12)); - antExRecordQueryWeek.setHospitalList(entry.getValue()); - int antexcCout = antExRecordService.count(antExRecordQueryWeek); - map.put("antexcCout", String.valueOf(antexcCout)); - map.put("antexChuPercent", this.division(antexcCout, antexMap.size())); - - //产妇孕产期血红蛋白检测 - AntExChuQuery antExChuQueryHemoglobin = new AntExChuQuery(); - antExChuQueryHemoglobin.setYn(1); - if (StringUtils.isNotEmpty(time)) { - antExChuQueryHemoglobin.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); - antExChuQueryHemoglobin.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); - } - antExChuQueryHemoglobin.setHospitalList(entry.getValue()); - antExChuQueryHemoglobin.setXhdb("1000"); - int xhdb = antenatalExaminationService.queryAntExChuCount(antExChuQueryHemoglobin.convertToQuery()); - - AntExChuQuery antExChuQuery2 = new AntExChuQuery(); - antExChuQuery2.setYn(1); - if (StringUtils.isNotEmpty(time)) { - antExChuQuery2.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); - antExChuQuery2.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); - } - antExChuQuery2.setHospitalList(entry.getValue()); - antExChuQuery2.setXhdb("1000"); - map.put("hemoglobin", String.valueOf(xhdb)); - - AntExChuQuery antExChuQuery3 = new AntExChuQuery(); - antExChuQuery3.setYn(1); - if (StringUtils.isNotEmpty(time)) { - antExChuQuery3.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); - antExChuQuery3.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); - } - antExChuQuery3.setHospitalList(entry.getValue()); - antExChuQuery3.setXhdb("1000"); - List antExChuModels = antenatalExaminationService.queryAntExChu(antExChuQuery3); - int j = 0; - for (AntExChuModel antExChu : antExChuModels) { - if (StringUtils.isNotEmpty(antExChu.getXhdb())) { - if (Double.valueOf(antExChu.getXhdb()).doubleValue() > 100.0) { - ++j; + patientsQuerys.setHospitalList(entry.getValue()); + int patientCount = patientsService.queryPatientCount(patientsQuerys); + + //产检 人数 + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); + if (StringUtils.isNotEmpty(time)) { + antExRecordQuery.setCheckTimeStart(DateUtil.getSNDate(time)[0]); + antExRecordQuery.setCheckTimeEnd(DateUtil.getSNDate(time)[1]); + } + antExRecordQuery.setHospitalList(entry.getValue()); + List antExRecordModels = antExRecordService.queryAntExRecords(antExRecordQuery); + Map antexMap = new HashMap<>(); + List count = new ArrayList<>(); + for (AntExRecordModel antExRecord : antExRecordModels) { + antexMap.put(antExRecord.getParentId(), ""); + count.add(antExRecord.getParentId()); + } + map.put("antexCount", String.valueOf(antexMap.size())); + map.put("antexPercent", this.division(antexMap.size(), patientCount)); + //产检>=5次 + Map maps = new HashMap<>(); + for (String string : count) { + if (maps.containsKey(string)) { + maps.put(string, maps.get(string).intValue() + 1); + } else { + maps.put(string, new Integer(1)); } } - } - map.put("hemoglobinCount", String.valueOf(j)); - map.put("hemoglobinPervent", this.division(j, xhdb)); - - //孕产妇艾滋病病毒检测 - //检测人数 - AntExChuQuery antExChuQueryHiv = new AntExChuQuery(); - antExChuQueryHiv.setYn(1); - if (StringUtils.isNotEmpty(time)) { - antExChuQueryHiv.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); - antExChuQueryHiv.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); - } - antExChuQueryHiv.setHospitalList(entry.getValue()); - antExChuQueryHiv.setNotHivkt(hivList); - int hivCount = antenatalExaminationService.queryAntExChuCount(antExChuQueryHiv.convertToQuery()); - map.put("hivCount", String.valueOf(hivCount)); - - map.put("hivPervent", this.division(hivCount, chanCount)); - - //艾滋病感染人数 - AntExChuQuery antExChuQuery = new AntExChuQuery(); - antExChuQuery.setYn(1); - if (StringUtils.isNotEmpty(time)) { - antExChuQuery.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); - antExChuQuery.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); - } - antExChuQuery.setHospitalList(entry.getValue()); - antExChuQuery.setHivkt("yang"); - int hiv = antenatalExaminationService.queryAntExChuCount(antExChuQuery.convertToQuery()); - map.put("hivYang", String.valueOf(hiv)); - //感染人数的10万分之1 - map.put("hivYangPervent", String.valueOf(hiv)); - //产妇梅毒检测人数 - - AntExChuQuery veroleChuQuery1 = new AntExChuQuery(); - veroleChuQuery1.setYn(1); - if (StringUtils.isNotEmpty(time)) { - veroleChuQuery1.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); - veroleChuQuery1.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); - } - veroleChuQuery1.setHospitalList(entry.getValue()); - veroleChuQuery1.setSyjgList(hivList); - int veroleCount = antenatalExaminationService.queryAntExChuCount(veroleChuQuery1.convertToQuery()); - map.put("veroleCount", String.valueOf(veroleCount)); - map.put("verolePervent", this.division(veroleCount, chanCount)); - - AntExChuQuery veroleChuQuery = new AntExChuQuery(); - veroleChuQuery.setYn(1); - if (StringUtils.isNotEmpty(time)) { - veroleChuQuery.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); - veroleChuQuery.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); - } - veroleChuQuery.setHospitalList(entry.getValue()); - veroleChuQuery.setSyjg("yang"); - int syjg = antenatalExaminationService.queryAntExChuCount(veroleChuQuery.convertToQuery()); - map.put("veroleYang", String.valueOf(syjg)); - - map.put("veroleYangPervent", this.division(syjg, veroleCount)); - - //产妇乙肝表面抗原检测 人数 - AntExChuQuery ygbmgyQuery1 = new AntExChuQuery(); - ygbmgyQuery1.setYn(1); - if (StringUtils.isNotEmpty(time)) { - ygbmgyQuery1.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); - ygbmgyQuery1.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); - } - ygbmgyQuery1.setHospitalList(entry.getValue()); - ygbmgyQuery1.setYgbmkyList(hivList); - int ygbmkyCount = antenatalExaminationService.queryAntExChuCount(ygbmgyQuery1.convertToQuery()); - - map.put("ygbmkyCount", String.valueOf(ygbmkyCount)); - map.put("ygbmkyPervent", this.division(ygbmkyCount, chanCount)); - - //乙肝表面抗原阳性的 - AntExChuQuery ygbmgyQuery = new AntExChuQuery(); - ygbmgyQuery.setYn(1); - if (StringUtils.isNotEmpty(time)) { - ygbmgyQuery.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); - ygbmgyQuery.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); - } - ygbmgyQuery.setHospitalList(entry.getValue()); - ygbmgyQuery.setYgbmky("yang"); - int ygbmkyYang = antenatalExaminationService.queryAntExChuCount(ygbmgyQuery.convertToQuery()); - map.put("ygbmkyYang", String.valueOf(ygbmkyYang)); - map.put("ygbmkyYangPervent", this.division(ygbmkyYang, ygbmkyCount)); - - //孕产妇产前筛查人数 - SieveQuery sieveQuery = new SieveQuery(); - sieveQuery.setYn(1); - if (StringUtils.isNotEmpty(time)) { - sieveQuery.setCreatedStart(DateUtil.getSNDate(time)[0]); - sieveQuery.setCreatedEnd(DateUtil.getSNDate(time)[1]); - } - sieveQuery.setHospitalIds(entry.getValue()); - sieveQuery.setStatuses(sieveList); - int sieveCount = sieveService.queryListCount(sieveQuery); - map.put("sieveCount", String.valueOf(sieveCount)); - - map.put("sievePervent", this.division(sieveCount, antexMap.size())); - //高危人数 - SieveQuery sieveGwQuery = new SieveQuery(); - sieveGwQuery.setYn(1); - if (StringUtils.isNotEmpty(time)) { - sieveGwQuery.setCreatedStart(DateUtil.getSNDate(time)[0]); - sieveGwQuery.setCreatedEnd(DateUtil.getSNDate(time)[1]); - } - sieveGwQuery.setHospitalIds(entry.getValue()); - sieveGwQuery.setStatuses(sieveList); - sieveGwQuery.setZtfx(2); - int sieveGw = sieveService.queryListCount(sieveGwQuery); - map.put("sieveGw", String.valueOf(sieveGw)); - - map.put("SieveGwPervent", this.division(sieveGw, sieveCount)); - //孕产妇产前诊断 diacrisi - SieveQuery diacrisisQuery = new SieveQuery(); - diacrisisQuery.setYn(1); - if (StringUtils.isNotEmpty(time)) { - diacrisisQuery.setCreatedStart(DateUtil.getSNDate(time)[0]); - diacrisisQuery.setCreatedEnd(DateUtil.getSNDate(time)[1]); - } - diacrisisQuery.setHospitalIds(entry.getValue()); - diacrisisQuery.setStatus(4); - int diacrisisCount = sieveService.queryListCount(diacrisisQuery); - map.put("diacrisisCount", String.valueOf(diacrisisCount)); - map.put("diacrisisPervent", this.division(diacrisisCount, antexMap.size())); - - //确诊人数 - SieveQuery diacrisis = new SieveQuery(); - diacrisis.setYn(1); - if (StringUtils.isNotEmpty(time)) { - diacrisis.setCreatedStart(DateUtil.getSNDate(time)[0]); - diacrisis.setCreatedEnd(DateUtil.getSNDate(time)[1]); - } - diacrisis.setHospitalIds(entry.getValue()); - diacrisis.setStatus(4); - diacrisis.setCqResult(1); - int diacrisisYangCount = sieveService.queryListCount(diacrisis); - map.put("diacrisisYangCount", String.valueOf(diacrisisYangCount)); - map.put("diacrisisYangPervent", this.division(diacrisisYangCount, diacrisisCount)); - - //产妇产后访视 人数 - MatDeliverQuery matDeliverQueryFs = new MatDeliverQuery(); - matDeliverQueryFs.setFmHospitalList(entry.getValue()); - matDeliverQueryFs.setVisitStatus(2); - if (StringUtils.isNotEmpty(time)) { - matDeliverQueryFs.setCreatedStart(DateUtil.getSNDate(time)[0]); - matDeliverQueryFs.setEndStart(DateUtil.getSNDate(time)[1]); - } - int visitCount = matDeliverService.count(matDeliverQueryFs); + int i = 0; + Iterator iter = maps.keySet().iterator(); + while (iter.hasNext()) { + String key = iter.next(); + if (maps.get(key) >= 5) { + i += 1; + } + } + map.put("fiveCount", String.valueOf(i)); + map.put("fivePercent", this.division(i, antexMap.size())); + //早检 0-12孕周的 + //存在点问题 + AntExRecordQuery antExRecordQueryWeek = new AntExRecordQuery(); + antExRecordQueryWeek.setLastMensesEnd(DateUtil.getWeekEnd(0)); + antExRecordQueryWeek.setLastMensesStart(DateUtil.getWeekStart(12)); + antExRecordQueryWeek.setHospitalList(entry.getValue()); + int antexcCout = antExRecordService.count(antExRecordQueryWeek); + map.put("antexcCout", String.valueOf(antexcCout)); + map.put("antexChuPercent", this.division(antexcCout, antexMap.size())); + + //产妇孕产期血红蛋白检测 + AntExChuQuery antExChuQueryHemoglobin = new AntExChuQuery(); + antExChuQueryHemoglobin.setYn(1); + if (StringUtils.isNotEmpty(time)) { + antExChuQueryHemoglobin.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); + antExChuQueryHemoglobin.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); + } + antExChuQueryHemoglobin.setHospitalList(entry.getValue()); + antExChuQueryHemoglobin.setXhdb("1000"); + int xhdb = antenatalExaminationService.queryAntExChuCount(antExChuQueryHemoglobin.convertToQuery()); + + AntExChuQuery antExChuQuery2 = new AntExChuQuery(); + antExChuQuery2.setYn(1); + if (StringUtils.isNotEmpty(time)) { + antExChuQuery2.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); + antExChuQuery2.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); + } + antExChuQuery2.setHospitalList(entry.getValue()); + antExChuQuery2.setXhdb("1000"); + map.put("hemoglobin", String.valueOf(xhdb)); + + AntExChuQuery antExChuQuery3 = new AntExChuQuery(); + antExChuQuery3.setYn(1); + if (StringUtils.isNotEmpty(time)) { + antExChuQuery3.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); + antExChuQuery3.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); + } + antExChuQuery3.setHospitalList(entry.getValue()); + antExChuQuery3.setXhdb("1000"); + List antExChuModels = antenatalExaminationService.queryAntExChu(antExChuQuery3); + int j = 0; + for (AntExChuModel antExChu : antExChuModels) { + if (StringUtils.isNotEmpty(antExChu.getXhdb())) { + if (Double.valueOf(antExChu.getXhdb()).doubleValue() > 100.0) { + ++j; + } + } + } + map.put("hemoglobinCount", String.valueOf(j)); + map.put("hemoglobinPervent", this.division(j, xhdb)); + + //孕产妇艾滋病病毒检测 + //检测人数 + AntExChuQuery antExChuQueryHiv = new AntExChuQuery(); + antExChuQueryHiv.setYn(1); + if (StringUtils.isNotEmpty(time)) { + antExChuQueryHiv.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); + antExChuQueryHiv.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); + } + antExChuQueryHiv.setHospitalList(entry.getValue()); + antExChuQueryHiv.setNotHivkt(hivList); + int hivCount = antenatalExaminationService.queryAntExChuCount(antExChuQueryHiv.convertToQuery()); + map.put("hivCount", String.valueOf(hivCount)); + + map.put("hivPervent", this.division(hivCount, chanCount)); + + //艾滋病感染人数 + AntExChuQuery antExChuQuery = new AntExChuQuery(); + antExChuQuery.setYn(1); + if (StringUtils.isNotEmpty(time)) { + antExChuQuery.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); + antExChuQuery.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); + } + antExChuQuery.setHospitalList(entry.getValue()); + antExChuQuery.setHivkt("yang"); + int hiv = antenatalExaminationService.queryAntExChuCount(antExChuQuery.convertToQuery()); + map.put("hivYang", String.valueOf(hiv)); + //感染人数的10万分之1 + map.put("hivYangPervent", String.valueOf(hiv)); + //产妇梅毒检测人数 + + AntExChuQuery veroleChuQuery1 = new AntExChuQuery(); + veroleChuQuery1.setYn(1); + if (StringUtils.isNotEmpty(time)) { + veroleChuQuery1.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); + veroleChuQuery1.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); + } + veroleChuQuery1.setHospitalList(entry.getValue()); + veroleChuQuery1.setSyjgList(hivList); + int veroleCount = antenatalExaminationService.queryAntExChuCount(veroleChuQuery1.convertToQuery()); + map.put("veroleCount", String.valueOf(veroleCount)); + map.put("verolePervent", this.division(veroleCount, chanCount)); + + AntExChuQuery veroleChuQuery = new AntExChuQuery(); + veroleChuQuery.setYn(1); + if (StringUtils.isNotEmpty(time)) { + veroleChuQuery.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); + veroleChuQuery.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); + } + veroleChuQuery.setHospitalList(entry.getValue()); + veroleChuQuery.setSyjg("yang"); + int syjg = antenatalExaminationService.queryAntExChuCount(veroleChuQuery.convertToQuery()); + map.put("veroleYang", String.valueOf(syjg)); + + map.put("veroleYangPervent", this.division(syjg, veroleCount)); + + //产妇乙肝表面抗原检测 人数 + AntExChuQuery ygbmgyQuery1 = new AntExChuQuery(); + ygbmgyQuery1.setYn(1); + if (StringUtils.isNotEmpty(time)) { + ygbmgyQuery1.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); + ygbmgyQuery1.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); + } + ygbmgyQuery1.setHospitalList(entry.getValue()); + ygbmgyQuery1.setYgbmkyList(hivList); + int ygbmkyCount = antenatalExaminationService.queryAntExChuCount(ygbmgyQuery1.convertToQuery()); + + map.put("ygbmkyCount", String.valueOf(ygbmkyCount)); + map.put("ygbmkyPervent", this.division(ygbmkyCount, chanCount)); + + //乙肝表面抗原阳性的 + AntExChuQuery ygbmgyQuery = new AntExChuQuery(); + ygbmgyQuery.setYn(1); + if (StringUtils.isNotEmpty(time)) { + ygbmgyQuery.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); + ygbmgyQuery.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]); + } + ygbmgyQuery.setHospitalList(entry.getValue()); + ygbmgyQuery.setYgbmky("yang"); + int ygbmkyYang = antenatalExaminationService.queryAntExChuCount(ygbmgyQuery.convertToQuery()); + map.put("ygbmkyYang", String.valueOf(ygbmkyYang)); + map.put("ygbmkyYangPervent", this.division(ygbmkyYang, ygbmkyCount)); + + //孕产妇产前筛查人数 + SieveQuery sieveQuery = new SieveQuery(); + sieveQuery.setYn(1); + if (StringUtils.isNotEmpty(time)) { + sieveQuery.setCreatedStart(DateUtil.getSNDate(time)[0]); + sieveQuery.setCreatedEnd(DateUtil.getSNDate(time)[1]); + } + sieveQuery.setHospitalIds(entry.getValue()); + sieveQuery.setStatuses(sieveList); + int sieveCount = sieveService.queryListCount(sieveQuery); + map.put("sieveCount", String.valueOf(sieveCount)); + + map.put("sievePervent", this.division(sieveCount, antexMap.size())); + //高危人数 + SieveQuery sieveGwQuery = new SieveQuery(); + sieveGwQuery.setYn(1); + if (StringUtils.isNotEmpty(time)) { + sieveGwQuery.setCreatedStart(DateUtil.getSNDate(time)[0]); + sieveGwQuery.setCreatedEnd(DateUtil.getSNDate(time)[1]); + } + sieveGwQuery.setHospitalIds(entry.getValue()); + sieveGwQuery.setStatuses(sieveList); + sieveGwQuery.setZtfx(2); + int sieveGw = sieveService.queryListCount(sieveGwQuery); + map.put("sieveGw", String.valueOf(sieveGw)); + + map.put("SieveGwPervent", this.division(sieveGw, sieveCount)); + //孕产妇产前诊断 diacrisi + SieveQuery diacrisisQuery = new SieveQuery(); + diacrisisQuery.setYn(1); + if (StringUtils.isNotEmpty(time)) { + diacrisisQuery.setCreatedStart(DateUtil.getSNDate(time)[0]); + diacrisisQuery.setCreatedEnd(DateUtil.getSNDate(time)[1]); + } + diacrisisQuery.setHospitalIds(entry.getValue()); + diacrisisQuery.setStatus(4); + int diacrisisCount = sieveService.queryListCount(diacrisisQuery); + map.put("diacrisisCount", String.valueOf(diacrisisCount)); + map.put("diacrisisPervent", this.division(diacrisisCount, antexMap.size())); + + //确诊人数 + SieveQuery diacrisis = new SieveQuery(); + diacrisis.setYn(1); + if (StringUtils.isNotEmpty(time)) { + diacrisis.setCreatedStart(DateUtil.getSNDate(time)[0]); + diacrisis.setCreatedEnd(DateUtil.getSNDate(time)[1]); + } + diacrisis.setHospitalIds(entry.getValue()); + diacrisis.setStatus(4); + diacrisis.setCqResult(1); + int diacrisisYangCount = sieveService.queryListCount(diacrisis); + map.put("diacrisisYangCount", String.valueOf(diacrisisYangCount)); + map.put("diacrisisYangPervent", this.division(diacrisisYangCount, diacrisisCount)); + + //产妇产后访视 人数 + MatDeliverQuery matDeliverQueryFs = new MatDeliverQuery(); + matDeliverQueryFs.setFmHospitalList(entry.getValue()); + matDeliverQueryFs.setVisitStatus(2); + if (StringUtils.isNotEmpty(time)) { + matDeliverQueryFs.setCreatedStart(DateUtil.getSNDate(time)[0]); + matDeliverQueryFs.setEndStart(DateUtil.getSNDate(time)[1]); + } + int visitCount = matDeliverService.count(matDeliverQueryFs); /*MatDeliverFollowQuery matDeliverFollowQuery = new MatDeliverFollowQuery(); if (StringUtils.isNotEmpty(time)) { matDeliverFollowQuery.setCreatedTimeStart(DateUtil.getSNDate(time)[0]); @@ -656,246 +656,247 @@ public class annualReportFacade { } matDeliverFollowQuery.setHospitalIds(entry.getValue()); matDeliverFollowQuery.setContactResultList(contactResult);*/ - //int visitCount = matDeliverFollowService.count(matDeliverFollowQuery); - map.put("visitCount", String.valueOf(visitCount)); - map.put("visitPervent", this.division(visitCount, chanCount)); - //产妇系统管理 人数 - PatientsQuery patientsQuery = new PatientsQuery(); - patientsQuery.setYn(1); - if (StringUtils.isNotEmpty(time)) { - patientsQuery.setFmDateStart(DateUtil.getSNDate(time)[0]); - patientsQuery.setFmDateEnd(DateUtil.getSNDate(time)[1]); - } - patientsQuery.setHospitalList(entry.getValue()); - //全部孕妇 - patientsQuery.setType(3); - patientsQuery.setIsAutoFm(0); - int gravidaCount = patientsService.queryPatientCount(patientsQuery); - map.put("gravidaCount", String.valueOf(gravidaCount)); - map.put("gravidaPervent", this.division(gravidaCount, visitCount + gravidaCount + i)); - - //所有儿童出生数 - BabyModelQuery babyModelQuery3 = new BabyModelQuery(); - babyModelQuery3.setDataStatus(false); - babyModelQuery2.setBuildType(2); - if (StringUtils.isNotEmpty(time)) { - babyModelQuery3.setBirthStart(DateUtil.getSNDate(time)[0]); - babyModelQuery3.setBirthEnd(DateUtil.addDay(DateUtil.getSNDate(time)[1], 1)); - } - babyModelQuery3.setHospitalIdList(entry.getValue()); - int babyCount = babyService.queryBabyCount(babyModelQuery3); - //住院分娩 活产数 - map.put("fmZuYuanCount", String.valueOf(huoChanCount)); - map.put("fmZuYuanPervent", this.division(huoChanCount, babyCount)); - - - //分娩方式 剖宫产 - MatDeliverQuery matDeliverQuery5 = new MatDeliverQuery(); - matDeliverQuery5.setYn(YnEnums.YES.getId()); - if (StringUtils.isNotEmpty(time)) { - matDeliverQuery5.setCreatedStart(DateUtil.getSNDate(time)[0]); - matDeliverQuery5.setEndStart(DateUtil.getSNDate(time)[1]); - } - matDeliverQuery5.setDeliveryModeQueryJson("\"fmfs\":\"2\""); - matDeliverQuery5.setFmHospitalList(entry.getValue()); - int fmPoGongCount = matDeliverService.count(matDeliverQuery5); - map.put("fmPoGongCount", String.valueOf(fmPoGongCount)); - map.put("fmPogongPervent", this.division(fmPoGongCount, babyCount)); - - //孕产妇死亡人数 - MatDeliverQuery matDeliverKillQuery = new MatDeliverQuery(); - matDeliverKillQuery.setYn(YnEnums.YES.getId()); - if (StringUtils.isNotEmpty(time)) { - matDeliverKillQuery.setCreatedStart(DateUtil.getSNDate(time)[0]); - matDeliverKillQuery.setEndStart(DateUtil.getSNDate(time)[1]); - } - matDeliverKillQuery.setHospitalIdList(entry.getValue()); - matDeliverKillQuery.setMaternalInfo("2"); - int killCount = matDeliverService.count(matDeliverKillQuery); - map.put("killCount", String.valueOf(killCount)); - map.put("killPervent", String.valueOf(killCount)); - - //产科出血人数 - MatDeliverQuery matDeliverKillQuery1 = new MatDeliverQuery(); - matDeliverKillQuery1.setYn(YnEnums.YES.getId()); - if (StringUtils.isNotEmpty(time)) { - matDeliverKillQuery1.setCreatedStart(DateUtil.getSNDate(time)[0]); - matDeliverKillQuery1.setEndStart(DateUtil.getSNDate(time)[1]); - } - matDeliverKillQuery1.setHospitalIdList(entry.getValue()); - matDeliverKillQuery1.setrHloseBloodL(500); - matDeliverKillQuery.setMaternalInfo("2"); - int chuXueCount = matDeliverService.count(matDeliverKillQuery1); - - map.put("chuXueCount", String.valueOf(chuXueCount)); - map.put("chuXuePervent", this.division(chuXueCount, chanCount)); - - //孕产妇死亡原因 - //妊娠高血压疾病 - MatDeliverQuery matDeliverKillInfo = new MatDeliverQuery(); - matDeliverKillInfo.setYn(YnEnums.YES.getId()); - if (StringUtils.isNotEmpty(time)) { - matDeliverKillInfo.setCreatedStart(DateUtil.getSNDate(time)[0]); - matDeliverKillInfo.setEndStart(DateUtil.getSNDate(time)[1]); - } - matDeliverKillInfo.setHospitalIdList(entry.getValue()); - matDeliverKillInfo.setMaternalInfo("2"); - matDeliverKillInfo.setDeathCause(DeathCauseEnums.O2.getId()); - int killInfoCount = matDeliverService.count(matDeliverKillInfo); - map.put("killInfoCount", String.valueOf(killInfoCount)); - map.put("killInfoPervent", this.division(killInfoCount, killCount)); - - //内科合并症 - MatDeliverQuery matDeliverKillInfo1 = new MatDeliverQuery(); - matDeliverKillInfo.setYn(YnEnums.YES.getId()); - if (StringUtils.isNotEmpty(time)) { - matDeliverKillInfo1.setCreatedStart(DateUtil.getSNDate(time)[0]); - matDeliverKillInfo1.setEndStart(DateUtil.getSNDate(time)[1]); - } - matDeliverKillInfo1.setHospitalIdList(entry.getValue()); - matDeliverKillInfo1.setMaternalInfo("2"); - matDeliverKillInfo1.setDeathCause(DeathCauseEnums.O3.getId()); - int killInfoCount1 = matDeliverService.count(matDeliverKillInfo1); - map.put("killInfoCount1", String.valueOf(killInfoCount1)); - map.put("killInfoPervent1", this.division(killInfoCount1, killCount)); - - //羊水栓塞 - MatDeliverQuery matDeliverKillInfo2 = new MatDeliverQuery(); - matDeliverKillInfo2.setYn(YnEnums.YES.getId()); - if (StringUtils.isNotEmpty(time)) { - matDeliverKillInfo2.setCreatedStart(DateUtil.getSNDate(time)[0]); - matDeliverKillInfo2.setEndStart(DateUtil.getSNDate(time)[1]); - } - matDeliverKillInfo2.setHospitalIdList(entry.getValue()); - matDeliverKillInfo2.setMaternalInfo("2"); - matDeliverKillInfo2.setDeathCause(DeathCauseEnums.O4.getId()); - int killInfoCount2 = matDeliverService.count(matDeliverKillInfo2); - map.put("killInfoCount2", String.valueOf(killInfoCount2)); - map.put("killInfoPervent2", this.division(killInfoCount2, killCount)); - - //其它原因 - MatDeliverQuery matDeliverKillInfo4 = new MatDeliverQuery(); - matDeliverKillInfo4.setYn(YnEnums.YES.getId()); - if (StringUtils.isNotEmpty(time)) { - matDeliverKillInfo4.setCreatedStart(DateUtil.getSNDate(time)[0]); - matDeliverKillInfo4.setEndStart(DateUtil.getSNDate(time)[1]); - } - matDeliverKillInfo4.setHospitalIdList(entry.getValue()); - matDeliverKillInfo4.setMaternalInfo("2"); - matDeliverKillInfo4.setDeathCause(DeathCauseEnums.O5.getId()); - int killInfoCount4 = matDeliverService.count(matDeliverKillInfo4); - map.put("killInfoCount4", String.valueOf(killInfoCount4)); - map.put("killInfoPervent4", this.division(killInfoCount4, killCount)); - - //围产儿情况 - BabyModelQuery babyModelQuery6 = new BabyModelQuery(); - babyModelQuery6.setDataStatus(false); - babyModelQuery6.setHospitalIdList(entry.getValue()); - if (StringUtils.isNotEmpty(time)) { - babyModelQuery6.setBirthStart(DateUtil.getSNDate(time)[0]); - babyModelQuery6.setBirthEnd(DateUtil.addDay(DateUtil.getSNDate(time)[1], 1)); - } - babyModelQuery6.setBabyWeightStart("0"); - babyModelQuery6.setBabyWeightEnd("2.49"); - - int lowWeightCount = babyService.queryBabyCount(babyModelQuery6); - //低出生体重数 - map.put("lowWeightCount", String.valueOf(lowWeightCount)); - - map.put("lowWeightPervent", this.division(lowWeightCount, huoChanCount)); - BabyModelQuery babyModelQuery5 = new BabyModelQuery(); - babyModelQuery5.setDataStatus(false); - babyModelQuery5.setHospitalIdList(entry.getValue()); - if (StringUtils.isNotEmpty(time)) { - babyModelQuery5.setBirthStart(DateUtil.getSNDate(time)[0]); - babyModelQuery5.setBirthEnd(DateUtil.addDay(DateUtil.getSNDate(time)[1], 1)); - } - babyModelQuery5.setBabyWeightStart("4"); - int bigBoyCount = babyService.queryBabyCount(babyModelQuery5); - - //巨大儿数 - map.put("bigBoyCount", String.valueOf(bigBoyCount)); - map.put("bigBoyPervent", this.division(bigBoyCount, huoChanCount)); + //int visitCount = matDeliverFollowService.count(matDeliverFollowQuery); + map.put("visitCount", String.valueOf(visitCount)); + map.put("visitPervent", this.division(visitCount, chanCount)); + //产妇系统管理 人数 + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setYn(1); + if (StringUtils.isNotEmpty(time)) { + patientsQuery.setFmDateStart(DateUtil.getSNDate(time)[0]); + patientsQuery.setFmDateEnd(DateUtil.getSNDate(time)[1]); + } + patientsQuery.setHospitalList(entry.getValue()); + //全部孕妇 + patientsQuery.setType(3); + patientsQuery.setIsAutoFm(0); + int gravidaCount = patientsService.queryPatientCount(patientsQuery); + map.put("gravidaCount", String.valueOf(gravidaCount)); + map.put("gravidaPervent", this.division(gravidaCount, visitCount + gravidaCount + i)); + + //所有儿童出生数 + BabyModelQuery babyModelQuery3 = new BabyModelQuery(); + babyModelQuery3.setDataStatus(false); + babyModelQuery2.setBuildType(2); + if (StringUtils.isNotEmpty(time)) { + babyModelQuery3.setBirthStart(DateUtil.getSNDate(time)[0]); + babyModelQuery3.setBirthEnd(DateUtil.addDay(DateUtil.getSNDate(time)[1], 1)); + } + babyModelQuery3.setHospitalIdList(entry.getValue()); + int babyCount = babyService.queryBabyCount(babyModelQuery3); + //住院分娩 活产数 + map.put("fmZuYuanCount", String.valueOf(huoChanCount)); + map.put("fmZuYuanPervent", this.division(huoChanCount, babyCount)); + + + //分娩方式 剖宫产 + MatDeliverQuery matDeliverQuery5 = new MatDeliverQuery(); + matDeliverQuery5.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(time)) { + matDeliverQuery5.setCreatedStart(DateUtil.getSNDate(time)[0]); + matDeliverQuery5.setEndStart(DateUtil.getSNDate(time)[1]); + } + matDeliverQuery5.setDeliveryModeQueryJson("\"fmfs\":\"2\""); + matDeliverQuery5.setFmHospitalList(entry.getValue()); + int fmPoGongCount = matDeliverService.count(matDeliverQuery5); + map.put("fmPoGongCount", String.valueOf(fmPoGongCount)); + map.put("fmPogongPervent", this.division(fmPoGongCount, babyCount)); + + //孕产妇死亡人数 + MatDeliverQuery matDeliverKillQuery = new MatDeliverQuery(); + matDeliverKillQuery.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(time)) { + matDeliverKillQuery.setCreatedStart(DateUtil.getSNDate(time)[0]); + matDeliverKillQuery.setEndStart(DateUtil.getSNDate(time)[1]); + } + matDeliverKillQuery.setHospitalIdList(entry.getValue()); + matDeliverKillQuery.setMaternalInfo("2"); + int killCount = matDeliverService.count(matDeliverKillQuery); + map.put("killCount", String.valueOf(killCount)); + map.put("killPervent", String.valueOf(killCount)); + + //产科出血人数 + MatDeliverQuery matDeliverKillQuery1 = new MatDeliverQuery(); + matDeliverKillQuery1.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(time)) { + matDeliverKillQuery1.setCreatedStart(DateUtil.getSNDate(time)[0]); + matDeliverKillQuery1.setEndStart(DateUtil.getSNDate(time)[1]); + } + matDeliverKillQuery1.setHospitalIdList(entry.getValue()); + matDeliverKillQuery1.setrHloseBloodL(500); + matDeliverKillQuery.setMaternalInfo("2"); + int chuXueCount = matDeliverService.count(matDeliverKillQuery1); + + map.put("chuXueCount", String.valueOf(chuXueCount)); + map.put("chuXuePervent", this.division(chuXueCount, chanCount)); + + //孕产妇死亡原因 + //妊娠高血压疾病 + MatDeliverQuery matDeliverKillInfo = new MatDeliverQuery(); + matDeliverKillInfo.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(time)) { + matDeliverKillInfo.setCreatedStart(DateUtil.getSNDate(time)[0]); + matDeliverKillInfo.setEndStart(DateUtil.getSNDate(time)[1]); + } + matDeliverKillInfo.setHospitalIdList(entry.getValue()); + matDeliverKillInfo.setMaternalInfo("2"); + matDeliverKillInfo.setDeathCause(DeathCauseEnums.O2.getId()); + int killInfoCount = matDeliverService.count(matDeliverKillInfo); + map.put("killInfoCount", String.valueOf(killInfoCount)); + map.put("killInfoPervent", this.division(killInfoCount, killCount)); + + //内科合并症 + MatDeliverQuery matDeliverKillInfo1 = new MatDeliverQuery(); + matDeliverKillInfo.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(time)) { + matDeliverKillInfo1.setCreatedStart(DateUtil.getSNDate(time)[0]); + matDeliverKillInfo1.setEndStart(DateUtil.getSNDate(time)[1]); + } + matDeliverKillInfo1.setHospitalIdList(entry.getValue()); + matDeliverKillInfo1.setMaternalInfo("2"); + matDeliverKillInfo1.setDeathCause(DeathCauseEnums.O3.getId()); + int killInfoCount1 = matDeliverService.count(matDeliverKillInfo1); + map.put("killInfoCount1", String.valueOf(killInfoCount1)); + map.put("killInfoPervent1", this.division(killInfoCount1, killCount)); + + //羊水栓塞 + MatDeliverQuery matDeliverKillInfo2 = new MatDeliverQuery(); + matDeliverKillInfo2.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(time)) { + matDeliverKillInfo2.setCreatedStart(DateUtil.getSNDate(time)[0]); + matDeliverKillInfo2.setEndStart(DateUtil.getSNDate(time)[1]); + } + matDeliverKillInfo2.setHospitalIdList(entry.getValue()); + matDeliverKillInfo2.setMaternalInfo("2"); + matDeliverKillInfo2.setDeathCause(DeathCauseEnums.O4.getId()); + int killInfoCount2 = matDeliverService.count(matDeliverKillInfo2); + map.put("killInfoCount2", String.valueOf(killInfoCount2)); + map.put("killInfoPervent2", this.division(killInfoCount2, killCount)); + + //其它原因 + MatDeliverQuery matDeliverKillInfo4 = new MatDeliverQuery(); + matDeliverKillInfo4.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(time)) { + matDeliverKillInfo4.setCreatedStart(DateUtil.getSNDate(time)[0]); + matDeliverKillInfo4.setEndStart(DateUtil.getSNDate(time)[1]); + } + matDeliverKillInfo4.setHospitalIdList(entry.getValue()); + matDeliverKillInfo4.setMaternalInfo("2"); + matDeliverKillInfo4.setDeathCause(DeathCauseEnums.O5.getId()); + int killInfoCount4 = matDeliverService.count(matDeliverKillInfo4); + map.put("killInfoCount4", String.valueOf(killInfoCount4)); + map.put("killInfoPervent4", this.division(killInfoCount4, killCount)); + + //围产儿情况 + BabyModelQuery babyModelQuery6 = new BabyModelQuery(); + babyModelQuery6.setDataStatus(false); + babyModelQuery6.setHospitalIdList(entry.getValue()); + if (StringUtils.isNotEmpty(time)) { + babyModelQuery6.setBirthStart(DateUtil.getSNDate(time)[0]); + babyModelQuery6.setBirthEnd(DateUtil.addDay(DateUtil.getSNDate(time)[1], 1)); + } + babyModelQuery6.setBabyWeightStart("0"); + babyModelQuery6.setBabyWeightEnd("2.49"); + + int lowWeightCount = babyService.queryBabyCount(babyModelQuery6); + //低出生体重数 + map.put("lowWeightCount", String.valueOf(lowWeightCount)); + + map.put("lowWeightPervent", this.division(lowWeightCount, huoChanCount)); + BabyModelQuery babyModelQuery5 = new BabyModelQuery(); + babyModelQuery5.setDataStatus(false); + babyModelQuery5.setHospitalIdList(entry.getValue()); + if (StringUtils.isNotEmpty(time)) { + babyModelQuery5.setBirthStart(DateUtil.getSNDate(time)[0]); + babyModelQuery5.setBirthEnd(DateUtil.addDay(DateUtil.getSNDate(time)[1], 1)); + } + babyModelQuery5.setBabyWeightStart("4"); + int bigBoyCount = babyService.queryBabyCount(babyModelQuery5); + + //巨大儿数 + map.put("bigBoyCount", String.valueOf(bigBoyCount)); + map.put("bigBoyPervent", this.division(bigBoyCount, huoChanCount)); + + int zcBabyCount = 0; + PatientsQuery patientsQuery1 = new PatientsQuery(); + patientsQuery1.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(time)) { + patientsQuery1.setFmDateStart(DateUtil.getSNDate(time)[0]); + patientsQuery1.setFmDateEnd(DateUtil.addDay(DateUtil.getSNDate(time)[1], 1)); + } + patientsQuery1.setFmHospitalList(entry.getValue()); + patientsQuery1.setFmWeekStart(0); + patientsQuery1.setFmWeekEnd(37 * 7 - 1); + List patientses = patientsService.queryPatient(patientsQuery1); + if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(patientses)) { + List ids = new ArrayList<>(); + for (Patients pat : patientses) { + ids.add(pat.getId()); + } - int zcBabyCount = 0; - PatientsQuery patientsQuery1 = new PatientsQuery(); - patientsQuery1.setYn(YnEnums.YES.getId()); - if (StringUtils.isNotEmpty(time)) { - patientsQuery1.setFmDateStart(DateUtil.getSNDate(time)[0]); - patientsQuery1.setFmDateEnd(DateUtil.addDay(DateUtil.getSNDate(time)[1], 1)); - } - patientsQuery1.setFmHospitalList(entry.getValue()); - patientsQuery1.setFmWeekStart(0); - patientsQuery1.setFmWeekEnd(37 * 7); - List patientses = patientsService.queryPatient(patientsQuery1); - if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(patientses)) { - List ids = new ArrayList<>(); - for (Patients pat : patientses) { - ids.add(pat.getId()); - } - - if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(ids)) { - MatDeliverQuery matDeliverQuery11 = new MatDeliverQuery(); - matDeliverQuery11.setYn(YnEnums.YES.getId()); - matDeliverQuery11.setParentIdList(ids); - List fmList = matDeliverService.query(matDeliverQuery11); - if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(fmList)) { - for (MaternalDeliverModel fm : fmList) { - for (MaternalDeliverModel.Baby baby : fm.getBaby()) { - //只统计活产 - if ("0".equals(baby.getPregnancyOut())) { - zcBabyCount++; + if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(ids)) { + MatDeliverQuery matDeliverQuery11 = new MatDeliverQuery(); + matDeliverQuery11.setYn(YnEnums.YES.getId()); + matDeliverQuery11.setParentIdList(ids); + List fmList = matDeliverService.query(matDeliverQuery11); + if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(fmList)) { + for (MaternalDeliverModel fm : fmList) { + for (MaternalDeliverModel.Baby baby : fm.getBaby()) { + //只统计活产 + if ("0".equals(baby.getPregnancyOut())) { + zcBabyCount++; + } } } } + fmList.clear(); } - fmList.clear(); + ids.clear(); } - ids.clear(); - } - patientses.clear(); - //早产儿 - map.put("zcBabyCount", String.valueOf(zcBabyCount)); - map.put("zcBabyPervent", this.division(zcBabyCount, huoChanCount)); - MatDeliverQuery matDeliverQuery10 = new MatDeliverQuery(); - matDeliverQuery10.setYn(YnEnums.YES.getId()); - if (StringUtils.isNotEmpty(time)) { - matDeliverQuery10.setCreatedStart(DateUtil.getSNDate(time)[0]); - matDeliverQuery10.setEndStart(DateUtil.getSNDate(time)[1]); - } - List PregnancyOuts = new ArrayList<>(); - PregnancyOuts.add("1"); - PregnancyOuts.add("3"); - PregnancyOuts.add("2"); - - matDeliverQuery10.setPregnancyOuts(PregnancyOuts); - matDeliverQuery10.setFmHospitalList(entry.getValue()); - int babySiChanCount = 0; - int babySiTaiCount = 0; - int babyJinRuanTaiCount = 0; - List babySiWangList = matDeliverService.query(matDeliverQuery10); - if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(babySiWangList)) { - for (MaternalDeliverModel model : babySiWangList) { - List babies = model.getBaby(); - if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(babies)) { - for (MaternalDeliverModel.Baby baby : babies) { - if (baby.getPregnancyOut() != null && "3".equals(baby.getPregnancyOut())) { - babySiChanCount++; - } else if (baby.getPregnancyOut() != null && "1".equals(baby.getPregnancyOut())) { - babySiTaiCount++; - } else if (baby.getPregnancyOut() != null && "2".equals(baby.getPregnancyOut())) { - babyJinRuanTaiCount++; + patientses.clear(); + //早产儿 + map.put("zcBabyCount", String.valueOf(zcBabyCount)); + map.put("zcBabyPervent", this.division(zcBabyCount, huoChanCount)); + MatDeliverQuery matDeliverQuery10 = new MatDeliverQuery(); + matDeliverQuery10.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(time)) { + matDeliverQuery10.setCreatedStart(DateUtil.getSNDate(time)[0]); + matDeliverQuery10.setEndStart(DateUtil.getSNDate(time)[1]); + } + List PregnancyOuts = new ArrayList<>(); + PregnancyOuts.add("1"); + PregnancyOuts.add("3"); + PregnancyOuts.add("2"); + + matDeliverQuery10.setPregnancyOuts(PregnancyOuts); + matDeliverQuery10.setFmHospitalList(entry.getValue()); + int babySiChanCount = 0; + int babySiTaiCount = 0; + int babyJinRuanTaiCount = 0; + List babySiWangList = matDeliverService.query(matDeliverQuery10); + if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(babySiWangList)) { + for (MaternalDeliverModel model : babySiWangList) { + List babies = model.getBaby(); + if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(babies)) { + for (MaternalDeliverModel.Baby baby : babies) { + if (baby.getPregnancyOut() != null && "3".equals(baby.getPregnancyOut())) { + babySiChanCount++; + } else if (baby.getPregnancyOut() != null && "1".equals(baby.getPregnancyOut())) { + babySiTaiCount++; + } else if (baby.getPregnancyOut() != null && "2".equals(baby.getPregnancyOut())) { + babyJinRuanTaiCount++; + } } } } } - } - babySiWangList.clear(); - map.put("babySiChanSiTaiCount", String.valueOf(babySiChanCount + babySiTaiCount + babyJinRuanTaiCount)); + babySiWangList.clear(); + map.put("babySiChanSiTaiCount", String.valueOf(babySiChanCount + babySiTaiCount + babyJinRuanTaiCount)); - patientCountSum += patientCount; - babyCountSum += babyCount; - list.add(map); + patientCountSum += patientCount; + babyCountSum += babyCount; + list.add(map); + } } mapCout.put("patientCount", String.valueOf(patientCountSum)); mapCout.put("babyCount", String.valueOf(babyCountSum)); -- 1.8.3.1