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()); |