Commit 32df5ae1e455d8aa37175eb45af1e9b84dc3ac74
1 parent
eb1a87a317
Exists in
master
and in
6 other branches
update
Showing 4 changed files with 258 additions and 18 deletions
- platform-dal/src/main/java/com/lyms/platform/pojo/PreEugenicsBaseModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPreEugenicsService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java
platform-dal/src/main/java/com/lyms/platform/pojo/PreEugenicsBaseModel.java
View file @
32df5ae
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java
View file @
32df5ae
... | ... | @@ -207,9 +207,47 @@ |
207 | 207 | @RequestMapping(method = RequestMethod.GET, value = "/getHjYjList") |
208 | 208 | @ResponseBody |
209 | 209 | @TokenRequired |
210 | - public BaseObjectResponse getHjYjList(@RequestParam String time, HttpServletRequest request) { | |
210 | + public BaseObjectResponse getHjYjList(@RequestParam String time,HttpServletRequest request) { | |
211 | 211 | return iPreEugenicsService.getHjYjList(time, getUserId(request)); |
212 | 212 | } |
213 | + /** | |
214 | + * 建档后婚检/孕前体检表信息不能完全共享 | |
215 | + * | |
216 | + * @param cardNo | |
217 | + * @param request | |
218 | + * @Author: 武涛涛 | |
219 | + * @Date: 2020/9/24 16:17 | |
220 | + */ | |
221 | + @RequestMapping(method = RequestMethod.GET, value = "/getMcyjChuc") | |
222 | + @ResponseBody | |
223 | + @TokenRequired | |
224 | + public BaseObjectResponse getMcyjChuc(@RequestParam String cardNo,HttpServletRequest request) { | |
225 | + return iPreEugenicsService.getMcyjChuc(cardNo, getUserId(request)); | |
226 | + } | |
227 | + /** | |
228 | + * 孕检 导出数据 | |
229 | + * @param time | |
230 | + * @param request | |
231 | + * @param response | |
232 | + */ | |
233 | + @ResponseBody | |
234 | + @TokenRequired | |
235 | + @RequestMapping(value = "/exportYj", method = RequestMethod.GET) | |
236 | + public void exportYj(@RequestParam String time, HttpServletRequest request, HttpServletResponse response) { | |
237 | + iPreEugenicsService.exportYj(time, getUserId(request),response); | |
238 | + } | |
239 | + /** | |
240 | + * 婚检 导出数据 | |
241 | + * @param time | |
242 | + * @param request | |
243 | + * @param response | |
244 | + */ | |
245 | + @ResponseBody | |
246 | + @TokenRequired | |
247 | + @RequestMapping(value = "/exportHj", method = RequestMethod.GET) | |
248 | + public void exportHj(@RequestParam String time, HttpServletRequest request, HttpServletResponse response) { | |
249 | + iPreEugenicsService.exportHj(time, getUserId(request),response); | |
250 | + } | |
213 | 251 | |
214 | 252 | /** |
215 | 253 | * 导出数据 |
... | ... | @@ -223,5 +261,9 @@ |
223 | 261 | public void exportRcCount(@RequestParam String time, HttpServletRequest request, HttpServletResponse response) { |
224 | 262 | iPreEugenicsService.exportRcCount(time, getUserId(request),response); |
225 | 263 | } |
264 | + | |
265 | + | |
266 | + | |
267 | + | |
226 | 268 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPreEugenicsService.java
View file @
32df5ae
... | ... | @@ -22,7 +22,11 @@ |
22 | 22 | BaseObjectResponse getRcCount(String time, Integer userId); |
23 | 23 | |
24 | 24 | BaseObjectResponse getHjYjList(String time, Integer userId); |
25 | + BaseObjectResponse getMcyjChuc(String cardNo, Integer userId); | |
26 | + void exportYj(String time, Integer userId, HttpServletResponse response); | |
27 | + void exportHj(String time, Integer userId, HttpServletResponse response); | |
25 | 28 | |
26 | 29 | void exportRcCount(String time, Integer userId, HttpServletResponse response); |
30 | + | |
27 | 31 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java
View file @
32df5ae
... | ... | @@ -80,6 +80,7 @@ |
80 | 80 | |
81 | 81 | @Autowired |
82 | 82 | private PremaritalCheckupService premaritalCheckupService; |
83 | + | |
83 | 84 | /** |
84 | 85 | * 根据身份证号获取对应的孕前优生信息 |
85 | 86 | * |
86 | 87 | |
87 | 88 | |
... | ... | @@ -572,15 +573,10 @@ |
572 | 573 | @Override |
573 | 574 | public BaseObjectResponse getHjYjList(String time, Integer userId) { |
574 | 575 | |
575 | - /* | |
576 | - 存储导出list 详情 ,只写了统计总数,没有导出详情 | |
577 | - */ | |
578 | 576 | int hjAllCount = 0; |
579 | 577 | int yjAllCount = 0; |
580 | - | |
581 | - //乡镇list 存储 乡镇名称,婚检总数,孕检总数 | |
578 | + //婚检孕检统计 | |
582 | 579 | List <Map <String, Object>> datas = new LinkedList <>(); |
583 | - | |
584 | 580 | //当前用户获取对应的 乡镇列表 |
585 | 581 | String hospitalId = autoMatchFacade.getHospitalId(userId); |
586 | 582 | Organization organization = organizationService.getOrganization(Integer.valueOf(hospitalId)); |
... | ... | @@ -592,7 +588,7 @@ |
592 | 588 | /*婚检*/ |
593 | 589 | List <String> residentsIds = getResidentsIds(hospitalId, item); |
594 | 590 | //通过建档 residentsIds 获取这短时间婚检孕检的男女 |
595 | - if(CollectionUtils.isNotEmpty(residentsIds)){ | |
591 | + if (CollectionUtils.isNotEmpty(residentsIds)) { | |
596 | 592 | PremaritalCheckupQuery query = new PremaritalCheckupQuery(); |
597 | 593 | query.setYn(YnEnums.YES.getId()); |
598 | 594 | query.setHospitalId(hospitalId); |
... | ... | @@ -605,7 +601,7 @@ |
605 | 601 | e.printStackTrace(); |
606 | 602 | } |
607 | 603 | } |
608 | - List<PremaritalCheckup> hjList = premaritalCheckupService.queryPremaritalCheckup(query); | |
604 | + List <PremaritalCheckup> hjList = premaritalCheckupService.queryPremaritalCheckup(query); | |
609 | 605 | //单个乡镇婚检总数 |
610 | 606 | data.put("hjCount", hjList.size()); |
611 | 607 | //婚检总数 |
612 | 608 | |
613 | 609 | |
... | ... | @@ -619,14 +615,13 @@ |
619 | 615 | Date end = DateUtil.parseYMD(arrs[1]); |
620 | 616 | end = DateUtil.getDayLastSecond(end); |
621 | 617 | yquery.addCriteria(Criteria.where("fillDate").gte(start).lte(end)); |
622 | - yquery.addCriteria(Criteria.where("hyj").is(0)); | |
623 | -// tquery.addCriteria(Criteria.where("hyj").is(1)); | |
618 | +// yquery.addCriteria(Criteria.where("hyj").is(1));//陵城默认是婚孕检 | |
624 | 619 | yquery.addCriteria(Criteria.where("hospitalId").is(hospitalId)); |
625 | 620 | yquery.addCriteria(Criteria.where("wifeCurrentStreet").is(item.getId())); |
626 | 621 | List <PreEugenicsBaseModel> yjList = mongoTemplate.find(yquery, PreEugenicsBaseModel.class); |
627 | 622 | if (CollectionUtils.isNotEmpty(yjList)) { |
628 | - yjAllCount += yjList.size(); | |
629 | 623 | data.put("yjCount", yjList.size()); |
624 | + yjAllCount += yjList.size(); | |
630 | 625 | } |
631 | 626 | datas.add(data); |
632 | 627 | |
633 | 628 | |
634 | 629 | |
635 | 630 | |
636 | 631 | |
637 | 632 | |
638 | 633 | |
... | ... | @@ -636,27 +631,226 @@ |
636 | 631 | data.put("name", "合计"); |
637 | 632 | data.put("hjCount", hjAllCount); |
638 | 633 | data.put("yjCount", yjAllCount); |
634 | + | |
639 | 635 | datas.add(data); |
640 | 636 | } |
641 | 637 | |
642 | 638 | return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(datas); |
643 | 639 | } |
644 | 640 | |
641 | + @Override | |
642 | + public BaseObjectResponse getMcyjChuc(String cardNo, Integer userId) { | |
643 | + | |
644 | + Map <String, Object> map = new HashMap <>(); | |
645 | + //婚前检查 | |
646 | + String hospitalId = autoMatchFacade.getHospitalId(userId); | |
647 | + PremaritalCheckupQuery query = new PremaritalCheckupQuery(); | |
648 | + query.setYn(YnEnums.YES.getId()); | |
649 | + query.setHospitalId(hospitalId); | |
650 | + query.setCertificateNum(cardNo); | |
651 | + List <PremaritalCheckup> hjList = premaritalCheckupService.queryPremaritalCheckup(query); | |
652 | + if(CollectionUtils.isNotEmpty(hjList)){ | |
653 | + PremaritalCheckup premaritalCheckup = hjList.get(0); | |
654 | + map.put("menarcheAge", premaritalCheckup.getMenarcheAge()); | |
655 | + map.put("lastMenses", premaritalCheckup.getLastMenses()); | |
656 | + }else { | |
657 | + //孕检 | |
658 | + Query yquery = new Query(); | |
659 | + yquery.addCriteria(Criteria.where("hospitalId").is(hospitalId)); | |
660 | + yquery.addCriteria(Criteria.where("wifeCardNo").is(cardNo)); | |
661 | + List <PreEugenicsBaseModel> yjList = mongoTemplate.find(yquery, PreEugenicsBaseModel.class); | |
662 | + } | |
663 | + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(map); | |
664 | + } | |
665 | + | |
666 | + | |
645 | 667 | /** |
646 | - * 获取乡镇,婚检建档 男女Id | |
668 | + * 孕检导出 | |
669 | + * | |
670 | + * @param time | |
671 | + * @param userId | |
672 | + * @param response | |
647 | 673 | * @Author: 武涛涛 |
674 | + * @Date: 2020/9/27 10:30 | |
675 | + */ | |
676 | + @Override | |
677 | + public void exportYj(String time, Integer userId, HttpServletResponse response) { | |
678 | + List <Map <String, Object>> datas = getYjdcList(time, userId); | |
679 | + Map <String, String> cnames = new LinkedHashMap <>(); | |
680 | + cnames.put("username", "姓名"); | |
681 | + cnames.put("certificateNum", "证件号"); | |
682 | + cnames.put("age", "年龄"); | |
683 | + cnames.put("addressStr", "居住地"); | |
684 | + cnames.put("phone", "联系电话"); | |
685 | + cnames.put("spouseName", "配偶姓名"); | |
686 | + cnames.put("spousePhone", "联系方式"); | |
687 | + ResponseUtil.responseExcel(cnames, datas, response); | |
688 | + | |
689 | + } | |
690 | + | |
691 | + @Override | |
692 | + public void exportHj(String time, Integer userId, HttpServletResponse response) { | |
693 | + List <Map <String, Object>> datas = getHyjdcList(time, userId); | |
694 | + Map <String, String> cnames = new LinkedHashMap <>(); | |
695 | + cnames.put("username", "姓名"); | |
696 | + cnames.put("certificateNum", "证件号"); | |
697 | + cnames.put("age", "年龄"); | |
698 | + cnames.put("addressStr", "居住地"); | |
699 | + cnames.put("phone", "联系电话"); | |
700 | + cnames.put("spouseName", "配偶姓名"); | |
701 | + cnames.put("spousePhone", "联系方式"); | |
702 | + ResponseUtil.responseExcel(cnames, datas, response); | |
703 | + | |
704 | + } | |
705 | + | |
706 | + | |
707 | + /** | |
708 | + * 孕检 导出数据 | |
709 | + * | |
710 | + * @param time | |
711 | + * @param userId | |
712 | + * @Author: 武涛涛 | |
713 | + * @Date: 2020/9/27 10:23 | |
714 | + */ | |
715 | + private List <Map <String, Object>> getYjdcList(String time, Integer userId) { | |
716 | + | |
717 | + //孕检导出 | |
718 | + List <Map <String, Object>> yjdcList = new LinkedList <>(); | |
719 | + | |
720 | + //当前用户获取对应的 乡镇列表 | |
721 | + String hospitalId = autoMatchFacade.getHospitalId(userId); | |
722 | + Organization organization = organizationService.getOrganization(Integer.valueOf(hospitalId)); | |
723 | + List <BasicConfig> items = basicConfigService.queryByParentId(organization.getAreaId()); | |
724 | + if (CollectionUtils.isNotEmpty(items)) { | |
725 | + for (BasicConfig item : items) { | |
726 | + /*孕检*/ | |
727 | + Query yquery = new Query(); | |
728 | + String[] arrs = time.split(" - "); | |
729 | + Date start = DateUtil.parseYMD(arrs[0]); | |
730 | + Date end = DateUtil.parseYMD(arrs[1]); | |
731 | + end = DateUtil.getDayLastSecond(end); | |
732 | + yquery.addCriteria(Criteria.where("fillDate").gte(start).lte(end)); | |
733 | +// yquery.addCriteria(Criteria.where("hyj").is(1));//陵城默认是婚孕检 | |
734 | + yquery.addCriteria(Criteria.where("hospitalId").is(hospitalId)); | |
735 | + yquery.addCriteria(Criteria.where("wifeCurrentStreet").is(item.getId())); | |
736 | + List <PreEugenicsBaseModel> yjList = mongoTemplate.find(yquery, PreEugenicsBaseModel.class); | |
737 | + if (CollectionUtils.isNotEmpty(yjList)) { | |
738 | + for (int i = 0; i < yjList.size(); i++) { | |
739 | + Map <String, Object> yjjMap = new HashMap(); | |
740 | + PreEugenicsBaseModel preEugenicsBaseModel = yjList.get(i); | |
741 | + yjjMap.put("username", preEugenicsBaseModel.getWifeName());//姓名 | |
742 | + yjjMap.put("certificateNum", preEugenicsBaseModel.getWifeCardNo());//证件号 | |
743 | + yjjMap.put("age", preEugenicsBaseModel.getWifeAge());//年龄 | |
744 | + String addressStr = CommonsHelper.getResidence(preEugenicsBaseModel.getWifeCurrentProvince(), | |
745 | + preEugenicsBaseModel.getWifeCurrentCity(), preEugenicsBaseModel.getWifeCurrentArea(), | |
746 | + preEugenicsBaseModel.getWifeCurrentStreet(), preEugenicsBaseModel.getWifeCurrentAddress(), | |
747 | + basicConfigService); | |
748 | + yjjMap.put("addressStr", addressStr);//居住地 | |
749 | + yjjMap.put("phone", preEugenicsBaseModel.getWifePhone());//联系电话 | |
750 | + yjjMap.put("spouseName", preEugenicsBaseModel.getHusbandName());//配偶姓名 | |
751 | + yjjMap.put("spousePhone", preEugenicsBaseModel.getHusbandPhone());//联系方式 | |
752 | + | |
753 | + yjdcList.add(yjjMap); | |
754 | + } | |
755 | + } | |
756 | + } | |
757 | + } | |
758 | + return yjdcList; | |
759 | + } | |
760 | + | |
761 | + /** | |
762 | + * 婚检 导出数据 | |
763 | + * | |
764 | + * @param time | |
765 | + * @param userId | |
766 | + * @Author: 武涛涛 | |
767 | + * @Date: 2020/9/27 10:21 | |
768 | + */ | |
769 | + private List <Map <String, Object>> getHyjdcList(String time, Integer userId) { | |
770 | + //婚检导出 | |
771 | + List <Map <String, Object>> hyjdcList = new LinkedList <>(); | |
772 | + //当前用户获取对应的 乡镇列表 | |
773 | + String hospitalId = autoMatchFacade.getHospitalId(userId); | |
774 | + Organization organization = organizationService.getOrganization(Integer.valueOf(hospitalId)); | |
775 | + List <BasicConfig> items = basicConfigService.queryByParentId(organization.getAreaId()); | |
776 | + if (CollectionUtils.isNotEmpty(items)) { | |
777 | + for (BasicConfig item : items) { | |
778 | + Map <String, Object> data = new HashMap(); | |
779 | + data.put("name", item.getName()); | |
780 | + /*婚检*/ | |
781 | + List <String> residentsIds = getResidentsIds(hospitalId, item); | |
782 | + //通过建档 residentsIds 获取这短时间婚检孕检的男女 | |
783 | + if (CollectionUtils.isNotEmpty(residentsIds)) { | |
784 | + PremaritalCheckupQuery query = new PremaritalCheckupQuery(); | |
785 | + query.setYn(YnEnums.YES.getId()); | |
786 | + query.setHospitalId(hospitalId); | |
787 | + query.setParentIds(residentsIds); | |
788 | + if (StringUtils.isNotEmpty(time)) { | |
789 | + try { | |
790 | + query.setPremaritalUpTimeStart(DateUtil.getSNDate(time)[0]); | |
791 | + query.setPremaritalUpTimeEnd(DateUtil.getSNDate(time)[1]); | |
792 | + } catch (Exception e) { | |
793 | + e.printStackTrace(); | |
794 | + } | |
795 | + } | |
796 | + List <PremaritalCheckup> hjList = premaritalCheckupService.queryPremaritalCheckup(query); | |
797 | + /*导出数据拼装*/ | |
798 | + if (CollectionUtils.isNotEmpty(hjList)) { | |
799 | + for (int i = 0; i < hjList.size(); i++) { | |
800 | + Map <String, Object> hyjMap = new HashMap(); | |
801 | + //检查数据 | |
802 | + PremaritalCheckup premaritalCheckup = hjList.get(i); | |
803 | + if (premaritalCheckup != null && StringUtils.isNotEmpty(premaritalCheckup.getParentId())) { | |
804 | + //档案数据 | |
805 | + ResidentsArchiveModel residentsArchiveModel = residentsArchiveService.getResident(premaritalCheckup.getParentId()); | |
806 | + hyjMap.put("username", residentsArchiveModel.getUsername());//姓名 | |
807 | + hyjMap.put("certificateNum", residentsArchiveModel.getCertificateNum());//证件号 | |
808 | + hyjMap.put("age", residentsArchiveModel.getAge());//年龄 | |
809 | + String addressStr = CommonsHelper.getResidence(residentsArchiveModel.getProvinceId(), residentsArchiveModel.getCityId(), residentsArchiveModel.getAreaId(), | |
810 | + residentsArchiveModel.getStreetId(), residentsArchiveModel.getAddress(), basicConfigService); | |
811 | + hyjMap.put("addressStr", addressStr);//居住地 | |
812 | + hyjMap.put("phone", residentsArchiveModel.getPhone());//联系电话 | |
813 | + | |
814 | + if (StringUtils.isNotEmpty(premaritalCheckup.getSpouseCertificateNum())) { | |
815 | + ResidentsArchiveQuery archiveQuery = new ResidentsArchiveQuery(); | |
816 | + archiveQuery.setHospitalId(hospitalId); | |
817 | + archiveQuery.setCertificateNum(premaritalCheckup.getSpouseCertificateNum()); | |
818 | + List <ResidentsArchiveModel> archiveModelList = residentsArchiveService.queryResident(archiveQuery); | |
819 | + if (CollectionUtils.isNotEmpty(archiveModelList)) { | |
820 | + hyjMap.put("spousePhone", archiveModelList.get(0).getPhone());//联系方式 | |
821 | + } | |
822 | + } | |
823 | + | |
824 | + } | |
825 | + hyjMap.put("spouseName", premaritalCheckup.getSpouseName());//配偶姓名 | |
826 | + | |
827 | + | |
828 | + hyjdcList.add(hyjMap); | |
829 | + } | |
830 | + } | |
831 | + } | |
832 | + } | |
833 | + } | |
834 | + return hyjdcList; | |
835 | + } | |
836 | + | |
837 | + /** | |
838 | + * 获取乡镇,婚检建档 女Id | |
839 | + * | |
840 | + * @Author: 武涛涛 | |
648 | 841 | * @Date: 2020/9/24 17:18 |
649 | 842 | */ |
650 | - private List <String> getResidentsIds(String hospitalId, BasicConfig item) { | |
843 | + private List <String> getResidentsIds(String hospitalId, BasicConfig item) { | |
651 | 844 | List <String> residentsIds = new ArrayList <>(); |
652 | 845 | ResidentsArchiveQuery archiveQuery = new ResidentsArchiveQuery(); |
653 | 846 | archiveQuery.setYn(YnEnums.YES.getId()); |
654 | 847 | archiveQuery.setHospitalId(hospitalId); |
655 | 848 | archiveQuery.setStreetId(item.getId()); |
656 | - List<ResidentsArchiveModel> hjCounts = residentsArchiveService.queryResident(archiveQuery); | |
657 | - if(CollectionUtils.isNotEmpty(hjCounts)){ | |
849 | + archiveQuery.setSex("c23779f1-cb6e-44d0-9fc8-0a990bf6184c");//张洁说只要女性的婚检数据 | |
850 | + List <ResidentsArchiveModel> hjCounts = residentsArchiveService.queryResident(archiveQuery); | |
851 | + if (CollectionUtils.isNotEmpty(hjCounts)) { | |
658 | 852 | for (int i = 0; i < hjCounts.size(); i++) { |
659 | - if(hjCounts.get(i)!=null && StringUtils.isNotEmpty(hjCounts.get(i).getId())){ | |
853 | + if (hjCounts.get(i) != null && StringUtils.isNotEmpty(hjCounts.get(i).getId())) { | |
660 | 854 | residentsIds.add(hjCounts.get(i).getId()); |
661 | 855 | } |
662 | 856 | } |