Commit 2942d0cd42cfd6b6eeb4d31ab988fcd3f25ea896

Authored by shiyang
1 parent b6f1476939

滦平-儿童贫血统计-详情

Showing 5 changed files with 162 additions and 26 deletions

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