From bcd56cb7236801daaab58643a401816280bcd9cb Mon Sep 17 00:00:00 2001 From: liquanyu Date: Tue, 8 Nov 2016 15:49:01 +0800 Subject: [PATCH] code update --- .../biz/dal/impl/AntenatalExaminationDaoImpl.java | 73 +++++++++++++++------- .../biz/dal/impl/BabyBookbuildingDaoImpl.java | 12 ++++ .../platform/data/service/impl/SmsServiceImpl.java | 73 ++++++++++------------ .../lyms/platform/data/util/AmsMessageService.java | 2 +- 4 files changed, 96 insertions(+), 64 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AntenatalExaminationDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AntenatalExaminationDaoImpl.java index f69e3ff..e6acf2c 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AntenatalExaminationDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AntenatalExaminationDaoImpl.java @@ -20,6 +20,7 @@ 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.stereotype.Repository; import java.text.ParseException; @@ -71,38 +72,64 @@ public class AntenatalExaminationDaoImpl extends BaseMongoDAOImpl queryYuyueAntenatalExamination(Date yuYueDate,String hospitalId) { - AggregationOperation match = Aggregation.match(Criteria.where("nextCheckTime").gte(yuYueDate).lte(yuYueDate).and("hospitalId").is(hospitalId)); + + Criteria criteria = new Criteria(); + Criteria criteria2= Criteria.where("nextCheckTime").gte(yuYueDate).lte(yuYueDate); + Criteria criteria1= Criteria.where("nextCheckTime").exists(false); + criteria.orOperator(criteria2,criteria1); + + AggregationOperation match = Aggregation.match(Criteria.where("hospitalId").is(hospitalId).andOperator(criteria)); AggregationOperation group = Aggregation.group("parentId").max("created").as("created"); - Aggregation aggregation = Aggregation.newAggregation(match,group); + Aggregation aggregation = Aggregation.newAggregation(match, group); AggregationResults result = this.mongoTemplate.aggregate(aggregation, "lyms_antex", AntenatalExaminationModel.class); - return result.getMappedResults(); -// AggregationOperation match = Aggregation.match(Criteria.where("hospitalId").is(hospitalId)); -// AggregationOperation group = Aggregation.group("parentId").max("created").as("created"); -// Aggregation aggregation = Aggregation.newAggregation(match, group); -// AggregationResults result = this.mongoTemplate.aggregate(aggregation, "lyms_antex", AntenatalExaminationModel.class); -// -// -// List fuzs = result.getMappedResults(); -// -// for (AntenatalExaminationModel f : fuzs) { -// String parentId = f.getId(); //这里的id就是parentid -// MongoCondition condition = MongoCondition.newInstance("parentId", parentId, MongoOper.IS).and("yn", YnEnums.YES.getId(), MongoOper.IS).and("nextCheckTime", yuYueDate, MongoOper.IS); -// MongoQuery query = condition.toMongoQuery().addOrder(Sort.Direction.DESC, "created"); -// List results = find(query.convertToMongoQuery()); -// if (CollectionUtils.isNotEmpty(results)) -// { -// -// } -// } -// return ; + List fuzs = result.getMappedResults(); + List yuyues = new ArrayList<>(); + for (AntenatalExaminationModel f : fuzs) { + String parentId = f.getId(); //这里的id就是parentid + + MongoCondition condition1 = MongoCondition.newInstance("_id", parentId, MongoOper.IS).and("yn", YnEnums.YES.getId(), MongoOper.IS).and("type", 1, MongoOper.IS); + MongoQuery query1 = condition1.toMongoQuery().addOrder(Sort.Direction.DESC, "created"); + List patientses = this.mongoTemplate.find(query1.convertToMongoQuery(), Patients.class); + if (CollectionUtils.isNotEmpty(patientses)) + { + MongoCondition condition = MongoCondition.newInstance("parentId", parentId, MongoOper.IS).and("yn", YnEnums.YES.getId(), MongoOper.IS); + MongoQuery query = condition.toMongoQuery().addOrder(Sort.Direction.DESC, "created"); + List results = find(query.convertToMongoQuery()); + if (CollectionUtils.isNotEmpty(results)) + { + if (results.get(0).getNextCheckTime() != null ) + { + yuyues.add(f); + } + } + } + } + return yuyues; } + @Override public List queryYuyueAntenatalExamination(Date startDate,String hospitalId,String parentId) { - AggregationOperation match = Aggregation.match(Criteria.where("nextCheckTime").gte(startDate).and("parentId").is(parentId).and("hospitalId").is(hospitalId)); AggregationOperation group = Aggregation.group("parentId").max("created").as("created"); Aggregation aggregation = Aggregation.newAggregation(match, group); AggregationResults result = this.mongoTemplate.aggregate(aggregation, "lyms_antex", AntenatalExaminationModel.class); + + MongoCondition condition1 = MongoCondition.newInstance("_id", parentId, MongoOper.IS).and("yn", YnEnums.YES.getId(), MongoOper.IS).and("type", 1, MongoOper.IS); + MongoQuery query1 = condition1.toMongoQuery().addOrder(Sort.Direction.DESC, "created"); + List patientses = this.mongoTemplate.find(query1.convertToMongoQuery(), Patients.class); + if (CollectionUtils.isNotEmpty(patientses)) + { + MongoCondition condition = MongoCondition.newInstance("parentId", parentId, MongoOper.IS).and("yn", YnEnums.YES.getId(), MongoOper.IS); + MongoQuery query = condition.toMongoQuery().addOrder(Sort.Direction.DESC, "created"); + List results = find(query.convertToMongoQuery()); + if (CollectionUtils.isNotEmpty(results)) + { + if (results.get(0).getNextCheckTime() == null ) + { + return new ArrayList(); + } + } + } return result.getMappedResults(); } } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyBookbuildingDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyBookbuildingDaoImpl.java index 55e7eb1..c6127b1 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyBookbuildingDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyBookbuildingDaoImpl.java @@ -48,6 +48,18 @@ public class BabyBookbuildingDaoImpl extends BaseMongoDAOImpl impleme @Override public List queryBabyYuYueRecord(Date yuYueDate, String hospitalId) { + +// Criteria criteria = new Criteria(); +// Criteria criteria2= Criteria.where("nextDate").gte(yuYueDate).lte(yuYueDate); +// Criteria criteria1= Criteria.where("nextDate").exists(false); +// criteria.orOperator(criteria2, criteria1); +// +// AggregationOperation match = Aggregation.match(Criteria.where("hospitalId").is(hospitalId).andOperator(criteria)); +// AggregationOperation group = Aggregation.group("buildId").max("created").as("created"); +// Aggregation aggregation = Aggregation.newAggregation(match, group); +// AggregationResults result = this.mongoTemplate.aggregate(aggregation, "lyms_babycheck", BabyCheckModel.class); +// return result.getMappedResults(); + AggregationOperation match = Aggregation.match(Criteria.where("nextDate").gte(yuYueDate).lte(yuYueDate).and("hospitalId").is(hospitalId)); AggregationOperation group = Aggregation.group("buildId").max("created").as("created"); Aggregation aggregation = Aggregation.newAggregation(match, group); diff --git a/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java b/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java index bdf0074..6df90e7 100644 --- a/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java +++ b/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java @@ -709,7 +709,7 @@ public class SmsServiceImpl implements SmsService{ SmsConfigQuery configQuery = new SmsConfigQuery(); configQuery.setYn(YnEnums.YES.getId()); configQuery.setPrefixTypes(new Integer[]{0, 1}); - configQuery.setHospitalId(221 + ""); +// configQuery.setHospitalId(249 + ""); //查询出对应医院配置 List configs = smsConfigService.querySmsConfig(configQuery); @@ -1492,6 +1492,7 @@ public class SmsServiceImpl implements SmsService{ //查询出产妇预约 List orderModels = postReviewService.queryPostOrder(actualSendDate, tempHid); + if(CollectionUtils.isNotEmpty(orderModels)) { for(PostReviewModel orderModel : orderModels) @@ -2242,30 +2243,29 @@ public class SmsServiceImpl implements SmsService{ AntExQuery antExQuery = new AntExQuery(); antExQuery.setParentId(chu.getParentId()); antExQuery.setYn(YnEnums.YES.getId()); - //复诊不存在 才添加 - List list = antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery()); - if (!CollectionUtils.isNotEmpty(list)) + + PatientsQuery patientQuery = new PatientsQuery(); + patientQuery.setYn(YnEnums.YES.getId()); + patientQuery.setType(1); + patientQuery.setId(chu.getParentId()); + + List patientses = patientsService.queryPatient(patientQuery); + if (CollectionUtils.isNotEmpty(patientses)) { - idset.add(chu.getParentId()); + //复诊不存在 才添加 + List list = antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery()); + if (!CollectionUtils.isNotEmpty(list)) + { + idset.add(chu.getParentId()); + } } + } List fuzs = antenatalExaminationService.queryYuyueAntenatalExamination(yuYueDate, tempHid); for (AntenatalExaminationModel f : fuzs) { idset.add(f.getId()); //这里的id就是parentid -// AntExQuery antExQuery = new AntExQuery(); -// antExQuery.setYn(YnEnums.YES.getId()); -// antExQuery.setParentId(f.getId()); -// -// List list = antenatalExaminationService.queryLastAntenatalExamination(antExQuery.convertToQuery()); -// if (CollectionUtils.isNotEmpty(list)) -// { -// if (list.get(0).getNextCheckTime() != null) -// { -// idset.add(f.getId()); //这里的id就是parentid -// } -// } } return idset; } @@ -2294,37 +2294,30 @@ public class SmsServiceImpl implements SmsService{ List chus = antenatalExaminationService.queryAntExChu(antExChuQuery); for (AntExChuModel chu : chus) { - idset.add(chu.getParentId()); + PatientsQuery patientQuery = new PatientsQuery(); + patientQuery.setYn(YnEnums.YES.getId()); + patientQuery.setType(1); + patientQuery.setId(chu.getParentId()); - AntExQuery antExQuery = new AntExQuery(); - antExQuery.setParentId(chu.getParentId()); - antExQuery.setYn(YnEnums.YES.getId()); - //复诊不存在 才添加 - List list = antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery()); - if (!CollectionUtils.isNotEmpty(list)) + List patientses = patientsService.queryPatient(patientQuery); + if (CollectionUtils.isNotEmpty(patientses)) { - idset.add(chu.getParentId()); + AntExQuery antExQuery = new AntExQuery(); + antExQuery.setParentId(chu.getParentId()); + antExQuery.setYn(YnEnums.YES.getId()); + //复诊不存在 才添加 + List list = antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery()); + if (!CollectionUtils.isNotEmpty(list)) + { + idset.add(chu.getParentId()); + } } - } - List fuzs = antenatalExaminationService.queryYuyueAntenatalExamination(startDate,tempHid,pid); + List fuzs = antenatalExaminationService.queryYuyueAntenatalExamination(startDate, tempHid, pid); for (AntenatalExaminationModel f : fuzs) { idset.add(f.getId()); //这里的id就是parentid - -// AntExQuery antExQuery = new AntExQuery(); -// antExQuery.setYn(YnEnums.YES.getId()); -// antExQuery.setParentId(f.getId()); -// -// List list = antenatalExaminationService.queryLastAntenatalExamination(antExQuery.convertToQuery()); -// if (CollectionUtils.isNotEmpty(list)) -// { -// if (list.get(0).getNextCheckTime() != null) -// { -// idset.add(f.getId()); //这里的id就是parentid -// } -// } } return idset.size() > 0; } diff --git a/platform-data-api/src/main/java/com/lyms/platform/data/util/AmsMessageService.java b/platform-data-api/src/main/java/com/lyms/platform/data/util/AmsMessageService.java index 87b97ef..1ed0a60 100644 --- a/platform-data-api/src/main/java/com/lyms/platform/data/util/AmsMessageService.java +++ b/platform-data-api/src/main/java/com/lyms/platform/data/util/AmsMessageService.java @@ -183,7 +183,7 @@ public class AmsMessageService { public static void main(String[] args) { - Map> list = getMessageTemplateMap("221", + Map> list = getMessageTemplateMap("249", AmsServiceTypeEnum.CHILD_GUIDE); List msgs = list.get("肺结核"); -- 1.8.3.1