From dcb260bba50bf83fefc98a20edbfe0fccd8c8237 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Wed, 15 Jan 2020 16:48:35 +0800 Subject: [PATCH] update --- .../operate/web/facade/AntExRecordFacade.java | 83 ++++++++++++++++------ .../operate/web/facade/MeasureInfoFacade.java | 7 +- 2 files changed, 67 insertions(+), 23 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java index 36ad6cd..5b2c8fb 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java @@ -913,6 +913,50 @@ public class AntExRecordFacade { return map; } + public boolean isOpenAutoSaveAntenatal(String hospitalId) + { + String value = ""; + //查询当前医院是否有配置此权限 + ModularFunctionConfigModel functionConfigModel = mongoTemplate.findOne(Query.query(Criteria.where("hospitalId").is(hospitalId)), ModularFunctionConfigModel.class); + if (null != functionConfigModel) { + List> mapList = functionConfigModel.getConfigs(); + if (CollectionUtils.isNotEmpty(mapList)) { + for (Map map : mapList) { + if (map.get("type").toString().equals("88")) { + value = map.get("value").toString(); + } + } + } + } + return value != null && "2".equals(value); + } + + + /** + * + * 如果是体重测量在后,就通过测量体重时候去修改产检中的体重 + * @param hospitalId + * @param pid + * @param currentWeight + */ + public void updateAntenatal(String hospitalId,String pid,Double currentWeight) + { + if (!isOpenAutoSaveAntenatal(hospitalId)) + { + return; + } + List examinationModel = mongoTemplate.find(Query.query(Criteria.where("pid").is(pid)), AntenatalExaminationModel.class); + if (CollectionUtils.isNotEmpty(examinationModel)) { + for (AntenatalExaminationModel model : examinationModel) { + if (StringUtils.isNotEmpty(DateUtil.getyyyy_MM_dd(model.getCheckDate())) && + DateUtil.getyyyy_MM_dd(new Date()).equals(DateUtil.getyyyy_MM_dd(model.getCheckDate()))) { + model.setWeight(currentWeight); + } + } + } + } + + /** * 小程序创建产检 * @@ -928,21 +972,8 @@ public class AntExRecordFacade { public BaseResponse inputWxData(String fuh, String abdominalGirth, String fhr, String pid, String hospitalId, String nextTime, String doctorId) { WxMeasureInfoModel wxMeasureInfo = new WxMeasureInfoModel(); boolean falg = true; - String value = null; if (StringUtils.isNotEmpty(pid) && StringUtils.isNotEmpty(hospitalId)) { - //查询当前医院是否有配置此权限 - ModularFunctionConfigModel functionConfigModel = mongoTemplate.findOne(Query.query(Criteria.where("hospitalId").is(hospitalId)), ModularFunctionConfigModel.class); - if (null != functionConfigModel) { - List> mapList = functionConfigModel.getConfigs(); - if (CollectionUtils.isNotEmpty(mapList)) { - for (Map map : mapList) { - if (map.get("type").toString().equals("88")) { - value = map.get("value").toString(); - } - } - } - } - if (value != null && "2".equals(value)) { + if (isOpenAutoSaveAntenatal(hospitalId)) { List examinationModel = mongoTemplate.find(Query.query(Criteria.where("pid").is(pid)), AntenatalExaminationModel.class); if (CollectionUtils.isNotEmpty(examinationModel)) { for (AntenatalExaminationModel model : examinationModel) { @@ -972,7 +1003,7 @@ public class AntExRecordFacade { } if (falg) { //创建一条复诊记录 - Patients patients = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(pid).and("hospitalId").is(hospitalId).and("type").is(1)), Patients.class); + Patients patients = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(pid).and("hospitalId").is(hospitalId).and("type").is(1).and("yn").is(1)), Patients.class); if (null != patients) { AntExChuModel antExChuModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(patients.getId())), AntExChuModel.class); if (null != antExChuModel) { @@ -1052,16 +1083,24 @@ public class AntExRecordFacade { } } //获取体重记录 - PatientWeight patientWeight = mongoTemplate.findOne(Query.query(Criteria.where("hospitalId").is(hospitalId).and("patientId").is(patients.getId()).and("yn").is("1")), PatientWeight.class); - if (patientWeight != null) { - Map dayWeights = patientWeight.getDayWeights(); - if (null != dayWeights && dayWeights.size() > 0) { - String valus = dayWeights.get(DateUtil.getyyyy_MM_dd(new Date())); - if (StringUtils.isNotEmpty(valus)) { - antExAddRequest.setWeight(Double.valueOf(valus)); + List patientWeights = mongoTemplate.find(Query.query(Criteria.where("pid").is(pid).and("yn").is("1")), PatientWeight.class); + if (CollectionUtils.isNotEmpty(patientWeights)) + { + for (PatientWeight patientWeight : patientWeights) + { + if (patientWeight != null) { + Map dayWeights = patientWeight.getDayWeights(); + if (null != dayWeights && dayWeights.size() > 0) { + String valus = dayWeights.get(DateUtil.getyyyy_MM_dd(new Date())); + if (StringUtils.isNotEmpty(valus)) { + antExAddRequest.setWeight(Double.valueOf(valus)); + break; + } + } } } } + antenatalExaminationFacade.addOneAntEx(antExAddRequest, Integer.parseInt(doctorId)); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MeasureInfoFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MeasureInfoFacade.java index 9e6d81d..cdcda4b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MeasureInfoFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MeasureInfoFacade.java @@ -61,6 +61,8 @@ public class MeasureInfoFacade { private DataPermissionService dataPermissionService; @Autowired + private AntExRecordFacade antExRecordFacade; + @Autowired private OrganizationService organizationService; @Autowired @@ -984,7 +986,7 @@ public class MeasureInfoFacade { public BaseObjectResponse addNutritionInfo(NutritionInfoRequest nutritionInfoRequest) { Patients patients = patientsService.findOnePatientById(nutritionInfoRequest.getPatientId()); - List patientWeights = patientWeightService2.queryPatientWeight(Query.query(Criteria.where("patientId").is(nutritionInfoRequest.getPatientId()))); + List patientWeights = patientWeightService2.queryPatientWeight(Query.query(Criteria.where("pid").is(patients.getPid()).and("yn").is("1"))); String hospitalId = nutritionInfoRequest.getHospitalId().trim(); @@ -1085,6 +1087,9 @@ public class MeasureInfoFacade { } + //更新当天产检记录的体重 + antExRecordFacade.updateAntenatal(hospitalId, patients.getPid(), Double.parseDouble(currentWeight)); + MeasureInfoRequest measureInfoRequest = new MeasureInfoRequest(); measureInfoRequest.setCertNo(patients.getCardNo()); measureInfoRequest.setCertType(patients.getPcerteTypeId()); -- 1.8.3.1