Commit bc3aa4174e46d1628a9ee5b13878ffe3cce431b1
1 parent
690973e186
Exists in
master
and in
6 other branches
肌萎缩
Showing 5 changed files with 325 additions and 58 deletions
- 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/controller/TestController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.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-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java
View file @
bc3aa41
| ... | ... | @@ -359,5 +359,19 @@ |
| 359 | 359 | return iPreEugenicsService.pastAbnormityProposalAdd(); |
| 360 | 360 | } |
| 361 | 361 | |
| 362 | + | |
| 363 | + /** | |
| 364 | + * 孕前优生统计 | |
| 365 | + * @param param | |
| 366 | + * @param request | |
| 367 | + * @return | |
| 368 | + */ | |
| 369 | + @RequestMapping(method = RequestMethod.GET, value = "/listCount") | |
| 370 | + @ResponseBody | |
| 371 | + @TokenRequired | |
| 372 | + public BaseListResponse listCount(@JsonAlias PreEugenicsBaseListRequest param, HttpServletRequest request) { | |
| 373 | + return iPreEugenicsService.listCount(param, getUserId(request)); | |
| 374 | + } | |
| 375 | + | |
| 362 | 376 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java
View file @
bc3aa41
| ... | ... | @@ -5274,6 +5274,76 @@ |
| 5274 | 5274 | } |
| 5275 | 5275 | |
| 5276 | 5276 | |
| 5277 | + | |
| 5278 | + /** | |
| 5279 | + * 同步孕期优生得盛高体重到婚检的身高体重 | |
| 5280 | + * @return | |
| 5281 | + */ | |
| 5282 | + @RequestMapping(value = "/syncPreEugebicsToHjWeightHegiht", method = RequestMethod.GET) | |
| 5283 | + @ResponseBody | |
| 5284 | + public String syncPreEugebicsToHjWeightHegiht(String startDate,String endDate) { | |
| 5285 | + | |
| 5286 | + Query query = Query.query(Criteria.where("hospitalId").is("2100001605"). | |
| 5287 | + and("fillDate").gte(DateUtil.parseYMD(startDate)).lte(DateUtil.parseYMD(endDate))); | |
| 5288 | + List<PreEugenicsBaseModel> modelList = mongoTemplate.find(query,PreEugenicsBaseModel.class); | |
| 5289 | + if (CollectionUtils.isNotEmpty(modelList)) | |
| 5290 | + { | |
| 5291 | + System.out.println("syncPreEugebicsToHjWeightHegiht size==="+modelList.size()); | |
| 5292 | + for (PreEugenicsBaseModel model : modelList) | |
| 5293 | + { | |
| 5294 | + String wifeCardNo = model.getWifeCardNo(); | |
| 5295 | + if (StringUtils.isNotEmpty(wifeCardNo)) | |
| 5296 | + { | |
| 5297 | + Query query1 = Query.query(Criteria.where("certificateNum").is(wifeCardNo)); | |
| 5298 | + List<PremaritalCheckup> wifeCheckupList = mongoTemplate.find(query1,PremaritalCheckup.class); | |
| 5299 | + if (CollectionUtils.isNotEmpty(wifeCheckupList)) | |
| 5300 | + { | |
| 5301 | + PremaritalCheckup checkup = wifeCheckupList.get(0); | |
| 5302 | + if (model.getWifePhysiqueCheck() != null && model.getWifePhysiqueCheck().size() > 0 | |
| 5303 | + && model.getWifePhysiqueCheck().get("height") != null && model.getWifePhysiqueCheck().get("weight") != null) | |
| 5304 | + { | |
| 5305 | + String height = String.valueOf(model.getWifePhysiqueCheck().get("height")); | |
| 5306 | + String weight = String.valueOf(model.getWifePhysiqueCheck().get("weight")); | |
| 5307 | + | |
| 5308 | + checkup.setWeight(weight); | |
| 5309 | + checkup.setHeight(height); | |
| 5310 | + System.out.println("wife id==="+checkup.getId()); | |
| 5311 | + Update update = MongoConvertHelper | |
| 5312 | + .convertToNativeUpdate(ReflectionUtils.getUpdateField(checkup)); | |
| 5313 | + mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(checkup.getId())), update, PremaritalCheckup.class); | |
| 5314 | + } | |
| 5315 | + } | |
| 5316 | + } | |
| 5317 | + String husbandCardNo = model.getHusbandCardNo(); | |
| 5318 | + if (StringUtils.isNotEmpty(husbandCardNo)) | |
| 5319 | + { | |
| 5320 | + Query query1 = Query.query(Criteria.where("certificateNum").is(husbandCardNo)); | |
| 5321 | + List<PremaritalCheckup> husbandCheckupList = mongoTemplate.find(query1,PremaritalCheckup.class); | |
| 5322 | + if (CollectionUtils.isNotEmpty(husbandCheckupList)) | |
| 5323 | + { | |
| 5324 | + PremaritalCheckup checkup = husbandCheckupList.get(0); | |
| 5325 | + if (model.getHusbandPhysiqueCheck() != null && model.getHusbandPhysiqueCheck().size() > 0 | |
| 5326 | + && model.getHusbandPhysiqueCheck().get("height") != null && model.getHusbandPhysiqueCheck().get("weight") != null) | |
| 5327 | + { | |
| 5328 | + String height = String.valueOf(model.getHusbandPhysiqueCheck().get("height")); | |
| 5329 | + String weight = String.valueOf(model.getHusbandPhysiqueCheck().get("weight")); | |
| 5330 | + | |
| 5331 | + checkup.setWeight(weight); | |
| 5332 | + checkup.setHeight(height); | |
| 5333 | + System.out.println("Husband id==="+checkup.getId()); | |
| 5334 | + Update update = MongoConvertHelper | |
| 5335 | + .convertToNativeUpdate(ReflectionUtils.getUpdateField(checkup)); | |
| 5336 | + mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(checkup.getId())), update, PremaritalCheckup.class); | |
| 5337 | + } | |
| 5338 | + } | |
| 5339 | + } | |
| 5340 | + } | |
| 5341 | + } | |
| 5342 | + return "success"; | |
| 5343 | + } | |
| 5344 | + | |
| 5345 | + | |
| 5346 | + | |
| 5277 | 5347 | @RequestMapping(value = "/handleFmData", method = RequestMethod.GET) |
| 5278 | 5348 | @ResponseBody |
| 5279 | 5349 | public String handleFmData(String start,String end) |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java
View file @
bc3aa41
| ... | ... | @@ -3308,7 +3308,7 @@ |
| 3308 | 3308 | //累计活产数 |
| 3309 | 3309 | babyModelQuery.setBirthStart(null); |
| 3310 | 3310 | int data2 = (int)mongoTemplate.count(babyModelQuery.convertToQuery().convertToMongoQuery(),BabyModel.class); |
| 3311 | - System.out.println("======"+data2); | |
| 3311 | + | |
| 3312 | 3312 | int lastDate2= null==hospitalDate.get("data2")?0:Integer.parseInt(hospitalDate.get("data2").toString()); |
| 3313 | 3313 | |
| 3314 | 3314 | hospitalDate.put("data2",data2+lastDate2); |
| ... | ... | @@ -3457,7 +3457,6 @@ |
| 3457 | 3457 | patientsQuery.setBookbuildingDateStart(DateUtil.addYear(new Date(),-20)); |
| 3458 | 3458 | patientsQuery.setBookbuildingDateEnd(endDate); |
| 3459 | 3459 | patientsQuery.setType(3); //产妇 |
| 3460 | - System.out.println("55555555555"+patientsQuery.convertToQuery().convertToMongoQuery().toString()); | |
| 3461 | 3460 | int data15 = patientsService.queryPatientCount(patientsQuery); |
| 3462 | 3461 | int lastDate15= null==hospitalDate.get("data15")?0:Integer.parseInt(hospitalDate.get("data15").toString()); |
| 3463 | 3462 | hospitalDate.put("data15",data15+lastDate15); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPreEugenicsService.java
View file @
bc3aa41
| 1 | 1 | package com.lyms.platform.operate.web.service; |
| 2 | 2 | |
| 3 | +import com.lyms.platform.common.result.BaseListResponse; | |
| 3 | 4 | import com.lyms.platform.common.result.BaseObjectResponse; |
| 4 | 5 | import com.lyms.platform.common.result.BaseResponse; |
| 5 | 6 | import com.lyms.platform.operate.web.request.CancerScreeningRequest; |
| ... | ... | @@ -43,5 +44,7 @@ |
| 43 | 44 | BaseObjectResponse getAbnormityProposal(String id); |
| 44 | 45 | |
| 45 | 46 | BaseResponse pastAbnormityProposalAdd(); |
| 47 | + | |
| 48 | + BaseListResponse listCount(PreEugenicsBaseListRequest param, Integer userId); | |
| 46 | 49 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java
View file @
bc3aa41
| ... | ... | @@ -58,7 +58,7 @@ |
| 58 | 58 | */ |
| 59 | 59 | @Service |
| 60 | 60 | public class PreEugebicsServiceImpl extends BaseServiceImpl implements IPreEugenicsService { |
| 61 | - | |
| 61 | + public static final String AREA_URL = PropertiesUtils.getPropertyValue("area_url"); | |
| 62 | 62 | @Autowired |
| 63 | 63 | private AutoMatchFacade autoMatchFacade; |
| 64 | 64 | |
| 65 | 65 | |
| 66 | 66 | |
| 67 | 67 | |
| 68 | 68 | |
| ... | ... | @@ -854,69 +854,57 @@ |
| 854 | 854 | Map <String, Object> map = new HashMap <>(); |
| 855 | 855 | //婚前检查 |
| 856 | 856 | String hospitalId = autoMatchFacade.getHospitalId(userId); |
| 857 | - PremaritalCheckupQuery query = new PremaritalCheckupQuery(); | |
| 858 | - query.setYn(YnEnums.YES.getId()); | |
| 859 | - query.setHospitalId(hospitalId); | |
| 860 | - query.setCertificateNum(cardNo); | |
| 861 | - List <PremaritalCheckup> hjList = premaritalCheckupService.queryPremaritalCheckup(query); | |
| 862 | - if(CollectionUtils.isEmpty(hjList)) | |
| 863 | - { | |
| 864 | - Query yquery = new Query(); | |
| 865 | - yquery.addCriteria(Criteria.where("hospitalId").is(hospitalId)); | |
| 866 | - yquery.addCriteria(Criteria.where("husbandCardNo").is(cardNo)); | |
| 867 | - List <PreEugenicsBaseModel> yjList = mongoTemplate.find(yquery, PreEugenicsBaseModel.class); | |
| 868 | - if (CollectionUtils.isNotEmpty(yjList) && StringUtils.isNotEmpty(yjList.get(0).getWifeCardNo())) | |
| 869 | - { | |
| 870 | - query.setCertificateNum(yjList.get(0).getWifeCardNo()); | |
| 871 | - hjList = premaritalCheckupService.queryPremaritalCheckup(query); | |
| 872 | - } | |
| 873 | - } | |
| 874 | - | |
| 875 | - if(CollectionUtils.isNotEmpty(hjList)){ | |
| 876 | - PremaritalCheckup premaritalCheckup = hjList.get(0); | |
| 877 | - map.put("menarcheAge", premaritalCheckup.getMenarcheAge());//初潮年龄 | |
| 878 | - map.put("lastMenses", premaritalCheckup.getLastMenses()); | |
| 879 | - map.put("menstrualAmount", premaritalCheckup.getMenstrualAmount());//月经量 | |
| 880 | - map.put("menstrualCycle", premaritalCheckup.getMenstrualCycle());//月经周期 | |
| 881 | - map.put("menorrhalgia", premaritalCheckup.getMenorrhalgia()); //痛经(1:有 2:无)(1:无 2:轻 3:中 4:重) | |
| 882 | - }else { | |
| 883 | - //孕检 | |
| 884 | - Query yquery = new Query(); | |
| 885 | - yquery.addCriteria(Criteria.where("hospitalId").is(hospitalId)); | |
| 886 | - yquery.addCriteria(Criteria.where("wifeCardNo").is(cardNo)); | |
| 887 | - List <PreEugenicsBaseModel> yjList = mongoTemplate.find(yquery, PreEugenicsBaseModel.class); | |
| 888 | - if(CollectionUtils.isNotEmpty(yjList)){ | |
| 889 | - PreEugenicsBaseModel preEugenicsBaseModel = yjList.get(0); | |
| 890 | - if(preEugenicsBaseModel.getWifeBaseInfo()!=null){ | |
| 891 | - Map <String, Object> wifeBaseInfo = preEugenicsBaseModel.getWifeBaseInfo(); | |
| 892 | - if(wifeBaseInfo.containsKey("menarcheAge")){ | |
| 893 | - map.put("menarcheAge", wifeBaseInfo.get("menarcheAge")); | |
| 894 | - } | |
| 895 | - if(wifeBaseInfo.containsKey("lastMenses")){ | |
| 896 | - map.put("lastMenses", wifeBaseInfo.get("lastMenses")); | |
| 897 | - } | |
| 898 | - if(wifeBaseInfo.containsKey("menstrualAmount")){ | |
| 899 | - map.put("menstrualAmount", wifeBaseInfo.get("menstrualAmount")); | |
| 900 | - } | |
| 901 | - if(wifeBaseInfo.containsKey("menstrualCycle")){ | |
| 902 | - map.put("menstrualCycle", wifeBaseInfo.get("menstrualCycle")); | |
| 903 | - } | |
| 904 | - if(wifeBaseInfo.containsKey("menorrhalgia")){ | |
| 905 | - map.put("menorrhalgia", wifeBaseInfo.get("menorrhalgia")); | |
| 906 | - } | |
| 857 | + //孕检 | |
| 858 | + Query yquery = new Query(); | |
| 859 | + yquery.addCriteria(Criteria.where("hospitalId").is(hospitalId)); | |
| 860 | + yquery.addCriteria(Criteria.where("wifeCardNo").is(cardNo)); | |
| 861 | + List <PreEugenicsBaseModel> yjList = mongoTemplate.find(yquery, PreEugenicsBaseModel.class); | |
| 862 | + if(CollectionUtils.isNotEmpty(yjList)){ | |
| 863 | + PreEugenicsBaseModel preEugenicsBaseModel = yjList.get(0); | |
| 864 | + if(preEugenicsBaseModel.getWifeBaseInfo()!=null){ | |
| 865 | + Map <String, Object> wifeBaseInfo = preEugenicsBaseModel.getWifeBaseInfo(); | |
| 866 | + if(wifeBaseInfo.containsKey("menarcheAge")){ | |
| 867 | + map.put("menarcheAge", wifeBaseInfo.get("menarcheAge")); | |
| 907 | 868 | } |
| 908 | - | |
| 869 | + if(wifeBaseInfo.containsKey("lastMenses")){ | |
| 870 | + map.put("lastMenses", wifeBaseInfo.get("lastMenses")); | |
| 871 | + } | |
| 872 | + if(wifeBaseInfo.containsKey("menstrualAmount")){ | |
| 873 | + map.put("menstrualAmount", wifeBaseInfo.get("menstrualAmount")); | |
| 874 | + } | |
| 875 | + if(wifeBaseInfo.containsKey("menstrualCycle")){ | |
| 876 | + map.put("menstrualCycle", wifeBaseInfo.get("menstrualCycle")); | |
| 877 | + } | |
| 878 | + if(wifeBaseInfo.containsKey("menorrhalgia")){ | |
| 879 | + map.put("menorrhalgia", wifeBaseInfo.get("menorrhalgia")); | |
| 880 | + } | |
| 909 | 881 | } |
| 910 | - | |
| 911 | 882 | } |
| 912 | 883 | |
| 913 | 884 | //隆化 婚检同步信息(女) |
| 914 | 885 | if (StringUtils.isNotEmpty(cardNo)) { |
| 915 | 886 | //这里cardno传入是男性证件num,所以用配偶证件num |
| 916 | 887 | //女性档案同步 |
| 917 | - PremaritalCheckup premaritalCheckup=mongoTemplate.findOne(Query.query(Criteria.where("spouseCertificateNum").is(cardNo)), PremaritalCheckup.class); | |
| 918 | - if(null!=premaritalCheckup){ | |
| 888 | + PremaritalCheckup premaritalCheckup = mongoTemplate.findOne(Query.query(Criteria.where("certificateNum").is(cardNo)), PremaritalCheckup.class); | |
| 889 | + | |
| 890 | + if (premaritalCheckup != null && premaritalCheckup.getSexType() == 1) | |
| 891 | + { | |
| 892 | + cardNo = premaritalCheckup.getSpouseCertificateNum(); | |
| 893 | + } | |
| 894 | + else if (StringUtils.isNotEmpty(premaritalCheckup.getSpouseCertificateNum())) | |
| 895 | + { | |
| 896 | + premaritalCheckup = mongoTemplate.findOne(Query.query(Criteria.where("certificateNum").is(premaritalCheckup.getSpouseCertificateNum())), PremaritalCheckup.class); | |
| 897 | + } | |
| 898 | + | |
| 899 | + if(null != premaritalCheckup){ | |
| 919 | 900 | Map<String,Object> wifeBaseInfo =new HashMap<>(); |
| 901 | + | |
| 902 | + map.put("menarcheAge", premaritalCheckup.getMenarcheAge());//初潮年龄 | |
| 903 | + map.put("lastMenses", premaritalCheckup.getLastMenses()); | |
| 904 | + map.put("menstrualAmount", premaritalCheckup.getMenstrualAmount());//月经量 | |
| 905 | + map.put("menstrualCycle", premaritalCheckup.getMenstrualCycle());//月经周期 | |
| 906 | + map.put("menstrualDay", premaritalCheckup.getMenstrualDay());//月经周期 | |
| 907 | + map.put("menorrhalgia", premaritalCheckup.getMenorrhalgia()); //痛经(1:有 2:无)(1:无 2:轻 3:中 4:重) | |
| 920 | 908 | //末次月经 |
| 921 | 909 | wifeBaseInfo.put("lastMenses",StringUtils.isNotEmpty(premaritalCheckup.getLastMenses())?premaritalCheckup.getLastMenses():null); |
| 922 | 910 | Map<String,Object> wifePhysiqueCheck =new HashMap<>(); |
| ... | ... | @@ -1864,7 +1852,200 @@ |
| 1864 | 1852 | return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); |
| 1865 | 1853 | } |
| 1866 | 1854 | |
| 1867 | - public static final String AREA_URL = PropertiesUtils.getPropertyValue("area_url"); | |
| 1855 | + @Override | |
| 1856 | + public BaseListResponse listCount(PreEugenicsBaseListRequest param, Integer userId) { | |
| 1857 | + | |
| 1858 | + | |
| 1859 | + List<Integer> datas = new LinkedList<>(); | |
| 1860 | + String hospitalId = autoMatchFacade.getHospitalId(userId); | |
| 1861 | + Date start = null; | |
| 1862 | + Date end = null; | |
| 1863 | + String createTime = param.getCreateTime(); | |
| 1864 | + if (StringUtils.isNotEmpty(createTime)) { | |
| 1865 | + String[] arrs = createTime.split(" - "); | |
| 1866 | + start = DateUtil.parseYMD(arrs[0]); | |
| 1867 | + end = DateUtil.parseYMD(arrs[1]); | |
| 1868 | + end = DateUtil.getDayLastSecond(end); | |
| 1869 | + } | |
| 1870 | + //本年度计划怀孕夫妇数 | |
| 1871 | + int jhhyCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId).and("fillDate").gte(start).lte(end)), PreEugenicsBaseModel.class); | |
| 1872 | + datas.add(jhhyCount); | |
| 1873 | + | |
| 1874 | + //检查人数男 | |
| 1875 | + int manCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) | |
| 1876 | + .and("fillDate").gte(start).lte(end).and("husbandBaseInfo").exists(true)), PreEugenicsBaseModel.class); | |
| 1877 | + | |
| 1878 | + //检查人数女 | |
| 1879 | + int womanCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) | |
| 1880 | + .and("fillDate").gte(start).lte(end).and("wifeBaseInfo").exists(true)), PreEugenicsBaseModel.class); | |
| 1881 | + datas.add(manCount+womanCount);//检查男女合计 | |
| 1882 | + datas.add(manCount); | |
| 1883 | + datas.add(womanCount); | |
| 1884 | + datas.add(manCount+womanCount);//优生健康教育人数 | |
| 1885 | + datas.add(manCount+womanCount);//病史询问人数 | |
| 1886 | + | |
| 1887 | + //病史询问异常人数男 | |
| 1888 | + int manCountExc = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) | |
| 1889 | + .and("fillDate").gte(start).lte(end) | |
| 1890 | + .orOperator(Criteria.where("husbandBaseInfo.xtjb").in(true), Criteria.where("husbandBaseInfo.nkjb").in(true), | |
| 1891 | + Criteria.where("husbandBaseInfo.jbs").in(true))), | |
| 1892 | + PreEugenicsBaseModel.class); | |
| 1893 | + | |
| 1894 | + //病史询问异常人数女 | |
| 1895 | + int womanCountExc = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) | |
| 1896 | + .and("fillDate").gte(start).lte(end) | |
| 1897 | + .orOperator(Criteria.where("wifeBaseInfo.fkjb").in(true), Criteria.where("wifeBaseInfo.fkjb").in(true), | |
| 1898 | + Criteria.where("wifeBaseInfo.jbs").in(true))), | |
| 1899 | + PreEugenicsBaseModel.class); | |
| 1900 | + | |
| 1901 | + datas.add(manCount+womanCount-manCountExc-womanCountExc);//正常人数 | |
| 1902 | + datas.add(manCountExc+womanCountExc);//异常人数 | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + //体格检查异常人数男 | |
| 1906 | + int manTgjcCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) | |
| 1907 | + .and("fillDate").gte(start).lte(end) | |
| 1908 | + .orOperator( | |
| 1909 | + Criteria.where("husbandPhysiqueCheck.heartRate").lt(60), | |
| 1910 | + Criteria.where("husbandPhysiqueCheck.heartRate").gt(100), | |
| 1911 | + Criteria.where("husbandPhysiqueCheck.bmi").lt(18.5), | |
| 1912 | + Criteria.where("husbandPhysiqueCheck.bmi").gt(23.9), | |
| 1913 | + Criteria.where("husbandPhysiqueCheck.szy").lt(60), | |
| 1914 | + Criteria.where("husbandPhysiqueCheck.szy").gt(89), | |
| 1915 | + Criteria.where("husbandPhysiqueCheck.ssy").lt(90), | |
| 1916 | + Criteria.where("husbandPhysiqueCheck.ssy").gt(139), | |
| 1917 | + Criteria.where("husbandPhysiqueCheck.jszt").in(1), | |
| 1918 | + Criteria.where("husbandPhysiqueCheck.zl").in(1), | |
| 1919 | + Criteria.where("husbandPhysiqueCheck.wuguan").in(1), | |
| 1920 | + Criteria.where("husbandPhysiqueCheck.tstt").in(1), | |
| 1921 | + Criteria.where("husbandPhysiqueCheck.tsmr").in(1), | |
| 1922 | + Criteria.where("husbandPhysiqueCheck.pfmf").in(1), | |
| 1923 | + Criteria.where("husbandPhysiqueCheck.jzx").in(1), | |
| 1924 | + Criteria.where("husbandPhysiqueCheck.feibu").in(1), | |
| 1925 | + Criteria.where("husbandPhysiqueCheck.xinlv").in(1), | |
| 1926 | + Criteria.where("husbandPhysiqueCheck.xzzy").in(1), | |
| 1927 | + Criteria.where("husbandPhysiqueCheck.ganpi").in(1), | |
| 1928 | + Criteria.where("husbandPhysiqueCheck.szjz").in(1) | |
| 1929 | + )) | |
| 1930 | + ,PreEugenicsBaseModel.class); | |
| 1931 | + | |
| 1932 | + //体格检查异常人数女 | |
| 1933 | + int womanTgjcCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) | |
| 1934 | + .and("fillDate").gte(start).lte(end) | |
| 1935 | + .orOperator( | |
| 1936 | + Criteria.where("wifePhysiqueCheck.heartRate").lt(60), | |
| 1937 | + Criteria.where("wifePhysiqueCheck.heartRate").gt(100), | |
| 1938 | + Criteria.where("wifePhysiqueCheck.bmi").lt(18.5), | |
| 1939 | + Criteria.where("wifePhysiqueCheck.bmi").gt(23.9), | |
| 1940 | + Criteria.where("wifePhysiqueCheck.szy").lt(60), | |
| 1941 | + Criteria.where("wifePhysiqueCheck.szy").gt(89), | |
| 1942 | + Criteria.where("wifePhysiqueCheck.ssy").lt(90), | |
| 1943 | + Criteria.where("wifePhysiqueCheck.ssy").gt(139), | |
| 1944 | + Criteria.where("wifePhysiqueCheck.jszt").in(1), | |
| 1945 | + Criteria.where("wifePhysiqueCheck.zl").in(1), | |
| 1946 | + Criteria.where("wifePhysiqueCheck.wuguan").in(1), | |
| 1947 | + Criteria.where("wifePhysiqueCheck.tstt").in(1), | |
| 1948 | + Criteria.where("wifePhysiqueCheck.tsmr").in(1), | |
| 1949 | + Criteria.where("wifePhysiqueCheck.pfmf").in(1), | |
| 1950 | + Criteria.where("wifePhysiqueCheck.jzx").in(1), | |
| 1951 | + Criteria.where("wifePhysiqueCheck.feibu").in(1), | |
| 1952 | + Criteria.where("wifePhysiqueCheck.xinlv").in(1), | |
| 1953 | + Criteria.where("wifePhysiqueCheck.xzzy").in(1), | |
| 1954 | + Criteria.where("wifePhysiqueCheck.ganpi").in(1), | |
| 1955 | + Criteria.where("wifePhysiqueCheck.szjz").in(1) | |
| 1956 | + )) | |
| 1957 | + ,PreEugenicsBaseModel.class); | |
| 1958 | + datas.add(manCount+womanCount-manTgjcCount-womanTgjcCount);//正常人数 | |
| 1959 | + datas.add(manTgjcCount+womanTgjcCount);//异常人数 | |
| 1960 | + | |
| 1961 | + | |
| 1962 | + //检查生殖正常人数男 | |
| 1963 | + int manSzCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) | |
| 1964 | + .and("fillDate").gte(start).lte(end) | |
| 1965 | + .and("husbandPhysiqueCheck.yinmao").in(0) | |
| 1966 | + .and("husbandPhysiqueCheck.houjie").in(1) | |
| 1967 | + .and("husbandPhysiqueCheck.yinjin").in(0) | |
| 1968 | + .and("husbandPhysiqueCheck.baopi").is(0) | |
| 1969 | + .and("husbandPhysiqueCheck.fugao").in(0) | |
| 1970 | + .and("husbandPhysiqueCheck.sjg").in(0) | |
| 1971 | + .and("husbandPhysiqueCheck.jsjmqz").in(0) | |
| 1972 | + ), PreEugenicsBaseModel.class); | |
| 1973 | + | |
| 1974 | + //检查生殖正常人数男 | |
| 1975 | + int womanSzCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) | |
| 1976 | + .and("fillDate").gte(start).lte(end) | |
| 1977 | + .and("wifePhysiqueCheck.yinmao").in(0) | |
| 1978 | + .and("wifePhysiqueCheck.rufang").in(1) | |
| 1979 | + .and("wifePhysiqueCheck.waiyin").in(0) | |
| 1980 | + .and("wifePhysiqueCheck.yindao").is(0) | |
| 1981 | + .and("wifePhysiqueCheck.fmw").in(0) | |
| 1982 | + .and("wifePhysiqueCheck.gongjing").in(0) | |
| 1983 | + .and("wifePhysiqueCheck.zgdx").is(0) | |
| 1984 | + .and("wifePhysiqueCheck.zghd").is(0) | |
| 1985 | + .and("wifePhysiqueCheck.zgbk").in(0) | |
| 1986 | + .and("wifePhysiqueCheck.zgscfj").in(0) | |
| 1987 | + ), PreEugenicsBaseModel.class); | |
| 1988 | + datas.add(manSzCount+womanSzCount);//正常人数 | |
| 1989 | + datas.add(manCount+womanCount-manSzCount-womanSzCount);//异常人数 | |
| 1990 | + | |
| 1991 | + //检查白带异常人数 | |
| 1992 | + int womanBdCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) | |
| 1993 | + .and("fillDate").gte(start).lte(end) | |
| 1994 | + .and("wifeClinicalCheck.bdjc").in(1) | |
| 1995 | + ), PreEugenicsBaseModel.class); | |
| 1996 | + datas.add(womanCount-womanBdCount);//正常人数 | |
| 1997 | + datas.add(womanBdCount);//异常人数 | |
| 1998 | + | |
| 1999 | + //淋球 | |
| 2000 | + int womanlqCount = 0; | |
| 2001 | + | |
| 2002 | + //沙眼衣 | |
| 2003 | + int womansyCount = 0; | |
| 2004 | + List<PreEugenicsBaseModel> preEugenicsBaseModels = mongoTemplate.find(new Query(Criteria.where("hospitalId").is(hospitalId) | |
| 2005 | + .and("fillDate").gte(start).lte(end) | |
| 2006 | + .and("wifeClinicalCheck.bdjc").in(1) | |
| 2007 | + ), PreEugenicsBaseModel.class); | |
| 2008 | + if (CollectionUtils.isNotEmpty(preEugenicsBaseModels)) | |
| 2009 | + { | |
| 2010 | + for (PreEugenicsBaseModel model : preEugenicsBaseModels) | |
| 2011 | + { | |
| 2012 | + Map<String, Object> wifleClincalCheck = model.getWifeClinicalCheck(); | |
| 2013 | + if (wifleClincalCheck != null && wifleClincalCheck.get("bdjc") != null) | |
| 2014 | + { | |
| 2015 | + List<Integer> bdjc = (ArrayList)wifleClincalCheck.get("bdjc"); | |
| 2016 | + if (bdjc != null && bdjc.size() > 7 && bdjc.get(6) != 0) | |
| 2017 | + { | |
| 2018 | + womanlqCount+=1; | |
| 2019 | + } | |
| 2020 | + if (bdjc != null && bdjc.size() > 7 && bdjc.get(7) != 0) | |
| 2021 | + { | |
| 2022 | + womansyCount+=1; | |
| 2023 | + } | |
| 2024 | + } | |
| 2025 | + | |
| 2026 | + } | |
| 2027 | + } | |
| 2028 | + datas.add(womanCount-womanlqCount);//阴性人数 | |
| 2029 | + datas.add(womanlqCount);//阳性人数 | |
| 2030 | + datas.add(womanCount-womansyCount);//阴性人数 | |
| 2031 | + datas.add(womansyCount);//阳性人数 | |
| 2032 | + | |
| 2033 | + | |
| 2034 | + datas.add(0);//血常规正常人数 | |
| 2035 | + datas.add(0);//血常规异常人数 | |
| 2036 | + | |
| 2037 | + //检查尿常规异常人数 | |
| 2038 | + int womanncgCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) | |
| 2039 | + .and("fillDate").gte(start).lte(end) | |
| 2040 | + .and("wifeClinicalCheck.ncg").in(1) | |
| 2041 | + ), PreEugenicsBaseModel.class); | |
| 2042 | + | |
| 2043 | + datas.add(womanCount-womanncgCount);//正常人数 | |
| 2044 | + datas.add(womanncgCount);//正常人数 | |
| 2045 | + return null; | |
| 2046 | + } | |
| 2047 | + | |
| 2048 | + | |
| 1868 | 2049 | } |
| 1869 | 2050 | |
| 1870 | 2051 | class Total { |