From fbdd5dc55bf66a5a463f88ce3bab094c764c1a74 Mon Sep 17 00:00:00 2001 From: shiyang <316555390@qq.com> Date: Thu, 28 Apr 2022 15:55:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=A6=E7=9A=87=E5=B2=9B-=E7=A7=91=E7=A0=94?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/facade/MatDeliverFacade.java | 45 ++++++++++++++-------- .../web/request/ChildbirthManagerRequest.java | 2 +- .../operate/web/worker/MaterDeliverWorker2.java | 28 ++++++++------ 3 files changed, 45 insertions(+), 30 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index 783fe8e..2404bd8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -3914,34 +3914,45 @@ public class MatDeliverFacade { patientsQuery.setFmHospitalList(hospitalList); patientsQuery.setDesc("fmDate"); patientsQuery.setSort("fmDate"); - List patientsList = patientsService.queryPatient(patientsQuery); - List parentIdList = new ArrayList <>(); - if (CollectionUtils.isEmpty(patientsList)) { - // 没有查到,直接抛出 - childbirthManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); - childbirthManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); - return childbirthManagerResult; - } - for (Patients patients : patientsList) { - parentIdList.add(patients.getId()); - } + //这里查询档案信息太费时。在没有这个筛选需求的时候不去查询 + List parentIdList = new ArrayList<>(); + Map patientsMap = new HashedMap(); + if(StringUtils.isNotEmpty(patientsQuery.getQueryNo())) { + List patientsList = patientsService.queryPatient(patientsQuery); + if (CollectionUtils.isEmpty(patientsList)) { + // 没有查到,直接抛出 + childbirthManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); + childbirthManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + return childbirthManagerResult; + } + for (Patients patients : patientsList) { + parentIdList.add(patients.getId()); + } + //组装查询到的档案 + for (Patients patients : patientsList) { + patientsMap.put(patients.getId(), patients); + } + } MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); + if (CollectionUtils.isNotEmpty(parentIdList)) { + matDeliverQuery.setParentIdList(parentIdList); + }else { + if(null != patientsQuery.getFmDateStart() && null != patientsQuery.getFmDateEnd() ){ + matDeliverQuery.setCreatedStart(patientsQuery.getFmDateStart()); + matDeliverQuery.setEndStart(patientsQuery.getFmDateEnd()); + } + } matDeliverQuery.setLimit(childbirthManagerRequest.getLimit()); - matDeliverQuery.setParentIdList(parentIdList); matDeliverQuery.setYn(YnEnums.YES.getId()); matDeliverQuery.setHloseBloodType(childbirthManagerRequest.getHloseBloodType()); String deliveryModeQueryJson = "fmfs\\\":\\\"" + childbirthManagerRequest.getDeliveryMode(); matDeliverQuery.setDeliveryModeQueryJson(StringUtils.isEmpty(childbirthManagerRequest.getDeliveryMode()) ? null : deliveryModeQueryJson); List maternalDeliverModelList = matDeliverService.pageQuery(matDeliverQuery); - Map patientsMap = new HashedMap(); - for (Patients patients : patientsList) { - patientsMap.put(patients.getId(), patients); - } List date = new LinkedList<>(); - int batchSize = 3; + int batchSize = 20; int end = 0; List futures = new ArrayList <>(); for (int i = 0; i < maternalDeliverModelList.size(); i += batchSize) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ChildbirthManagerRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ChildbirthManagerRequest.java index e88a989..7995275 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ChildbirthManagerRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ChildbirthManagerRequest.java @@ -803,7 +803,7 @@ public class ChildbirthManagerRequest extends BasePageQueryRequest { initQueryMapqhdky.put("cc", "初产"); initQueryMapqhdky.put("jc", "经产"); initQueryMapqhdky.put("dt", "单胎"); - initQueryMapqhdky.put("dantai", "多胎"); + initQueryMapqhdky.put("duotai", "多胎"); initQueryMapqhdky.put("ssy", "收缩压mmHg"); initQueryMapqhdky.put("szy", "舒张压mmHg"); initQueryMapqhdky.put("heigh", "身高cm"); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/MaterDeliverWorker2.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/MaterDeliverWorker2.java index 89547b1..c379a81 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/MaterDeliverWorker2.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/MaterDeliverWorker2.java @@ -56,9 +56,15 @@ public class MaterDeliverWorker2 implements Callable> { try { for (MaternalDeliverModel maternalDeliverModel : maternalDeliverModelList) { Map initQueryMapqhdky = new LinkedHashMap<>(); - Patients patients = patientsMap.get(maternalDeliverModel.getParentId()); - if (patients == null) - { + Patients patients =null; + if(MapUtils.isNotEmpty(patientsMap)){ + patients = patientsMap.get(maternalDeliverModel.getParentId()); + }else { + Criteria criteria= Criteria.where("_id").is(maternalDeliverModel.getParentId()); + patients = mongoTemplate.findOne(Query.query(criteria), Patients.class); + } + + if (null == patients) { continue; } initQueryMapqhdky.put("name", StringUtils.isNotEmpty(patients.getUsername())?patients.getUsername():""); @@ -70,8 +76,6 @@ public class MaterDeliverWorker2 implements Callable> { if(null!=exChuModel){ initQueryMapqhdky.put("cc", null!=exChuModel.getProdTime()?0 map = JSON.parseObject(exChuModel.getBp(), HashMap.class); if(MapUtils.isNotEmpty(map)){ @@ -91,14 +95,14 @@ public class MaterDeliverWorker2 implements Callable> { }else { initQueryMapqhdky.put("cc", ""); initQueryMapqhdky.put("jc", ""); - initQueryMapqhdky.put("dt", ""); - initQueryMapqhdky.put("dantai",""); initQueryMapqhdky.put("ssy", ""); initQueryMapqhdky.put("szy", ""); initQueryMapqhdky.put("heigh", ""); initQueryMapqhdky.put("beforeWeight",""); } - + //单胎、多胎 + initQueryMapqhdky.put("dt", null != maternalDeliverModel.getTireNumber()?1 == maternalDeliverModel.getTireNumber()?"是":"否":""); + initQueryMapqhdky.put("duotai", null != maternalDeliverModel.getTireNumber()?1 < maternalDeliverModel.getTireNumber()?"是":"否":""); //体重2kg(24-28周) AntExRecordQuery antExRecordQuery=new AntExRecordQuery(); antExRecordQuery.setParentId(patients.getId()); @@ -252,12 +256,12 @@ public class MaterDeliverWorker2 implements Callable> { initQueryMapqhdky.put("ctpoab", ""); } //分娩记录 - Criteria criteriaFm= Criteria.where("parentId").is(patients.getId()); - MaternalDeliverModel deliverModel = mongoTemplate.findOne(Query.query(criteriaFm), MaternalDeliverModel.class); - if(CollectionUtils.isNotEmpty(deliverModel.getBaby())){ +// Criteria criteriaFm= Criteria.where("parentId").is(patients.getId()); +// MaternalDeliverModel deliverModel = mongoTemplate.findOne(Query.query(criteriaFm), MaternalDeliverModel.class); + if(CollectionUtils.isNotEmpty(maternalDeliverModel.getBaby())){ String weight=""; String apgarScore = ""; - for (MaternalDeliverModel.Baby baby : deliverModel.getBaby()) { + for (MaternalDeliverModel.Baby baby : maternalDeliverModel.getBaby()) { if(StringUtils.isNotEmpty(baby.getBabyWeight())){ weight+=baby.getBabyWeight()+"/"; } -- 1.8.3.1