Commit bc3aa4174e46d1628a9ee5b13878ffe3cce431b1

Authored by liquanyu
1 parent 690973e186

肌萎缩

Showing 5 changed files with 325 additions and 58 deletions

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 {