Commit 89dde92e84d98aa6dce9908ad6fdd1b69e2dccbc
1 parent
a47d4ef484
Exists in
master
and in
6 other branches
临时修改 董勤回来逻辑上在处理
Showing 1 changed file with 44 additions and 42 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyAfterVisitServiceImpl.java
View file @
89dde92
... | ... | @@ -43,7 +43,6 @@ |
43 | 43 | import java.util.regex.Pattern; |
44 | 44 | |
45 | 45 | /** |
46 | - * | |
47 | 46 | * @Author dongqin |
48 | 47 | * @Description 儿童访视管理业务实现类 |
49 | 48 | * @Date 10:17 2019/6/25 |
... | ... | @@ -167,7 +166,7 @@ |
167 | 166 | |
168 | 167 | // 档案转正 |
169 | 168 | List<BabyAfterVisitInfoModel> infoModels = new ArrayList<>(); |
170 | - setSyncAfterVisitInfoList( null, infoModels, afterVisitQuery, TYPE_BUILD, startDate, endDate, hospitalId); | |
169 | + setSyncAfterVisitInfoList(null, infoModels, afterVisitQuery, TYPE_BUILD, startDate, endDate, hospitalId); | |
171 | 170 | mongoTemplate.insert(infoModels, BabyAfterVisitInfoModel.class); |
172 | 171 | map.put("infoModels-build", infoModels.size()); |
173 | 172 | |
174 | 173 | |
... | ... | @@ -188,13 +187,13 @@ |
188 | 187 | // 儿保 (sysdate < 下次预约时间) or ( 已做儿保检查 and 下次预约时间 == null) |
189 | 188 | MatchOperation match = Aggregation.match(Criteria.where("created").gte(startDate).lt(endDate)); |
190 | 189 | AggregationOperation group = Aggregation.group("buildId").max("created").as("created").addToSet("id").as("babyCheckIds"); |
191 | - Aggregation aggregation = Aggregation.newAggregation(match ,group); | |
190 | + Aggregation aggregation = Aggregation.newAggregation(match, group); | |
192 | 191 | AggregationResults<Map> aggregate = mongoTemplate.aggregate(aggregation, BabyCheckModel.class, Map.class); |
193 | 192 | List<Map> mappedResults = aggregate.getMappedResults(); |
194 | 193 | for (Map mappedResult : mappedResults) { |
195 | 194 | List babyCheckIds = (List) mappedResult.get("babyCheckIds"); |
196 | 195 | // 根据建档id分组,获取最新的儿保检查数据 |
197 | - Object babyCheckId = babyCheckIds.get(babyCheckIds.size() - 1); | |
196 | + Object babyCheckId = babyCheckIds.get(babyCheckIds.size() - 1); | |
198 | 197 | BabyCheckModel babyCheckModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(babyCheckId).orOperator(Criteria.where("nextDate").gte(new Date()), |
199 | 198 | Criteria.where("nextDate").exists(false))), BabyCheckModel.class); |
200 | 199 | if (null != babyCheckModel) { |
... | ... | @@ -205,7 +204,7 @@ |
205 | 204 | } |
206 | 205 | } |
207 | 206 | } |
208 | - setSyncAfterVisitInfoList( ids, infoCheckModels, afterVisitQuery, TYPE_CHECK, startDate, endDate, hospitalId); | |
207 | + setSyncAfterVisitInfoList(ids, infoCheckModels, afterVisitQuery, TYPE_CHECK, startDate, endDate, hospitalId); | |
209 | 208 | mongoTemplate.insert(infoCheckModels, BabyAfterVisitInfoModel.class); |
210 | 209 | map.put("infoModels-check-size", infoCheckModels.size()); |
211 | 210 | |
... | ... | @@ -292,7 +291,6 @@ |
292 | 291 | } |
293 | 292 | |
294 | 293 | |
295 | - | |
296 | 294 | /** |
297 | 295 | * 档案转正列表/儿保检查/眼保检查/听力筛查 |
298 | 296 | * |
... | ... | @@ -368,8 +366,8 @@ |
368 | 366 | String startCheckTime = request.getStartCheckTime(); |
369 | 367 | String endCheckTime = request.getEndCheckTime(); |
370 | 368 | if (StringUtils.isNotEmpty(startCheckTime) && StringUtils.isNotEmpty(endCheckTime)) { |
371 | - startCheckTime += " 00:00:00"; | |
372 | - endCheckTime += " 23:59:59"; | |
369 | + startCheckTime += " 00:00:00"; | |
370 | + endCheckTime += " 23:59:59"; | |
373 | 371 | Date startDate = DateUtil.parseYMDHMS(startCheckTime); |
374 | 372 | Date endDate = DateUtil.parseYMDHMS(endCheckTime); |
375 | 373 | query.addCriteria(Criteria.where("checkTime").gte(startDate).lte(endDate)); |
... | ... | @@ -390,7 +388,7 @@ |
390 | 388 | // 阳性项目 |
391 | 389 | String positiveProject = request.getPositiveProject(); |
392 | 390 | if (StringUtils.isNotEmpty(positiveProject)) { |
393 | - Pattern pattern = Pattern.compile("^.*"+positiveProject+".*$", Pattern.CASE_INSENSITIVE); | |
391 | + Pattern pattern = Pattern.compile("^.*" + positiveProject + ".*$", Pattern.CASE_INSENSITIVE); | |
394 | 392 | query.addCriteria(Criteria.where("positiveProject").regex(pattern)); |
395 | 393 | } |
396 | 394 | |
397 | 395 | |
398 | 396 | |
399 | 397 | |
400 | 398 | |
... | ... | @@ -458,23 +456,26 @@ |
458 | 456 | query.addCriteria(Criteria.where("appointmentTime").gte(start).lte(end)); |
459 | 457 | } |
460 | 458 | } |
461 | - if (!appointmentTimeBoolean && !nonNull) { | |
462 | - query.addCriteria(Criteria.where("appointmentTime").lt(new Date())); | |
463 | - } | |
464 | - | |
459 | + //临时处理等待董勤回来处理 | |
460 | + boolean flag = true; | |
465 | 461 | // 追访结果 1-显示 当前时间 > 预约时间 |
466 | 462 | // 2-显示 当前时间 < 预约时间 |
467 | 463 | String afterVisitResult = request.getAfterVisitResult(); |
468 | 464 | if (Objects.equals("1", afterVisitResult)) { |
469 | 465 | if (!appointmentTimeBoolean && !nonNull) { |
470 | 466 | query.addCriteria(Criteria.where("appointmentTime").lte(new Date())); |
467 | + flag = false; | |
471 | 468 | } |
472 | - } else if (Objects.equals("2", afterVisitResult)){ | |
469 | + } else if (Objects.equals("2", afterVisitResult)) { | |
473 | 470 | if (!appointmentTimeBoolean && !nonNull) { |
474 | 471 | query.addCriteria(Criteria.where("appointmentTime").gt(new Date())); |
472 | + flag = false; | |
475 | 473 | } |
476 | 474 | } |
477 | 475 | |
476 | + if (!appointmentTimeBoolean && !nonNull && flag) { | |
477 | + query.addCriteria(Criteria.where("appointmentTime").lt(new Date())); | |
478 | + } | |
478 | 479 | |
479 | 480 | // 组装分页query |
480 | 481 | long count = mongoTemplate.count(query, BabyAfterVisitInfoModel.class); |
... | ... | @@ -489,7 +490,7 @@ |
489 | 490 | objectMap.put("birthStr", DateUtil.getyyyy_MM_dd(model.getBirth())); |
490 | 491 | objectMap.put("monthsAge", DateUtil.getBabyMonthAge(model.getBirth(), new Date())); |
491 | 492 | // 脱敏处理 |
492 | - objectMap.put("mphone","1".equals(request.getIsEncrypt()) ? EncryptUtil.numberEncrypt(model.getMphone()) : model.getMphone()); | |
493 | + objectMap.put("mphone", "1".equals(request.getIsEncrypt()) ? EncryptUtil.numberEncrypt(model.getMphone()) : model.getMphone()); | |
493 | 494 | |
494 | 495 | // 预约时间 |
495 | 496 | Date appointmentTime = model.getAppointmentTime(); |
... | ... | @@ -543,7 +544,7 @@ |
543 | 544 | return baseListResponse; |
544 | 545 | } |
545 | 546 | |
546 | - private Date getEndDate(Integer beyondDay){ | |
547 | + private Date getEndDate(Integer beyondDay) { | |
547 | 548 | Calendar instance = Calendar.getInstance(); |
548 | 549 | instance.setTime(new Date()); |
549 | 550 | instance.add(Calendar.DATE, -beyondDay); |
550 | 551 | |
551 | 552 | |
... | ... | @@ -596,16 +597,16 @@ |
596 | 597 | /** |
597 | 598 | * 递归获取预约建档的儿童信息 |
598 | 599 | * |
599 | - * @param ids 建档ids - 针对儿保检查 | |
600 | - * @param infoModels 接受的集合 | |
600 | + * @param ids 建档ids - 针对儿保检查 | |
601 | + * @param infoModels 接受的集合 | |
601 | 602 | * @param afterVisitQuery query对象 |
602 | - * @param type 类型 | |
603 | - * @param startDate 开始时间 | |
604 | - * @param endDate 结束时间 | |
603 | + * @param type 类型 | |
604 | + * @param startDate 开始时间 | |
605 | + * @param endDate 结束时间 | |
605 | 606 | * @throws ExecutionException |
606 | 607 | * @throws InterruptedException |
607 | 608 | */ |
608 | - private void setSyncAfterVisitInfoList(List<String> ids , List<BabyAfterVisitInfoModel> infoModels, BabyAfterVisitRequest afterVisitQuery, Integer type, Date startDate, Date endDate, String hospitalId) | |
609 | + private void setSyncAfterVisitInfoList(List<String> ids, List<BabyAfterVisitInfoModel> infoModels, BabyAfterVisitRequest afterVisitQuery, Integer type, Date startDate, Date endDate, String hospitalId) | |
609 | 610 | throws ExecutionException, InterruptedException { |
610 | 611 | Query query = new Query(); |
611 | 612 | query.addCriteria(Criteria.where("created").gte(startDate).lte(endDate)); |
612 | 613 | |
613 | 614 | |
614 | 615 | |
... | ... | @@ -670,16 +671,16 @@ |
670 | 671 | if (Objects.equals(lastPage, currentPage)) { |
671 | 672 | return; |
672 | 673 | } |
673 | - for (int i = currentPage+ 1; i <= lastPage ; i++) { | |
674 | + for (int i = currentPage + 1; i <= lastPage; i++) { | |
674 | 675 | afterVisitQuery.setPage(i); |
675 | 676 | if (TYPE_BUILD.equals(type)) { |
676 | - setSyncAfterVisitInfoList( null, infoModels, afterVisitQuery, type, startDate, endDate, hospitalId); | |
677 | + setSyncAfterVisitInfoList(null, infoModels, afterVisitQuery, type, startDate, endDate, hospitalId); | |
677 | 678 | } |
678 | 679 | if (TYPE_CHECK.equals(type)) { |
679 | - setSyncAfterVisitInfoList( ids, infoModels, afterVisitQuery, type, startDate, endDate, hospitalId); | |
680 | + setSyncAfterVisitInfoList(ids, infoModels, afterVisitQuery, type, startDate, endDate, hospitalId); | |
680 | 681 | } |
681 | 682 | if (TYPE_EYE_CHECK.equals(type)) { |
682 | - setSyncAfterVisitInfoList( ids, infoModels, afterVisitQuery, type, startDate, endDate, hospitalId); | |
683 | + setSyncAfterVisitInfoList(ids, infoModels, afterVisitQuery, type, startDate, endDate, hospitalId); | |
683 | 684 | } |
684 | 685 | |
685 | 686 | } |
... | ... | @@ -737,7 +738,7 @@ |
737 | 738 | if (Objects.equals(lastPage, currentPage)) { |
738 | 739 | return; |
739 | 740 | } |
740 | - for (int i = currentPage+ 1; i <= lastPage ; i++) { | |
741 | + for (int i = currentPage + 1; i <= lastPage; i++) { | |
741 | 742 | afterVisitQuery.setPage(i); |
742 | 743 | setSyncList(statisticsModels, afterVisitQuery, startDate, endDate, hospitalId); |
743 | 744 | } |
744 | 745 | |
745 | 746 | |
... | ... | @@ -750,21 +751,21 @@ |
750 | 751 | * 儿保检查保存(BabyCheckFacade)、 |
751 | 752 | * 眼保检查(BabyEyeCheckServiceImpl) |
752 | 753 | * |
753 | - * @param model BabyAfterVisitStatisticsModel or BabyAfterVisitInfoModel | |
754 | - * @param type 0-追访概况、1-档案转正、2-儿保检查、3-眼保检查 | |
754 | + * @param model BabyAfterVisitStatisticsModel or BabyAfterVisitInfoModel | |
755 | + * @param type 0-追访概况、1-档案转正、2-儿保检查、3-眼保检查 | |
755 | 756 | * @param statusType 1- 状态:正常 2-状态:作废 4-状态:预建档/临时建档 1-状态:正式建档/已建档 |
756 | 757 | */ |
757 | 758 | @Override |
758 | - public void addOrUpdateAfterVisitData(BaseModel model, Integer type, Integer statusType){ | |
759 | + public void addOrUpdateAfterVisitData(BaseModel model, Integer type, Integer statusType) { | |
759 | 760 | try { |
760 | 761 | ExecutorService service = new ThreadPoolExecutor(1, 1, 0, TimeUnit.MILLISECONDS, |
761 | - new ArrayBlockingQueue<Runnable>(1), | |
762 | - new RejectedExecutionHandler() { | |
763 | - @Override | |
764 | - public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) { | |
765 | - System.out.println("请稍后尝试"); | |
766 | - } | |
767 | - }); | |
762 | + new ArrayBlockingQueue<Runnable>(1), | |
763 | + new RejectedExecutionHandler() { | |
764 | + @Override | |
765 | + public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) { | |
766 | + System.out.println("请稍后尝试"); | |
767 | + } | |
768 | + }); | |
768 | 769 | String typeStr = type.toString(); |
769 | 770 | List<BabyModel> models = new ArrayList<>(); |
770 | 771 | String babyModelId; |
... | ... | @@ -802,7 +803,7 @@ |
802 | 803 | BabyAfterVisitStatisticsModel one = mongoTemplate.findOne(Query.query(Criteria.where(BABY_ID).is(babyModelId).and("yn").is(1)), BabyAfterVisitStatisticsModel.class); |
803 | 804 | if (one != null) { |
804 | 805 | Integer checkSize = one.getCheckSize(); |
805 | - checkSize ++; | |
806 | + checkSize++; | |
806 | 807 | mongoTemplate.updateFirst(Query.query(Criteria.where(BABY_ID).is(babyModelId).and("yn").is(1)), Update.update("checkSize", checkSize), BabyAfterVisitStatisticsModel.class); |
807 | 808 | } |
808 | 809 | } |
... | ... | @@ -811,7 +812,7 @@ |
811 | 812 | BabyAfterVisitStatisticsModel one = mongoTemplate.findOne(Query.query(Criteria.where(BABY_ID).is(babyModelId).and("yn").is(1)), BabyAfterVisitStatisticsModel.class); |
812 | 813 | if (one != null) { |
813 | 814 | Integer eyeCheckSize = one.getEyeCheckSize(); |
814 | - eyeCheckSize ++; | |
815 | + eyeCheckSize++; | |
815 | 816 | mongoTemplate.updateFirst(Query.query(Criteria.where(BABY_ID).is(babyModelId).and("yn").is(1)), Update.update("eyeCheckSize", eyeCheckSize), BabyAfterVisitStatisticsModel.class); |
816 | 817 | } |
817 | 818 | } |
... | ... | @@ -820,7 +821,7 @@ |
820 | 821 | } |
821 | 822 | |
822 | 823 | // 档案转正、儿保检查 addOrUpdate |
823 | - if (Objects.equals(TYPE_BUILD, type) || Objects.equals(TYPE_CHECK, type) ) { | |
824 | + if (Objects.equals(TYPE_BUILD, type) || Objects.equals(TYPE_CHECK, type)) { | |
824 | 825 | |
825 | 826 | if (Objects.equals(STATUS_TYPE_NO, statusType)) { |
826 | 827 | BabyModel babyModel = (BabyModel) model; |
... | ... | @@ -879,7 +880,7 @@ |
879 | 880 | } |
880 | 881 | List<String> projectStrs = InitDataUtils.getPositiveProjectByKey(babyEyeCheck); |
881 | 882 | if (CollectionUtils.isNotEmpty(projectStrs)) { |
882 | - String join = org.apache.commons.lang.StringUtils.join(projectStrs,","); | |
883 | + String join = org.apache.commons.lang.StringUtils.join(projectStrs, ","); | |
883 | 884 | update.set("positiveProject", join); |
884 | 885 | } |
885 | 886 | |
886 | 887 | |
... | ... | @@ -898,9 +899,10 @@ |
898 | 899 | } |
899 | 900 | } catch (Exception e) { |
900 | 901 | e.printStackTrace(); |
901 | - logger.error("追访失败",e.getStackTrace()); | |
902 | + logger.error("追访失败", e.getStackTrace()); | |
902 | 903 | } |
903 | 904 | } |
905 | + | |
904 | 906 | /** |
905 | 907 | * 档案转正/儿保检查/眼保检查/听力筛查 - 新增追访记录 |
906 | 908 | * |