diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabySpecialDiseaseClinicService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabySpecialDiseaseClinicService.java index 161b22a..7a24910 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabySpecialDiseaseClinicService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabySpecialDiseaseClinicService.java @@ -68,7 +68,7 @@ public class BabySpecialDiseaseClinicService { babyQuery.mysqlBuild(babySpecialDiseaseClinicDao.queryBabySpecialDiseaseClinicCount(babyQuery.convertToQuery())); query.start(babyQuery.getOffset()).end(babyQuery.getLimit()); } - return babySpecialDiseaseClinicDao.queryBabySpecialDiseaseClinicRecordQuery(query.addOrder(Sort.Direction.DESC,"createDate")); + return babySpecialDiseaseClinicDao.queryBabySpecialDiseaseClinicRecordQuery(query.addOrder(Sort.Direction.DESC,"checkDate")); } /** * 获儿童取单条记录 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java index afa5f22..0419fd7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java @@ -56,6 +56,20 @@ public class BabyEyeCheckController extends BaseController { } /** + * 获取档案和检查信息,处理 + * + * @param id + * @param request + * @Author: 武涛涛 + * @Date: 2020/8/5 16:04 + */ + @ResponseBody + @TokenRequired + @RequestMapping(value = "/queryQhdBase/{id}", method = RequestMethod.GET) + public BaseResponse queryQhdBase(@PathVariable String id, HttpServletRequest request) { + return babyEyeCheckService.queryQhdBase(getUserId(request), id); + } + /** * 儿保检查获取眼保健检查结果信息 * * @param babyId diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index 419ebd2..dcf5855 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -769,7 +769,11 @@ public class BabyBookbuildingFacade { request.setEncoded(encodedUtil); BabyModel model = getBabyModel(request, true, userId,hid); - model.setDisplayState(request.getDisplayState());//添加加,修改不加,会显不显示 + if(StringUtils.isEmpty(request.getDisplayState())){ + model.setDisplayState("2"); + }else { + model.setDisplayState(request.getDisplayState());//添加加,修改不加,会显不显示 + } model.setmHighRiskReason(request.getmHighRiskReason()); model.setPid(babyPersonId); model.setOperator(userId); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyEarFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyEarFacade.java index 47fccd0..1e19ca9 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyEarFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyEarFacade.java @@ -529,6 +529,9 @@ public class BabyEarFacade { if (StringUtils.isEmpty(baby.getId())) { baby.setEncoded(encodedUtil); } + if(StringUtils.isEmpty(baby.getDisplayState())){ + baby.setDisplayState("2"); + } babyPatientId = babyService.addOneBaby(baby).getId(); babyBookbuildingFacade.createBuildMsg(baby); //建档开通增值服务 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java index eeb8537..2011a62 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java @@ -36,6 +36,7 @@ public interface BabyEyeCheckService extends IBaseService { BaseResponse query(Integer userId, String babyId); BaseResponse queryQhd(Integer userId, String babyId); + BaseResponse queryQhdBase(Integer userId, String babyId); BaseResponse queryShowQhd( String babyId); BaseResponse listInit(Integer userId); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java index 8a06650..4969053 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java @@ -25,6 +25,8 @@ import com.lyms.platform.operate.web.worker.BabyEyeCheckWorker; import com.lyms.platform.operate.web.worker.SieveRegionalCqsievesWorker; import com.lyms.platform.permission.dao.master.BabyEyeCheckMapper; import com.lyms.platform.permission.dao.master.CouponMapper; +import com.lyms.platform.permission.model.Organization; +import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.pojo.*; import com.lyms.platform.query.BabyModelQuery; import org.apache.commons.collections.map.HashedMap; @@ -65,7 +67,8 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC private ThreadPoolTaskExecutor commonThreadPool; @Autowired private MongoTemplate mongoTemplate; - + @Autowired + private OrganizationService organizationService; @Autowired private MongoUtil mongoUtil; @@ -253,8 +256,8 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC * @Author: 武涛涛 * @Date: 2020/8/4 11:31 */ - if(babyModel!=null && "2".equals(babyModel.getDisplayState())){// 2 是代表没有在眼保健建档的档案,null不处理历史数据 - mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyEyeCheck.getBabyId())), Update.update("buildDateNoybj", new Date()).set("displayState","1"), BabyModel.class); + if (babyModel != null && "2".equals(babyModel.getDisplayState())) {// 2 是代表没有在眼保健建档的档案,null不处理历史数据 + mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyEyeCheck.getBabyId())), Update.update("buildDateNoybj", new Date()).set("displayState", "1"), BabyModel.class); } /*end*/ // 添加追访眼保检查 @@ -951,9 +954,10 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC /*end */ List babyIds = new ArrayList<>(); - + //存放,没有在眼保健建档或在眼保健建档,做个眼保健检查的档案。 + List babyIdBabyEyeCheck = new ArrayList<>(); if (positive) { - List babyEyeChecks = mongoUtil.findField(BabyEyeCheck.class,criteria.orOperator(Criteria.where("apparatus").is("2"),Criteria.where("doctorJudgement").is("2")),"babyId"); + List babyEyeChecks = mongoUtil.findField(BabyEyeCheck.class, criteria.orOperator(Criteria.where("apparatus").is("2"), Criteria.where("doctorJudgement").is("2")), "babyId"); babyIds = CollectionUtils.getId(babyEyeChecks, "babyId", String.class); babyIds = new ArrayList(new LinkedHashSet(babyIds)); @@ -964,33 +968,56 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC } }*/ - }else { - //存放,没有在眼保健建档或在眼保健建档,做个眼保健检查的档案。 - List babyIdBabyEyeCheck = new ArrayList<>(); - List babyEyeChecks = mongoUtil.findField(BabyEyeCheck.class, criteria.and("displayState").is(null), "babyId");//新的检查displayState=1这里不查看新的因为新的档案中可以获取 + } else { + + //有检查的档案 + List babyEyeChecks = mongoUtil.findField(BabyEyeCheck.class, criteria, "babyId");//新旧眼保健检查都会查询到,因为使用眼保健检查条件查询需要 +// List babyEyeChecks = mongoUtil.findField(BabyEyeCheck.class, criteria.and("displayState").is(null), "babyId");//新的检查displayState=1这里不查看新的因为新的档案中可以获取 babyIdBabyEyeCheck = CollectionUtils.getId(babyEyeChecks, "babyId", String.class); if (CollectionUtils.isNotEmpty(babyIdBabyEyeCheck)) { babyIdBabyEyeCheck = new ArrayList(new LinkedHashSet(babyIdBabyEyeCheck)); babyIds.addAll(babyIdBabyEyeCheck); } - //获取在眼保健新增的新档案,历史不回去。 - Criteria c =Criteria.where("yn").ne("0").and("hospitalId").is(hospitalId).and("displayState").is("1"); - List babyModels = mongoUtil.findField(BabyModel.class, c, "id"); - List babyIdsBabyModels = CollectionUtils.getId(babyModels, "id", String.class); - if (CollectionUtils.isNotEmpty(babyIdsBabyModels)) { - babyIdsBabyModels = new ArrayList(new LinkedHashSet(babyIdsBabyModels)); - babyIds.addAll(babyIdsBabyModels); + + //没有查询条件,展示建档没有检查,和建档检查的,档案。 + if (startBuildDate == null && endBuildDate == null && startDate == null && endDate == null && doctor == null + && StringUtils.isEmpty(key) && currentMonthStart == null && currentMonthEnd == null && chechMonth == null + && StringUtils.isEmpty(yin) && bookEndDate==null && bookStartDate==null) { + //获取在眼保健新增的新档案,历史不回去。 + Criteria c = Criteria.where("yn").ne("0").and("hospitalId").is(hospitalId).and("displayState").is("1"); + List babyModels = mongoUtil.findField(BabyModel.class, c, "id"); + List babyIdsBabyModels = CollectionUtils.getId(babyModels, "id", String.class); + if (CollectionUtils.isNotEmpty(babyIdsBabyModels)) { + babyIdsBabyModels = new ArrayList(new LinkedHashSet(babyIdsBabyModels)); + babyIds.addAll(babyIdsBabyModels); + } } - } - //控制建档查询。 + } + //有档案查询。 + List jdbabyModelsStr = new ArrayList<>(); Criteria cbaby = new Criteria(); if (startBuildDate != null && endBuildDate != null) { - cbaby.and("buildDate").gte(startBuildDate).lt(DateUtil.addDay(endBuildDate, 1)).and("yn").ne("0").and("hospitalId").is(hospitalId); - cbaby.orOperator(Criteria.where("buildDateNoybj").gte(startBuildDate).lt(DateUtil.addDay(endBuildDate, 1))); + cbaby.and("yn").ne("0").and("hospitalId").is(hospitalId); + cbaby.orOperator( + Criteria.where("buildDateNoybj").gte(startBuildDate).lt(DateUtil.addDay(endBuildDate, 1)), + Criteria.where("buildDate").gte(startBuildDate).lt(DateUtil.addDay(endBuildDate, 1)) + ); List jdbabyModels = mongoUtil.findField(BabyModel.class, cbaby, "id"); - babyIds = CollectionUtils.getId(jdbabyModels, "id", String.class); + jdbabyModelsStr = CollectionUtils.getId(jdbabyModels, "id", String.class); + babyIds = jdbabyModelsStr; + + //有档案 有检查。1取两个都满足的。2不满足就是null。3 不符合条件false就是只是建档查询。 + if (startBuildDate != null && endBuildDate != null && ((startDate != null && endDate != null) || doctor != null || StringUtils.isNotEmpty(key) || + (currentMonthStart != null || currentMonthEnd != null) || chechMonth != null || StringUtils.isNotEmpty(yin) + ||((bookEndDate != null && bookStartDate != null)))) { + jdbabyModelsStr.retainAll(babyIdBabyEyeCheck); + babyIds = jdbabyModelsStr; + } + } + + babyIds = new ArrayList(new LinkedHashSet(babyIds)); BabyModelQuery babyModelQuery = new BabyModelQuery(); babyModelQuery.setNeed("true"); @@ -1008,7 +1035,7 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC if (end > babyModelList.size()) { end = babyModelList.size(); } - listFuture.add(commonThreadPool.submit(new BabyEyeCheckWorker(babyModelList.subList(i, end),mongoTemplate,couponMapper))); + listFuture.add(commonThreadPool.submit(new BabyEyeCheckWorker(babyModelList.subList(i, end), mongoTemplate, couponMapper))); } List data = new ArrayList<>(); for (Future f : listFuture) { @@ -1338,6 +1365,75 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC } @Override + public BaseResponse queryQhdBase(Integer userId, String babyId) { + List hospitalIds = organizationGroupsFacade.findGroupHospital(userId, false); + if (CollectionUtils.isEmpty(hospitalIds)) { + return RespBuilder.buildSuccess(); + } + List> rest = new ArrayList<>(); + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setId(babyId); + babyQuery.setYn(YnEnums.YES.getId()); + babyQuery.setHospitalIdList(hospitalIds); + List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + if (CollectionUtils.isNotEmpty(models)) { + BabyModel babyModel = models.get(0); + Map checkRecord = new HashMap<>(); + checkRecord.put("id", babyModel.getId()); + checkRecord.put("pid", babyModel.getPid()); + checkRecord.put("checkDate", DateUtil.getyyyy_MM_dd(babyModel.getBuildDate())); + String monthAge = DateUtil.getBabyMonthAge(babyModel.getBirth(), babyModel.getBuildDate()); + checkRecord.put("monthAge", monthAge); + checkRecord.put("buildId", babyModel.getId()); + checkRecord.put("blNo", babyModel.getBlNo()); + checkRecord.put("type", "1"); + checkRecord.put("hospitalId", babyModel.getHospitalId()); + //查询建档医院 + Organization org = organizationService.getOrganization(Integer.valueOf(babyModel.getHospitalId())); + if (org != null) { + checkRecord.put("hospitalName", org.getName()); + } else { + checkRecord.put("hospitalName", ""); + } + rest.add(checkRecord); + } + + List babyEyeChecks = mongoTemplate.find(Query.query(Criteria.where("babyId").is(babyId).and("hospitalId").in(hospitalIds).and("yn").ne("0")) + .with(new Sort(Sort.Direction.ASC, "checkTime")), BabyEyeCheck.class); + for (BabyEyeCheck babyEyeCheck : babyEyeChecks) { + Map temp = new HashMap<>(); + temp.put("id", babyEyeCheck.getId()); + temp.put("hospitalId", babyEyeCheck.getHospitalId()); + temp.put("edition", babyEyeCheck.getEdition()); + temp.put("pid", babyEyeCheck.getPid()); + if (StringUtils.isNotEmpty(babyEyeCheck.getEdition())) { + //处理老数据 + if ("0".equals(babyEyeCheck.getCheckMonthId())) { + babyEyeCheck.setCheckMonthId("1"); + } else if ("9".equals(babyEyeCheck.getCheckMonthId())) { + babyEyeCheck.setCheckMonthId("12"); + } else if ("18".equals(babyEyeCheck.getCheckMonthId())) { + babyEyeCheck.setCheckMonthId("24"); + } + temp.put("checkMonth", CheckMonthQhdEnums.getName(babyEyeCheck.getCheckMonthId())); + } else { + temp.put("checkMonth", CheckMonthEnums.getName(babyEyeCheck.getCheckMonthId())); + } + BabyModel babyModel = mongoTemplate.findById(babyEyeCheck.getBabyId(), BabyModel.class); + if (babyModel != null) { + temp.put("name", babyModel.getName()); + if (babyModel.getSex() != null) { + temp.put("sex", SexEnum.getTextById(babyModel.getSex())); + } + } + temp.put("checkTime", babyEyeCheck.getCheckTime() == null ? null : DateUtil.getYyyyMmDd(babyEyeCheck.getCheckTime())); + CollectionUtils.removeNullValue(temp); + rest.add(temp); + } + return RespBuilder.buildSuccess(rest); + } + + @Override public BaseResponse queryShowQhd(String babyId) { Date firstSecond = DateUtil.getDayFirstSecond(new Date()); Date dayLastSecond = DateUtil.getDayLastSecond(new Date()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/BabyEyeCheckWorker.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/BabyEyeCheckWorker.java index 0184b4f..53e77e5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/BabyEyeCheckWorker.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/BabyEyeCheckWorker.java @@ -61,12 +61,15 @@ public class BabyEyeCheckWorker implements Callable> { mapResult.put("doctor", couponMapper.getUserName(babyEyeCheck.getDoctor()));//检查医生 mapResult.put("checkTime", DateUtil.getYyyyMmDd(babyEyeCheck.getCheckTime()));//检查日期 mapResult.put("nextCheckTime", DateUtil.getYyyyMmDd(babyEyeCheck.getNextCheckTime()));//预约日期 + mapResult.put("checkId", babyEyeCheck.getId());//儿童眼保健检查id + }else { mapResult.put("checkMonthAge", ""); mapResult.put("positive", ""); mapResult.put("doctor", ""); mapResult.put("checkTime", ""); mapResult.put("nextCheckTime", ""); + mapResult.put("checkId", ""); } } results.add(mapResult);