From b55a711fffa9b1e27f647bf4ab23e03dd4ee913c Mon Sep 17 00:00:00 2001 From: liquanyu Date: Thu, 22 Dec 2016 19:02:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=84=BF=E7=AB=A5=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/biz/dal/IBabyCheckDao.java | 2 + .../platform/biz/dal/impl/BabyCheckDaoImpl.java | 5 + .../platform/biz/service/BabyCheckService.java | 7 +- .../com/lyms/platform/pojo/BabyCheckModel.java | 10 ++ .../lyms/platform/query/BabyCheckModelQuery.java | 140 ++++++++++++++- .../com/lyms/platform/query/BabyModelQuery.java | 4 +- .../web/controller/BabyBuildController.java | 18 +- .../operate/web/controller/TestController.java | 2 +- .../operate/web/facade/BabyBookbuildingFacade.java | 197 ++++++++++++++------- .../operate/web/utils/GrowthCountTask.java | 75 +++++++- 10 files changed, 381 insertions(+), 79 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IBabyCheckDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IBabyCheckDao.java index 88b804a..8a2ac6a 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IBabyCheckDao.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IBabyCheckDao.java @@ -20,4 +20,6 @@ public interface IBabyCheckDao { List queryLastCheck(List ids); List queryLastDiagnoseCheck(List ids); + + int queryBabyCheckCount(MongoQuery mongoQuery); } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyCheckDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyCheckDaoImpl.java index 782882a..0c9d08a 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyCheckDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyCheckDaoImpl.java @@ -64,5 +64,10 @@ public class BabyCheckDaoImpl extends BaseMongoDAOImpl implement return result.getMappedResults(); } + @Override + public int queryBabyCheckCount(MongoQuery mongoQuery) { + return (int) count(mongoQuery.convertToMongoQuery()); + } + } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java index 5839eca..e5793d3 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java @@ -51,7 +51,7 @@ public class BabyCheckService { } public List queryBabyCheckRecord(BabyCheckModelQuery query,String sortkey,Sort.Direction sort) { - return babyCheckDao.queryBabyCheckRecord(query.convertToQuery().addOrder(sort,sortkey)); + return babyCheckDao.queryBabyCheckRecord(query.convertToQuery().addOrder(sort, sortkey)); } public List queryHWByHeight(Double height, Integer sex) { @@ -86,4 +86,9 @@ public class BabyCheckService { return babyCheckDao.queryLastDiagnoseCheck(ids); } + + public int queryBabyCheckCount(BabyCheckModelQuery babyQuery) { + + return babyCheckDao.queryBabyCheckCount(babyQuery.convertToQuery()); + } } \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyCheckModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyCheckModel.java index ee79027..0870d34 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyCheckModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyCheckModel.java @@ -232,6 +232,16 @@ public class BabyCheckModel extends BaseModel { //头围评价 private String headEvaluate; + private Date birth; + + public Date getBirth() { + return birth; + } + + public void setBirth(Date birth) { + this.birth = birth; + } + public String getWeightEvaluate() { return weightEvaluate; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java index 790b4b2..56f79d5 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java @@ -31,6 +31,31 @@ public class BabyCheckModelQuery extends BaseQuery implements IConvertToNativeQu private String hospitalId; + //体重评价 + private String weightEvaluate; + //身长评价 + private String heightEvaluate; + //头围评价 + private String headEvaluate; + + //身长别体重 + private String heightWeight; + + /** + * 生日 + */ + private Date birthStart; + + /** + * 生日 + */ + private Date birthEnd; + + private Date checkDateStart; + private Date checkDateEnd; + + + @Override public MongoQuery convertToQuery() { MongoCondition condition = MongoCondition.newInstance(); @@ -41,16 +66,65 @@ public class BabyCheckModelQuery extends BaseQuery implements IConvertToNativeQu if(null!=yn){ condition=condition.and("yn", yn, MongoOper.IS); } + + if (null != weightEvaluate) { + condition = condition.and("weightEvaluate", weightEvaluate, MongoOper.IS); + } + if (null != heightEvaluate) { + condition = condition.and("heightEvaluate", heightEvaluate, MongoOper.IS); + } + if (null != headEvaluate) { + condition = condition.and("headEvaluate", headEvaluate, MongoOper.IS); + } + if (null != heightWeight) { + condition = condition.and("heightWeight", heightWeight, MongoOper.IS); + } + if(null!=buildId){ condition=condition.and("buildId", buildId, MongoOper.IS); } if(null!=hospitalId){ - condition=condition.and("hospitalId",hospitalId,MongoOper.IS); + condition=condition.and("hospitalId", hospitalId, MongoOper.IS); } if(null!=buildIds && buildIds.length > 0){ Criteria c = Criteria.where("buildId").in(Arrays.asList(buildIds)); condition.andCondition( new MongoCondition(c)); } + + + Criteria c = null; + if (null != birthStart) { + c = Criteria.where("birth").gte(birthStart); + } + + if (null != birthEnd) { + if (null != c) { + c = c.lte(birthEnd); + } else { + c = Criteria.where("birth").lte(birthEnd); + } + } + + if (null != checkDateStart) { + if (null != c) { + c = c.and("checkDate").gte(checkDateStart); + } else { + c = Criteria.where("checkDate").gte(checkDateStart); + } + } + + if (null != checkDateEnd) { + if (null != c) { + c = c.lte(checkDateEnd); + } else { + c = Criteria.where("checkDate").lte(checkDateEnd); + } + } + + if (c != null) { + return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); + } + return condition.toMongoQuery(); } @@ -93,4 +167,68 @@ public class BabyCheckModelQuery extends BaseQuery implements IConvertToNativeQu public void setBuildIds(String[] buildIds) { this.buildIds = buildIds; } + + public String getWeightEvaluate() { + return weightEvaluate; + } + + public void setWeightEvaluate(String weightEvaluate) { + this.weightEvaluate = weightEvaluate; + } + + public String getHeightEvaluate() { + return heightEvaluate; + } + + public void setHeightEvaluate(String heightEvaluate) { + this.heightEvaluate = heightEvaluate; + } + + public String getHeadEvaluate() { + return headEvaluate; + } + + public void setHeadEvaluate(String headEvaluate) { + this.headEvaluate = headEvaluate; + } + + public String getHeightWeight() { + return heightWeight; + } + + public void setHeightWeight(String heightWeight) { + this.heightWeight = heightWeight; + } + + public Date getBirthStart() { + return birthStart; + } + + public void setBirthStart(Date birthStart) { + this.birthStart = birthStart; + } + + public Date getBirthEnd() { + return birthEnd; + } + + public void setBirthEnd(Date birthEnd) { + this.birthEnd = birthEnd; + } + + public Date getCheckDateStart() { + return checkDateStart; + } + + public void setCheckDateStart(Date checkDateStart) { + this.checkDateStart = checkDateStart; + } + + public Date getCheckDateEnd() { + return checkDateEnd; + } + + public void setCheckDateEnd(Date checkDateEnd) { + this.checkDateEnd = checkDateEnd; + } } \ No newline at end of file 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 4bb7698..702e43f 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 @@ -498,10 +498,10 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { condition = condition.and("heightEvaluate", heightEvaluate, MongoOper.IS); } if (null != headEvaluate) { - condition = condition.and("pregnancyOut", headEvaluate, MongoOper.IS); + condition = condition.and("headEvaluate", headEvaluate, MongoOper.IS); } if (null != heightWeight) { - condition = condition.and("pregnancyOut", heightWeight, MongoOper.IS); + condition = condition.and("heightWeight", heightWeight, MongoOper.IS); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java index 30af8bd..f742275 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java @@ -55,7 +55,7 @@ public class BabyBuildController extends BaseController { if (request != null && !StringUtils.isEmpty(request.getId())) { return babyBookbuildingFacade.updateBabyBookbuilding(request,loginState.getId()); } - return babyBookbuildingFacade.addBabyBookbuilding(request,loginState.getId()); + return babyBookbuildingFacade.addBabyBookbuilding(request, loginState.getId()); } @@ -284,7 +284,7 @@ public class BabyBuildController extends BaseController { @TokenRequired public BaseResponse babyGuildSms(@Valid @RequestBody BabyGuideSmsequest param,HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return babyBookbuildingFacade.sendBabyGuideSms(param,loginState.getId()); + return babyBookbuildingFacade.sendBabyGuideSms(param, loginState.getId()); } @@ -381,7 +381,19 @@ public class BabyBuildController extends BaseController { public BaseResponse getBabyGroupCount(@Valid @RequestBody BabyManageRequest babyManageRequest, HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return babyBookbuildingFacade.getBabyGroupCount(babyManageRequest,loginState.getId()); + return babyBookbuildingFacade.getBabyGroupCount(babyManageRequest, loginState.getId()); + } + + /** + * 儿童生长统计右边列表 + * @param babyManageRequest + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/getBabyGroupRightCount") + @ResponseBody + public BaseResponse getBabyGroupRightCount(@Valid @RequestBody BabyManageRequest babyManageRequest,HttpServletRequest request){ + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return babyBookbuildingFacade.getBabyGroupRightCount(babyManageRequest,loginState.getId()); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java index 902fec4..a6a2402 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java @@ -792,7 +792,7 @@ public class TestController { checkModel.setHeightWeight(hw); } - + checkModel.setBirth(babyModel.getBirth()); babyCheckService.updateBabyCheck(checkModel,checkModel.getId()); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index dfedcb1..3690adc 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -1747,7 +1747,7 @@ public class BabyBookbuildingFacade { } babyQuery.setBuildDateEnd(date); } - } + } // 省 babyQuery.setProvinceId(StringUtils.isEmpty(request.getProvinceId())?null:request.getProvinceId()); @@ -2083,7 +2083,7 @@ public class BabyBookbuildingFacade { public QueryHospitalListResult queryHospitalList(QueryHospitalListRequest queryHospitalListRequest) { QueryHospitalListResult queryHospitalListResult = new QueryHospitalListResult(); OrganizationQuery organizationQuery = new OrganizationQuery(); - BeanUtils.copy(queryHospitalListRequest,organizationQuery); + BeanUtils.copy(queryHospitalListRequest, organizationQuery); List typeList = new ArrayList<>(); typeList.add(OrganizationTypeEnum.NY.getId()); typeList.add(OrganizationTypeEnum.FB.getId()); @@ -2130,105 +2130,176 @@ public class BabyBookbuildingFacade { } } - BabyModelQuery babyQuery = new BabyModelQuery(); - List buildType = new ArrayList(); - buildType.add(1); - buildType.add(2); - babyQuery.setBuildTypeList(buildType); + BabyCheckModelQuery babyQuery = new BabyCheckModelQuery(); babyQuery.setHospitalId(hospitalId); babyQuery.setYn(YnEnums.YES.getId()); Date currentDate = DateUtil.formatDate(new Date()); - if(StringUtils.isNotEmpty(request.getBirth()) && request.getMonthAgeStart() != null && request.getMonthAgeEnd() != null) + if (StringUtils.isNotEmpty(request.getBirth())) { - - Date start = DateUtil.addMonth(currentDate, -request.getMonthAgeStart()); String birthStr = request.getBirth(); String[] dates = birthStr.split(" - "); + babyQuery.setBirthStart(DateUtil.parseYMD(dates[0])); + babyQuery.setBirthEnd(DateUtil.parseYMD(dates[1])); + } + if (request.getMonthAgeStart() != null) + { + Date start = DateUtil.addMonth(currentDate, -request.getMonthAgeStart()); + babyQuery.setCheckDateEnd(start); + } + if (request.getMonthAgeEnd() != null) + { + Date end = DateUtil.addDay(DateUtil.addMonth(currentDate, -request.getMonthAgeEnd() - 1), 1); + babyQuery.setCheckDateStart(end); + } + Map> result = new HashMap<>(); - if (DateUtil.parseYMD(dates[1]).getTime() < start.getTime()) - { - babyQuery.setBirthEnd(DateUtil.parseYMD(dates[1])); + Map> mapItems = getCountGroupItemMaps(); + for(String key : mapItems.keySet()) + { + List groups = mapItems.get(key); + GrowthCountTask task = new GrowthCountTask(groups,babyQuery,babyCheckService,key); + result.put(key,task.getResults()); + } - } - else - { - babyQuery.setBirthEnd(start); - } + BaseObjectResponse objectResponse = new BaseObjectResponse(); + objectResponse.setData(result); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("成功"); + return objectResponse; + } - Date end = DateUtil.addDay(DateUtil.addMonth(currentDate, -request.getMonthAgeEnd() - 1), 1); - if (DateUtil.parseYMD(dates[0]).getTime() < end.getTime()) - { - babyQuery.setBirthStart(end); - } - else - { - babyQuery.setBirthStart(DateUtil.parseYMD(dates[0])); - } - } - else if (StringUtils.isNotEmpty(request.getBirth()) && request.getMonthAgeStart() != null ) - { - Date start = DateUtil.addMonth(currentDate, -request.getMonthAgeStart()); - String birthStr = request.getBirth(); - String[] dates = birthStr.split(" - "); - if (DateUtil.parseYMD(dates[1]).getTime() < start.getTime()) - { - babyQuery.setBirthEnd(DateUtil.parseYMD(dates[1])); - } - else - { - babyQuery.setBirthEnd(start); + /** + * 儿童生长发育统计右边统计列表 + * @param request + * @param userId + * @return + */ + public BaseResponse getBabyGroupRightCount(BabyManageRequest request, Integer userId) { + String hospitalId = ""; + //得到当前登录的医院id + if (userId != null) { + Users dbuser = usersService.getUsers(userId); + if (dbuser != null) { + hospitalId = String.valueOf(dbuser.getOrgId()); } + } - babyQuery.setBirthStart(DateUtil.parseYMD(dates[0])); + BabyCheckModelQuery babyQuery = new BabyCheckModelQuery(); + babyQuery.setHospitalId(hospitalId); - } - else if (StringUtils.isNotEmpty(request.getBirth())) + babyQuery.setYn(YnEnums.YES.getId()); + Date currentDate = DateUtil.formatDate(new Date()); + + if (StringUtils.isNotEmpty(request.getBirth())) { String birthStr = request.getBirth(); String[] dates = birthStr.split(" - "); babyQuery.setBirthStart(DateUtil.parseYMD(dates[0])); babyQuery.setBirthEnd(DateUtil.parseYMD(dates[1])); } - else if (request.getMonthAgeStart() != null && request.getMonthAgeEnd() != null) - { - Date start = DateUtil.addMonth(currentDate, -request.getMonthAgeStart()); - babyQuery.setBirthEnd(start); - - Date end = DateUtil.addDay(DateUtil.addMonth(currentDate, -request.getMonthAgeEnd() - 1), 1); - babyQuery.setBirthStart(end); - } - else if (request.getMonthAgeStart() != null) + if (request.getMonthAgeStart() != null) { Date start = DateUtil.addMonth(currentDate, -request.getMonthAgeStart()); - babyQuery.setBirthEnd(start); + babyQuery.setCheckDateEnd(start); } - else if (request.getMonthAgeEnd() != null) + if (request.getMonthAgeEnd() != null) { Date end = DateUtil.addDay(DateUtil.addMonth(currentDate, -request.getMonthAgeEnd() - 1), 1); - babyQuery.setBirthStart(end); + babyQuery.setCheckDateStart(end); } - Map> result = new HashMap<>(); - Map> mapItems = getCountGroupItemMaps(); - for(String key : mapItems.keySet()) - { - List groups = mapItems.get(key); - GrowthCountTask task = new GrowthCountTask(groups,babyQuery,babyBookbuildingService,key); - result.put(key,task.getResults()); + List> results = new ArrayList<>(); + + List babyCheckModels = babyCheckService.queryBabyCheckRecord(babyQuery); + if (CollectionUtils.isNotEmpty(babyCheckModels)) { + int batchSize = 50; + int end = 0; + List futures = new ArrayList<>(); + for (int i = 0; i < babyCheckModels.size(); i += batchSize) { + end = (end + batchSize); + if (end > babyCheckModels.size()) { + end = babyCheckModels.size(); + } + final List checkModels = babyCheckModels.subList(i, end); + Callable c = new Callable() + { + @Override + public List> call() throws Exception { + List> list = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(checkModels)) + { + for(BabyCheckModel checkModel : checkModels) + { + if (StringUtils.isNotEmpty(checkModel.getBuildId())) + { + BabyModel model = getBabyModelById(checkModel.getBuildId()); + Map map = new HashMap<>(); + map.put("babyId",model.getId()); + map.put("checkId",checkModel.getId()); + map.put("sex", StringUtils.emptyDeal(SexEnum.getTextById(model.getSex()))); //性别 + map.put("babyName", StringUtils.emptyDeal(model.getName())); //儿童名称 + map.put("birthday", StringUtils.emptyDeal(DateUtil.getyyyy_MM_dd(model.getBirth()))); //生日 + map.put("age",""); //当前月龄 + map.put("height",checkModel.getHeight()); //身长 + map.put("weight", checkModel.getWeight()); //体重 + map.put("growthEvaluate",checkModel.getGrowthEvaluate()); //体格发育评价 + map.put("checkDate",StringUtils.emptyDeal(DateUtil.getyyyy_MM_dd(checkModel.getCheckDate()))); + String checkDoctorId = checkModel.getCheckDoctor() ; + String checkDoctor = ""; + if (StringUtils.isNotEmpty(checkDoctorId)) + { + Users user = usersService.getUsers(Integer.parseInt(checkDoctorId)); + if (user != null) + { + checkDoctor = user.getName(); + } + } + map.put("checkDoctor",checkDoctor); + } + + } + } + return list; + } + }; + + Future f = pool.submit(c); + futures.add(f); + } + for (Future f : futures) { + try { + results.addAll((List) f.get(30, TimeUnit.SECONDS)); + } catch (Exception e) { + ExceptionUtils.catchException(e, "baby check list"); + } + } } BaseObjectResponse objectResponse = new BaseObjectResponse(); - objectResponse.setData(result); + objectResponse.setData(results); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); objectResponse.setErrormsg("成功"); return objectResponse; } + private BabyModel getBabyModelById(String id) + { + BabyModelQuery query = new BabyModelQuery(); + query.setId(id); + query.setYn(YnEnums.YES.getId()); + List models = babyBookbuildingService.queryBabyBuildByCond(query); + if (CollectionUtils.isNotEmpty(models)) + { + return models.get(0); + } + return null; + } + public Map> getCountGroupItemMaps() { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/GrowthCountTask.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/GrowthCountTask.java index f7f01ae..a4acdbf 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/GrowthCountTask.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/GrowthCountTask.java @@ -1,8 +1,10 @@ package com.lyms.platform.operate.web.utils; import com.lyms.platform.biz.service.BabyBookbuildingService; +import com.lyms.platform.biz.service.BabyCheckService; import com.lyms.platform.common.utils.ExceptionUtils; import com.lyms.platform.operate.web.result.BabyGrowthCountResult; +import com.lyms.platform.query.BabyCheckModelQuery; import com.lyms.platform.query.BabyModelQuery; import org.apache.commons.collections.CollectionUtils; @@ -16,16 +18,16 @@ import java.util.concurrent.*; public class GrowthCountTask{ private static ExecutorService pool = Executors.newFixedThreadPool(6); - private BabyModelQuery babyQuery; + private BabyCheckModelQuery babyQuery; private List growth; - private BabyBookbuildingService babyBookbuildingService; + private BabyCheckService babyCheckService; private String type; - public GrowthCountTask(List growth,BabyModelQuery babyQuery, - BabyBookbuildingService babyBookbuildingService,String type) + public GrowthCountTask(List growth,BabyCheckModelQuery babyQuery, + BabyCheckService babyCheckService,String type) { this.babyQuery=babyQuery; this.growth = growth; - this.babyBookbuildingService = babyBookbuildingService; + this.babyCheckService = babyCheckService; this.type = type; } public List getResults() { @@ -59,8 +61,8 @@ public class GrowthCountTask{ { babyQuery.setWeightEvaluate(grouwth.getEvaluate()); } - int count = babyBookbuildingService.queryBabyCount(babyQuery); - grouwth.setCount(String.valueOf(count)); + int count = babyCheckService.queryBabyCheckCount(babyQuery); + grouwth.setCount(String.valueOf(count)); } } @@ -82,4 +84,61 @@ public class GrowthCountTask{ return results; } -} + + + +// public List getResults() { +// List results = new ArrayList<>(); +// if (CollectionUtils.isNotEmpty(growth)) { +// +// int batchSize = 1; +// int end = 0; +// List futures = new ArrayList<>(); +// for (int i = 0; i < growth.size(); i += batchSize) { +// end = (end + batchSize); +// if (end > growth.size()) { +// end = growth.size(); +// } +// +// final List growths = growth.subList(i, end); +// Callable c = new Callable() +// { +// @Override +// public List call() throws Exception { +// +// if (CollectionUtils.isNotEmpty(growths)) +// { +// for(BabyGrowthCountResult grouwth : growths) +// { +// if ("身长".equals(type)) +// { +// babyQuery.setHeightEvaluate(grouwth.getEvaluate()); +// } +// else if ("体重".equals(type)) +// { +// babyQuery.setWeightEvaluate(grouwth.getEvaluate()); +// } +// int count = babyBookbuildingService.queryBabyCount(babyQuery); +// grouwth.setCount(String.valueOf(count)); +// } +// } +// +// return growths; +// } +// }; +// +// Future f = pool.submit(c); +// futures.add(f); +// } +// for (Future f : futures) { +// try { +// results.addAll((List) f.get(30, TimeUnit.SECONDS)); +// } catch (Exception e) { +// ExceptionUtils.catchException(e, "baby growth count"); +// } +// } +// } +// +// return results; +// } +} \ No newline at end of file -- 1.8.3.1