Commit 0bd3c1662bd92922d5889a0d10eede1d8245cf84

Authored by wtt
1 parent 49bf4904aa

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