From a86a8856debb95c7881cab21d0fcbd212abfa5a3 Mon Sep 17 00:00:00 2001 From: shiyang <316555390@qq.com> Date: Tue, 31 May 2022 14:50:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=95=E4=BA=A7-=E7=A4=BE=E5=8C=BA=E5=8C=BB?= =?UTF-8?q?=E7=94=9F=E7=BB=9F=E8=AE=A1,=E8=AF=A6=E7=BB=86=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/facade/BookbuildingFacade.java | 48 +++++++++++++++++++++- .../operate/web/request/RecommendQuery.java | 7 ++-- 2 files changed, 50 insertions(+), 5 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index 71dd218..db0988c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -3402,9 +3402,22 @@ public class BookbuildingFacade { public BaseObjectResponse queryRecommend(RecommendQuery recommendQuery) { MongoQuery query = recommendQuery.convertToQuery().addOrder(Sort.Direction.DESC, "bookbuildingDate"); + System.out.println(query.convertToMongoQuery().toString()); List patientses = mongoTemplate.find(query.convertToMongoQuery(), Patients.class); + List result=new ArrayList<>(); + for (Patients patients : patientses) { + recommendQuery.setRecommend(patients.getRecommend()); + recommendQuery.setTownOrgId(patients.getTownOrgId()); + final long count = mongoTemplate.count(recommendQuery.convertToQuery().convertToMongoQuery(), Patients.class); + Map map=new HashMap(); + map=MapUtil.beanToMap(patients); + map.put("recommendCount", count); + final String townOrgName = organizationService.getOrganizationName(patients.getTownOrgId()); + map.put("townOrgName", townOrgName); + result.add(map); + } BaseObjectResponse objectResponse = new BaseObjectResponse(); - objectResponse.setData(patientses); + objectResponse.setData(result); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); objectResponse.setErrormsg("成功"); return objectResponse; @@ -3419,8 +3432,39 @@ public class BookbuildingFacade { //排序 query.addOrder(Sort.Direction.DESC, "bookbuildingDate"); List patientses = mongoTemplate.find(query.convertToMongoQuery(), Patients.class); + List result=new ArrayList<>(); + for (Patients patients : patientses) { + //孕周 + String dueWeek=""; + try { + if (patients.getBookbuildingDate().getTime() - patients.getDueDate().getTime() > 0 && patients.getBuildType() == 2) { + dueWeek = "已分娩"; + } else { + int days = DateUtil.daysBetween(patients.getLastMenses(), patients.getBookbuildingDate()); + if (days > 7 * 42 - 1) { + dueWeek = "已分娩"; + } else { + String week = (days / 7) + ""; + int day = (days % 7); + dueWeek = "孕" + week + "周" + (day > 0 ? "+" + day + "天" : ""); + } + } + } catch (Exception e) { + // 什么都不干 + } + //居住地 + final String residenceAddress = CommonsHelper.getResidence(patients.getProvinceRegisterId(), patients.getCityRegisterId(), patients.getAreaRegisterId(), patients.getStreetRegisterId(), patients.getAddressRegister(), basicConfigService); + //预约住院分娩医院 + final String makeHospital = organizationService.getOrganizationName(patients.getYyzyfmHospitalId()); + Map map=new HashMap(); + map=MapUtil.beanToMap(patients); + map.put("dueWeek",dueWeek); + map.put("residenceAddress",residenceAddress); + map.put("makeHospital",makeHospital); + result.add(map); + } BaseObjectResponse objectResponse = new BaseObjectResponse(); - objectResponse.setData(patientses); + objectResponse.setData(result); objectResponse.setPageInfo(recommendQuery.getPageInfo()); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); objectResponse.setErrormsg("成功"); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RecommendQuery.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RecommendQuery.java index 218c17c..cff0524 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RecommendQuery.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RecommendQuery.java @@ -77,15 +77,16 @@ public class RecommendQuery extends BaseQuery implements IConvertToNativeQuery { condition = condition.and("recommend", recommend, MongoOper.IS); } if (StringUtils.isNotEmpty(townOrgId)) { - condition = condition.and("townOrgId", townOrgId, MongoOper.IS); + condition = condition.and("townOrgId", townOrgId, MongoOper.NE); } Criteria c = null; - c = Criteria.where("recommend").ne(""); + c = Criteria.where("recommend").ne(null); if (null!=startTime && null!=endTime) { - c = c.where("bookbuildingDate").gte(DateUtil.getDayFirstSecond(startTime)).lte(DateUtil.getDayLastSecond(endTime)); + c = c.and("bookbuildingDate").gte(DateUtil.getDayFirstSecond(startTime)).lte(DateUtil.getDayLastSecond(endTime)); } + if (c != null) { return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); } -- 1.8.3.1