From 3a74ded886ea1993dab86f03506afd3f35be0a3c Mon Sep 17 00:00:00 2001 From: dongqin <123456> Date: Fri, 5 Jul 2019 18:15:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E6=97=B6=E6=B7=BB=E5=8A=A0=E8=BF=BD?= =?UTF-8?q?=E8=AE=BF=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/facade/BabyCheckFacade.java | 14 +++ .../operate/web/service/BabyAfterVisitService.java | 7 +- .../service/impl/BabyAfterVisitServiceImpl.java | 127 +++++++++++++-------- .../web/service/impl/BabyEyeCheckServiceImpl.java | 20 +++- .../web/worker/BabyAfterVisitInfoModelWork.java | 11 +- 5 files changed, 120 insertions(+), 59 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java index c84acb4..b0aa4d3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java @@ -13,6 +13,7 @@ import com.lyms.platform.common.utils.*; import com.lyms.platform.operate.web.request.BabyCheckRequest; import com.lyms.platform.operate.web.request.WxBabyMeasureRequest; import com.lyms.platform.operate.web.result.*; +import com.lyms.platform.operate.web.service.BabyAfterVisitService; import com.lyms.platform.operate.web.service.PatientWeightService; import com.lyms.platform.operate.web.service.impl.BaseServiceImpl; import com.lyms.platform.operate.web.utils.MongoUtil; @@ -34,6 +35,8 @@ import org.springframework.stereotype.Component; import java.util.*; import java.util.regex.Pattern; +import static com.lyms.platform.operate.web.service.BabyAfterVisitService.*; + @Component public class BabyCheckFacade extends BaseServiceImpl { @@ -106,6 +109,9 @@ public class BabyCheckFacade extends BaseServiceImpl { @Autowired private MeasureDataInfoService measureDataInfoService; + @Autowired + private BabyAfterVisitService babyAfterVisitService; + public static final String HIS_VERSION = PropertiesUtils.getPropertyValue("his_version"); /** @@ -516,6 +522,14 @@ public class BabyCheckFacade extends BaseServiceImpl { model.setCreated(new Date()); model = babyCheckService.addBabyCheck(model); + // 添加追访记录 + Date nextDate = model.getNextDate(); + if (nextDate != null) { + babyAfterVisitService.addOrUpdateAfterVisitData(model, TYPE_CHECK, STATUS_TYPE_NO); + } else { + babyAfterVisitService.addOrUpdateAfterVisitData(model, TYPE_CHECK, STATUS_TYPE_UPDATE); + } + operateLogFacade.addAddOptLog(userId, Integer.valueOf(hospitalId), model, OptActionEnums.ADD.getId(), "添加儿童检查"); /** 使用优惠券 */ diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyAfterVisitService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyAfterVisitService.java index 52442d5..027fb63 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyAfterVisitService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyAfterVisitService.java @@ -2,6 +2,7 @@ package com.lyms.platform.operate.web.service; import com.lyms.platform.common.result.BaseModel; import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.ExpiryMap; import com.lyms.platform.operate.web.request.BabyAfterVisitBuildListRequest; import com.lyms.platform.operate.web.request.BabyAfterVisitInfoDetailListRequest; import com.lyms.platform.operate.web.request.BabyAfterVisitInfoDetailRequest; @@ -28,16 +29,18 @@ public interface BabyAfterVisitService { public static final Integer STATUS_TYPE_YES = 1; /**状态:作废*/ public static final Integer STATUS_TYPE_NO = 2; + /**状态:更新*/ + public static final Integer STATUS_TYPE_UPDATE = 3; /**状态:预建档/临时建档*/ public static final Integer STATUS_TYPE_TEMPORARY_DOCUMENT = 4; /**状态:正式建档/已建档*/ public static final Integer STATUS_TYPE_BUILD= 1; - - public static final String BABY_ID = "babyId"; public static final String POSITIVE_PROJECT_TYPE = "yang"; + public static ExpiryMap cacheMap = new ExpiryMap(1000 * 60 * 60 * 7); + /** * 追访管理 - 追访列表 * diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyAfterVisitServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyAfterVisitServiceImpl.java index 2cc9715..3cbe90f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyAfterVisitServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyAfterVisitServiceImpl.java @@ -17,7 +17,6 @@ import com.lyms.platform.operate.web.service.BabyAfterVisitService; import com.lyms.platform.operate.web.utils.CollectionUtils; import com.lyms.platform.operate.web.worker.BabyAfterVisitInfoModelWork; import com.lyms.platform.operate.web.worker.BabyAfterVisitStatisticsModelWork; -import com.lyms.platform.permission.dao.master.BabyEyeCheckMapper; import com.lyms.platform.permission.dao.master.BabyPatientExtendEarScreenMapper; import com.lyms.platform.permission.dao.master.MasterUsersMapper; import com.lyms.platform.permission.model.Users; @@ -26,6 +25,9 @@ import org.apache.log4j.Logger; 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.aggregation.Aggregation; +import org.springframework.data.mongodb.core.aggregation.AggregationOperation; +import org.springframework.data.mongodb.core.aggregation.AggregationResults; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; @@ -53,7 +55,7 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { private BabyPatientExtendEarScreenMapper screenMapper; @Autowired - MasterUsersMapper usersMapper; + private MasterUsersMapper usersMapper; /** * 追访管理 - 追访列表 @@ -148,65 +150,88 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { // 档案转正 List infoModels = new ArrayList<>(); - setSyncAfterVisitInfoList(null, null, infoModels, afterVisitQuery, TYPE_BUILD, startDate, endDate); + setSyncAfterVisitInfoList( null, infoModels, afterVisitQuery, TYPE_BUILD, startDate, endDate); mongoTemplate.insert(infoModels, BabyAfterVisitInfoModel.class); map.put("infoModels-build", infoModels.size()); - // 儿保检查 todo 分组 - List infoCheckModels = new ArrayList<>(); - Query query = new Query(); - query.addCriteria(Criteria.where("yn").ne(0).and("dataStatus").ne(1)); - query.addCriteria(new Criteria().orOperator( - // ( 已建档未做儿保检查) or (sysdate < 下次预约时间) or ( 已做儿保检查 and 下次预约时间 == null) - Criteria.where("nextDate").exists(false).and("weakSon").exists(false).and("highRisk").exists(false), - Criteria.where("nextDate").gt(new Date()).and("weakSon").exists(true).and("highRisk").exists(true), - Criteria.where("nextDate").exists(false).and("weakSon").exists(true).and("highRisk").exists(true) - )); - List babyModels = mongoTemplate.find(query, BabyModel.class); + // 儿保检查 ( 已建档未做儿保检查) List ids = new ArrayList<>(); - for (BabyModel model : babyModels) { - ids.add(model.getId()); + List infoCheckModels = new ArrayList<>(); + Object object = cacheMap.get("buildId"); + if (null != object) { + ids = (List) object; + } else { + Query query = new Query(); + query.addCriteria(Criteria.where("yn").ne(0).and("dataStatus").ne(1)); + query.addCriteria(Criteria.where("nextDate").exists(false).and("weakSon").exists(false).and("highRisk").exists(false)); + List babyModels = mongoTemplate.find(query, BabyModel.class); + for (BabyModel model : babyModels) { + String modelId = model.getId(); + ids.add(modelId); + } + + // 儿保 (sysdate < 下次预约时间) or ( 已做儿保检查 and 下次预约时间 == null) + AggregationOperation group = Aggregation.group("buildId").max("created").as("created").addToSet("id").as("babyCheckIds"); + Aggregation aggregation = Aggregation.newAggregation(group); + AggregationResults aggregate = mongoTemplate.aggregate(aggregation, BabyCheckModel.class, Map.class); + List mappedResults = aggregate.getMappedResults(); + for (Map mappedResult : mappedResults) { + List babyCheckIds = (List) mappedResult.get("babyCheckIds"); + // 根据建档id分组,获取最新的儿保检查数据 + Object babyCheckId = babyCheckIds.get(babyCheckIds.size() - 1); + BabyCheckModel babyCheckModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(babyCheckId).orOperator(Criteria.where("nextDate").gte(new Date()), Criteria.where("nextDate").exists(false))), BabyCheckModel.class); + if (null != babyCheckModel) { + String buildId = babyCheckModel.getBuildId(); + boolean contains = ids.contains(babyId); + if (!contains) { + ids.add(buildId); + } + } + } + cacheMap.put("buildId", ids); } - setSyncAfterVisitInfoList(null, ids, infoCheckModels, afterVisitQuery, TYPE_CHECK, startDate, endDate); + + setSyncAfterVisitInfoList( ids, infoCheckModels, afterVisitQuery, TYPE_CHECK, startDate, endDate); mongoTemplate.insert(infoCheckModels, BabyAfterVisitInfoModel.class); map.put("infoModels-check-size", infoCheckModels.size()); - // 眼保检查 todo 分组 + // 眼保检查 List infoEyeCheckModels = new ArrayList<>(); - // FIXME: 2019/7/2 已建档未做眼保检查 - // todo 分组 Query eyeQuery = new Query(); eyeQuery.addCriteria(Criteria.where("yn").ne(0).and("dataStatus").ne(1).and("created").gte(startDate).lte(endDate)); List eyeBabyModels = mongoTemplate.find(eyeQuery, BabyModel.class); List babyIds = new ArrayList<>(); for (BabyModel babyModel : eyeBabyModels) { String babyModelId = babyModel.getId(); - boolean exists = mongoTemplate.exists(Query.query(Criteria.where("babyId").is(babyModelId)), BabyEyeCheck.class); + boolean exists = mongoTemplate.exists(Query.query(Criteria.where(BABY_ID).is(babyModelId)), BabyEyeCheck.class); if (!exists) { babyIds.add(babyModel.getId()); } } - // sysdate < 下次预约时间 todo 分组 - List eyeIds = new ArrayList<>(); - List babyEyeCheckList = mongoTemplate.find(Query.query(Criteria.where("nextCheckTime").gt(new Date()).and("yn").is("1")), BabyEyeCheck.class); - for (BabyEyeCheck babyEyeCheck : babyEyeCheckList) { - eyeIds.add(babyEyeCheck.getBabyId()); - } - // 已做眼保检查 and 下次预约时间 == null todo 分组 - babyEyeCheckList = mongoTemplate.find(Query.query(Criteria.where("nextCheckTime").exists(false).and("yn").is("1")), BabyEyeCheck.class); - for (BabyEyeCheck babyEyeCheck : babyEyeCheckList) { - String babyEyeCheckId = babyEyeCheck.getBabyId(); - if (!eyeIds.contains(babyEyeCheckId)) { - eyeIds.add(babyEyeCheckId); + // sysdate < 下次预约时间 已做眼保检查 and 下次预约时间 == null + AggregationOperation group = Aggregation.group(BABY_ID).max("created").as("created").addToSet("id").as("babyEyeCheckIds"); + Aggregation aggregation = Aggregation.newAggregation(group); + AggregationResults aggregate = mongoTemplate.aggregate(aggregation, BabyEyeCheck.class, Map.class); + List mappedResults = aggregate.getMappedResults(); + for (Map mappedResult : mappedResults) { + List babyEyeCheckIds = (List) mappedResult.get("babyEyeCheckIds"); + Object babyEyeCheckId = babyEyeCheckIds.get(babyEyeCheckIds.size() - 1); + BabyEyeCheck babyEyeCheck = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(babyEyeCheckId). + orOperator(Criteria.where("nextCheckTime").gt(new Date()), Criteria.where("nextCheckTime").exists(false))), BabyEyeCheck.class); + if (null != babyEyeCheck) { + String eyeCheckBabyId = babyEyeCheck.getBabyId(); + boolean contains = babyIds.contains(eyeCheckBabyId); + if (!contains) { + babyIds.add(eyeCheckBabyId); + } } } - eyeIds.retainAll(babyIds); - eyeIds.addAll(babyIds); - setSyncAfterVisitInfoList(eyeIds, babyIds, infoEyeCheckModels, afterVisitQuery, TYPE_EYE_CHECK, startDate, endDate); + + setSyncAfterVisitInfoList(babyIds, infoEyeCheckModels, afterVisitQuery, TYPE_EYE_CHECK, startDate, endDate); mongoTemplate.insert(infoEyeCheckModels, BabyAfterVisitInfoModel.class); map.put("infoModels-eyeCheck-size", infoEyeCheckModels.size()); - // 听力筛查 + // TODO 2019/7/5 11:48 dongqing 听力筛查, 郝总都不知道需求是怎么样的 response.setObject(map); return response; @@ -423,7 +448,7 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { * @throws ExecutionException * @throws InterruptedException */ - private void setSyncAfterVisitInfoList(List eyeIds, List ids , List infoModels, BabyAfterVisitRequest afterVisitQuery, Integer type, Date startDate, Date endDate) throws ExecutionException, InterruptedException { + private void setSyncAfterVisitInfoList(List ids , List infoModels, BabyAfterVisitRequest afterVisitQuery, Integer type, Date startDate, Date endDate) throws ExecutionException, InterruptedException { Query query = new Query(); query.addCriteria(Criteria.where("created").gte(startDate).lte(endDate)); long count = 0L; @@ -438,7 +463,7 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { } else if (Objects.equals(TYPE_EYE_CHECK, type)) { // 眼保检查 - query.addCriteria(Criteria.where("_id").in(eyeIds)); + query.addCriteria(Criteria.where("_id").in(ids)); } else if (4 == type) { // TODO 2019/7/2 14:36 dongqing 听力筛查 @@ -487,13 +512,13 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { for (int i = currentPage+ 1; i <= lastPage ; i++) { afterVisitQuery.setPage(i); if (TYPE_BUILD.equals(type)) { - setSyncAfterVisitInfoList(null, null, infoModels, afterVisitQuery, type, startDate, endDate); + setSyncAfterVisitInfoList( null, infoModels, afterVisitQuery, type, startDate, endDate); } if (TYPE_CHECK.equals(type)) { - setSyncAfterVisitInfoList(null, ids, infoModels, afterVisitQuery, type, startDate, endDate); + setSyncAfterVisitInfoList( ids, infoModels, afterVisitQuery, type, startDate, endDate); } if (TYPE_EYE_CHECK.equals(type)) { - setSyncAfterVisitInfoList(eyeIds, ids, infoModels, afterVisitQuery, type, startDate, endDate); + setSyncAfterVisitInfoList( ids, infoModels, afterVisitQuery, type, startDate, endDate); } } @@ -508,7 +533,6 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { private void setSyncList(List statisticsModels, BabyAfterVisitRequest afterVisitQuery, Date startDate, Date endDate) throws ExecutionException, InterruptedException { Query query = new Query(); -// query.addCriteria(Criteria.where("yn").is(1).and("created").gte(startDate).lte(endDate)); query.addCriteria(Criteria.where("created").gte(startDate).lte(endDate)); long count = mongoTemplate.count(query, BabyModel.class); afterVisitQuery.mysqlBuild((int) count); @@ -557,7 +581,7 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { /** - * 在产妇分娩(MatDeliverFacade)、儿童建档(BabyBookbuildingFacade) + * 在产妇分娩(MatDeliverFacade)、儿童建档(BabyBookbuildingFacade)、儿保检查保存(BabyCheckFacade)、眼保检查(BabyEyeCheckServiceImpl) * * @param model BabyAfterVisitStatisticsModel or BabyAfterVisitInfoModel * @param type 0-追访概况、1-档案转正、2-儿保检查、3-眼保检查 @@ -573,6 +597,7 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { System.out.println("请稍后尝试"); } }); + String typeStr = type.toString(); List models = new ArrayList<>(); BabyModel babyModel = (BabyModel) model; String babyModelId = babyModel.getId(); @@ -607,7 +632,6 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { if (Objects.equals(STATUS_TYPE_NO, statusType)) { // 将状态正常更新为作废 - String typeStr = type.toString(); Query query = Query.query(Criteria.where(BABY_ID).is(babyModelId).and("type").is(typeStr)); boolean exists = mongoTemplate.exists(Query.query(Criteria.where(BABY_ID).is(babyModelId).and("type").is(typeStr).and("yn").ne(STATUS_TYPE_NO)), BabyAfterVisitInfoModel.class); if (exists) { @@ -621,6 +645,19 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { List infoModels = listFuture.get(); mongoTemplate.insert(infoModels, BabyAfterVisitInfoModel.class); } + + // 将预约时间更改为null + if (Objects.equals(STATUS_TYPE_UPDATE, statusType)) { + if (Objects.equals(TYPE_CHECK, type)) { + BabyCheckModel babyCheckModel = (BabyCheckModel) model; + mongoTemplate.updateFirst(Query.query(Criteria.where(BABY_ID).is(babyCheckModel.getBuildId()).and("type").is(typeStr)), Update.update("appointmentTime", null), BabyAfterVisitInfoModel.class); + } + if (Objects.equals(TYPE_EYE_CHECK, type)) { + BabyEyeCheck babyEyeCheck = (BabyEyeCheck) model; + mongoTemplate.updateFirst(Query.query(Criteria.where(BABY_ID).is(babyEyeCheck.getBabyId()).and("type").is(typeStr)), Update.update("appointmentTime", null), BabyAfterVisitInfoModel.class); + } + + } logger.info("已自动添加到追访列表中"); } } catch (Exception e) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java index ec6a520..856249d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java @@ -5,12 +5,11 @@ import com.lyms.platform.common.enums.*; import com.lyms.platform.common.pojo.SyncDataModel; import com.lyms.platform.common.result.*; import com.lyms.platform.common.utils.*; -import com.lyms.platform.common.utils.ReflectionUtils; -import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.facade.BasicConfigFacade; import com.lyms.platform.operate.web.facade.OperateLogFacade; import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade; +import com.lyms.platform.operate.web.service.BabyAfterVisitService; import com.lyms.platform.operate.web.service.BabyEyeCheckService; import com.lyms.platform.operate.web.utils.CollectionUtils; import com.lyms.platform.operate.web.utils.MongoUtil; @@ -18,8 +17,9 @@ import com.lyms.platform.operate.web.utils.ReflectUtil; import com.lyms.platform.operate.web.utils.ResponseUtil; import com.lyms.platform.permission.dao.master.BabyEyeCheckMapper; import com.lyms.platform.permission.dao.master.CouponMapper; -import com.lyms.platform.pojo.*; -import org.apache.commons.codec.binary.*; +import com.lyms.platform.pojo.BabyEyeCheck; +import com.lyms.platform.pojo.BabyModel; +import com.lyms.platform.pojo.Patients; import org.apache.commons.collections.map.HashedMap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; @@ -33,6 +33,8 @@ import javax.servlet.http.HttpServletResponse; import java.io.Serializable; import java.util.*; +import static com.lyms.platform.operate.web.service.BabyAfterVisitService.*; + /** * Created by lt on 2017/8/5 0005 */ @@ -62,6 +64,8 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye @Autowired private CouponMapper couponMapper; + @Autowired + private BabyAfterVisitService babyAfterVisitService; @Autowired private OperateLogFacade operateLogFacade; @@ -97,6 +101,14 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye } syncData("ADD", babyEyeCheck, ""); mongoTemplate.save(babyEyeCheck); + + // 添加追访眼保检查 + Date nextCheckTime = babyEyeCheck.getNextCheckTime(); + if (null != nextCheckTime) { + babyAfterVisitService.addOrUpdateAfterVisitData(babyEyeCheck, TYPE_EYE_CHECK, STATUS_TYPE_NO); + } else { + babyAfterVisitService.addOrUpdateAfterVisitData(babyEyeCheck, TYPE_EYE_CHECK, STATUS_TYPE_UPDATE); + } if(CollectionUtils.isNotEmpty(babyEyeCheck.getRiskFactorId())) { String riskFactor = org.apache.commons.lang3.StringUtils.join(babyEyeCheck.getRiskFactorId().toArray(), ","); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/BabyAfterVisitInfoModelWork.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/BabyAfterVisitInfoModelWork.java index 4a127a9..4022a6a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/BabyAfterVisitInfoModelWork.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/BabyAfterVisitInfoModelWork.java @@ -1,17 +1,12 @@ package com.lyms.platform.operate.web.worker; -import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.operate.web.utils.CollectionUtils; -import com.lyms.platform.permission.dao.master.BabyPatientExtendEarScreenMapper; import com.lyms.platform.pojo.BabyAfterVisitInfoModel; import com.lyms.platform.pojo.BabyEyeCheck; import com.lyms.platform.pojo.BabyModel; import org.springframework.beans.BeanUtils; import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.data.mongodb.core.aggregation.Aggregation; -import org.springframework.data.mongodb.core.aggregation.AggregationOperation; -import org.springframework.data.mongodb.core.aggregation.AggregationResults; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; @@ -75,9 +70,9 @@ public class BabyAfterVisitInfoModelWork implements Callable operations = new ArrayList<>(); -- 1.8.3.1