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 9943c2c..b2fd75e 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 @@ -383,9 +383,19 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient patientWeight.setDayWeigthsJson(null); patientWeight.setCreated(new Date(Long.parseLong(patientWeight.getCreated2()))); patientWeight.setCreated2(null); - if(StringUtils.isNotEmpty(patientWeight.getId())) { - mongoTemplate.save(patientWeight); + + PatientWeight pw = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(patientWeight.getPid())), PatientWeight.class); + if(pw != null) { + patientWeight.setId(pw.getId()); + Update update = MongoConvertHelper.convertToNativeUpdate(ReflectionUtils.getUpdateField(patientWeight)); + mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(pw.getId())), update, PatientWeight.class); + } else { + if(StringUtils.isNotEmpty(patientWeight.getId())) { + mongoTemplate.save(patientWeight); + } } + + return RespBuilder.buildSuccess(patientWeight.getId()); }