Commit 7d972b55d7ef9a427c17891c3d6aa4e5b8fea0a7
1 parent
484af9b263
Exists in
master
and in
6 other branches
追访记录
Showing 4 changed files with 54 additions and 110 deletions
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyAfterVisitServiceImpl.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/BabyAfterVisitInfoModelWork.java
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java
View file @
7d972b5
| ... | ... | @@ -526,8 +526,6 @@ |
| 526 | 526 | Date nextDate = model.getNextDate(); |
| 527 | 527 | if (nextDate != null) { |
| 528 | 528 | babyAfterVisitService.addOrUpdateAfterVisitData(model, TYPE_CHECK, STATUS_TYPE_NO); |
| 529 | - } else { | |
| 530 | - babyAfterVisitService.addOrUpdateAfterVisitData(model, TYPE_CHECK, STATUS_TYPE_UPDATE); | |
| 531 | 529 | } |
| 532 | 530 | bm.setId(request.getBuildId()); |
| 533 | 531 | babyAfterVisitService.addOrUpdateAfterVisitData(bm, TYPE_STATISTICS, STATUS_TYPE_CHECK); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyAfterVisitServiceImpl.java
View file @
7d972b5
| ... | ... | @@ -72,7 +72,7 @@ |
| 72 | 72 | String querNo = request.getQueryNo(); |
| 73 | 73 | Query query = new Query(); |
| 74 | 74 | String hospitalId = autoMatchFacade.getHospitalId(userId); |
| 75 | - query.addCriteria(Criteria.where("hospitalId").is(hospitalId)); | |
| 75 | + query.addCriteria(Criteria.where("hospitalId").is(hospitalId).and("yn").is(1)); | |
| 76 | 76 | |
| 77 | 77 | // 查询号 姓名、证件号、手机号 |
| 78 | 78 | if (StringUtils.isNotEmpty(querNo)) { |
| ... | ... | @@ -293,10 +293,10 @@ |
| 293 | 293 | @Override |
| 294 | 294 | public BaseResponse getBuildListPage(BabyAfterVisitBuildListRequest request, Integer userId) { |
| 295 | 295 | String type = request.getType(); |
| 296 | - boolean isOk = checkOverdueDataByType(type); | |
| 297 | - if (!isOk) { | |
| 298 | - return new BaseResponse("检查逾期数据异常", ErrorCodeConstants.SYSTEM_ERROR); | |
| 299 | - } | |
| 296 | + //boolean isOk = checkOverdueDataByType(type); | |
| 297 | + //if (!isOk) { | |
| 298 | + // return new BaseResponse("检查逾期数据异常", ErrorCodeConstants.SYSTEM_ERROR); | |
| 299 | + //} | |
| 300 | 300 | |
| 301 | 301 | Query query = new Query(); |
| 302 | 302 | String hospitalId = autoMatchFacade.getHospitalId(userId); |
| 303 | 303 | |
| ... | ... | @@ -326,11 +326,13 @@ |
| 326 | 326 | String startAppointmentTime = request.getStartAppointmentTime(); |
| 327 | 327 | String endAppointmentTime = request.getEndAppointmentTime(); |
| 328 | 328 | if (StringUtils.isNotEmpty(startAppointmentTime) && StringUtils.isNotEmpty(endAppointmentTime)) { |
| 329 | - startAppointmentTime += " 00:00:00"; | |
| 329 | + startAppointmentTime += " 00:00:00"; | |
| 330 | 330 | endAppointmentTime += " 23:59:59"; |
| 331 | 331 | Date startDate = DateUtil.parseYMDHMS(startAppointmentTime); |
| 332 | 332 | Date endDate = DateUtil.parseYMDHMS(endAppointmentTime); |
| 333 | - query.addCriteria(Criteria.where("appointmentTime").gte(startDate).lte(endDate)); | |
| 333 | + query.addCriteria(Criteria.where("appointmentTime").gte(startDate).lte(endDate).lt(new Date())); | |
| 334 | + } else { | |
| 335 | + query.addCriteria(Criteria.where("appointmentTime").lt(new Date())); | |
| 334 | 336 | } |
| 335 | 337 | |
| 336 | 338 | // 起止月龄 |
| ... | ... | @@ -448,6 +450,7 @@ |
| 448 | 450 | Date appointmentTime = model.getAppointmentTime(); |
| 449 | 451 | if (appointmentTime != null) { |
| 450 | 452 | objectMap.put("appointmentTimeStr", DateUtil.getyyyy_MM_dd(appointmentTime)); |
| 453 | + objectMap.put("overdueDay", DateUtil.daysBetween(new Date(), appointmentTime)); | |
| 451 | 454 | } |
| 452 | 455 | |
| 453 | 456 | // 追访时间 |
| ... | ... | @@ -497,91 +500,6 @@ |
| 497 | 500 | } |
| 498 | 501 | |
| 499 | 502 | /** |
| 500 | - * 检查预约时间是否存在已逾期,若是则添加到追访表中 | |
| 501 | - * @param type 类型 | |
| 502 | - * @return | |
| 503 | - */ | |
| 504 | - private boolean checkOverdueDataByType(String type) { | |
| 505 | - try { | |
| 506 | - Class<BabyAfterVisitInfoModel> infoModelClass = BabyAfterVisitInfoModel.class; | |
| 507 | - if (TYPE_CHECK.equals(type)) { | |
| 508 | - // 儿保检查 | |
| 509 | - Class<BabyCheckModel> checkModelClass = BabyCheckModel.class; | |
| 510 | - List<BabyCheckModel> babyCheckModels = mongoTemplate.find(Query.query(Criteria.where("nextDate").gt(new Date()).and("yn").is(YnEnums.YES.getId())), checkModelClass); | |
| 511 | - List<BabyAfterVisitInfoModel> models = new ArrayList<>(1024); | |
| 512 | - if (CollectionUtils.isNotEmpty(babyCheckModels)) { | |
| 513 | - for (BabyCheckModel model : babyCheckModels) { | |
| 514 | - String buildId = model.getBuildId(); | |
| 515 | - boolean exists = mongoTemplate.exists(Query.query(Criteria.where(BABY_ID).is(buildId).and(type).is(type)), infoModelClass); | |
| 516 | - if (!exists) { | |
| 517 | - BabyAfterVisitInfoModel infoModel = getBabyAfterVisitInfoModel(type, model, buildId); | |
| 518 | - models.add(infoModel); | |
| 519 | - } | |
| 520 | - } | |
| 521 | - if (babyCheckModels.size() > 0) { | |
| 522 | - mongoTemplate.insert(models, infoModelClass); | |
| 523 | - } | |
| 524 | - } | |
| 525 | - } | |
| 526 | - if (TYPE_EYE_CHECK.equals(type)) { | |
| 527 | - // 眼保检查 | |
| 528 | - Class<BabyEyeCheck> eyeCheckClass = BabyEyeCheck.class; | |
| 529 | - List<BabyEyeCheck> babyCheckModels = mongoTemplate.find(Query.query(Criteria.where("nextCheckTime").gt(new Date()).and("yn").is(YnEnums.YES.getId())), eyeCheckClass); | |
| 530 | - List<BabyAfterVisitInfoModel> models = new ArrayList<>(1024); | |
| 531 | - if (CollectionUtils.isNotEmpty(babyCheckModels)) { | |
| 532 | - for (BabyEyeCheck model : babyCheckModels) { | |
| 533 | - String buildId = model.getBabyId(); | |
| 534 | - boolean exists = mongoTemplate.exists(Query.query(Criteria.where(BABY_ID).is(buildId).and(type).is(type)), infoModelClass); | |
| 535 | - if (!exists) { | |
| 536 | - BabyAfterVisitInfoModel infoModel = getBabyAfterVisitInfoModel(type, model, buildId); | |
| 537 | - models.add(infoModel); | |
| 538 | - } | |
| 539 | - } | |
| 540 | - if (babyCheckModels.size() > 0) { | |
| 541 | - mongoTemplate.insert(models, infoModelClass); | |
| 542 | - } | |
| 543 | - } | |
| 544 | - } | |
| 545 | - return true; | |
| 546 | - } catch (Exception e) { | |
| 547 | - logger.error("检查预约时间是否存在已逾期 异常", e.getStackTrace()); | |
| 548 | - return false; | |
| 549 | - } | |
| 550 | - | |
| 551 | - } | |
| 552 | - | |
| 553 | - /** | |
| 554 | - * 获取 BabyAfterVisitInfoModel 实体类 | |
| 555 | - * @param type | |
| 556 | - * @param model | |
| 557 | - * @param buildId | |
| 558 | - * @return | |
| 559 | - */ | |
| 560 | - private BabyAfterVisitInfoModel getBabyAfterVisitInfoModel(String type, BaseModel model, String buildId) { | |
| 561 | - BabyAfterVisitInfoModel infoModel = new BabyAfterVisitInfoModel(); | |
| 562 | - if (model instanceof BabyCheckModel) { | |
| 563 | - BabyCheckModel checkModel = (BabyCheckModel) model; | |
| 564 | - BeanUtils.copy(checkModel, infoModel); | |
| 565 | - BabyModel babyModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(buildId)), BabyModel.class); | |
| 566 | - BeanUtils.copy(babyModel, infoModel); | |
| 567 | - infoModel.setAppointmentTime(checkModel.getNextDate()); | |
| 568 | - } | |
| 569 | - if (model instanceof BabyEyeCheck) { | |
| 570 | - BabyEyeCheck eyeCheck = (BabyEyeCheck) model; | |
| 571 | - BeanUtils.copy(eyeCheck, infoModel); | |
| 572 | - BabyModel babyModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(buildId)), BabyModel.class); | |
| 573 | - BeanUtils.copy(babyModel, infoModel); | |
| 574 | - infoModel.setAppointmentTime(eyeCheck.getNextCheckTime()); | |
| 575 | - } | |
| 576 | - infoModel.setType(type); | |
| 577 | - infoModel.setCreateTime(new Date()); | |
| 578 | - infoModel.setYn(STATUS_TYPE_YES); | |
| 579 | - infoModel.setBabyId(buildId); | |
| 580 | - infoModel.setId(null); | |
| 581 | - return infoModel; | |
| 582 | - } | |
| 583 | - | |
| 584 | - /** | |
| 585 | 503 | * 递归获取预约建档的儿童信息 |
| 586 | 504 | * |
| 587 | 505 | * @param ids 建档ids - 针对儿保检查 |
| 588 | 506 | |
| 589 | 507 | |
| 590 | 508 | |
| 591 | 509 | |
| 592 | 510 | |
| 593 | 511 | |
| 594 | 512 | |
| ... | ... | @@ -780,52 +698,54 @@ |
| 780 | 698 | } |
| 781 | 699 | // 更新儿保数量 |
| 782 | 700 | if (Objects.equals(STATUS_TYPE_CHECK, statusType)) { |
| 783 | - BabyAfterVisitStatisticsModel one = mongoTemplate.findOne(Query.query(Criteria.where(BABY_ID).is(babyModelId)), BabyAfterVisitStatisticsModel.class); | |
| 701 | + BabyAfterVisitStatisticsModel one = mongoTemplate.findOne(Query.query(Criteria.where(BABY_ID).is(babyModelId).and("yn").is(1)), BabyAfterVisitStatisticsModel.class); | |
| 784 | 702 | if (one != null) { |
| 785 | 703 | Integer checkSize = one.getCheckSize(); |
| 786 | 704 | checkSize ++; |
| 787 | - mongoTemplate.updateFirst(Query.query(Criteria.where(BABY_ID).is(babyModelId)), Update.update("checkSize", checkSize), BabyAfterVisitStatisticsModel.class); | |
| 705 | + mongoTemplate.updateFirst(Query.query(Criteria.where(BABY_ID).is(babyModelId).and("yn").is(1)), Update.update("checkSize", checkSize), BabyAfterVisitStatisticsModel.class); | |
| 788 | 706 | } |
| 789 | 707 | } |
| 790 | 708 | // 更新眼保数量 |
| 791 | 709 | if (Objects.equals(STATUS_TYPE_EYE_CHECK, statusType)) { |
| 792 | - BabyAfterVisitStatisticsModel one = mongoTemplate.findOne(Query.query(Criteria.where(BABY_ID).is(babyModelId)), BabyAfterVisitStatisticsModel.class); | |
| 710 | + BabyAfterVisitStatisticsModel one = mongoTemplate.findOne(Query.query(Criteria.where(BABY_ID).is(babyModelId).and("yn").is(1)), BabyAfterVisitStatisticsModel.class); | |
| 793 | 711 | if (one != null) { |
| 794 | 712 | Integer eyeCheckSize = one.getEyeCheckSize(); |
| 795 | 713 | eyeCheckSize ++; |
| 796 | - mongoTemplate.updateFirst(Query.query(Criteria.where(BABY_ID).is(babyModelId)), Update.update("eyeCheckSize", eyeCheckSize), BabyAfterVisitStatisticsModel.class); | |
| 714 | + mongoTemplate.updateFirst(Query.query(Criteria.where(BABY_ID).is(babyModelId).and("yn").is(1)), Update.update("eyeCheckSize", eyeCheckSize), BabyAfterVisitStatisticsModel.class); | |
| 797 | 715 | } |
| 798 | 716 | } |
| 799 | 717 | logger.info("已更新到追访概况中"); |
| 800 | 718 | |
| 801 | 719 | } |
| 802 | 720 | |
| 803 | - // 档案转正、儿保检查、眼保检查 addOrUpdate | |
| 804 | - if (Objects.equals(TYPE_BUILD, type) || Objects.equals(TYPE_CHECK, type) || Objects.equals(TYPE_EYE_CHECK, type)) { | |
| 721 | + // 档案转正、儿保检查 addOrUpdate | |
| 722 | + if (Objects.equals(TYPE_BUILD, type) || Objects.equals(TYPE_CHECK, type) ) { | |
| 805 | 723 | |
| 806 | 724 | if (Objects.equals(STATUS_TYPE_NO, statusType)) { |
| 807 | 725 | BabyModel babyModel = (BabyModel) model; |
| 808 | 726 | babyModelId = babyModel.getId(); |
| 809 | 727 | models.add(babyModel); |
| 810 | 728 | |
| 811 | - // 将状态正常更新为作废 | |
| 812 | - Query query = Query.query(Criteria.where(BABY_ID).is(babyModelId).and("type").is(typeStr)); | |
| 813 | - boolean exists = mongoTemplate.exists(Query.query(Criteria.where(BABY_ID).is(babyModelId).and("type").is(typeStr).and("yn").ne(STATUS_TYPE_NO)), BabyAfterVisitInfoModel.class); | |
| 814 | - if (exists) { | |
| 815 | - mongoTemplate.updateFirst(query, Update.update("yn", STATUS_TYPE_NO), BabyAfterVisitInfoModel.class); | |
| 729 | + // 更新预约时间 | |
| 730 | + Query query = Query.query(Criteria.where(BABY_ID).is(babyModelId).and("type").is(typeStr).and("yn").is(1)); | |
| 731 | + BabyAfterVisitInfoModel one = mongoTemplate.findOne(query, BabyAfterVisitInfoModel.class); | |
| 732 | + if (one != null) { | |
| 733 | + Integer yn = one.getYn(); | |
| 734 | + if (YnEnums.YES.getId() == yn) { | |
| 735 | + mongoTemplate.updateFirst(query, Update.update("appointmentTime", babyModel.getNextDate()), BabyAfterVisitInfoModel.class); | |
| 736 | + } | |
| 816 | 737 | } |
| 817 | 738 | } |
| 818 | 739 | if (Objects.equals(STATUS_TYPE_YES, statusType)) { |
| 819 | 740 | BabyModel babyModel = (BabyModel) model; |
| 820 | 741 | models.add(babyModel); |
| 821 | - // 新增数据 | |
| 822 | 742 | Future<List<BabyAfterVisitInfoModel>> listFuture = service.submit(new BabyAfterVisitInfoModelWork(models, mongoTemplate, type)); |
| 823 | 743 | List<BabyAfterVisitInfoModel> infoModels = listFuture.get(); |
| 824 | 744 | mongoTemplate.insert(infoModels, BabyAfterVisitInfoModel.class); |
| 825 | 745 | } |
| 826 | 746 | |
| 827 | 747 | // 儿保检查/眼保检查- 将预约时间更改为null |
| 828 | - if (Objects.equals(STATUS_TYPE_UPDATE, statusType)) { | |
| 748 | + /* if (Objects.equals(STATUS_TYPE_UPDATE, statusType)) { | |
| 829 | 749 | // 儿保检查 |
| 830 | 750 | if (Objects.equals(TYPE_CHECK, type)) { |
| 831 | 751 | // 条件:当前创建为最新数据的id == 当前更新的数据id ,更新对应的字段为null |
| 832 | 752 | |
| ... | ... | @@ -922,10 +842,36 @@ |
| 922 | 842 | } |
| 923 | 843 | } |
| 924 | 844 | } |
| 925 | - } | |
| 845 | + }*/ | |
| 926 | 846 | logger.info("已自动添加到追访列表中"); |
| 927 | 847 | } |
| 928 | 848 | |
| 849 | + // 眼保检查 | |
| 850 | + if (Objects.equals(TYPE_EYE_CHECK, type)) { | |
| 851 | + Class<BabyAfterVisitInfoModel> modelClass = BabyAfterVisitInfoModel.class; | |
| 852 | + if (Objects.equals(STATUS_TYPE_NO, statusType)) { | |
| 853 | + BabyEyeCheck babyEyeCheck = (BabyEyeCheck) model; | |
| 854 | + babyModelId = babyEyeCheck.getBabyId(); | |
| 855 | + | |
| 856 | + // 更新预约时间 | |
| 857 | + Query query = Query.query(Criteria.where(BABY_ID).is(babyModelId).and("type").is(typeStr).and("yn").is(1)); | |
| 858 | + BabyAfterVisitInfoModel one = mongoTemplate.findOne(query, modelClass); | |
| 859 | + if (one != null) { | |
| 860 | + Integer yn = one.getYn(); | |
| 861 | + if (YnEnums.YES.getId() == yn) { | |
| 862 | + mongoTemplate.updateFirst(query, Update.update("appointmentTime", babyEyeCheck.getNextCheckTime()), modelClass); | |
| 863 | + } | |
| 864 | + } | |
| 865 | + } | |
| 866 | + if (Objects.equals(STATUS_TYPE_YES, statusType)) { | |
| 867 | + // 新增数据 | |
| 868 | + BabyModel babyModel = (BabyModel) model; | |
| 869 | + models.add(babyModel); | |
| 870 | + Future<List<BabyAfterVisitInfoModel>> listFuture = service.submit(new BabyAfterVisitInfoModelWork(models, mongoTemplate, type)); | |
| 871 | + List<BabyAfterVisitInfoModel> infoModels = listFuture.get(); | |
| 872 | + mongoTemplate.insert(infoModels, modelClass); | |
| 873 | + } | |
| 874 | + } | |
| 929 | 875 | } catch (Exception e) { |
| 930 | 876 | e.printStackTrace(); |
| 931 | 877 | logger.error("追访失败",e.getStackTrace()); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java
View file @
7d972b5
| ... | ... | @@ -106,8 +106,6 @@ |
| 106 | 106 | Date nextCheckTime = babyEyeCheck.getNextCheckTime(); |
| 107 | 107 | if (null != nextCheckTime) { |
| 108 | 108 | babyAfterVisitService.addOrUpdateAfterVisitData(babyEyeCheck, TYPE_EYE_CHECK, STATUS_TYPE_NO); |
| 109 | - } else { | |
| 110 | - babyAfterVisitService.addOrUpdateAfterVisitData(babyEyeCheck, TYPE_EYE_CHECK, STATUS_TYPE_UPDATE); | |
| 111 | 109 | } |
| 112 | 110 | BabyModel model = new BabyModel(); |
| 113 | 111 | model.setId(babyEyeCheck.getBabyId()); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/BabyAfterVisitInfoModelWork.java
View file @
7d972b5
| ... | ... | @@ -58,6 +58,8 @@ |
| 58 | 58 | if (Objects.equals(TYPE_BUILD, type)) { |
| 59 | 59 | // 预约建档时间默认为创建时间 |
| 60 | 60 | babyAfterVisitInfoModel.setAppointmentTime(babyModel.getCreated()); |
| 61 | + } else { | |
| 62 | + babyAfterVisitInfoModel.setAppointmentTime(new Date()); | |
| 61 | 63 | } |
| 62 | 64 | if (Objects.equals(TYPE_EYE_CHECK, type)) { |
| 63 | 65 | // 阳性项目 |