From 5db9ef2530a59cddcec7fee7bf6ae002452bbb74 Mon Sep 17 00:00:00 2001 From: dongqin <123456> Date: Thu, 20 Jun 2019 10:34:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BF=E8=A7=86=E6=B7=BB=E5=8A=A0=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/query/MatDeliverQuery.java | 15 +++++ .../operate/web/facade/MatDeliverFacade.java | 40 ++++++++++--- .../web/request/MatdeliverFollowRequest.java | 65 ++++++++++++++++++++++ 3 files changed, 111 insertions(+), 9 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java index 5ceefa8..fcbc80d 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java @@ -45,6 +45,17 @@ public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery private Date modifiedEnd; private Integer rHloseBloodL; + private List pids; + + + public List getPids() { + return pids; + } + + public void setPids(List pids) { + this.pids = pids; + } + public Integer getrHloseBloodL() { return rHloseBloodL; } @@ -239,6 +250,10 @@ public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery condition = condition.and("siLielevel", siLielevels, MongoOper.IN); } + if (CollectionUtils.isNotEmpty(pids)) { + condition = condition.and("pid", pids, MongoOper.IN); + } + if (null != pid) { condition = condition.and("pid", pid, MongoOper.IS); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index cc62bd2..56617e3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -33,6 +33,7 @@ import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; +import org.joda.time.format.ISODateTimeFormat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -1830,12 +1831,28 @@ public class MatDeliverFacade { // 没有查到,直接抛出 return listResponse; } + List parentIdList = new ArrayList<>(); for (Patients patients : patientsList) { parentIdList.add(patients.getId()); } matDeliverQuery.setParentIdList(parentIdList); } + String startAge = matdeliverFollowRequest.getStartAge(); + String endAge = matdeliverFollowRequest.getEndAge(); + List pids = new ArrayList(); + // 年龄段 + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(startAge) && + com.lyms.platform.common.utils.StringUtils.isNotEmpty(endAge)) { + long startTime = System.currentTimeMillis() - Integer.parseInt(startAge) * 356 * 24 * 60 * 60 * 1000; + long endTime = System.currentTimeMillis() - Integer.parseInt(endAge) * 356 * 24 * 60 * 60 * 1000; + List personModels = mongoTemplate.find(Query.query(Criteria.where("birth").gte(new Date(startTime)).and("birth").lte(new Date(endTime))), PersonModel.class); + for (PersonModel model : personModels) { + pids.add(model.getId()); + } + } + matDeliverQuery.setPids(pids); + matDeliverQuery.setYn(YnEnums.YES.getId()); //分娩日期 @@ -1894,6 +1911,19 @@ public class MatDeliverFacade { matDeliverQuery.setParentIdList(parentIdList); } + // 高危等级 + String highRiskLevel = matdeliverFollowRequest.getHighRiskLevel(); + List patientGaoweis = mongoTemplate.find(Query.query(Criteria.where("riskLevelId").regex(highRiskLevel).and("yn").is("1")), Patients.class); + List patientIds = new ArrayList<>(); + for (Patients patient : patientGaoweis) { + patientIds.add(patient.getId()); + } + List parentIdList1 = matDeliverQuery.getParentIdList(); + if (CollectionUtils.isNotEmpty(parentIdList1)) { + patientIds.addAll(parentIdList1); + } + matDeliverQuery.setParentIdList(patientIds); + if (StringUtils.isNotEmpty(matdeliverFollowRequest.getNeed())) {//是否分页 matDeliverQuery.setNeed("need"); @@ -2096,15 +2126,7 @@ public class MatDeliverFacade { MatdeliverFollowModel model = followModels.get(followModels.size() - 1); Integer contactReason = model.getContactReason(); if (contactReason != null) { - if (contactReason == 1) { - contactReasonStr = "无人接听电话"; - } - if (contactReason == 2) { - contactReasonStr = "拒绝访视"; - } - if (contactReason == 3) { - contactReasonStr = "其他"; - } + contactReasonStr = PostpartumFollowMakeEnums.ReasonEnum.getTitle(contactReason); } } matdeliverFollowListResult.setCauseFailure(contactReasonStr); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java index 6e3e8bab..ad45555 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java @@ -101,6 +101,71 @@ public class MatdeliverFollowRequest extends BasePageQueryRequest{ //访视机构 private String fsHospitalId; + /** + * 开始年龄段 + */ + private String startAge; + + /** + * 结束年龄段 + */ + private String endAge; + + /** + * 开始访视时间 + */ + private String fsStartTime; + + /** + * 结束访视时间 + */ + private String fsEndTime; + + /** + * 高危等级 + */ + private String highRiskLevel; + + public String getStartAge() { + return startAge; + } + + public void setStartAge(String startAge) { + this.startAge = startAge; + } + + public String getEndAge() { + return endAge; + } + + public void setEndAge(String endAge) { + this.endAge = endAge; + } + + public String getFsStartTime() { + return fsStartTime; + } + + public void setFsStartTime(String fsStartTime) { + this.fsStartTime = fsStartTime; + } + + public String getFsEndTime() { + return fsEndTime; + } + + public void setFsEndTime(String fsEndTime) { + this.fsEndTime = fsEndTime; + } + + public String getHighRiskLevel() { + return highRiskLevel; + } + + public void setHighRiskLevel(String highRiskLevel) { + this.highRiskLevel = highRiskLevel; + } + public String getFsHospitalId() { return fsHospitalId; } -- 1.8.3.1