From 280ede8cf1d0313b43185b832770d6b0250492eb Mon Sep 17 00:00:00 2001 From: "litao@lymsh.com" Date: Thu, 14 Sep 2017 10:19:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=93=E9=87=8D=E7=AE=A1=E7=90=86=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/service/impl/PatientWeightServiceImpl.java | 37 +++++++++------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java index 77bbeb5..ef2f41b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java @@ -87,22 +87,23 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient @Override public BaseResponse addOrUpdate(Integer userId, PatientWeight patientWeight) { + String hospitalId = autoMatchFacade.getHospitalId(userId); String nowWeight = patientWeight.getNowWeight(); - if(StringUtils.isEmpty(patientWeight.getId())) { - if(StringUtils.isNotBlank(nowWeight) && StringUtils.isNotBlank(patientWeight.getPatientId())) { - PatientWeight weight = mongoTemplate.findOne(Query.query(Criteria.where("patientId").is(patientWeight.getPatientId())), PatientWeight.class); - if(weight != null && MapUtils.isNotEmpty(weight.getWeights())) { - Map weights = weight.getWeights(); - weights.put(DateUtil.getWeek(weight.getLastMenses(), new Date()), nowWeight); - weight.setWeights(weights); - Update update = MongoConvertHelper.convertToNativeUpdate(ReflectionUtils.getUpdateField(weight)); - mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(weight.getId())), update, PatientWeight.class); - return RespBuilder.buildSuccess(patientWeight.getId()); - } - - } + PatientWeight weight = mongoTemplate.findOne(Query.query(Criteria.where("patientId").is(patientWeight.getPatientId()).and("hospitalId").is(hospitalId)), PatientWeight.class); + Map weights = new HashMap<>(); + if(weight != null && MapUtils.isNotEmpty(weight.getWeights())) { + weights = weight.getWeights(); + } + weights.put(DateUtil.getWeek(weight.getLastMenses(), new Date()), nowWeight); + weight.setWeights(weights); + patientWeight.setWeights(weights); - String hospitalId = autoMatchFacade.getHospitalId(userId); + if(StringUtils.isEmpty(patientWeight.getId())) { + if(weight != null) { + Update update = MongoConvertHelper.convertToNativeUpdate(ReflectionUtils.getUpdateField(weight)); + mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(weight.getId())), update, PatientWeight.class); + return RespBuilder.buildSuccess(patientWeight.getId()); + } patientWeight.setHospitalId(hospitalId); patientWeight.setOperaterId(userId.toString()); patientWeight.setCreated(new Date()); @@ -122,14 +123,6 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient mongoTemplate.save(patientWeight); return RespBuilder.buildSuccess(patientWeight.getId()); } else { - if(StringUtils.isNotBlank(nowWeight)) { - PatientWeight pw = mongoTemplate.findById(patientWeight.getId(), PatientWeight.class); - if(pw != null) { - Map weights = MapUtils.isEmpty(pw.getWeights()) ? new HashMap() : pw.getWeights(); - weights.put(DateUtil.getWeek(new Date()), nowWeight); - patientWeight.setWeights(weights); - } - } patientWeight.setOperaterId(userId.toString()); Update update = MongoConvertHelper.convertToNativeUpdate(ReflectionUtils.getUpdateField(patientWeight)); mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(patientWeight.getId())), update, PatientWeight.class); -- 1.8.3.1