From 63332bc36aec14fe84c816a678b2845bf179047e Mon Sep 17 00:00:00 2001 From: liquanyu Date: Mon, 10 Aug 2020 17:54:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=84=BF=E7=AB=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/facade/BabyCheckFacade.java | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 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 cb40097..377394a 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 @@ -26,11 +26,14 @@ import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.*; import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; +import com.mongodb.BasicDBObject; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.*; 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.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; @@ -3262,12 +3265,12 @@ public class BabyCheckFacade extends BaseServiceImpl { 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(2).and("nextCheckTime").gte(DateUtil.getDayFirstSecond(start)).lte(DateUtil.getDayLastSecond(end))), CheckItemOrder.class); + long count = getCount(hospitalId, start, end); data.put("allCount", String.valueOf(count)); Map param = new HashMap(); - param.put("type",null); - param.put("hospitalId",hospitalId); + param.put("type",2); + param.put("hospitalId", hospitalId); List checkItems = checkItemService.getCheckItemList(param); if (CollectionUtils.isNotEmpty(checkItems)) { List list = new ArrayList<>(); @@ -3289,6 +3292,19 @@ public class BabyCheckFacade extends BaseServiceImpl { 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(2).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 getBabyActualReport(String checkTime, Integer userId) { Map data = new HashMap<>(); -- 1.8.3.1