Commit f9caed9bdc39a9b1f029cc29f66aaaecc744e469
1 parent
175aeba695
Exists in
master
and in
2 other branches
增加自动建档生成初检记录功能
Showing 3 changed files with 201 additions and 11 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java
View file @
f9caed9
... | ... | @@ -3,6 +3,7 @@ |
3 | 3 | import com.fasterxml.jackson.annotation.JsonAlias; |
4 | 4 | import com.lyms.platform.biz.service.ArchiveDataServicer; |
5 | 5 | import com.lyms.platform.biz.service.BasicConfigService; |
6 | +import com.lyms.platform.biz.service.GuidelinesService; | |
6 | 7 | import com.lyms.platform.biz.service.PatientsService; |
7 | 8 | import com.lyms.platform.common.annotation.TokenRequired; |
8 | 9 | import com.lyms.platform.common.base.BaseController; |
9 | 10 | |
... | ... | @@ -14,9 +15,11 @@ |
14 | 15 | import com.lyms.platform.common.result.BaseResponse; |
15 | 16 | import com.lyms.platform.common.result.RespBuilder; |
16 | 17 | import com.lyms.platform.common.utils.*; |
18 | +import com.lyms.platform.operate.web.facade.AntenatalExaminationFacade; | |
17 | 19 | import com.lyms.platform.operate.web.facade.AutoMatchFacade; |
18 | 20 | import com.lyms.platform.operate.web.facade.BookbuildingFacade; |
19 | 21 | import com.lyms.platform.operate.web.facade.RemoteFacade; |
22 | +import com.lyms.platform.operate.web.request.AntExcAddRequest; | |
20 | 23 | import com.lyms.platform.operate.web.request.WomanBookArchiveRequest; |
21 | 24 | import com.lyms.platform.operate.web.request.YunBookbuildingAddRequest; |
22 | 25 | import com.lyms.platform.operate.web.utils.CommonsHelper; |
... | ... | @@ -26,6 +29,7 @@ |
26 | 29 | import com.lyms.platform.permission.service.AssistBuildService; |
27 | 30 | import com.lyms.platform.pojo.*; |
28 | 31 | import com.lyms.platform.query.ArchiveDataQuery; |
32 | +import com.lyms.platform.query.GuidelinesQuery; | |
29 | 33 | import com.lyms.platform.query.PatientsQuery; |
30 | 34 | import org.apache.commons.collections.CollectionUtils; |
31 | 35 | import org.apache.commons.httpclient.HttpClient; |
32 | 36 | |
... | ... | @@ -64,8 +68,13 @@ |
64 | 68 | private BasicConfigService basicConfigService; |
65 | 69 | @Autowired |
66 | 70 | private AutoMatchFacade autoMatchFacade; |
71 | + @Autowired | |
72 | + private AntenatalExaminationFacade antenatalExaminationFacade; | |
67 | 73 | |
68 | 74 | @Autowired |
75 | + private GuidelinesService guidelinesService; | |
76 | + | |
77 | + @Autowired | |
69 | 78 | private RemoteFacade remoteFacade; |
70 | 79 | |
71 | 80 | @Autowired |
72 | 81 | |
... | ... | @@ -313,11 +322,14 @@ |
313 | 322 | ArchiveUsers archiveUsers = JsonUtil.jkstr2Obj(archiveUser, ArchiveUsers.class); |
314 | 323 | ArchiveAreas resort = JsonUtil.jkstr2Obj(healthResort, ArchiveAreas.class); |
315 | 324 | ArchiveHistoryDTO archiveHistory = JsonUtil.jkstr2Obj(archiveHistoryDTO, ArchiveHistoryDTO.class); |
316 | - //组装建档保存 | |
325 | + | |
326 | + final String idCard = archiveUsers.getIdCard(); | |
327 | + final String assistUserId = archiveUsers.getAssistUserId(); | |
328 | + //组装建档保存参数 | |
317 | 329 | YunBookbuildingAddRequest request = new YunBookbuildingAddRequest(); |
318 | 330 | request.setHospitalId(archiveUsers.getHospitalId()); |
319 | 331 | request.setPregnantName(archiveUsers.getName()); |
320 | - request.setPregnantCertificateNum(archiveUsers.getIdCard()); | |
332 | + request.setPregnantCertificateNum(idCard); | |
321 | 333 | request.setPregnantCertificateTypeId("70ae1d93-2964-46bc-83fa-bec9ff605b1c");//身份证 |
322 | 334 | request.setBirthday(DateUtil.getBirthFromIdCard(archiveUsers.getIdCard())); |
323 | 335 | request.setPregnantPhone(archiveUsers.getPhone()); |
324 | 336 | |
... | ... | @@ -343,8 +355,179 @@ |
343 | 355 | |
344 | 356 | request.setContactName(archiveUsers.getContactName()); |
345 | 357 | request.setContactPhone(archiveUsers.getContactPhone()); |
358 | + final String cDueWeek = request.getcDueWeek(); | |
346 | 359 | |
347 | 360 | BaseObjectResponse baseObjectResponse = bookbuildingFacade.addPregnantBookbuilding(request, Integer.valueOf(archiveUsers.getAssistUserId()), false); |
361 | + new Thread(new Runnable() { | |
362 | + @Override | |
363 | + public void run() { | |
364 | + System.out.println("start auto generate antexc......"); | |
365 | + try { | |
366 | + //查询预约建档信息 | |
367 | + ArchiveDataQuery query = new ArchiveDataQuery(); | |
368 | + query.setIdCard(idCard); | |
369 | + List<ArchiveData> list = archiveDataServicer.query(query.convertToQuery()); | |
370 | + if (CollectionUtils.isNotEmpty(list)) { | |
371 | + Map map = JsonUtil.str2Obj(list.get(0).getJsonData(), HashMap.class); | |
372 | + Map<String, Object> history = (Map<String, Object>) map.get("history"); | |
373 | + | |
374 | + PatientsQuery patientsQuery = new PatientsQuery(); | |
375 | + patientsQuery.setYn(YnEnums.YES.getId()); | |
376 | + patientsQuery.setType(1); | |
377 | + patientsQuery.setCardNo(idCard); | |
378 | + List<Patients> patientsList = patientsService.queryPatient(patientsQuery); | |
379 | + Patients patients = patientsList.get(0); | |
380 | + | |
381 | + AntExcAddRequest antExcAddRequest = new AntExcAddRequest(); | |
382 | + antExcAddRequest.setOperaterUserId(assistUserId); | |
383 | + antExcAddRequest.setPid(patients.getPid()); | |
384 | + antExcAddRequest.setParentId(patients.getId()); | |
385 | + antExcAddRequest.setName(patients.getUsername()); | |
386 | + antExcAddRequest.setCheckTime(DateUtil.getyyyy_MM_dd_hms(new Date())); | |
387 | + antExcAddRequest.setProdDoctor(assistUserId); | |
388 | + antExcAddRequest.setcDueWeek(cDueWeek); | |
389 | + | |
390 | + if (history.get("bp") != null) { | |
391 | + antExcAddRequest.setBp((Map) history.get("bp")); | |
392 | + } | |
393 | + // 既往史 | |
394 | + if (history.get("pastHistory") != null) { | |
395 | + String pastHistory = history.get("pastHistory").toString(); | |
396 | + if (StringUtils.isNotEmpty(pastHistory)) { | |
397 | + HashMap pastHistoryMap = JsonUtil.jkstr2Obj(pastHistory, HashMap.class); | |
398 | + antExcAddRequest.setPastHistory(pastHistoryMap); | |
399 | + } | |
400 | + } | |
401 | + // 家族史 | |
402 | + if (history.get("familyHistory") != null) { | |
403 | + String familyHistory = history.get("familyHistory").toString(); | |
404 | + if (StringUtils.isNotEmpty(familyHistory)) { | |
405 | + HashMap familyHistoryMap = JsonUtil.jkstr2Obj(familyHistory, HashMap.class); | |
406 | + antExcAddRequest.setFamilyHistory(familyHistoryMap); | |
407 | + } | |
408 | + } | |
409 | + //个人史 | |
410 | + if (history.get("personalHistory") != null) { | |
411 | + String personalHistory = history.get("personalHistory").toString(); | |
412 | + if (StringUtils.isNotEmpty(personalHistory)) { | |
413 | + HashMap personalHistoryMap = JsonUtil.jkstr2Obj(personalHistory, HashMap.class); | |
414 | + antExcAddRequest.setPersonalHistory(personalHistoryMap); | |
415 | + } | |
416 | + } | |
417 | + //妇科手术史 | |
418 | + if (history.get("fksxHistory") != null) { | |
419 | + String fksxHistory = history.get("fksxHistory").toString(); | |
420 | + if (StringUtils.isNotEmpty(fksxHistory)) { | |
421 | + HashMap fksxHistoryMap = JsonUtil.jkstr2Obj(fksxHistory, HashMap.class); | |
422 | + antExcAddRequest.setFksxHistory(fksxHistoryMap); | |
423 | + } | |
424 | + } | |
425 | + //本次妊娠情况 | |
426 | + if (history.get("cestationInfo") != null) { | |
427 | + String cestationInfo = history.get("cestationInfo").toString(); | |
428 | + if (StringUtils.isNotEmpty(cestationInfo)) { | |
429 | + HashMap cestationInfoMap = JsonUtil.jkstr2Obj(cestationInfo, HashMap.class); | |
430 | + antExcAddRequest.setCestationInfo(cestationInfoMap); | |
431 | + } | |
432 | + } | |
433 | + //叶酸服用情况 | |
434 | + if (history.get("ysfyHistory") != null) { | |
435 | + String ysfyHistory = history.get("ysfyHistory").toString(); | |
436 | + if (StringUtils.isNotEmpty(ysfyHistory)) { | |
437 | + HashMap ysfyHistoryMap = JsonUtil.jkstr2Obj(ysfyHistory, HashMap.class); | |
438 | + antExcAddRequest.setYsfyHistory(ysfyHistoryMap); | |
439 | + } | |
440 | + } | |
441 | + //传染病史 | |
442 | + if (history.get("infectDiseases") != null) { | |
443 | + String infectDiseases = history.get("infectDiseases").toString(); | |
444 | + if (StringUtils.isNotEmpty(infectDiseases)) { | |
445 | + HashMap infectDiseasesMap = JsonUtil.jkstr2Obj(infectDiseases, HashMap.class); | |
446 | + antExcAddRequest.setInfectDiseases(infectDiseasesMap); | |
447 | + } | |
448 | + } | |
449 | + | |
450 | + //剖宫产次数 | |
451 | + if (history.get("planedProd") != null) { | |
452 | + antExcAddRequest.setPlanedProd((Integer) history.get("planedProd")); | |
453 | + } | |
454 | + //顺产次数 | |
455 | + if (history.get("delivery") != null) { | |
456 | + antExcAddRequest.setDelivery((Integer) history.get("delivery")); | |
457 | + } | |
458 | + //引产次数 | |
459 | + if (history.get("yinchan") != null) { | |
460 | + antExcAddRequest.setYinchan((Integer) history.get("yinchan")); | |
461 | + } | |
462 | + //流产 | |
463 | + if (history.get("abortion") != null) { | |
464 | + antExcAddRequest.setAbortion((Integer) history.get("abortion")); | |
465 | + } | |
466 | + //自然流产 | |
467 | + if (history.get("abortionZR") != null) { | |
468 | + antExcAddRequest.setAbortionZR((Integer) history.get("abortionZR")); | |
469 | + } | |
470 | + //人工流产 | |
471 | + if (history.get("abortionRG") != null) { | |
472 | + antExcAddRequest.setAbortionRG((Integer) history.get("abortionRG")); | |
473 | + } | |
474 | + //药物流产 | |
475 | + if (history.get("yaowu") != null) { | |
476 | + antExcAddRequest.setYaowu((Integer) history.get("yaowu")); | |
477 | + } | |
478 | + | |
479 | + //孕次 | |
480 | + if (history.get("pregnancyTimes") != null) { | |
481 | + antExcAddRequest.setPregnancyTimes((Integer) history.get("pregnancyTimes")); | |
482 | + } | |
483 | + //产次 | |
484 | + antExcAddRequest.setProdTime((antExcAddRequest.getDelivery() != null ? antExcAddRequest.getDelivery() : 0) | |
485 | + + (antExcAddRequest.getPlanedProd() != null ? antExcAddRequest.getPlanedProd() : 0) | |
486 | + + (antExcAddRequest.getYinchan() != null ? antExcAddRequest.getYinchan() : 0) | |
487 | + + (antExcAddRequest.getAbortion() != null ? antExcAddRequest.getAbortion() : 0) | |
488 | + ); | |
489 | + | |
490 | + if (history.get("yqWeight") != null) { | |
491 | + antExcAddRequest.setYqweight(history.get("yqWeight").toString()); | |
492 | + antExcAddRequest.setYqWeight(history.get("yqWeight").toString()); | |
493 | + } | |
494 | + if (history.get("weight") != null) { | |
495 | + antExcAddRequest.setWeight(history.get("weight").toString()); | |
496 | + ; | |
497 | + } | |
498 | + if (history.get("height") != null) { | |
499 | + antExcAddRequest.setHeight(history.get("height").toString()); | |
500 | + | |
501 | + } | |
502 | + if (StringUtils.isNotEmpty(antExcAddRequest.getWeight()) && StringUtils.isNotEmpty(antExcAddRequest.getHeight())) { | |
503 | + Double wh = Double.parseDouble(antExcAddRequest.getHeight()) / 100; | |
504 | + Double shen = wh * wh; | |
505 | + Double bmi = Double.parseDouble(antExcAddRequest.getWeight()) / shen; | |
506 | + antExcAddRequest.setBaricIndex(bmi + ""); | |
507 | + } | |
508 | + //指导意见 | |
509 | + GuidelinesQuery guidelinesQuery = new GuidelinesQuery(); | |
510 | + guidelinesQuery.setType(1); | |
511 | + guidelinesQuery.setMaxStart(5); | |
512 | + guidelinesQuery.setMinEnd(5); | |
513 | + List<Guidelines> guidelines = guidelinesService.queryGuidelines(guidelinesQuery); | |
514 | + StringBuilder stringBuilder = new StringBuilder(128); | |
515 | + if (CollectionUtils.isNotEmpty(list)) { | |
516 | + for (Guidelines guideline : guidelines) { | |
517 | + stringBuilder.append(guideline.getCategory()).append(" ").append(guideline.getContent()).append("\r\n"); | |
518 | + } | |
519 | + antExcAddRequest.setGuide(stringBuilder.toString()); | |
520 | + } | |
521 | + | |
522 | + BaseResponse baseResponse = antenatalExaminationFacade.addOneAnetExChu(antExcAddRequest, Integer.valueOf(assistUserId)); | |
523 | + System.out.println("auto generate antexc end," + baseResponse.toString()); | |
524 | + } | |
525 | + }catch (Exception e){ | |
526 | + e.printStackTrace(); | |
527 | + } | |
528 | + } | |
529 | + }).start(); | |
530 | + | |
348 | 531 | if(baseObjectResponse.getErrorcode()==ErrorCodeConstants.SUCCESS){ |
349 | 532 | writeString(response,"success"); |
350 | 533 | return; |
... | ... | @@ -353,6 +536,8 @@ |
353 | 536 | catch (Exception e) |
354 | 537 | { |
355 | 538 | writeString(response,"fail"); |
539 | + e.printStackTrace(); | |
540 | + return; | |
356 | 541 | } |
357 | 542 | writeString(response,"fail"); |
358 | 543 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java
View file @
f9caed9
... | ... | @@ -1763,15 +1763,16 @@ |
1763 | 1763 | String riskFactor) { |
1764 | 1764 | WxMeasureInfoModel wxMeasureInfo = new WxMeasureInfoModel(); |
1765 | 1765 | boolean falg = true; |
1766 | + List<String> fhrList = new ArrayList<>(); | |
1767 | + if(StringUtils.isNotEmpty(fhr)) { | |
1768 | + String[] split = fhr.split(","); | |
1769 | + for (String s : split) { | |
1770 | + fhrList.add(s); | |
1771 | + } | |
1772 | + } | |
1766 | 1773 | if (StringUtils.isNotEmpty(pid) && StringUtils.isNotEmpty(hospitalId)) { |
1767 | 1774 | if (isOpenAutoSaveAntenatal(hospitalId)) { |
1768 | - List<String> fhrList = new ArrayList<>(); | |
1769 | - if(StringUtils.isNotEmpty(fhr)) { | |
1770 | - String[] split = fhr.split(","); | |
1771 | - for (String s : split) { | |
1772 | - fhrList.add(s); | |
1773 | - } | |
1774 | - } | |
1775 | + | |
1775 | 1776 | System.out.println("inputWxData enter 1"); |
1776 | 1777 | List<AntenatalExaminationModel> examinationModel = mongoTemplate.find(Query.query(Criteria.where("pid").is(pid)), AntenatalExaminationModel.class); |
1777 | 1778 | if (CollectionUtils.isNotEmpty(examinationModel)) { |
... | ... | @@ -1984,7 +1985,10 @@ |
1984 | 1985 | yumInfosMap.put("inputTime", DateUtil.getyyyy_MM_dd(new Date())); |
1985 | 1986 | yumInfosMap.put("fuh", fuh); |
1986 | 1987 | yumInfosMap.put("abdominalGirth", abdominalGirth); |
1987 | - yumInfosMap.put("fhr", fhr); | |
1988 | + if(CollectionUtils.isNotEmpty(fhrList)){ | |
1989 | + yumInfosMap.put("fhr", JsonUtil.array2JsonString(fhrList)); | |
1990 | + } | |
1991 | + | |
1988 | 1992 | yumInfosMap.put("edema", edema); |
1989 | 1993 | yumInfosMap.put("nextTime", nextTime); |
1990 | 1994 | yumInfosMap.put("sieveType", sieveType); |
pom.xml
View file @
f9caed9
... | ... | @@ -23,7 +23,8 @@ |
23 | 23 | <!--<module>platform-data-api</module>--> |
24 | 24 | <module>platform-operate-api</module> |
25 | 25 | <!----> |
26 | -<!-- <module>platform-job-index</module>--> | |
26 | + <module>platform-job-index</module> | |
27 | + | |
27 | 28 | <!-- <module>platform-report-api</module>--> |
28 | 29 | <module>platform-reportData</module> |
29 | 30 | <!-- <module>regional-etl</module>--> |