Commit 5d15c4c337ee89edabdd28b0e88e814b791b3791
Exists in
master
and in
6 other branches
Merge remote-tracking branch 'origin/master'
Showing 10 changed files
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AntenatalExaminationDaoImpl.java
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java
- platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java
- platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWeightController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.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/result/PatientBaseResult.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/PatientWeightService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/AntenatalExaminationDaoImpl.java
View file @
5d15c4c
... | ... | @@ -137,28 +137,17 @@ |
137 | 137 | |
138 | 138 | @Override |
139 | 139 | public int queryWeekPointCount(int startWeek, int endWeek, String hospitalId, Date startTime, Date endTime,Integer pointType) { |
140 | -// String map = "function(){ " + | |
141 | -// " if (this.hospitalId == '"+hospitalId+"' && this.checkTime != null && this.lastMenses != null) { " + | |
142 | -// " var start = this.lastMenses; " + | |
143 | -// " var end = this.checkTime; " + | |
144 | -// " var iDays = parseInt(Math.abs(end - start ) / 86400000); " + | |
145 | -// " var week = parseInt(iDays/7)+1; " + | |
146 | -// " if (week >= "+startWeek+" && week <= "+endWeek+")" + | |
147 | -// " { " + | |
148 | -// " emit(this._id,{checkTime:end,parentId:this.parentId}); " + | |
149 | -// " } " + | |
150 | -// " } " + | |
151 | -// "}"; | |
152 | - String map = "function(){ " + | |
153 | - " if (this.hospitalId == '"+hospitalId+"' && this.checkTime != null && this.lastMenses != null) { " + | |
154 | - " var end = this.checkTime; " + | |
155 | - " var week = parseInt(this.cDay/7); " + | |
156 | - " if (week >= "+startWeek+" && week <= "+endWeek+")" + | |
157 | - " { " + | |
158 | - " emit(this._id,{checkTime:end,parentId:this.parentId}); " + | |
159 | - " } " + | |
160 | - " } " + | |
161 | - "}"; | |
140 | + String map = "function(){ " + | |
141 | + " if (this.hospitalId == '"+hospitalId+"' && this.checkTime != null && this.lastMenses != null) { " + | |
142 | + " var end = this.checkTime; " + | |
143 | + " var week = parseInt(this.cDay/7); " + | |
144 | + " if (week >= "+startWeek+" && week <= "+endWeek+")" + | |
145 | + " { " + | |
146 | + " emit(this._id,{checkTime:end,parentId:this.parentId}); " + | |
147 | + " } " + | |
148 | + " } " + | |
149 | + "}"; | |
150 | + | |
162 | 151 | String reduce = "function(key, values) { return values.toString(); }"; |
163 | 152 | |
164 | 153 | DBCollection collections =this.mongoTemplate.getCollection("lyms_antexrecord"); |
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java
View file @
5d15c4c
... | ... | @@ -58,13 +58,13 @@ |
58 | 58 | * @param antExRecordQuery |
59 | 59 | * @return |
60 | 60 | */ |
61 | - public List<AntExPRecordModel> queryAntExRecords1(AntExRecordQuery antExRecordQuery) { | |
61 | + public List<AntExPRecordModel> queryAntExRecords(AntExRecordQuery antExRecordQuery,String sortField) { | |
62 | 62 | MongoQuery query = antExRecordQuery.convertToQuery(); |
63 | 63 | if (StringUtils.isNotEmpty(antExRecordQuery.getNeed())) { |
64 | 64 | antExRecordQuery.mysqlBuild(iAntExRecordMDao.count(query)); |
65 | 65 | query.start(antExRecordQuery.getOffset()).end(antExRecordQuery.getLimit()); |
66 | 66 | } |
67 | - return iAntExRecordMDao.queryRecord(query.addOrder(Sort.Direction.DESC, "checkTime")); | |
67 | + return iAntExRecordMDao.queryRecord(query.addOrder(Sort.Direction.DESC, sortField)); | |
68 | 68 | } |
69 | 69 | |
70 | 70 |
platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java
View file @
5d15c4c
... | ... | @@ -6,6 +6,7 @@ |
6 | 6 | public enum SerialIdEnum { |
7 | 7 | AntenatalExaminationModel("AntenatalExaminationModel", 97531000010L), |
8 | 8 | AntExChuModel("AntExChuModel", 97531000020L), |
9 | + OperateLogModel("OperateLogModel", 97531000121L), | |
9 | 10 | AntExRecordModel("AntExRecordModel", 97531000030L), |
10 | 11 | ArchiveData("ArchiveData", 97531000040L), |
11 | 12 | AssayConfig("AssayConfig", 97531000050L), |
platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java
View file @
5d15c4c
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWeightController.java
View file @
5d15c4c
... | ... | @@ -119,5 +119,11 @@ |
119 | 119 | return patientWeightService.wxAddOrUpdateSync(patientWeight); |
120 | 120 | } |
121 | 121 | |
122 | + @ResponseBody | |
123 | + @RequestMapping(value = "/update", method = RequestMethod.POST) | |
124 | + public BaseResponse update(String id, String beforeWeight, String beforeHeight) { | |
125 | + return patientWeightService.update(id, beforeWeight, beforeHeight); | |
126 | + } | |
127 | + | |
122 | 128 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java
View file @
5d15c4c
... | ... | @@ -93,6 +93,10 @@ |
93 | 93 | @Autowired |
94 | 94 | private GenSequenceIdService genIdService; |
95 | 95 | |
96 | + | |
97 | + @Autowired | |
98 | + private AntExRecordService recordService; | |
99 | + | |
96 | 100 | /** |
97 | 101 | * 获取科室 |
98 | 102 | */ |
... | ... | @@ -341,6 +345,103 @@ |
341 | 345 | |
342 | 346 | return "update finish"; |
343 | 347 | } |
348 | + | |
349 | + | |
350 | + /** | |
351 | + * 计算产检是不是对应孕周断中的第一次 | |
352 | + * @param hospitalId | |
353 | + * @return | |
354 | + */ | |
355 | + @RequestMapping(value = "/updateCheckRecord", method = RequestMethod.GET) | |
356 | + @ResponseBody | |
357 | + public String updateCheckRecord(@RequestParam(required = false) String hospitalId) | |
358 | + { | |
359 | + | |
360 | + OrganizationQuery organizationQuery = new OrganizationQuery(); | |
361 | + organizationQuery.setYn(YnEnums.YES.getId()); | |
362 | + if (StringUtils.isNotEmpty(hospitalId)) | |
363 | + { | |
364 | + organizationQuery.setId(Integer.parseInt(hospitalId)); | |
365 | + } | |
366 | + List<Organization> organizationList = organizationService.queryOrganization(organizationQuery); | |
367 | + | |
368 | + PatientsQuery patientsQuery1 = new PatientsQuery(); | |
369 | + patientsQuery1.setYn(YnEnums.YES.getId()); | |
370 | + | |
371 | + if (CollectionUtils.isNotEmpty(organizationList)) | |
372 | + { | |
373 | + for (Organization organization : organizationList) { | |
374 | + | |
375 | + patientsQuery1.setHospitalId(organization.getId()+""); | |
376 | + List<Patients> pats = patientsService.queryPatient(patientsQuery1); | |
377 | + | |
378 | + int batchSize = 1000; | |
379 | + int end = 0; | |
380 | + for (int i = 0; i < pats.size(); i += batchSize) { | |
381 | + end = (end + batchSize); | |
382 | + if (end > pats.size()) { | |
383 | + end = pats.size(); | |
384 | + } | |
385 | + System.out.println("start:" + i + ",end:" + end); | |
386 | + final List<Patients> tempList = pats.subList(i, end); | |
387 | + | |
388 | + new Thread(new Runnable() { | |
389 | + @Override | |
390 | + public void run() { | |
391 | + if (CollectionUtils.isNotEmpty(tempList)) { | |
392 | + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); | |
393 | + for (Patients pat : tempList) { | |
394 | + antExRecordQuery.setParentId(pat.getId()); | |
395 | + if (StringUtils.isNotEmpty(pat.getId())) | |
396 | + { | |
397 | + | |
398 | + for (int i = 0 ; i < 5 ; i++) | |
399 | + { | |
400 | + if (i == 0) | |
401 | + { | |
402 | + antExRecordQuery.setcDueWeekStart(0); | |
403 | + antExRecordQuery.setcDueWeekEnd((12 + 1) * 7 - 1); | |
404 | + } | |
405 | + else if (i == 1) | |
406 | + { | |
407 | + antExRecordQuery.setcDueWeekStart(16); | |
408 | + antExRecordQuery.setcDueWeekEnd((20 + 1) * 7 - 1); | |
409 | + } | |
410 | + else if (i == 2) | |
411 | + { | |
412 | + antExRecordQuery.setcDueWeekStart(21); | |
413 | + antExRecordQuery.setcDueWeekEnd((24 + 1) * 7 - 1); | |
414 | + } | |
415 | + else if (i == 3) | |
416 | + { | |
417 | + antExRecordQuery.setcDueWeekStart(28); | |
418 | + antExRecordQuery.setcDueWeekEnd((36 + 1) * 7 - 1); | |
419 | + } | |
420 | + else if (i == 4) | |
421 | + { | |
422 | + antExRecordQuery.setcDueWeekStart(37); | |
423 | + antExRecordQuery.setcDueWeekEnd((40 + 1) * 7 - 1); | |
424 | + } | |
425 | + | |
426 | + List<AntExRecordModel> list = recordService.queryAntExRecords(antExRecordQuery); | |
427 | + if (CollectionUtils.isNotEmpty(list)) | |
428 | + { | |
429 | + AntExRecordModel m = list.get(list.size() - 1); | |
430 | + m.setIsFirst(1); | |
431 | + recordService.updateOne(m,m.getId()); | |
432 | + } | |
433 | + } | |
434 | + } | |
435 | + } | |
436 | + } | |
437 | + } | |
438 | + }).start(); | |
439 | + } | |
440 | + } | |
441 | + } | |
442 | + return "updateCheckRecord finish"; | |
443 | + } | |
444 | + | |
344 | 445 | |
345 | 446 | |
346 | 447 | /** |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java
View file @
5d15c4c
... | ... | @@ -29,6 +29,10 @@ |
29 | 29 | import org.slf4j.LoggerFactory; |
30 | 30 | import org.springframework.beans.factory.annotation.Autowired; |
31 | 31 | import org.springframework.beans.factory.annotation.Qualifier; |
32 | +import org.springframework.data.domain.Sort; | |
33 | +import org.springframework.data.mongodb.core.MongoTemplate; | |
34 | +import org.springframework.data.mongodb.core.query.Criteria; | |
35 | +import org.springframework.data.mongodb.core.query.Query; | |
32 | 36 | import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; |
33 | 37 | import org.springframework.stereotype.Component; |
34 | 38 | import org.springframework.util.StopWatch; |
35 | 39 | |
... | ... | @@ -89,7 +93,10 @@ |
89 | 93 | @Qualifier("commonThreadPool") |
90 | 94 | private ThreadPoolTaskExecutor commonThreadPool; |
91 | 95 | |
96 | + @Autowired | |
97 | + private MongoTemplate mongoTemplate; | |
92 | 98 | |
99 | + | |
93 | 100 | /** |
94 | 101 | * 修改产妇的社区 |
95 | 102 | * |
... | ... | @@ -1083,6 +1090,14 @@ |
1083 | 1090 | patientBaseResult.setRiskFactor(highScoreResult.getHighRisk()); |
1084 | 1091 | patientBaseResult.setRiskScore(highScoreResult.getScoreStr()); |
1085 | 1092 | } catch (Exception e) { |
1093 | + } | |
1094 | + Patients p = mongoTemplate.findById(patientBaseResult.getId(), Patients.class); | |
1095 | + if(p != null) { | |
1096 | + AntExChuModel chuModel = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(p.getPid()).and("yn").ne("0")).with(new Sort(Sort.Direction.DESC, "created")), AntExChuModel.class); | |
1097 | + if(chuModel != null) { | |
1098 | + patientBaseResult.setHeight(StringUtils.isNotEmpty(chuModel.getHeight()) ? chuModel.getHeight() : ""); | |
1099 | + patientBaseResult.setWeight(StringUtils.isNotEmpty(chuModel.getWeight()) ? chuModel.getWeight() : ""); | |
1100 | + } | |
1086 | 1101 | } |
1087 | 1102 | return new BaseObjectResponse().setData(patientBaseResult).setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS); |
1088 | 1103 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientBaseResult.java
View file @
5d15c4c
... | ... | @@ -33,6 +33,27 @@ |
33 | 33 | //1 孕妇 0 产妇 |
34 | 34 | private String isGravida; |
35 | 35 | |
36 | + // 身高 | |
37 | + private String height; | |
38 | + //体重 | |
39 | + private String weight ; | |
40 | + | |
41 | + public String getHeight() { | |
42 | + return height; | |
43 | + } | |
44 | + | |
45 | + public void setHeight(String height) { | |
46 | + this.height = height; | |
47 | + } | |
48 | + | |
49 | + public String getWeight() { | |
50 | + return weight; | |
51 | + } | |
52 | + | |
53 | + public void setWeight(String weight) { | |
54 | + this.weight = weight; | |
55 | + } | |
56 | + | |
36 | 57 | public String getIsGravida() { |
37 | 58 | return isGravida; |
38 | 59 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/PatientWeightService.java
View file @
5d15c4c
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java
View file @
5d15c4c
... | ... | @@ -399,6 +399,17 @@ |
399 | 399 | return RespBuilder.buildSuccess(patientWeight.getId()); |
400 | 400 | } |
401 | 401 | |
402 | + @Override | |
403 | + public BaseResponse update(String id, String beforeWeight, String beforeHeight) { | |
404 | + PatientWeight pw = new PatientWeight(); | |
405 | + pw.setId(id); | |
406 | + pw.setBeforeHeight(beforeHeight); | |
407 | + pw.setBeforeWeight(beforeWeight); | |
408 | + pw.setBmi(getBmi(beforeWeight, beforeHeight)); | |
409 | + patientWeightService2.update(Query.query(Criteria.where("id").is(id)), pw); | |
410 | + return RespBuilder.buildSuccess(id); | |
411 | + } | |
412 | + | |
402 | 413 | private void setGuide(Integer week, Map<String, Object> map) { |
403 | 414 | if(week <= 12) { |
404 | 415 | Map<String, Object> map1 = setData2("膳食清淡、适口", "避免过咸、过甜和油腻的食物,这样能增加食欲,易于消化,有利于降低怀孕早期的妊娠反应,满足营养的需要。每日盐不超过6克,油不超过20克,可食用植物油,少用动物油。"); |