Commit 3f32a1658a2ab31b544982faa9cf471c7a584afa
1 parent
013180f43d
Exists in
master
and in
6 other branches
全区域-区域妇幼管理-眼保健管理
Showing 3 changed files with 293 additions and 1 deletions
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.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/controller/BabyEyeCheckController.java
View file @
3f32a16
... | ... | @@ -289,7 +289,42 @@ |
289 | 289 | babySource,healthCheckType,healthCheckTypeScattered,healthCheckTypeWhole,kindergarten,basicOrganization, |
290 | 290 | provinceId,cityId,areaId,streetId,hospitalProvinceId,hospitalCityId,hospitalAreaId,hospitalId); |
291 | 291 | } |
292 | - | |
292 | + /** | |
293 | + * 区域眼保健管理-眼保健管理 | |
294 | + *@param startDate | |
295 | + * @param endDate | |
296 | + * @param doctor | |
297 | + * @param key 姓名/联系方式/就诊卡 | |
298 | + * @param currentMonthStart/currentMonthEnd 当前月龄范围 | |
299 | + * @param chechMonth 检查月龄 | |
300 | + * @param positive 是否是阳性 | |
301 | + * @param bookStartDate 预约开始时间 | |
302 | + * @param bookEndDate 预约结束时间 | |
303 | + * @param positive 是否是阳性 | |
304 | + * @param page | |
305 | + * @param limit | |
306 | + * @param request | |
307 | + * @param provinceId //居住地-省 | |
308 | + * @param cityId //居住地-市 | |
309 | + * @param areaId //居住地-区县 | |
310 | + * @param streetId //居住地-街道 | |
311 | + * @param hospitalProvinceId //检查医院-省 | |
312 | + * @param hospitalCityId //检查医院-市 | |
313 | + * @param hospitalAreaId //检查医院-区县 | |
314 | + * @param hospitalId //检查医院-医院 | |
315 | + */ | |
316 | + @ResponseBody | |
317 | + @TokenRequired | |
318 | + @RequestMapping(value = "/childrenFilingListQy", method = RequestMethod.GET) | |
319 | + public BaseResponse childrenFilingListQy( Date startBuildDate, Date endBuildDate,Date startDate, Date endDate, String doctor, String key, Integer currentMonthStart, Integer currentMonthEnd, String chechMonth, boolean positive, String positiveIds, Integer page, Integer limit, HttpServletRequest request, | |
320 | + Date bookStartDate, Date bookEndDate, String apparatusPositive, String doctorPositive, String yin,String noPassIds, | |
321 | + String provinceId, String cityId, String areaId, String streetId, | |
322 | + String hospitalProvinceId, String hospitalCityId, String hospitalAreaId, String hospitalId) { | |
323 | + return babyEyeCheckService.childrenFilingListQy(getUserId(request), startBuildDate, endBuildDate, startDate, endDate, doctor, key, | |
324 | + currentMonthStart, currentMonthEnd, chechMonth, positive, positiveIds, page, limit, | |
325 | + bookStartDate, bookEndDate, apparatusPositive, doctorPositive, yin, noPassIds, | |
326 | + provinceId,cityId,areaId,streetId,hospitalProvinceId,hospitalCityId,hospitalAreaId,hospitalId); | |
327 | + } | |
293 | 328 | |
294 | 329 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java
View file @
3f32a16
... | ... | @@ -59,5 +59,12 @@ |
59 | 59 | Integer kindergarten, Integer basicOrganization, |
60 | 60 | String provinceId, String cityId, String areaId, String streetId, |
61 | 61 | String hospitalProvinceId, String hospitalCityId, String hospitalAreaId, String hospitalId); |
62 | + | |
63 | + BaseResponse childrenFilingListQy(Integer userId, Date startBuildDate, Date endBuildDate, Date startDate, Date endDate, String doctor, | |
64 | + String key, Integer currentMonthStart, Integer currentMonthEnd, String chechMonth, boolean positive, | |
65 | + String positiveIds, Integer page, Integer limit, Date bookStartDate, Date bookEndDate, String apparatusPositive, | |
66 | + String doctorPositive, String yin, String noPassIds, | |
67 | + String provinceId, String cityId, String areaId, String streetId, | |
68 | + String hospitalProvinceId, String hospitalCityId, String hospitalAreaId, String hospitalId); | |
62 | 69 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java
View file @
3f32a16
... | ... | @@ -2385,6 +2385,7 @@ |
2385 | 2385 | |
2386 | 2386 | chechMonths.add(chechMonth); |
2387 | 2387 | } |
2388 | + //这里加医院筛选为了只查本院检查的儿童 | |
2388 | 2389 | if (StringUtils.isNotEmpty(chechMonth)) { |
2389 | 2390 | criteria.and("checkMonthId").in(chechMonths); |
2390 | 2391 | } |
... | ... | @@ -2600,6 +2601,255 @@ |
2600 | 2601 | } |
2601 | 2602 | pageResult.setGrid(setDatas(babyEyeChecks)); |
2602 | 2603 | return RespBuilder.buildSuccess(pageResult); |
2604 | + } | |
2605 | + | |
2606 | + @Override | |
2607 | + public BaseResponse childrenFilingListQy(Integer userId, Date startBuildDate, Date endBuildDate, Date startDate, | |
2608 | + Date endDate, String doctor, String key, Integer currentMonthStart, Integer currentMonthEnd, | |
2609 | + String chechMonth, boolean positive, String positiveIds, Integer page, Integer limit, | |
2610 | + Date bookStartDate, Date bookEndDate, String apparatusPositive, | |
2611 | + String doctorPositive, String yin, String noPassIds, | |
2612 | + String provinceId, String cityId, String areaId, String streetId, | |
2613 | + String hospitalProvinceId, String hospitalCityId, String hospitalAreaId, String ckHospitalId) { | |
2614 | + | |
2615 | + BabyModelQuery babyModelQuery = new BabyModelQuery(); | |
2616 | + babyModelQuery.setYn(YnEnums.YES.getId()); | |
2617 | + babyModelQuery.setDisplayState("1"); | |
2618 | + //区域医院筛选条件得到机构ID集合 | |
2619 | + List <String> hospitalIdList = new ArrayList <>(); | |
2620 | + if (StringUtils.isNotEmpty(hospitalProvinceId)){ | |
2621 | + OrganizationQuery organizationQuery = new OrganizationQuery(); | |
2622 | + organizationQuery.setProvinceId(hospitalProvinceId); | |
2623 | + List <Organization> organizationListP = organizationService.queryOrganization(organizationQuery); | |
2624 | + for (Organization organization : organizationListP) { | |
2625 | + hospitalIdList.add(String.valueOf(organization.getId())); | |
2626 | + } | |
2627 | + if (StringUtils.isNotEmpty(hospitalCityId)) { | |
2628 | + organizationQuery.setCityId(hospitalCityId); | |
2629 | + List <Organization> organizationListC = organizationService.queryOrganization(organizationQuery); | |
2630 | + for (Organization organization : organizationListC) { | |
2631 | + hospitalIdList.add(String.valueOf(organization.getId())); | |
2632 | + } | |
2633 | + } | |
2634 | + if (StringUtils.isNotEmpty(hospitalAreaId)) { | |
2635 | + organizationQuery.setAreaId(hospitalAreaId); | |
2636 | + List <Organization> organizationListA = organizationService.queryOrganization(organizationQuery); | |
2637 | + for (Organization organization : organizationListA) { | |
2638 | + hospitalIdList.add(String.valueOf(organization.getId())); | |
2639 | + } | |
2640 | + } | |
2641 | + if (StringUtils.isNotEmpty(ckHospitalId)) { | |
2642 | + hospitalIdList.add(ckHospitalId); | |
2643 | + } | |
2644 | + | |
2645 | + List <String> permissions = new ArrayList <>(); | |
2646 | + DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); | |
2647 | + dataPermissionsModelQuery.setUserId(userId); | |
2648 | + List <DataPermissionsModel> dataPermissionsModelList = dataPermissionService.queryPermission(dataPermissionsModelQuery); | |
2649 | + if (CollectionUtils.isNotEmpty(dataPermissionsModelList)) { | |
2650 | + Set <String> set = dataPermissionsModelList.get(0).getData().keySet(); | |
2651 | + Iterator <String> it = set.iterator(); | |
2652 | + while (it.hasNext()) { | |
2653 | + String id = it.next(); | |
2654 | + permissions.add(id); | |
2655 | + } | |
2656 | + } | |
2657 | + | |
2658 | + if (CollectionUtils.isNotEmpty(hospitalIdList)) { | |
2659 | + hospitalIdList.retainAll(permissions); | |
2660 | + } else { | |
2661 | + hospitalIdList.addAll(permissions); | |
2662 | + } | |
2663 | + } | |
2664 | + //机构id集合筛选 | |
2665 | + if (CollectionUtils.isNotEmpty(hospitalIdList)) { | |
2666 | + babyModelQuery.setHospitalIdList(hospitalIdList); | |
2667 | + } | |
2668 | + //居住地筛选 | |
2669 | + if(StringUtils.isNotEmpty(provinceId)){ | |
2670 | + babyModelQuery.setProvinceId(provinceId); | |
2671 | + if (StringUtils.isNotEmpty(cityId)){ | |
2672 | + babyModelQuery.setCityId(cityId); | |
2673 | + } | |
2674 | + if (StringUtils.isNotEmpty(areaId)){ | |
2675 | + babyModelQuery.setAreaId(areaId); | |
2676 | + } | |
2677 | + if (StringUtils.isNotEmpty(streetId)){ | |
2678 | + babyModelQuery.setStreetId(streetId); | |
2679 | + } | |
2680 | + } | |
2681 | + | |
2682 | + //筛选查询条件 | |
2683 | + if (startBuildDate != null && endBuildDate != null) { | |
2684 | + babyModelQuery.setBuildDateNoybjStart(startBuildDate); | |
2685 | + babyModelQuery.setBuildDateNoybjEnd(DateUtil.addDay(endBuildDate, 1)); | |
2686 | + } | |
2687 | + if (startDate != null && endDate != null) { | |
2688 | + babyModelQuery.setCheckTimeStart(startDate); | |
2689 | + babyModelQuery.setCheckTimeEnd(DateUtil.addDay(endDate, 1)); | |
2690 | + } | |
2691 | + if (bookStartDate != null && bookEndDate != null) { | |
2692 | + babyModelQuery.setNextCheckTimeStart(bookStartDate); | |
2693 | + babyModelQuery.setNextCheckTimeEnd(DateUtil.addDay(bookEndDate, 1)); | |
2694 | + } | |
2695 | + babyModelQuery.setDoctor(doctor); | |
2696 | + babyModelQuery.setQueryNo(key); | |
2697 | + if (currentMonthStart != null && currentMonthEnd != null) { | |
2698 | + babyModelQuery.setBirthStart(DateUtil.getBirthStart(currentMonthEnd)); | |
2699 | + babyModelQuery.setBirthEnd(DateUtil.getBirthEnd(currentMonthStart)); | |
2700 | + } | |
2701 | + List<String> chechMonths = new ArrayList<>(); | |
2702 | + if (StringUtils.isNotEmpty(chechMonth)) { | |
2703 | + if ("1".equals(chechMonth)) { | |
2704 | + chechMonths.add("0"); | |
2705 | + } else if ("12".equals(chechMonth)) { | |
2706 | + chechMonths.add("9"); | |
2707 | + } else if ("24".equals(chechMonth)) { | |
2708 | + chechMonths.add("18"); | |
2709 | + } | |
2710 | + chechMonths.add(chechMonth); | |
2711 | + } | |
2712 | + babyModelQuery.setCheckMonthIds(chechMonths); | |
2713 | + if (StringUtils.isNotEmpty(positiveIds)) { | |
2714 | + List<String> ids = CollectionUtils.asList(positiveIds, String.class); | |
2715 | + if (CollectionUtils.isNotEmpty(ids)) { | |
2716 | + for (String id : ids) { | |
2717 | + if ("extEyelook".equals(id)) { | |
2718 | + babyModelQuery.setExtEyelook("yang"); | |
2719 | + } else if ("nystagmus".equals(id)) { | |
2720 | + babyModelQuery.setNystagmus("yang"); | |
2721 | + } else if ("extRightEyelook".equals(id)) { | |
2722 | + babyModelQuery.setExtRightEyelook("yang"); | |
2723 | + } else if ("extLeftEyelook".equals(id)) { | |
2724 | + babyModelQuery.setExtLeftEyelook("yang"); | |
2725 | + } else if ("blinkRightReflex".equals(id)) { | |
2726 | + babyModelQuery.setBlinkRightReflex("yang"); | |
2727 | + } else if ("blinkLefttReflex".equals(id)) { | |
2728 | + babyModelQuery.setBlinkLefttReflex("yang"); | |
2729 | + } else if ("pupillaryRightReflex".equals(id)) { | |
2730 | + babyModelQuery.setPupillaryRightReflex("yang"); | |
2731 | + } else if ("pupillaryLeftReflex".equals(id)) { | |
2732 | + babyModelQuery.setPupillaryLeftReflex("yang"); | |
2733 | + } else if ("redRightReflex".equals(id)) { | |
2734 | + babyModelQuery.setRedRightReflex("yang"); | |
2735 | + } else if ("redLeftReflex".equals(id)) { | |
2736 | + babyModelQuery.setRedLeftReflex("yang"); | |
2737 | + } else if ("redReflex".equals(id)) { | |
2738 | + babyModelQuery.setRedReflex("yang"); | |
2739 | + } else if ("conjunctiva".equals(id)) { | |
2740 | + babyModelQuery.setConjunctiva("yang"); | |
2741 | + } else if ("corneal".equals(id)) { | |
2742 | + babyModelQuery.setCorneal("yang"); | |
2743 | + } else if ("lacrimalApparatus".equals(id)) { | |
2744 | + babyModelQuery.setLacrimalApparatus("yang"); | |
2745 | + } else if ("eyePositionId2".equals(id)) { | |
2746 | + babyModelQuery.setEyePositionId2("yang"); | |
2747 | + } else if ("redLeft2".equals(id)) { | |
2748 | + babyModelQuery.setRedLeft2("yang"); | |
2749 | + } else if ("vision2".equals(id)) { | |
2750 | + babyModelQuery.setVision2("yang"); | |
2751 | + } else if ("y2".equals(id)) { | |
2752 | + babyModelQuery.setY2("yang"); | |
2753 | + } else if ("refraction2".equals(id)) { | |
2754 | + babyModelQuery.setRefraction2("yang"); | |
2755 | + } | |
2756 | + } | |
2757 | + } | |
2758 | + } | |
2759 | + if (StringUtils.isNotEmpty(noPassIds)) { | |
2760 | + List<String> ids = CollectionUtils.asList(noPassIds, String.class); | |
2761 | + for (String id : ids) { | |
2762 | + if ("eyeAppearance".equals(id)) { | |
2763 | + babyModelQuery.setEyeAppearance("2"); | |
2764 | + } else if ("redReflexQhd".equals(id)) { | |
2765 | + babyModelQuery.setRedReflexQhd("2"); | |
2766 | + } else if ("blinkReflex".equals(id)) { | |
2767 | + babyModelQuery.setBlinkReflex("2"); | |
2768 | + } else if ("redBallTest".equals(id)) { | |
2769 | + babyModelQuery.setRedBallTest("2"); | |
2770 | + } else if ("behaviorObservation".equals(id)) { | |
2771 | + babyModelQuery.setBehaviorObservation("2"); | |
2772 | + } else if ("refractiveScreening".equals(id)) { | |
2773 | + babyModelQuery.setRefractiveScreening("2"); | |
2774 | + } else if ("eyePositionExamination".equals(id)) { | |
2775 | + babyModelQuery.setEyePositionExamination("2"); | |
2776 | + } else if ("eyeMovement".equals(id)) { | |
2777 | + babyModelQuery.setEyeMovement("2"); | |
2778 | + } | |
2779 | + } | |
2780 | + } | |
2781 | + if (StringUtils.isNotEmpty(yin)) { | |
2782 | + babyModelQuery.setApparatusNin("2"); | |
2783 | + babyModelQuery.setDoctorJudgementNin("2"); | |
2784 | + } | |
2785 | + if (positive) { | |
2786 | + babyModelQuery.setApparatus("2"); | |
2787 | + babyModelQuery.setDoctorJudgement("2"); | |
2788 | + } | |
2789 | + babyModelQuery.setNeed("true"); | |
2790 | + babyModelQuery.setPage(page); | |
2791 | + babyModelQuery.setLimit(limit); | |
2792 | + babyModelQuery.setYn(YnEnums.YES.getId()); | |
2793 | + List<BabyModel> babyModelList = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery, "checkTime", Sort.Direction.DESC); | |
2794 | + List<Map> results = new ArrayList<>(); | |
2795 | + for (BabyModel babyModel : babyModelList) { | |
2796 | + Map mapResult = new HashMap(); | |
2797 | + mapResult.put("babyId", babyModel.getId());//儿童档案id | |
2798 | + mapResult.put("babyName", babyModel.getName());//儿童姓名 | |
2799 | + if (babyModel.getSex() != null && babyModel.getSex() == 0) { | |
2800 | + mapResult.put("sex", "女");//性别 | |
2801 | + } else if (babyModel.getSex() != null && babyModel.getSex() == 1) { | |
2802 | + mapResult.put("sex", "男"); | |
2803 | + } else { | |
2804 | + mapResult.put("sex", "_"); | |
2805 | + } | |
2806 | + mapResult.put("mname", babyModel.getMname());//母亲姓名 | |
2807 | + mapResult.put("birth", DateUtil.getyyyy_MM_dd(babyModel.getBirth()));//出生日期 | |
2808 | + mapResult.put("buildDate", DateUtil.getyyyy_MM_dd(babyModel.getBuildDate()));//建档日期 | |
2809 | + if (StringUtils.isNotEmpty(babyModel.getCheckMonthId())) { | |
2810 | + if (StringUtils.isNotEmpty(babyModel.getEdition())) { | |
2811 | + //处理老数据 | |
2812 | + if ("0".equals(babyModel.getCheckMonthId())) { | |
2813 | + babyModel.setCheckMonthId("1"); | |
2814 | + } else if ("9".equals(babyModel.getCheckMonthId())) { | |
2815 | + babyModel.setCheckMonthId("12"); | |
2816 | + } else if ("18".equals(babyModel.getCheckMonthId())) { | |
2817 | + babyModel.setCheckMonthId("24"); | |
2818 | + } | |
2819 | + mapResult.put("checkMonthAge", CheckMonthQhdEnums.getName(babyModel.getCheckMonthId())); | |
2820 | + } else { | |
2821 | + mapResult.put("checkMonthAge", CheckMonthEnums.getName(babyModel.getCheckMonthId())); | |
2822 | + } | |
2823 | + } | |
2824 | + //居住地 | |
2825 | + String address = CommonsHelper.getResidence(babyModel.getProvinceId(), babyModel.getCityId(), | |
2826 | + babyModel.getAreaId(), babyModel.getStreetId(), babyModel.getAddress(), basicConfigService); | |
2827 | + mapResult.put("completeAddress",address); | |
2828 | + //检查医院 | |
2829 | + String hospitalName=null; | |
2830 | + if(StringUtils.isNotEmpty(babyModel.getId())){ | |
2831 | + List<BabyEyeCheck> babyEyeChecks=mongoTemplate.find(Query.query(new Criteria("babyId").is(babyModel.getId())).with(new Sort(Sort.Direction.DESC, "checkTime")), BabyEyeCheck.class); | |
2832 | + if(CollectionUtils.isNotEmpty(babyEyeChecks)){ | |
2833 | + hospitalName=organizationService.getOrganization(Integer.valueOf(babyEyeChecks.get(0).getHospitalId())).getName(); | |
2834 | + } | |
2835 | + | |
2836 | + } | |
2837 | + mapResult.put("hospitalName",hospitalName); | |
2838 | + StringBuilder positiveBaby = getYxxmBaby(babyModel);//阳性项目 | |
2839 | + mapResult.put("positive", positiveBaby.toString());//阳性项目 | |
2840 | + mapResult.put("doctor", couponMapper.getUserName(babyModel.getDoctor()));//检查医生 | |
2841 | + mapResult.put("checkTime", DateUtil.getYyyyMmDd(babyModel.getCheckTime()));//检查日期 | |
2842 | + mapResult.put("nextCheckTime", DateUtil.getYyyyMmDd(babyModel.getNextCheckTime()));//预约日期 | |
2843 | + mapResult.put("checkId", babyModel.getCheckId());//儿童眼保健检查id | |
2844 | + results.add(mapResult); | |
2845 | + } | |
2846 | + | |
2847 | + BaseListResponse objectResponse = new BaseListResponse(); | |
2848 | + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); | |
2849 | + objectResponse.setData(results); | |
2850 | + objectResponse.setPageInfo(babyModelQuery.getPageInfo()); | |
2851 | + objectResponse.setErrormsg("成功"); | |
2852 | + return objectResponse; | |
2603 | 2853 | } |
2604 | 2854 | |
2605 | 2855 | } |