From e7a886f5c1b07f2874883c0a114e1bc91ca46854 Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Fri, 19 Aug 2016 16:45:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AE=BE=E7=BD=AEparentid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/query/ReferralApplyOrderQuery.java | 146 ++++++++++++++++++--- .../operate/web/facade/ApplyOrderFacade.java | 32 ++++- .../web/request/ApplyOrderQueryRequest.java | 54 +++++--- 3 files changed, 192 insertions(+), 40 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/query/ReferralApplyOrderQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/ReferralApplyOrderQuery.java index 152c09e..115ad1d 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/ReferralApplyOrderQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/ReferralApplyOrderQuery.java @@ -7,6 +7,7 @@ import com.lyms.platform.common.dao.operator.MongoCondition; import com.lyms.platform.common.dao.operator.MongoOper; import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.common.utils.StringUtils; +import org.springframework.data.mongodb.core.query.Criteria; import java.util.ArrayList; import java.util.Date; @@ -40,12 +41,13 @@ public class ReferralApplyOrderQuery extends BaseQuery implements IConvertToNati //年龄 private String age; //孕周 - private Date dueDateStart; + private String dueDateStart; //孕周 private Date dueDateEnd; //风险等级 private String rLevel; - private Integer score; + private Integer scoreStart; + private Integer scoreEnd; private String riskFactor; private String hospitalName; //转入医院 @@ -57,6 +59,78 @@ public class ReferralApplyOrderQuery extends BaseQuery implements IConvertToNati //体验会员 0非会员 1会员 private Integer expVip; + /** + * 生日 + */ + private Date birthStart; + + /** + * 生日 + */ + private Date birthEnd; + + /** + * 末次月经 + */ + private Date lastMensesStart; + + /** + * 末次月经 + */ + private Date lastMensesEnd; + + public void setDueDateStart(String dueDateStart) { + this.dueDateStart = dueDateStart; + } + + public Integer getScoreEnd() { + return scoreEnd; + } + + public void setScoreEnd(Integer scoreEnd) { + this.scoreEnd = scoreEnd; + } + + public Integer getScoreStart() { + return scoreStart; + } + + public void setScoreStart(Integer scoreStart) { + this.scoreStart = scoreStart; + } + + public Date getLastMensesEnd() { + return lastMensesEnd; + } + + public void setLastMensesEnd(Date lastMensesEnd) { + this.lastMensesEnd = lastMensesEnd; + } + + public Date getLastMensesStart() { + return lastMensesStart; + } + + public void setLastMensesStart(Date lastMensesStart) { + this.lastMensesStart = lastMensesStart; + } + + public Date getBirthEnd() { + return birthEnd; + } + + public void setBirthEnd(Date birthEnd) { + this.birthEnd = birthEnd; + } + + public Date getBirthStart() { + return birthStart; + } + + public void setBirthStart(Date birthStart) { + this.birthStart = birthStart; + } + public String getHospitalId() { return hospitalId; } @@ -145,13 +219,6 @@ public class ReferralApplyOrderQuery extends BaseQuery implements IConvertToNati this.dueDateEnd = dueDateEnd; } - public Date getDueDateStart() { - return dueDateStart; - } - - public void setDueDateStart(Date dueDateStart) { - this.dueDateStart = dueDateStart; - } @Override public MongoQuery convertToQuery() { @@ -192,9 +259,25 @@ public class ReferralApplyOrderQuery extends BaseQuery implements IConvertToNati if(null!=rLevel){ condition=condition.and("rLevel",rLevel, MongoOper.IS); } - if(null!=score){ - condition=condition.and("score",score, MongoOper.IS); + boolean isAddStart = Boolean.FALSE; + + Criteria c = null; + if (null != scoreStart) { + c = Criteria.where("score").gte(scoreStart); + isAddStart = Boolean.TRUE; + } + if (null != scoreEnd) { + if (isAddStart) { + c = c.lte(scoreEnd); + } else { + c = Criteria.where("score").lte(scoreEnd); + } + isAddStart = Boolean.TRUE; } + + + + if(null!=riskFactor){ condition=condition.and("riskFactor",riskFactor, MongoOper.IN); } @@ -222,6 +305,41 @@ public class ReferralApplyOrderQuery extends BaseQuery implements IConvertToNati MongoCondition mongoCondition1=MongoCondition.newInstance("transferredHospital", list, MongoOper.IN); condition=condition.andCondition(mongoCondition1); } + if (isAddStart) { + return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); + } + + if (null != lastMensesStart) { + c = Criteria.where("lastMenses").gte(lastMensesStart); + isAddStart = Boolean.TRUE; + } + if (null != lastMensesEnd) { + if (isAddStart) { + c = c.lte(lastMensesEnd); + } else { + c = Criteria.where("lastMenses").lte(lastMensesEnd); + } + isAddStart = Boolean.TRUE; + } + if (isAddStart) { + return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); + } + + if (null != birthStart) { + c = Criteria.where("birth").gte(birthStart); + isAddStart = Boolean.TRUE; + } + if (null != birthEnd) { + if (isAddStart) { + c = c.lte(birthEnd); + } else { + c = Criteria.where("birth").lte(birthEnd); + } + isAddStart = Boolean.TRUE; + } + if (isAddStart) { + return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); + } return condition.toMongoQuery(); } @@ -268,13 +386,7 @@ public class ReferralApplyOrderQuery extends BaseQuery implements IConvertToNati this.rLevel = rLevel; } - public Integer getScore() { - return score; - } - public void setScore(Integer score) { - this.score = score; - } public String getServiceStatus() { return serviceStatus; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java index 238931e..68c109c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java @@ -113,7 +113,7 @@ public class ApplyOrderFacade { referralApplyOrderModel.setBirth(patients.getBirth()); referralApplyOrderModel.setExpVip(patients.getExpVip()); int days = DateUtil.daysBetween(patients.getLastMenses(), new Date()); - HighScoreResult highScoreResult= antenatalExaminationFacade.findLastRisk(patients.getPid(), true); + HighScoreResult highScoreResult = antenatalExaminationFacade.findLastRisk(patients.getPid(), true); referralApplyOrderModel.setrRisk(highScoreResult.getHighId()); referralApplyOrderModel.setScore(highScoreResult.getScore()); referralApplyOrderModel.setrLevel(highScoreResult.getLevelId()); @@ -394,16 +394,33 @@ public class ApplyOrderFacade { public BaseListResponse queryApplyOrder(ApplyOrderQueryRequest applyOrderQueryRequest, Integer userId) { ReferralApplyOrderQuery referralApplyOrderQuery = new ReferralApplyOrderQuery(); referralApplyOrderQuery.setName(applyOrderQueryRequest.getName()); - referralApplyOrderQuery.setAge(applyOrderQueryRequest.getAge()); - if (StringUtils.isNotEmpty(applyOrderQueryRequest.getStartDueWeek())) { - referralApplyOrderQuery.setDueDateStart(DateUtil.parseYMD(applyOrderQueryRequest.getStartDueWeek())); + //根据年龄 + if (null != applyOrderQueryRequest.getStartAge()) { + Date date = DateUtil.addYear(new Date(), -applyOrderQueryRequest.getStartAge()); + referralApplyOrderQuery.setBirthStart(date); } - if (StringUtils.isNotEmpty(applyOrderQueryRequest.getEndDueWeek())) { - referralApplyOrderQuery.setDueDateEnd(DateUtil.parseYMD(applyOrderQueryRequest.getEndDueWeek())); + if(null!=applyOrderQueryRequest.getEndAge()){ + Date date = DateUtil.addYear(new Date(), -applyOrderQueryRequest.getEndAge()); + referralApplyOrderQuery.setBirthEnd(date); } + //根据孕周 + if(null!=applyOrderQueryRequest.getEndDueWeek()){ + + } + if(null!=applyOrderQueryRequest.getStartDueWeek()){ + + } + + if(null!=applyOrderQueryRequest.getStartScore()){ + referralApplyOrderQuery.setScoreStart(applyOrderQueryRequest.getStartScore()); + } + + if(null!=applyOrderQueryRequest.getEndScore()){ + referralApplyOrderQuery.setScoreEnd(applyOrderQueryRequest.getEndScore()); + } + referralApplyOrderQuery.setRiskFactor(applyOrderQueryRequest.getRiskFactor()); referralApplyOrderQuery.setrLevel(applyOrderQueryRequest.getrLevel()); - referralApplyOrderQuery.setScore(applyOrderQueryRequest.getScore()); referralApplyOrderQuery.setCardNo(applyOrderQueryRequest.getCardNo()); referralApplyOrderQuery.setPage(applyOrderQueryRequest.getPage()); referralApplyOrderQuery.setPhone(applyOrderQueryRequest.getPhone()); @@ -411,6 +428,7 @@ public class ApplyOrderFacade { referralApplyOrderQuery.setLimit(applyOrderQueryRequest.getLimit()); referralApplyOrderQuery.setType(applyOrderQueryRequest.getType()); referralApplyOrderQuery.setNeed("1"); + String hospital = autoMatchFacade.getHospitalId(userId); referralApplyOrderQuery.setHospitalId(hospital); referralApplyOrderQuery.setHospitalName(organizationService.getOrganization(Integer.valueOf(hospital)).getName()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ApplyOrderQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ApplyOrderQueryRequest.java index e26f1b8..48afcf0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ApplyOrderQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ApplyOrderQueryRequest.java @@ -29,7 +29,8 @@ public class ApplyOrderQueryRequest extends BasePageQueryRequest { private String phone; private String transferredHospital; //年龄 - private String age; + private Integer endAge; + private Integer startAge; //孕周 private String startDueWeek; @@ -37,7 +38,9 @@ public class ApplyOrderQueryRequest extends BasePageQueryRequest { //风险等级 private String rLevel; - private Integer score; + private Integer startScore; + private Integer endScore; + private String riskFactor; /** * 1 转入 0 转出 @@ -48,6 +51,39 @@ public class ApplyOrderQueryRequest extends BasePageQueryRequest { */ private Integer type; + + public Integer getEndAge() { + return endAge; + } + + public void setEndAge(Integer endAge) { + this.endAge = endAge; + } + + public Integer getEndScore() { + return endScore; + } + + public void setEndScore(Integer endScore) { + this.endScore = endScore; + } + + public Integer getStartAge() { + return startAge; + } + + public void setStartAge(Integer startAge) { + this.startAge = startAge; + } + + public Integer getStartScore() { + return startScore; + } + + public void setStartScore(Integer startScore) { + this.startScore = startScore; + } + public String getPhone() { return phone; } @@ -80,13 +116,6 @@ public class ApplyOrderQueryRequest extends BasePageQueryRequest { this.type = type; } - public String getAge() { - return age; - } - - public void setAge(String age) { - this.age = age; - } public String getEndDueWeek() { @@ -121,13 +150,6 @@ public class ApplyOrderQueryRequest extends BasePageQueryRequest { this.rLevel = rLevel; } - public Integer getScore() { - return score; - } - - public void setScore(Integer score) { - this.score = score; - } public String getCardNo() { return cardNo; -- 1.8.3.1