Commit 2942d0cd42cfd6b6eeb4d31ab988fcd3f25ea896
1 parent
b6f1476939
Exists in
master
and in
6 other branches
滦平-儿童贫血统计-详情
Showing 5 changed files with 162 additions and 26 deletions
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java
- 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/facade/ViewFacade.java
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java
View file @
2942d0c
... | ... | @@ -79,6 +79,15 @@ |
79 | 79 | return babyCheckDao.queryBabyCheckRecord(query.convertToQuery().addOrder(sort, sortkey)); |
80 | 80 | } |
81 | 81 | |
82 | + public List<BabyCheckModel> queryBabyCheckRecord2(BabyCheckModelQuery babyQuery,String sortkey,Sort.Direction sort) { | |
83 | + MongoQuery query = babyQuery.convertToQuery(); | |
84 | + if (StringUtils.isNotEmpty(babyQuery.getNeed())) { | |
85 | + babyQuery.mysqlBuild(babyCheckDao.queryBabyCheckCount(babyQuery.convertToQuery())); | |
86 | + query.start(babyQuery.getOffset()).end(babyQuery.getLimit()); | |
87 | + } | |
88 | + return babyCheckDao.queryBabyCheckRecord(query.addOrder(sort, sortkey)); | |
89 | + } | |
90 | + | |
82 | 91 | public List<HwModel> queryHWByHeight(Double height, Integer sex) { |
83 | 92 | MongoCondition condition = MongoCondition.newInstance(); |
84 | 93 | condition = condition.and("height", height, MongoOper.IS); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java
View file @
2942d0c
... | ... | @@ -632,15 +632,33 @@ |
632 | 632 | /** |
633 | 633 | * 儿童统计管理-儿童贫血统计 |
634 | 634 | * 儿保检查记录中统计 |
635 | - * @param | |
635 | + * @param hospitalId | |
636 | + * @param checkDate | |
636 | 637 | * @return |
637 | 638 | */ |
638 | 639 | @RequestMapping(value = "/getBabyCheckHemoglobin", method = RequestMethod.GET) |
639 | 640 | @ResponseBody |
640 | 641 | @TokenRequired |
641 | - public BaseResponse getBabyCheckHemoglobin(@RequestParam(required = true) String hospitalId, | |
642 | - @RequestParam(required = true) String checkTime) { | |
643 | - return babyCheckFacade.getBabyCheckHemoglobin(hospitalId,checkTime); | |
642 | + public BaseResponse getBabyCheckHemoglobin(@RequestParam(required = true) String hospitalId, | |
643 | + String checkDate) { | |
644 | + return babyCheckFacade.getBabyCheckHemoglobin(hospitalId,checkDate); | |
645 | + } | |
646 | + /** | |
647 | + * 儿童统计管理-儿童贫血统计-详情 | |
648 | + * 儿保检查记录中统计 | |
649 | + * @param | |
650 | + * @return | |
651 | + */ | |
652 | + @RequestMapping(value = "/getBabyCheckHemoglobinDetails", method = RequestMethod.GET) | |
653 | + @ResponseBody | |
654 | + @TokenRequired | |
655 | + public BaseObjectResponse getBabyCheckHemoglobinDetails(@RequestParam(required = true) String hospitalId, | |
656 | + @RequestParam(required = true) String checkDate, | |
657 | + @RequestParam(required = true) Integer ageType, | |
658 | + @RequestParam(required = true) Integer hemoglobinType, | |
659 | + @RequestParam(required = true) Integer page, | |
660 | + @RequestParam(required = true) Integer limit) { | |
661 | + return babyCheckFacade.getBabyCheckHemoglobinDetails(hospitalId,checkDate,ageType,hemoglobinType,page,limit); | |
644 | 662 | } |
645 | 663 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java
View file @
2942d0c
... | ... | @@ -1249,7 +1249,9 @@ |
1249 | 1249 | @RequestMapping(value = "/getChuXhdbDetails", method = RequestMethod.GET) |
1250 | 1250 | @ResponseBody |
1251 | 1251 | @TokenRequired |
1252 | - public BaseObjectResponse getChuXhdbDetails(AntExChuModel antExChuModel,Integer page,Integer limit) { | |
1252 | + public BaseObjectResponse getChuXhdbDetails(AntExChuModel antExChuModel, | |
1253 | + @RequestParam(required = true)Integer page, | |
1254 | + @RequestParam(required = true)Integer limit) { | |
1253 | 1255 | return viewFacade.getChuXhdbDetails(antExChuModel,page,limit); |
1254 | 1256 | } |
1255 | 1257 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java
View file @
2942d0c
... | ... | @@ -27,6 +27,7 @@ |
27 | 27 | import com.mongodb.BasicDBObject; |
28 | 28 | import jdk.nashorn.internal.ir.LiteralNode; |
29 | 29 | import org.apache.commons.collections.CollectionUtils; |
30 | +import org.apache.commons.collections.map.HashedMap; | |
30 | 31 | import org.springframework.beans.factory.annotation.Autowired; |
31 | 32 | import org.springframework.beans.factory.annotation.Qualifier; |
32 | 33 | import org.springframework.data.domain.Sort; |
33 | 34 | |
34 | 35 | |
... | ... | @@ -4646,14 +4647,14 @@ |
4646 | 4647 | |
4647 | 4648 | } |
4648 | 4649 | |
4649 | - public BaseResponse getBabyCheckHemoglobin(String hospitalId, String checkTime) { | |
4650 | + public BaseResponse getBabyCheckHemoglobin(String hospitalId, String checkDate) { | |
4650 | 4651 | BaseResponse br=new BaseResponse(); |
4651 | 4652 | List<Map<String,Object>> mapList=new ArrayList<>(); |
4652 | 4653 | BabyCheckModelQuery query = new BabyCheckModelQuery(); |
4653 | - if (null != checkTime) { | |
4654 | + if (StringUtils.isNotEmpty(checkDate)) { | |
4654 | 4655 | try { |
4655 | - query.setCheckDateStart(DateUtil.getSNDate(checkTime)[0]); | |
4656 | - query.setCheckDateEnd(DateUtil.getSNDate(checkTime)[1]); | |
4656 | + query.setCheckDateStart(DateUtil.getSNDate(checkDate)[0]); | |
4657 | + query.setCheckDateEnd(DateUtil.getSNDate(checkDate)[1]); | |
4657 | 4658 | } catch (Exception e) { |
4658 | 4659 | } |
4659 | 4660 | } |
... | ... | @@ -4694,7 +4695,7 @@ |
4694 | 4695 | /** |
4695 | 4696 | * 6-59个月 |
4696 | 4697 | */ |
4697 | - cms=6;cme=72; | |
4698 | + cms=6;cme=59; | |
4698 | 4699 | //(90-110g/l) |
4699 | 4700 | lightHls="90";lightHln="110"; middleHls="60";middleHln="89"; |
4700 | 4701 | matterHls="30";matterHln="59";severityHll="30"; |
4701 | 4702 | |
4702 | 4703 | |
4703 | 4704 | |
4704 | 4705 | |
4705 | 4706 | |
4706 | 4707 | |
4707 | 4708 | |
... | ... | @@ -4724,36 +4725,140 @@ |
4724 | 4725 | query.setHemoglobinStart(lightHls); |
4725 | 4726 | query.setHemoglobinEnd(lightHln); |
4726 | 4727 | int light =babyCheckService.queryBabyCheckCount(query); |
4727 | - map.put("light",light); | |
4728 | + map.put("light"+i,light); | |
4728 | 4729 | //中度贫血 |
4729 | 4730 | query.setHemoglobinStart(middleHls); |
4730 | 4731 | query.setHemoglobinEnd(middleHln); |
4731 | 4732 | int middle =babyCheckService.queryBabyCheckCount(query); |
4732 | - map.put("middle",middle); | |
4733 | + map.put("middle"+i,middle); | |
4733 | 4734 | //重度贫血 |
4734 | 4735 | query.setHemoglobinStart(matterHls); |
4735 | 4736 | query.setHemoglobinEnd(matterHls); |
4736 | 4737 | int matter =babyCheckService.queryBabyCheckCount(query); |
4737 | - map.put("matter",matter); | |
4738 | + map.put("matter"+i,matter); | |
4738 | 4739 | //极重度贫血 |
4739 | 4740 | query.setHemoglobinLt(severityHll); |
4740 | 4741 | query.setHemoglobinStart(null); |
4741 | 4742 | query.setHemoglobinEnd(null); |
4742 | 4743 | int severity =babyCheckService.queryBabyCheckCount(query); |
4743 | - map.put("severity",severity); | |
4744 | + map.put("severity"+i,severity); | |
4744 | 4745 | //月龄区间总数 |
4745 | - map.put("total",light+middle+matter+severity); | |
4746 | + map.put("total"+i,light+middle+matter+severity); | |
4746 | 4747 | if(cms==1){ |
4747 | - map.put("total",middle+matter+severity); | |
4748 | + map.put("total"+i,middle+matter+severity); | |
4748 | 4749 | } |
4749 | 4750 | //汇总总数 |
4750 | - total+=Integer.parseInt(map.get("total").toString()); | |
4751 | + total+=Integer.parseInt(map.get("total"+i).toString()); | |
4751 | 4752 | mapList.add(map); |
4752 | 4753 | } |
4753 | 4754 | br.setErrorcode(ErrorCodeConstants.SUCCESS); |
4754 | 4755 | br.setErrormsg("成功"); |
4755 | 4756 | br.setObject(mapList); |
4756 | 4757 | return br; |
4758 | + } | |
4759 | + | |
4760 | + public BaseObjectResponse getBabyCheckHemoglobinDetails(String hospitalId, String checkDate, Integer ageType, | |
4761 | + Integer hemoglobinType, Integer page, Integer limit) { | |
4762 | + BabyCheckModelQuery query = new BabyCheckModelQuery(); | |
4763 | + query.setHospitalId(hospitalId); | |
4764 | + //检查时间筛选 | |
4765 | + try { | |
4766 | + query.setCheckDateStart(DateUtil.getSNDate(checkDate)[0]); | |
4767 | + query.setCheckDateEnd(DateUtil.getSNDate(checkDate)[1]); | |
4768 | + } catch (Exception e) { | |
4769 | + } | |
4770 | + //月龄区间 | |
4771 | + switch (ageType){ | |
4772 | + case 1: | |
4773 | + //1-4个月 | |
4774 | + query.setCheckMonthStart(1); | |
4775 | + query.setCheckMonthEnd(4); | |
4776 | + break; | |
4777 | + case 2: | |
4778 | + //4-6个月 | |
4779 | + query.setCheckMonthStart(4); | |
4780 | + query.setCheckMonthEnd(6); | |
4781 | + break; | |
4782 | + case 3: | |
4783 | + //6-59个月 | |
4784 | + query.setCheckMonthStart(6); | |
4785 | + query.setCheckMonthEnd(59); | |
4786 | + break; | |
4787 | + case 4: | |
4788 | + //6-11岁 | |
4789 | + query.setCheckMonthStart(72); | |
4790 | + query.setCheckMonthEnd(132); | |
4791 | + break; | |
4792 | + case 5: | |
4793 | + //12-14岁 | |
4794 | + query.setCheckMonthStart(144); | |
4795 | + query.setCheckMonthEnd(168); | |
4796 | + break; | |
4797 | + } | |
4798 | + //血红蛋白区间 | |
4799 | + switch (hemoglobinType){ | |
4800 | + case 1: | |
4801 | + //轻度贫血 | |
4802 | + switch (ageType){ | |
4803 | + case 1: | |
4804 | + query.setHemoglobinStart("90"); | |
4805 | + query.setHemoglobinEnd("95"); | |
4806 | + break; | |
4807 | + case 2: | |
4808 | + query.setHemoglobinStart("90"); | |
4809 | + query.setHemoglobinEnd("100"); | |
4810 | + break; | |
4811 | + case 3: | |
4812 | + query.setHemoglobinStart("90"); | |
4813 | + query.setHemoglobinEnd("110"); | |
4814 | + break; | |
4815 | + case 4: | |
4816 | + query.setHemoglobinStart("90"); | |
4817 | + query.setHemoglobinEnd("115"); | |
4818 | + break; | |
4819 | + case 5: | |
4820 | + query.setHemoglobinStart("90"); | |
4821 | + query.setHemoglobinEnd("120"); | |
4822 | + break; | |
4823 | + } | |
4824 | + break; | |
4825 | + case 2: | |
4826 | + //中度贫血 | |
4827 | + query.setHemoglobinStart("60"); | |
4828 | + query.setHemoglobinEnd("89"); | |
4829 | + break; | |
4830 | + case 3: | |
4831 | + //重度贫血 | |
4832 | + query.setHemoglobinStart("30"); | |
4833 | + query.setHemoglobinEnd("59"); | |
4834 | + break; | |
4835 | + case 4: | |
4836 | + //极重度贫血 | |
4837 | + query.setHemoglobinLt("30"); | |
4838 | + break; | |
4839 | + } | |
4840 | + query.setNeed("yes"); | |
4841 | + query.setPage(page); | |
4842 | + query.setLimit(limit); | |
4843 | + List<BabyCheckModel> babyCheckModels=babyCheckService.queryBabyCheckRecord2(query, "checkTime", Sort.Direction.DESC); | |
4844 | + List<Map<String,Object>> mapList=new ArrayList<>(); | |
4845 | + if(CollectionUtils.isNotEmpty(babyCheckModels)){ | |
4846 | + for (BabyCheckModel babyCheckModel : babyCheckModels) { | |
4847 | + Map<String,Object> map=new HashedMap(); | |
4848 | + BabyModel babyModel = mongoTemplate.findById(babyCheckModel.getBuildId(), BabyModel.class); | |
4849 | + if(null!=babyModel){ | |
4850 | + map.put("mname",babyModel.getMname()); | |
4851 | + map.put("name",babyModel.getName()); | |
4852 | + map.put("sex",babyModel.getSex()); | |
4853 | + map.put("birth",DateUtil.getyyyy_MM_dd(babyModel.getBirth())); | |
4854 | + map.put("checkMonth",babyCheckModel.getCheckMonth()); | |
4855 | + map.put("checkDate",DateUtil.getyyyy_MM_dd(babyCheckModel.getCheckDate())); | |
4856 | + map.put("hemoglobin",babyCheckModel.getHemoglobin()); | |
4857 | + mapList.add(map); | |
4858 | + } | |
4859 | + } | |
4860 | + } | |
4861 | + return new BaseObjectResponse().setData(mapList).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(query.getPageInfo()); | |
4757 | 4862 | } |
4758 | 4863 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java
View file @
2942d0c
... | ... | @@ -8870,21 +8870,23 @@ |
8870 | 8870 | } |
8871 | 8871 | } |
8872 | 8872 | antExChuQuery.setNeed("yes"); |
8873 | - antExChuQuery.setPage(null!=page&&0!=page?page:1); | |
8874 | - antExChuQuery.setLimit(null!=limit&&0!=limit?limit:20); | |
8873 | + antExChuQuery.setPage(page); | |
8874 | + antExChuQuery.setLimit(limit); | |
8875 | 8875 | List<AntExChuModel> antExChuModels = antExService.queryAntExChuPage(antExChuQuery,Sort.Direction.DESC, "checkTime"); |
8876 | 8876 | List<Map<String,Object>> mapList=new ArrayList<>(); |
8877 | 8877 | if(CollectionUtils.isNotEmpty(antExChuModels)){ |
8878 | 8878 | for (AntExChuModel exChuModel : antExChuModels) { |
8879 | 8879 | Map<String,Object> map=new HashedMap(); |
8880 | 8880 | Patients patient = mongoTemplate.findById(exChuModel.getParentId(), Patients.class); |
8881 | - map.put("name",patient.getUsername()); | |
8882 | - map.put("age",patient.getAge()); | |
8883 | - map.put("birth",DateUtil.getyyyy_MM_dd(patient.getBirth())); | |
8884 | - map.put("cardNo",patient.getCardNo()); | |
8885 | - map.put("checkTime",DateUtil.getyyyy_MM_dd(exChuModel.getCheckTime())); | |
8886 | - map.put("xhdb",exChuModel.getXhdb()); | |
8887 | - mapList.add(map); | |
8881 | + if(null!=patient){ | |
8882 | + map.put("name",patient.getUsername()); | |
8883 | + map.put("age",patient.getAge()); | |
8884 | + map.put("birth",DateUtil.getyyyy_MM_dd(patient.getBirth())); | |
8885 | + map.put("cardNo",patient.getCardNo()); | |
8886 | + map.put("checkTime",DateUtil.getyyyy_MM_dd(exChuModel.getCheckTime())); | |
8887 | + map.put("xhdb",exChuModel.getXhdb()); | |
8888 | + mapList.add(map); | |
8889 | + } | |
8888 | 8890 | } |
8889 | 8891 | } |
8890 | 8892 | baseObjectResponse.setData(mapList).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(antExChuQuery.getPageInfo()); |