Commit 37b3c3491e5281d7579a69107eb1209d722683d0
1 parent
2f91184307
Exists in
master
and in
1 other branch
孕产妇管理列表修改
Showing 9 changed files with 191 additions and 25 deletions
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPatientDao.java
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientDaoImpl.java
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java
- platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java
- platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPatientDao.java
View file @
37b3c34
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientDaoImpl.java
View file @
37b3c34
| ... | ... | @@ -7,6 +7,7 @@ |
| 7 | 7 | import com.lyms.platform.common.dao.operator.MongoQuery; |
| 8 | 8 | import com.lyms.platform.common.dao.operator.Page; |
| 9 | 9 | import com.lyms.platform.pojo.AntenatalExaminationModel; |
| 10 | +import com.lyms.platform.pojo.BabyModel; | |
| 10 | 11 | import com.lyms.platform.pojo.Patients; |
| 11 | 12 | import org.bson.types.ObjectId; |
| 12 | 13 | import org.springframework.data.mongodb.core.aggregation.Aggregation; |
| ... | ... | @@ -15,6 +16,7 @@ |
| 15 | 16 | import org.springframework.data.mongodb.core.aggregation.Field; |
| 16 | 17 | import org.springframework.data.mongodb.core.query.Criteria; |
| 17 | 18 | import org.springframework.data.mongodb.core.query.Query; |
| 19 | +import org.springframework.data.mongodb.core.query.Update; | |
| 18 | 20 | import org.springframework.stereotype.Repository; |
| 19 | 21 | |
| 20 | 22 | import java.util.List; |
| ... | ... | @@ -34,6 +36,12 @@ |
| 34 | 36 | public void findAndModify(MongoQuery query,Patients obj){ |
| 35 | 37 | updateMulti(query.convertToMongoQuery(),obj); |
| 36 | 38 | } |
| 39 | + | |
| 40 | + @Override | |
| 41 | + public void updatePatientOneCol(String id, String colName, Object colValue) { | |
| 42 | + this.mongoTemplate.updateFirst(new Query(Criteria.where("id").is(id)), Update.update(colName, colValue), BabyModel.class); | |
| 43 | + } | |
| 44 | + | |
| 37 | 45 | @Override |
| 38 | 46 | public void updatePatient(Patients obj, String id) { |
| 39 | 47 | update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), obj); |
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java
View file @
37b3c34
| ... | ... | @@ -101,6 +101,11 @@ |
| 101 | 101 | return iPatientDao.getPatient(id); |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | + public void updatePatientOneCol(String id,String colName,Object colValue) | |
| 105 | + { | |
| 106 | + iPatientDao.updatePatientOneCol(id,colName,colValue); | |
| 107 | + } | |
| 108 | + | |
| 104 | 109 | /** |
| 105 | 110 | * 满足孕15+3至20+6之间和有产筛申请单的数据 |
| 106 | 111 | */ |
platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java
View file @
37b3c34
| ... | ... | @@ -794,11 +794,11 @@ |
| 794 | 794 | // Date startDate = getRangeDate(parseYMD("2016-09-07"),2,"周",-1); |
| 795 | 795 | // System.out.println(getyyyy_MM_dd(startDate)); |
| 796 | 796 | |
| 797 | -// int a = daysBetween(parseYMD("2013-09-13"),new Date())/7; | |
| 798 | -// System.out.println(a); | |
| 797 | + int a = daysBetween(parseYMD("2016-10-01"),new Date())/7; | |
| 798 | + System.out.println(a); | |
| 799 | 799 | |
| 800 | - Date dueDate = DateUtil.addDay(DateUtil.addMonth(parseYMD("2016-02-08"), 9), 7); | |
| 801 | - System.out.println(getyyyy_MM_dd(dueDate)); | |
| 800 | +// Date dueDate = DateUtil.addDay(DateUtil.addMonth(parseYMD("2016-02-08"), 9), 7); | |
| 801 | +// System.out.println(getyyyy_MM_dd(dueDate)); | |
| 802 | 802 | } catch (Exception e) |
| 803 | 803 | { |
| 804 | 804 |
platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java
View file @
37b3c34
| ... | ... | @@ -153,6 +153,17 @@ |
| 153 | 153 | this.hospitalList = hospitalList; |
| 154 | 154 | } |
| 155 | 155 | |
| 156 | + //查询号 | |
| 157 | + private String queryNo; | |
| 158 | + | |
| 159 | + public String getQueryNo() { | |
| 160 | + return queryNo; | |
| 161 | + } | |
| 162 | + | |
| 163 | + public void setQueryNo(String queryNo) { | |
| 164 | + this.queryNo = queryNo; | |
| 165 | + } | |
| 166 | + | |
| 156 | 167 | public Integer getPostViewTimes() { |
| 157 | 168 | return postViewTimes; |
| 158 | 169 | } |
| ... | ... | @@ -301,6 +312,8 @@ |
| 301 | 312 | |
| 302 | 313 | private Date fmDateStart; |
| 303 | 314 | private Date fmDateEnd; |
| 315 | + private Date nextCheckTimeStart; | |
| 316 | + private Date nextCheckTimeEnd; | |
| 304 | 317 | |
| 305 | 318 | //大于修改时间 |
| 306 | 319 | private Date gteModified; |
| 307 | 320 | |
| ... | ... | @@ -308,7 +321,45 @@ |
| 308 | 321 | //大于创建时间 |
| 309 | 322 | private Date gteCreated; |
| 310 | 323 | |
| 324 | + //最后一次产检医生职工ID | |
| 325 | + private String lastCheckEmployeeId; | |
| 311 | 326 | |
| 327 | + //建档医生 | |
| 328 | + private String bookbuildingDoctor; | |
| 329 | + | |
| 330 | + | |
| 331 | + public String getLastCheckEmployeeId() { | |
| 332 | + return lastCheckEmployeeId; | |
| 333 | + } | |
| 334 | + | |
| 335 | + public void setLastCheckEmployeeId(String lastCheckEmployeeId) { | |
| 336 | + this.lastCheckEmployeeId = lastCheckEmployeeId; | |
| 337 | + } | |
| 338 | + | |
| 339 | + public String getBookbuildingDoctor() { | |
| 340 | + return bookbuildingDoctor; | |
| 341 | + } | |
| 342 | + | |
| 343 | + public void setBookbuildingDoctor(String bookbuildingDoctor) { | |
| 344 | + this.bookbuildingDoctor = bookbuildingDoctor; | |
| 345 | + } | |
| 346 | + | |
| 347 | + public Date getNextCheckTimeStart() { | |
| 348 | + return nextCheckTimeStart; | |
| 349 | + } | |
| 350 | + | |
| 351 | + public void setNextCheckTimeStart(Date nextCheckTimeStart) { | |
| 352 | + this.nextCheckTimeStart = nextCheckTimeStart; | |
| 353 | + } | |
| 354 | + | |
| 355 | + public Date getNextCheckTimeEnd() { | |
| 356 | + return nextCheckTimeEnd; | |
| 357 | + } | |
| 358 | + | |
| 359 | + public void setNextCheckTimeEnd(Date nextCheckTimeEnd) { | |
| 360 | + this.nextCheckTimeEnd = nextCheckTimeEnd; | |
| 361 | + } | |
| 362 | + | |
| 312 | 363 | public Date getLastCTimeStart() { |
| 313 | 364 | return lastCTimeStart; |
| 314 | 365 | } |
| ... | ... | @@ -633,6 +684,7 @@ |
| 633 | 684 | |
| 634 | 685 | public MongoQuery convertToQuery() { |
| 635 | 686 | MongoCondition condition = MongoCondition.newInstance(); |
| 687 | + | |
| 636 | 688 | if (null != keyword) { |
| 637 | 689 | MongoCondition con1 = MongoCondition.newInstance("phone", "^" + keyword, MongoOper.LIKE); |
| 638 | 690 | MongoCondition con = MongoCondition.newInstance("username", "^" + keyword, MongoOper.LIKE); |
| 639 | 691 | |
| 640 | 692 | |
| ... | ... | @@ -656,15 +708,19 @@ |
| 656 | 708 | } else if (null != buildTypeList) { |
| 657 | 709 | MongoCondition mongoCondition = MongoCondition.newInstance("buildType", 3, MongoOper.IS); |
| 658 | 710 | MongoCondition condition1 = mongoCondition.and("enable", "1", MongoOper.IS); |
| 659 | - | |
| 660 | 711 | MongoCondition condition2 = MongoCondition.newInstance("buildType", buildTypeList, MongoOper.IN); |
| 661 | - | |
| 662 | 712 | condition = condition.orCondition(new MongoCondition[]{condition1, condition2}); |
| 663 | 713 | } |
| 664 | 714 | |
| 665 | 715 | if (buildTypeEq != null) { |
| 666 | 716 | condition = condition.and("buildType", buildTypeEq, MongoOper.IS); |
| 667 | 717 | } |
| 718 | + if (lastCheckEmployeeId != null) { | |
| 719 | + condition = condition.and("lastCheckEmployeeId", lastCheckEmployeeId, MongoOper.IS); | |
| 720 | + } | |
| 721 | + if (bookbuildingDoctor != null) { | |
| 722 | + condition = condition.and("bookbuildingDoctor", bookbuildingDoctor, MongoOper.IS); | |
| 723 | + } | |
| 668 | 724 | if (visitstatus != -1) { |
| 669 | 725 | condition = condition.and("isVisit", visitstatus, MongoOper.IS); |
| 670 | 726 | } |
| ... | ... | @@ -742,6 +798,14 @@ |
| 742 | 798 | condition = condition.and("pid", pid, MongoOper.IS); |
| 743 | 799 | } |
| 744 | 800 | Criteria c1 = null; |
| 801 | + if (null != queryNo) { | |
| 802 | + MongoCondition c = MongoCondition.newInstance(); | |
| 803 | + MongoCondition con1 = MongoCondition.newInstance("phone", queryNo, MongoOper.IS); | |
| 804 | + MongoCondition con2 = MongoCondition.newInstance("username", queryNo, MongoOper.IS); | |
| 805 | + MongoCondition con3 = MongoCondition.newInstance("cardNo", queryNo, MongoOper.IS); | |
| 806 | + c1= c.orCondition(new MongoCondition[]{con1, con2, con3}).getCriteria(); | |
| 807 | + } | |
| 808 | + | |
| 745 | 809 | if (fmDateStart != null && fmDateEnd != null) { |
| 746 | 810 | c1 = Criteria.where("fmDate").gte(fmDateStart).lte(fmDateEnd); |
| 747 | 811 | } |
| ... | ... | @@ -807,6 +871,24 @@ |
| 807 | 871 | c1 = Criteria.where("lastRhTime").lte(lastRhTimeEnd); |
| 808 | 872 | } |
| 809 | 873 | } |
| 874 | + | |
| 875 | + if (null != nextCheckTimeStart) { | |
| 876 | + if (null != c1) { | |
| 877 | + c1 = c1.and("nextCheckTime").gte(nextCheckTimeStart); | |
| 878 | + } else { | |
| 879 | + c1 = Criteria.where("nextCheckTime").gte(nextCheckTimeStart); | |
| 880 | + } | |
| 881 | + } | |
| 882 | + | |
| 883 | + if (null != nextCheckTimeEnd) { | |
| 884 | + if (null != c1) { | |
| 885 | + c1 = c1.lte(nextCheckTimeEnd); | |
| 886 | + } else { | |
| 887 | + c1 = Criteria.where("nextCheckTime").lte(nextCheckTimeEnd); | |
| 888 | + } | |
| 889 | + } | |
| 890 | + | |
| 891 | + | |
| 810 | 892 | if (null != hScoreStart) { |
| 811 | 893 | if (null != hScoreStart) { |
| 812 | 894 | if (null != c1) { |
| 813 | 895 | |
| ... | ... | @@ -915,7 +997,9 @@ |
| 915 | 997 | } |
| 916 | 998 | if (null != c1) { |
| 917 | 999 | condition = condition.andCondition(new MongoCondition(c1)); |
| 1000 | + | |
| 918 | 1001 | } |
| 1002 | + | |
| 919 | 1003 | return condition.toMongoQuery(); |
| 920 | 1004 | } |
| 921 | 1005 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java
View file @
37b3c34
| ... | ... | @@ -26,23 +26,24 @@ |
| 26 | 26 | |
| 27 | 27 | public static void main(String[] args){ |
| 28 | 28 | PatientsQuery patientsQuery1 = new PatientsQuery(); |
| 29 | - patientsQuery1.setPid("pid"); | |
| 29 | + patientsQuery1.setHospitalId("221"); | |
| 30 | 30 | patientsQuery1.setYn(YnEnums.YES.getId()); |
| 31 | 31 | patientsQuery1.setType(1); |
| 32 | - Patients patients1 = new Patients(); | |
| 33 | - patients1.setModified(new Date()); | |
| 34 | 32 | |
| 35 | - List<String> ids = new ArrayList<>(); | |
| 36 | - ids.add("id1"); | |
| 37 | - ids.add("id12"); | |
| 38 | - ids.add("id134"); | |
| 39 | - patients1.setRiskScore(12); | |
| 40 | - patients1.setRiskFactorId(ids); | |
| 41 | - patients1.setRiskLevelId(JsonUtil.array2JsonString(ids)); | |
| 42 | - Update update = MongoConvertHelper | |
| 43 | - .convertToNativeUpdate(ReflectionUtils.getUpdateField(patients1)); | |
| 44 | - System.out.println(JsonUtil.obj2JsonString(patientsQuery1.convertToQuery().convertToMongoQuery())); | |
| 45 | - System.out.println(JsonUtil.obj2JsonString(update)); | |
| 33 | + List buildType = new ArrayList(); | |
| 34 | + buildType.add(0); | |
| 35 | + buildType.add(2); | |
| 36 | + patientsQuery1.setBuildTypeList(buildType); | |
| 37 | + | |
| 38 | + patientsQuery1.setQueryNo("q"); | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + patientsQuery1.setBookbuildingDateStart(DateUtil.parseYMD("1999-11-11")); | |
| 43 | + patientsQuery1.setBookbuildingDateEnd(DateUtil.parseYMD("2016-12-08")); | |
| 44 | + | |
| 45 | + | |
| 46 | + System.out.println(patientsQuery1.convertToQuery().convertToMongoQuery()); | |
| 46 | 47 | |
| 47 | 48 | } |
| 48 | 49 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java
View file @
37b3c34
| ... | ... | @@ -136,7 +136,7 @@ |
| 136 | 136 | Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId()); |
| 137 | 137 | |
| 138 | 138 | patients.setLastCheckEmployeeId(antExAddRequest.getCheckDoctor()); |
| 139 | - | |
| 139 | + patientsService.updatePatientOneCol(patients.getId(), "nextCheckTime", com.lyms.platform.common.utils.StringUtils.isEmpty(antExAddRequest.getNextCheckTime()) == true ? null : DateUtil.parseYMD(antExAddRequest.getNextCheckTime())); | |
| 140 | 140 | patientsService.updatePatient(patients); |
| 141 | 141 | //修改孕妇高危等级 |
| 142 | 142 | updateLastRisk(antExAddRequest.getParentId()); |
| ... | ... | @@ -160,6 +160,7 @@ |
| 160 | 160 | } |
| 161 | 161 | Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId()); |
| 162 | 162 | patients.setLastCheckEmployeeId(antExAddRequest.getCheckDoctor()); |
| 163 | + patientsService.updatePatientOneCol(patients.getId(), "nextCheckTime", com.lyms.platform.common.utils.StringUtils.isEmpty(antExAddRequest.getNextCheckTime()) == true ? null : DateUtil.parseYMD(antExAddRequest.getNextCheckTime())); | |
| 163 | 164 | model.setPid(patients.getPid()); |
| 164 | 165 | if (StringUtils.isNotEmpty(patients.getEnable()) && "0".equals(patients.getEnable())) { |
| 165 | 166 | patients.setEnable("1"); |
| ... | ... | @@ -247,7 +248,7 @@ |
| 247 | 248 | |
| 248 | 249 | Patients patients = patientsService.findOnePatientById(excAddRequest.getParentId()); |
| 249 | 250 | patients.setLastCheckEmployeeId(excAddRequest.getProdDoctor()); |
| 250 | - | |
| 251 | + patientsService.updatePatientOneCol(patients.getId(), "nextCheckTime", com.lyms.platform.common.utils.StringUtils.isEmpty(excAddRequest.getNextCheckTime()) == true ? null : DateUtil.parseYMD(excAddRequest.getNextCheckTime())); | |
| 251 | 252 | if (StringUtils.isNotEmpty(patients.getEnable()) && "0".equals(patients.getEnable())) { |
| 252 | 253 | patients.setEnable("1"); |
| 253 | 254 | } |
| ... | ... | @@ -291,6 +292,7 @@ |
| 291 | 292 | antExChuModel.setHospitalId(autoMatchFacade.getHospitalId(userId)); |
| 292 | 293 | antenatalExaminationService.addOneAntEx(antExChuModel); |
| 293 | 294 | //修改患者风险等级 |
| 295 | + patientsService.updatePatientOneCol(patients.getId(), "nextCheckTime", com.lyms.platform.common.utils.StringUtils.isEmpty(excAddRequest.getNextCheckTime()) == true ? null : DateUtil.parseYMD(excAddRequest.getNextCheckTime())); | |
| 294 | 296 | patients.setLastCheckEmployeeId(excAddRequest.getProdDoctor()); |
| 295 | 297 | // updatePatientRiskLevel(antExChuModel, patients); |
| 296 | 298 | patientsService.updatePatient(patients); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java
View file @
37b3c34
| ... | ... | @@ -257,6 +257,20 @@ |
| 257 | 257 | } |
| 258 | 258 | } |
| 259 | 259 | |
| 260 | + //下次预约时间 | |
| 261 | + if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getNextCheckTime())) { | |
| 262 | + String nextDateStr = riskPatientsQueryRequest.getNextCheckTime(); | |
| 263 | + String[] dates = nextDateStr.split(" - "); | |
| 264 | + patientsQuery.setNextCheckTimeStart(DateUtil.parseYMD(dates[0])); | |
| 265 | + if (dates.length == 2) { | |
| 266 | + patientsQuery.setNextCheckTimeEnd(DateUtil.parseYMD(dates[1])); | |
| 267 | + } | |
| 268 | + } | |
| 269 | + patientsQuery.setBookbuildingDoctor(riskPatientsQueryRequest.getBuildUserId()); | |
| 270 | + patientsQuery.setLastCheckEmployeeId(riskPatientsQueryRequest.getLastCheckDoctorId()); | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 260 | 274 | patientsQuery.setrLevel(riskPatientsQueryRequest.getrLevel()); |
| 261 | 275 | patientsQuery.setLastMensesStart(riskPatientsQueryRequest.capEnd()); |
| 262 | 276 | patientsQuery.setLastMensesEnd(riskPatientsQueryRequest.capStart()); |
| ... | ... | @@ -369,6 +383,9 @@ |
| 369 | 383 | patientsQuery.setHospitalId(hospital); |
| 370 | 384 | } |
| 371 | 385 | patientsQuery.setNeed(needPage); |
| 386 | + | |
| 387 | + patientsQuery.setQueryNo(riskPatientsQueryRequest.getQueryNo()); | |
| 388 | + | |
| 372 | 389 | return patientsQuery; |
| 373 | 390 | } |
| 374 | 391 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java
View file @
37b3c34
| ... | ... | @@ -61,8 +61,6 @@ |
| 61 | 61 | //体验会员 0非会员 1会员 |
| 62 | 62 | @FormParam |
| 63 | 63 | private Integer expVip; |
| 64 | - //建档时间 | |
| 65 | - private String buildTime; | |
| 66 | 64 | //最后一次医院定义的高危 |
| 67 | 65 | private String lastRhTime; |
| 68 | 66 | //本院最后一次产检时间 |
| 69 | 67 | |
| ... | ... | @@ -93,7 +91,29 @@ |
| 93 | 91 | // 医院id |
| 94 | 92 | private String hId; |
| 95 | 93 | |
| 94 | + //建档时间 | |
| 95 | + private String buildTime; | |
| 96 | 96 | |
| 97 | + //下次预约时间 | |
| 98 | + private String nextCheckTime; | |
| 99 | + | |
| 100 | + //查询号 | |
| 101 | + private String queryNo; | |
| 102 | + | |
| 103 | + //建档人 | |
| 104 | + private String buildUserId; | |
| 105 | + | |
| 106 | + //产检医生 | |
| 107 | + private String lastCheckDoctorId; | |
| 108 | + | |
| 109 | + public String getQueryNo() { | |
| 110 | + return queryNo; | |
| 111 | + } | |
| 112 | + | |
| 113 | + public void setQueryNo(String queryNo) { | |
| 114 | + this.queryNo = queryNo; | |
| 115 | + } | |
| 116 | + | |
| 97 | 117 | public String getProvinceRegisterId() { |
| 98 | 118 | return provinceRegisterId; |
| 99 | 119 | } |
| ... | ... | @@ -172,6 +192,33 @@ |
| 172 | 192 | |
| 173 | 193 | public void sethId(String hId) { |
| 174 | 194 | this.hId = hId; |
| 195 | + } | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + public String getNextCheckTime() { | |
| 201 | + return nextCheckTime; | |
| 202 | + } | |
| 203 | + | |
| 204 | + public void setNextCheckTime(String nextCheckTime) { | |
| 205 | + this.nextCheckTime = nextCheckTime; | |
| 206 | + } | |
| 207 | + | |
| 208 | + public String getBuildUserId() { | |
| 209 | + return buildUserId; | |
| 210 | + } | |
| 211 | + | |
| 212 | + public void setBuildUserId(String buildUserId) { | |
| 213 | + this.buildUserId = buildUserId; | |
| 214 | + } | |
| 215 | + | |
| 216 | + public String getLastCheckDoctorId() { | |
| 217 | + return lastCheckDoctorId; | |
| 218 | + } | |
| 219 | + | |
| 220 | + public void setLastCheckDoctorId(String lastCheckDoctorId) { | |
| 221 | + this.lastCheckDoctorId = lastCheckDoctorId; | |
| 175 | 222 | } |
| 176 | 223 | |
| 177 | 224 | public Integer getPostViewTimes() { |