diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java index 19a065b..5e8035e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java @@ -33,6 +33,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; import org.springframework.beans.*; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; @@ -376,17 +377,27 @@ public class CancerScreeningFacade { cancerScr.setOperator(id); cancerScr.setIsSync(1); cancerScreenService.updateOneCancerScreen(cancerScr, cancerScr.getId()); - //修改乳腺癌追访 - BreastAfterVisitQuery breastAfterVisitQuery=new BreastAfterVisitQuery(); - breastAfterVisitQuery.setYn(1); - breastAfterVisitQuery.setQueryNo(cancerScr.getCertificateNum()); - List breastAfterVisitModels = breastAfterVisitService.queryBreastAfterVisitList(breastAfterVisitQuery); - if(CollectionUtils.isNotEmpty(breastAfterVisitModels)){ - //如果多次检查不需要新增追访信息,更新之前信息 - cancerScr.setId(breastAfterVisitModels.get(0).getParentId()); - breastAfterVisitAdd(cancerScr,2); - }else { - breastAfterVisitAdd(cancerScr,1); + //修改之前检查记录不能影像最后一次检查记录的追访信息(因为只会有一条追访,记录的是最后一次检查的追访信息) + Query query=new Query(); + Criteria criteria = Criteria.where("residentId").is(cancerScr.getResidentId()); + query.addCriteria(criteria); + query.with(new Sort(Sort.Direction.DESC, "created")); + List models = mongoTemplate.find(query, CancerScreeningModel.class); + if(models.size()>1){ + if (models.get(0).getId().equals(cancerScr.getId())) { + //修改乳腺癌追访 + BreastAfterVisitQuery breastAfterVisitQuery=new BreastAfterVisitQuery(); + breastAfterVisitQuery.setYn(1); + breastAfterVisitQuery.setQueryNo(cancerScr.getCertificateNum()); + List breastAfterVisitModels = breastAfterVisitService.queryBreastAfterVisitList(breastAfterVisitQuery); + if(CollectionUtils.isNotEmpty(breastAfterVisitModels)){ + //如果多次检查不需要新增追访信息,更新之前信息 + cancerScr.setId(breastAfterVisitModels.get(0).getParentId()); + breastAfterVisitAdd(cancerScr,2); + }else { + breastAfterVisitAdd(cancerScr,1); + } + } } return new BaseResponse("成功", ErrorCodeConstants.SUCCESS); } catch (Exception e) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java index da1c2fa..7a88c2f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java @@ -108,17 +108,27 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { Update update = MongoConvertHelper .convertToNativeUpdate(ReflectionUtils.getUpdateField(param)); mongoTemplate.updateFirst(query, update, CervicalCancerModel.class); - //添加宫颈癌追访 - CervixVisitQuery cervixVisitQuery=new CervixVisitQuery(); - cervixVisitQuery.setYn(1); - cervixVisitQuery.setQueryNo(param.getIdCardNo()); - List cervixVisitModels = cervixVisitService.queryCervixVisitList(cervixVisitQuery); - if(CollectionUtils.isNotEmpty(cervixVisitModels)){ - //如果多次检查不需要新增追访信息,更新之前信息 - param.setId(cervixVisitModels.get(0).getParentId()); - cervixVisitAdd(param,2); - }else { - cervixVisitAdd(param,1); + //修改之前检查记录不能影像最后一次检查记录的随访信息(因为只会有一条随访,记录的是最后一次检查的随访信息) + Query query2=new Query(); + Criteria criteria = Criteria.where("parentId").is(param.getParentId()); + query2.addCriteria(criteria); + query2.with(new Sort(Sort.Direction.DESC, "created")); + List models = mongoTemplate.find(query2, CervicalCancerModel.class); + if(models.size()>1){ + if (models.get(0).getId().equals(param.getId())) { + //添加宫颈癌追访 + CervixVisitQuery cervixVisitQuery=new CervixVisitQuery(); + cervixVisitQuery.setYn(1); + cervixVisitQuery.setQueryNo(param.getIdCardNo()); + List cervixVisitModels = cervixVisitService.queryCervixVisitList(cervixVisitQuery); + if(CollectionUtils.isNotEmpty(cervixVisitModels)){ + //如果多次检查不需要新增追访信息,更新之前信息 + param.setId(cervixVisitModels.get(0).getParentId()); + cervixVisitAdd(param,2); + }else { + cervixVisitAdd(param,1); + } + } } return new BaseResponse("成功", ErrorCodeConstants.SUCCESS); } catch (Exception e) { @@ -209,7 +219,6 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { } } query.with(new Sort(Sort.Direction.DESC, "created")); - System.out.println(query.toString()); long count = mongoTemplate.count(query, CervicalCancerModel.class); param.mysqlBuild((int) count); query.skip(param.getOffset()).limit(param.getLimit());