From 622f905ccb11faee97bbd3344a0db128e46934e0 Mon Sep 17 00:00:00 2001 From: wtt Date: Fri, 24 Jul 2020 22:04:54 +0800 Subject: [PATCH] update --- .../com/lyms/platform/query/BabyModelQuery.java | 13 +++++ .../operate/web/facade/BabyCheckFacade.java | 26 +++++++++- .../web/facade/BabyStatisticsManagerFacade.java | 55 +++++++++++++++++++--- .../BabyStatisticsManagerWeekAgeListRequest.java | 9 ++++ 4 files changed, 95 insertions(+), 8 deletions(-) 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 342f87f..e6fa70f 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 @@ -26,6 +26,8 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { private String id; + private List ids; + private Boolean hasBlno; /** * 关键字 @@ -490,6 +492,14 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { this.weakSonInfo = weakSonInfo; } + public List getIds() { + return ids; + } + + public void setIds(List ids) { + this.ids = ids; + } + public String getDeformityKey() { return deformityKey; } @@ -950,6 +960,9 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { if (null != id) { condition = condition.and("id", id, MongoOper.IS); } + if (null != ids) { + condition = condition.and("id", ids, MongoOper.IN); + } if (null != parentIds && parentIds.size() > 0) { condition = condition.and("parentid", parentIds, MongoOper.IN); } 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 c001572..f1a24da 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 @@ -2452,6 +2452,9 @@ public class BabyCheckFacade extends BaseServiceImpl { List weightTitles = new LinkedList<>(); List weightValues = new LinkedList<>(); + List headTitles = new LinkedList<>(); + List headValues = new LinkedList<>(); + List heightTitles = new LinkedList<>(); List heightValues = new LinkedList<>(); @@ -2480,7 +2483,10 @@ public class BabyCheckFacade extends BaseServiceImpl { if (CollectionUtils.isNotEmpty(checkModels)) { for (BabyCheckModel checkModel : checkModels) { if (checkModel != null) { - if (org.apache.commons.lang.StringUtils.isNotEmpty(checkModel.getHeight()) || org.apache.commons.lang.StringUtils.isNotEmpty(checkModel.getWeight())) { + if (org.apache.commons.lang.StringUtils.isNotEmpty(checkModel.getHeight()) + || org.apache.commons.lang.StringUtils.isNotEmpty(checkModel.getWeight()) + || org.apache.commons.lang.StringUtils.isNotEmpty(checkModel.getHead()) + ) { int month = DateUtil.getBabyAgeMonth(babyModel.getBirth(), checkModel.getCheckDate()); Map heightMap = new HashMap<>(); heightMap.put("time", month); @@ -2514,6 +2520,21 @@ public class BabyCheckFacade extends BaseServiceImpl { } else { heightMap.put("weight", "--"); } + if (org.apache.commons.lang.StringUtils.isNotEmpty(checkModel.getHead())) { + if (org.apache.commons.lang.StringUtils.isNumeric(checkModel.getHead()) || Pattern.compile("^[-\\+]?[.\\d]*$").matcher(checkModel.getHead()).matches()) { + + if (headTitles.contains(month)) {//如果存在月的数据则更新对应索引的值 + int index = headTitles.indexOf(month); + headValues.set(index, checkModel.getHead()); + } else { + headTitles.add(month); + headValues.add(checkModel.getHead()); + } + } + heightMap.put("head", checkModel.getHead()); + } else { + heightMap.put("head", "--"); + } tables.add(heightMap); } } @@ -2522,6 +2543,9 @@ public class BabyCheckFacade extends BaseServiceImpl { map.put("weightTitles", weightTitles); map.put("weightValues", weightValues); + map.put("headTitles", headTitles); + map.put("headValues", headValues); + map.put("heightTitles", heightTitles); map.put("heightValues", heightValues); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyStatisticsManagerFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyStatisticsManagerFacade.java index d868871..8c3b130 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyStatisticsManagerFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyStatisticsManagerFacade.java @@ -505,7 +505,10 @@ public class BabyStatisticsManagerFacade { if (!babyStatisticsManagerWeekAgeListRequest.isExcel()) { babyCheckModelQuery.setLimit(babyStatisticsManagerWeekAgeListRequest.getLimit()); babyCheckModelQuery.setPage(babyStatisticsManagerWeekAgeListRequest.getPage()); - babyCheckModelQuery.setNeed("need"); + if(StringUtils.isEmpty(babyStatisticsManagerWeekAgeListRequest.getSex())){ + babyCheckModelQuery.setNeed("need"); + } + } String hospitalId; @@ -517,6 +520,49 @@ public class BabyStatisticsManagerFacade { return babyStatisticsManagerWeekAgeListResult; } babyCheckModelQuery.setHospitalId(hospitalId); + List babyStatisticsManagerWeekAgeListQueryModelList = getbabyCheckList(babyCheckModelQuery); + //性别查询 + if(StringUtils.isNotEmpty(babyStatisticsManagerWeekAgeListRequest.getSex()) && CollectionUtils.isNotEmpty(babyStatisticsManagerWeekAgeListQueryModelList)){ + //获取儿童档案id,在筛选性别,后获取儿童id。 + List list = new ArrayList(); + for (int i = 0; i < babyStatisticsManagerWeekAgeListQueryModelList.size(); i++) { + BabyStatisticsManagerWeekAgeListQueryModel babyStatisticsManagerWeekAgeListQueryModel = babyStatisticsManagerWeekAgeListQueryModelList.get(i); + if(babyStatisticsManagerWeekAgeListQueryModel!=null && StringUtils.isNotEmpty(babyStatisticsManagerWeekAgeListQueryModel.getBabyId())){ + list.add(babyStatisticsManagerWeekAgeListQueryModel.getBabyId()); + } + } + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setIds(list); + babyQuery.setSex(Integer.parseInt(babyStatisticsManagerWeekAgeListRequest.getSex())); + babyQuery.setYn(YnEnums.YES.getId()); + List babies = babyService.queryBabyWithQuery(babyQuery); + List babieslist = new ArrayList(); + for (int i = 0; i < babies.size(); i++) { + BabyModel babyModel = babies.get(i); + if(babyModel!=null && StringUtils.isNotEmpty(babyModel.getId())){ + babieslist.add(babyModel.getId()); + } + } + //在筛选儿保检查 + babyCheckModelQuery.setNeed("need"); + if(CollectionUtils.isNotEmpty(babieslist)){ + String[] strings = new String[babieslist.size()]; + babyCheckModelQuery.setBuildIds(babieslist.toArray(strings)); + babyStatisticsManagerWeekAgeListQueryModelList = getbabyCheckList(babyCheckModelQuery); + }else { + babyStatisticsManagerWeekAgeListQueryModelList = null; + babyCheckModelQuery.mysqlBuild(0); + } + + } + babyStatisticsManagerWeekAgeListResult.setPageInfo(babyCheckModelQuery.getPageInfo()); + babyStatisticsManagerWeekAgeListResult.setData(babyStatisticsManagerWeekAgeListQueryModelList); + babyStatisticsManagerWeekAgeListResult.setErrorcode(ErrorCodeConstants.SUCCESS); + babyStatisticsManagerWeekAgeListResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + return babyStatisticsManagerWeekAgeListResult; + } + + private List getbabyCheckList(BabyCheckModelQuery babyCheckModelQuery) { List babyCheckModelList = babyCheckService.queryBabyCheckRecord(babyCheckModelQuery); List babyStatisticsManagerWeekAgeListQueryModelList = new ArrayList<>(); @@ -578,12 +624,7 @@ public class BabyStatisticsManagerFacade { babyStatisticsManagerWeekAgeListQueryModelList.add(babyStatisticsManagerWeekAgeListQueryModel); } } - - babyStatisticsManagerWeekAgeListResult.setPageInfo(babyCheckModelQuery.getPageInfo()); - babyStatisticsManagerWeekAgeListResult.setData(babyStatisticsManagerWeekAgeListQueryModelList); - babyStatisticsManagerWeekAgeListResult.setErrorcode(ErrorCodeConstants.SUCCESS); - babyStatisticsManagerWeekAgeListResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); - return babyStatisticsManagerWeekAgeListResult; + return babyStatisticsManagerWeekAgeListQueryModelList; } public BabyStatisticsManagerBuildSourceListResult babyStatisticsManagerBuildSourceList(BabyStatisticsManagerBuildSourceListRequest babyStatisticsManagerBuildSourceListRequest) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyStatisticsManagerWeekAgeListRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyStatisticsManagerWeekAgeListRequest.java index abd5ef1..94cd169 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyStatisticsManagerWeekAgeListRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyStatisticsManagerWeekAgeListRequest.java @@ -14,6 +14,15 @@ public class BabyStatisticsManagerWeekAgeListRequest extends BasePageQueryReques private String weekAge; private boolean isExcel; + private String sex; + + public String getSex() { + return sex; + } + + public void setSex(String sex) { + this.sex = sex; + } public String getCheckDate() { return checkDate; -- 1.8.3.1