diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java index 9877aa8..2543140 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java @@ -1281,7 +1281,9 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { if (StringUtils.isNotEmpty(card)) { MongoCondition con1 = MongoCondition.newInstance("vcCardNo", card, MongoOper.IS); MongoCondition con = MongoCondition.newInstance("sINCard", card, MongoOper.IS); - condition = condition.orCondition(new MongoCondition[]{con1, con}); + MongoCondition con2 = MongoCondition.newInstance("mphone", card, MongoOper.IS); + MongoCondition con3 = MongoCondition.newInstance("encoded", card, MongoOper.IS); + condition = condition.orCondition(new MongoCondition[]{con1, con, con2, con3}); } if (null != hospitalIdList) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java index b36af14..503d482 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java @@ -28,6 +28,7 @@ import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.permission.service.impl.MeasureDataInfoServiceImpl; import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; +import com.mongodb.BasicDBObject; import net.sourceforge.pinyin4j.PinyinHelper; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.math.NumberUtils; @@ -35,6 +36,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; 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.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; @@ -1957,8 +1960,8 @@ public class AntExRecordFacade { String[] arrs = orderTime.split(" - "); Date start = DateUtil.parseYMD(arrs[0]); Date end = DateUtil.parseYMD(arrs[1]); - long count = mongoTemplate.count(Query.query(Criteria.where("hospitalId").is(hospitalId).and("type") - .is(1).and("nextCheckTime").gte(DateUtil.getDayFirstSecond(start)).lte(DateUtil.getDayLastSecond(end))), CheckItemOrder.class); + + int count = getCount(hospitalId, start, end); data.put("allCount", String.valueOf(count)); Map param = new HashMap(); @@ -1985,6 +1988,19 @@ public class AntExRecordFacade { return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setData(data).setErrormsg("成功"); } + private int getCount(String hospitalId,Date start,Date end) + { + Aggregation aggregation4 = + Aggregation.newAggregation( + Aggregation.match(Criteria.where("hospitalId").is(hospitalId).and("type") + .is(1).and("nextCheckTime").gte(DateUtil.getDayFirstSecond(start)).lte(DateUtil.getDayLastSecond(end))), + Aggregation.group("patientId").count().as("总人数")); + AggregationResults outputTypeCount4 = + mongoTemplate.aggregate(aggregation4, "lyms_check_item_order", BasicDBObject.class); + return outputTypeCount4.getMappedResults().size(); + } + + public BaseResponse getActualReport(String checkTime, Integer userId) { Map data = new HashMap<>(); @@ -1993,8 +2009,8 @@ public class AntExRecordFacade { String[] arrs = checkTime.split(" - "); Date start = DateUtil.parseYMD(arrs[0]); Date end = DateUtil.parseYMD(arrs[1]); - long count = mongoTemplate.count(Query.query(Criteria.where("hospitalId").is(hospitalId).and("type").is(1).and("nextCheckTime").gte(DateUtil.getDayFirstSecond(start)).lte(DateUtil.getDayLastSecond(end))), CheckItemOrder.class); - data.put("allCount", String.valueOf(count)); + long count = 0; //mongoTemplate.count(Query.query(Criteria.where("hospitalId").is(hospitalId).and("type").is(1).and("nextCheckTime").gte(DateUtil.getDayFirstSecond(start)).lte(DateUtil.getDayLastSecond(end))), CheckItemOrder.class); + data.put("allCount", count); Map param = new HashMap(); param.put("type",null);