Commit 0bd3c1662bd92922d5889a0d10eede1d8245cf84
1 parent
49bf4904aa
Exists in
master
and in
6 other branches
update
Showing 7 changed files with 145 additions and 24 deletions
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabySpecialDiseaseClinicService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyEarFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/BabyEyeCheckWorker.java
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabySpecialDiseaseClinicService.java
View file @
0bd3c16
... | ... | @@ -68,7 +68,7 @@ |
68 | 68 | babyQuery.mysqlBuild(babySpecialDiseaseClinicDao.queryBabySpecialDiseaseClinicCount(babyQuery.convertToQuery())); |
69 | 69 | query.start(babyQuery.getOffset()).end(babyQuery.getLimit()); |
70 | 70 | } |
71 | - return babySpecialDiseaseClinicDao.queryBabySpecialDiseaseClinicRecordQuery(query.addOrder(Sort.Direction.DESC,"createDate")); | |
71 | + return babySpecialDiseaseClinicDao.queryBabySpecialDiseaseClinicRecordQuery(query.addOrder(Sort.Direction.DESC,"checkDate")); | |
72 | 72 | } |
73 | 73 | /** |
74 | 74 | * 获儿童取单条记录 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java
View file @
0bd3c16
... | ... | @@ -56,6 +56,20 @@ |
56 | 56 | } |
57 | 57 | |
58 | 58 | /** |
59 | + * 获取档案和检查信息,处理 | |
60 | + * | |
61 | + * @param id | |
62 | + * @param request | |
63 | + * @Author: 武涛涛 | |
64 | + * @Date: 2020/8/5 16:04 | |
65 | + */ | |
66 | + @ResponseBody | |
67 | + @TokenRequired | |
68 | + @RequestMapping(value = "/queryQhdBase/{id}", method = RequestMethod.GET) | |
69 | + public BaseResponse queryQhdBase(@PathVariable String id, HttpServletRequest request) { | |
70 | + return babyEyeCheckService.queryQhdBase(getUserId(request), id); | |
71 | + } | |
72 | + /** | |
59 | 73 | * 儿保检查获取眼保健检查结果信息 |
60 | 74 | * |
61 | 75 | * @param babyId |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java
View file @
0bd3c16
... | ... | @@ -769,7 +769,11 @@ |
769 | 769 | |
770 | 770 | request.setEncoded(encodedUtil); |
771 | 771 | BabyModel model = getBabyModel(request, true, userId,hid); |
772 | - model.setDisplayState(request.getDisplayState());//添加加,修改不加,会显不显示 | |
772 | + if(StringUtils.isEmpty(request.getDisplayState())){ | |
773 | + model.setDisplayState("2"); | |
774 | + }else { | |
775 | + model.setDisplayState(request.getDisplayState());//添加加,修改不加,会显不显示 | |
776 | + } | |
773 | 777 | model.setmHighRiskReason(request.getmHighRiskReason()); |
774 | 778 | model.setPid(babyPersonId); |
775 | 779 | model.setOperator(userId); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyEarFacade.java
View file @
0bd3c16
... | ... | @@ -529,6 +529,9 @@ |
529 | 529 | if (StringUtils.isEmpty(baby.getId())) { |
530 | 530 | baby.setEncoded(encodedUtil); |
531 | 531 | } |
532 | + if(StringUtils.isEmpty(baby.getDisplayState())){ | |
533 | + baby.setDisplayState("2"); | |
534 | + } | |
532 | 535 | babyPatientId = babyService.addOneBaby(baby).getId(); |
533 | 536 | babyBookbuildingFacade.createBuildMsg(baby); |
534 | 537 | //建档开通增值服务 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java
View file @
0bd3c16
... | ... | @@ -36,6 +36,7 @@ |
36 | 36 | |
37 | 37 | BaseResponse query(Integer userId, String babyId); |
38 | 38 | BaseResponse queryQhd(Integer userId, String babyId); |
39 | + BaseResponse queryQhdBase(Integer userId, String babyId); | |
39 | 40 | BaseResponse queryShowQhd( String babyId); |
40 | 41 | |
41 | 42 | BaseResponse listInit(Integer userId); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java
View file @
0bd3c16
... | ... | @@ -25,6 +25,8 @@ |
25 | 25 | import com.lyms.platform.operate.web.worker.SieveRegionalCqsievesWorker; |
26 | 26 | import com.lyms.platform.permission.dao.master.BabyEyeCheckMapper; |
27 | 27 | import com.lyms.platform.permission.dao.master.CouponMapper; |
28 | +import com.lyms.platform.permission.model.Organization; | |
29 | +import com.lyms.platform.permission.service.OrganizationService; | |
28 | 30 | import com.lyms.platform.pojo.*; |
29 | 31 | import com.lyms.platform.query.BabyModelQuery; |
30 | 32 | import org.apache.commons.collections.map.HashedMap; |
31 | 33 | |
... | ... | @@ -65,8 +67,9 @@ |
65 | 67 | private ThreadPoolTaskExecutor commonThreadPool; |
66 | 68 | @Autowired |
67 | 69 | private MongoTemplate mongoTemplate; |
68 | - | |
69 | 70 | @Autowired |
71 | + private OrganizationService organizationService; | |
72 | + @Autowired | |
70 | 73 | private MongoUtil mongoUtil; |
71 | 74 | |
72 | 75 | @Autowired |
... | ... | @@ -253,8 +256,8 @@ |
253 | 256 | * @Author: 武涛涛 |
254 | 257 | * @Date: 2020/8/4 11:31 |
255 | 258 | */ |
256 | - if(babyModel!=null && "2".equals(babyModel.getDisplayState())){// 2 是代表没有在眼保健建档的档案,null不处理历史数据 | |
257 | - mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyEyeCheck.getBabyId())), Update.update("buildDateNoybj", new Date()).set("displayState","1"), BabyModel.class); | |
259 | + if (babyModel != null && "2".equals(babyModel.getDisplayState())) {// 2 是代表没有在眼保健建档的档案,null不处理历史数据 | |
260 | + mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyEyeCheck.getBabyId())), Update.update("buildDateNoybj", new Date()).set("displayState", "1"), BabyModel.class); | |
258 | 261 | } |
259 | 262 | /*end*/ |
260 | 263 | // 添加追访眼保检查 |
261 | 264 | |
... | ... | @@ -951,9 +954,10 @@ |
951 | 954 | |
952 | 955 | /*end */ |
953 | 956 | List<String> babyIds = new ArrayList<>(); |
954 | - | |
957 | + //存放,没有在眼保健建档或在眼保健建档,做个眼保健检查的档案。 | |
958 | + List<String> babyIdBabyEyeCheck = new ArrayList<>(); | |
955 | 959 | if (positive) { |
956 | - List<BabyEyeCheck> babyEyeChecks = mongoUtil.findField(BabyEyeCheck.class,criteria.orOperator(Criteria.where("apparatus").is("2"),Criteria.where("doctorJudgement").is("2")),"babyId"); | |
960 | + List<BabyEyeCheck> babyEyeChecks = mongoUtil.findField(BabyEyeCheck.class, criteria.orOperator(Criteria.where("apparatus").is("2"), Criteria.where("doctorJudgement").is("2")), "babyId"); | |
957 | 961 | babyIds = CollectionUtils.getId(babyEyeChecks, "babyId", String.class); |
958 | 962 | babyIds = new ArrayList<String>(new LinkedHashSet<String>(babyIds)); |
959 | 963 | |
960 | 964 | |
961 | 965 | |
962 | 966 | |
963 | 967 | |
964 | 968 | |
965 | 969 | |
... | ... | @@ -964,33 +968,56 @@ |
964 | 968 | } |
965 | 969 | }*/ |
966 | 970 | |
967 | - }else { | |
968 | - //存放,没有在眼保健建档或在眼保健建档,做个眼保健检查的档案。 | |
969 | - List<String> babyIdBabyEyeCheck = new ArrayList<>(); | |
970 | - List<BabyEyeCheck> babyEyeChecks = mongoUtil.findField(BabyEyeCheck.class, criteria.and("displayState").is(null), "babyId");//新的检查displayState=1这里不查看新的因为新的档案中可以获取 | |
971 | + } else { | |
972 | + | |
973 | + //有检查的档案 | |
974 | + List<BabyEyeCheck> babyEyeChecks = mongoUtil.findField(BabyEyeCheck.class, criteria, "babyId");//新旧眼保健检查都会查询到,因为使用眼保健检查条件查询需要 | |
975 | +// List<BabyEyeCheck> babyEyeChecks = mongoUtil.findField(BabyEyeCheck.class, criteria.and("displayState").is(null), "babyId");//新的检查displayState=1这里不查看新的因为新的档案中可以获取 | |
971 | 976 | babyIdBabyEyeCheck = CollectionUtils.getId(babyEyeChecks, "babyId", String.class); |
972 | 977 | if (CollectionUtils.isNotEmpty(babyIdBabyEyeCheck)) { |
973 | 978 | babyIdBabyEyeCheck = new ArrayList<String>(new LinkedHashSet<String>(babyIdBabyEyeCheck)); |
974 | 979 | babyIds.addAll(babyIdBabyEyeCheck); |
975 | 980 | } |
976 | - //获取在眼保健新增的新档案,历史不回去。 | |
977 | - Criteria c =Criteria.where("yn").ne("0").and("hospitalId").is(hospitalId).and("displayState").is("1"); | |
978 | - List<BabyModel> babyModels = mongoUtil.findField(BabyModel.class, c, "id"); | |
979 | - List<String> babyIdsBabyModels = CollectionUtils.getId(babyModels, "id", String.class); | |
980 | - if (CollectionUtils.isNotEmpty(babyIdsBabyModels)) { | |
981 | - babyIdsBabyModels = new ArrayList<String>(new LinkedHashSet<String>(babyIdsBabyModels)); | |
982 | - babyIds.addAll(babyIdsBabyModels); | |
981 | + | |
982 | + //没有查询条件,展示建档没有检查,和建档检查的,档案。 | |
983 | + if (startBuildDate == null && endBuildDate == null && startDate == null && endDate == null && doctor == null | |
984 | + && StringUtils.isEmpty(key) && currentMonthStart == null && currentMonthEnd == null && chechMonth == null | |
985 | + && StringUtils.isEmpty(yin) && bookEndDate==null && bookStartDate==null) { | |
986 | + //获取在眼保健新增的新档案,历史不回去。 | |
987 | + Criteria c = Criteria.where("yn").ne("0").and("hospitalId").is(hospitalId).and("displayState").is("1"); | |
988 | + List<BabyModel> babyModels = mongoUtil.findField(BabyModel.class, c, "id"); | |
989 | + List<String> babyIdsBabyModels = CollectionUtils.getId(babyModels, "id", String.class); | |
990 | + if (CollectionUtils.isNotEmpty(babyIdsBabyModels)) { | |
991 | + babyIdsBabyModels = new ArrayList<String>(new LinkedHashSet<String>(babyIdsBabyModels)); | |
992 | + babyIds.addAll(babyIdsBabyModels); | |
993 | + } | |
983 | 994 | } |
984 | - } | |
985 | 995 | |
986 | - //控制建档查询。 | |
996 | + } | |
997 | + //有档案查询。 | |
998 | + List<String> jdbabyModelsStr = new ArrayList<>(); | |
987 | 999 | Criteria cbaby = new Criteria(); |
988 | 1000 | if (startBuildDate != null && endBuildDate != null) { |
989 | - cbaby.and("buildDate").gte(startBuildDate).lt(DateUtil.addDay(endBuildDate, 1)).and("yn").ne("0").and("hospitalId").is(hospitalId); | |
990 | - cbaby.orOperator(Criteria.where("buildDateNoybj").gte(startBuildDate).lt(DateUtil.addDay(endBuildDate, 1))); | |
1001 | + cbaby.and("yn").ne("0").and("hospitalId").is(hospitalId); | |
1002 | + cbaby.orOperator( | |
1003 | + Criteria.where("buildDateNoybj").gte(startBuildDate).lt(DateUtil.addDay(endBuildDate, 1)), | |
1004 | + Criteria.where("buildDate").gte(startBuildDate).lt(DateUtil.addDay(endBuildDate, 1)) | |
1005 | + ); | |
991 | 1006 | List<BabyModel> jdbabyModels = mongoUtil.findField(BabyModel.class, cbaby, "id"); |
992 | - babyIds = CollectionUtils.getId(jdbabyModels, "id", String.class); | |
1007 | + jdbabyModelsStr = CollectionUtils.getId(jdbabyModels, "id", String.class); | |
1008 | + babyIds = jdbabyModelsStr; | |
1009 | + | |
1010 | + //有档案 有检查。1取两个都满足的。2不满足就是null。3 不符合条件false就是只是建档查询。 | |
1011 | + if (startBuildDate != null && endBuildDate != null && ((startDate != null && endDate != null) || doctor != null || StringUtils.isNotEmpty(key) || | |
1012 | + (currentMonthStart != null || currentMonthEnd != null) || chechMonth != null || StringUtils.isNotEmpty(yin) | |
1013 | + ||((bookEndDate != null && bookStartDate != null)))) { | |
1014 | + jdbabyModelsStr.retainAll(babyIdBabyEyeCheck); | |
1015 | + babyIds = jdbabyModelsStr; | |
1016 | + } | |
1017 | + | |
993 | 1018 | } |
1019 | + | |
1020 | + | |
994 | 1021 | babyIds = new ArrayList<String>(new LinkedHashSet<String>(babyIds)); |
995 | 1022 | BabyModelQuery babyModelQuery = new BabyModelQuery(); |
996 | 1023 | babyModelQuery.setNeed("true"); |
... | ... | @@ -1008,7 +1035,7 @@ |
1008 | 1035 | if (end > babyModelList.size()) { |
1009 | 1036 | end = babyModelList.size(); |
1010 | 1037 | } |
1011 | - listFuture.add(commonThreadPool.submit(new BabyEyeCheckWorker(babyModelList.subList(i, end),mongoTemplate,couponMapper))); | |
1038 | + listFuture.add(commonThreadPool.submit(new BabyEyeCheckWorker(babyModelList.subList(i, end), mongoTemplate, couponMapper))); | |
1012 | 1039 | } |
1013 | 1040 | List<Map> data = new ArrayList<>(); |
1014 | 1041 | for (Future f : listFuture) { |
... | ... | @@ -1304,6 +1331,75 @@ |
1304 | 1331 | List<BabyEyeCheck> babyEyeChecks = mongoTemplate.find(Query.query(Criteria.where("babyId").is(babyId).and("hospitalId").in(hospitalIds).and("yn").ne("0")) |
1305 | 1332 | .with(new Sort(Sort.Direction.ASC, "checkTime")), BabyEyeCheck.class); |
1306 | 1333 | List<Map<String, Object>> rest = new ArrayList<>(); |
1334 | + for (BabyEyeCheck babyEyeCheck : babyEyeChecks) { | |
1335 | + Map<String, Object> temp = new HashMap<>(); | |
1336 | + temp.put("id", babyEyeCheck.getId()); | |
1337 | + temp.put("hospitalId", babyEyeCheck.getHospitalId()); | |
1338 | + temp.put("edition", babyEyeCheck.getEdition()); | |
1339 | + temp.put("pid", babyEyeCheck.getPid()); | |
1340 | + if (StringUtils.isNotEmpty(babyEyeCheck.getEdition())) { | |
1341 | + //处理老数据 | |
1342 | + if ("0".equals(babyEyeCheck.getCheckMonthId())) { | |
1343 | + babyEyeCheck.setCheckMonthId("1"); | |
1344 | + } else if ("9".equals(babyEyeCheck.getCheckMonthId())) { | |
1345 | + babyEyeCheck.setCheckMonthId("12"); | |
1346 | + } else if ("18".equals(babyEyeCheck.getCheckMonthId())) { | |
1347 | + babyEyeCheck.setCheckMonthId("24"); | |
1348 | + } | |
1349 | + temp.put("checkMonth", CheckMonthQhdEnums.getName(babyEyeCheck.getCheckMonthId())); | |
1350 | + } else { | |
1351 | + temp.put("checkMonth", CheckMonthEnums.getName(babyEyeCheck.getCheckMonthId())); | |
1352 | + } | |
1353 | + BabyModel babyModel = mongoTemplate.findById(babyEyeCheck.getBabyId(), BabyModel.class); | |
1354 | + if (babyModel != null) { | |
1355 | + temp.put("name", babyModel.getName()); | |
1356 | + if (babyModel.getSex() != null) { | |
1357 | + temp.put("sex", SexEnum.getTextById(babyModel.getSex())); | |
1358 | + } | |
1359 | + } | |
1360 | + temp.put("checkTime", babyEyeCheck.getCheckTime() == null ? null : DateUtil.getYyyyMmDd(babyEyeCheck.getCheckTime())); | |
1361 | + CollectionUtils.removeNullValue(temp); | |
1362 | + rest.add(temp); | |
1363 | + } | |
1364 | + return RespBuilder.buildSuccess(rest); | |
1365 | + } | |
1366 | + | |
1367 | + @Override | |
1368 | + public BaseResponse queryQhdBase(Integer userId, String babyId) { | |
1369 | + List<String> hospitalIds = organizationGroupsFacade.findGroupHospital(userId, false); | |
1370 | + if (CollectionUtils.isEmpty(hospitalIds)) { | |
1371 | + return RespBuilder.buildSuccess(); | |
1372 | + } | |
1373 | + List<Map<String, Object>> rest = new ArrayList<>(); | |
1374 | + BabyModelQuery babyQuery = new BabyModelQuery(); | |
1375 | + babyQuery.setId(babyId); | |
1376 | + babyQuery.setYn(YnEnums.YES.getId()); | |
1377 | + babyQuery.setHospitalIdList(hospitalIds); | |
1378 | + List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); | |
1379 | + if (CollectionUtils.isNotEmpty(models)) { | |
1380 | + BabyModel babyModel = models.get(0); | |
1381 | + Map<String, Object> checkRecord = new HashMap<>(); | |
1382 | + checkRecord.put("id", babyModel.getId()); | |
1383 | + checkRecord.put("pid", babyModel.getPid()); | |
1384 | + checkRecord.put("checkDate", DateUtil.getyyyy_MM_dd(babyModel.getBuildDate())); | |
1385 | + String monthAge = DateUtil.getBabyMonthAge(babyModel.getBirth(), babyModel.getBuildDate()); | |
1386 | + checkRecord.put("monthAge", monthAge); | |
1387 | + checkRecord.put("buildId", babyModel.getId()); | |
1388 | + checkRecord.put("blNo", babyModel.getBlNo()); | |
1389 | + checkRecord.put("type", "1"); | |
1390 | + checkRecord.put("hospitalId", babyModel.getHospitalId()); | |
1391 | + //查询建档医院 | |
1392 | + Organization org = organizationService.getOrganization(Integer.valueOf(babyModel.getHospitalId())); | |
1393 | + if (org != null) { | |
1394 | + checkRecord.put("hospitalName", org.getName()); | |
1395 | + } else { | |
1396 | + checkRecord.put("hospitalName", ""); | |
1397 | + } | |
1398 | + rest.add(checkRecord); | |
1399 | + } | |
1400 | + | |
1401 | + List<BabyEyeCheck> babyEyeChecks = mongoTemplate.find(Query.query(Criteria.where("babyId").is(babyId).and("hospitalId").in(hospitalIds).and("yn").ne("0")) | |
1402 | + .with(new Sort(Sort.Direction.ASC, "checkTime")), BabyEyeCheck.class); | |
1307 | 1403 | for (BabyEyeCheck babyEyeCheck : babyEyeChecks) { |
1308 | 1404 | Map<String, Object> temp = new HashMap<>(); |
1309 | 1405 | temp.put("id", babyEyeCheck.getId()); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/BabyEyeCheckWorker.java
View file @
0bd3c16
... | ... | @@ -61,12 +61,15 @@ |
61 | 61 | mapResult.put("doctor", couponMapper.getUserName(babyEyeCheck.getDoctor()));//检查医生 |
62 | 62 | mapResult.put("checkTime", DateUtil.getYyyyMmDd(babyEyeCheck.getCheckTime()));//检查日期 |
63 | 63 | mapResult.put("nextCheckTime", DateUtil.getYyyyMmDd(babyEyeCheck.getNextCheckTime()));//预约日期 |
64 | + mapResult.put("checkId", babyEyeCheck.getId());//儿童眼保健检查id | |
65 | + | |
64 | 66 | }else { |
65 | 67 | mapResult.put("checkMonthAge", ""); |
66 | 68 | mapResult.put("positive", ""); |
67 | 69 | mapResult.put("doctor", ""); |
68 | 70 | mapResult.put("checkTime", ""); |
69 | 71 | mapResult.put("nextCheckTime", ""); |
72 | + mapResult.put("checkId", ""); | |
70 | 73 | } |
71 | 74 | } |
72 | 75 | results.add(mapResult); |