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 | } |