diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java index 06e3568..175c7fa 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java @@ -24,6 +24,7 @@ import com.lyms.platform.operate.web.facade.*; import com.lyms.platform.operate.web.request.AntExListQueryRequest; import com.lyms.platform.operate.web.result.HighScoreResult; import com.lyms.platform.operate.web.result.MaternalDeliverResult; +import com.lyms.platform.operate.web.service.BabyEyeCheckService; import com.lyms.platform.operate.web.service.IBloodPressureService; import com.lyms.platform.operate.web.service.SyncDataTaskService; import com.lyms.platform.operate.web.worker.*; @@ -64,7 +65,8 @@ public class TestController extends BaseController { @Autowired private MongoTemplate mongoTemplate; - + @Autowired + private BabyEyeCheckService babyEyeCheckService; @Autowired private MatDeliverFollowService matDeliverFollowService; @@ -231,6 +233,19 @@ public class TestController extends BaseController { return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(integer1.toString()); } + /** + * 处理历史眼保健数据,冗余到儿童档案 + * + * @param startDate 眼保健检查开始时间 + * @param endDate 眼保健检查结束时间 + * @Author: 武涛涛 + * @Date: 2020/8/7 15:45 + */ + @ResponseBody + @RequestMapping(value = "/babyEyeCheckUpdateBaby" , method = RequestMethod.GET) + public BaseResponse babyEyeCheckUpdateBaby(@RequestParam(required = false) String startDate,@RequestParam(required = false) String endDate) { + return babyEyeCheckService.updateBaby(startDate, endDate); + } @ResponseBody @RequestMapping("/sync/doctor/user") diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySpecialDiseaseClinicFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySpecialDiseaseClinicFacade.java index 21fb3ba..50e6376 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySpecialDiseaseClinicFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySpecialDiseaseClinicFacade.java @@ -269,6 +269,18 @@ public class BabySpecialDiseaseClinicFacade extends BaseServiceImpl { babyQuery.setYn(YnEnums.YES.getId()); babyQuery.setHospitalId(hospitalId); babyQuery.setSort(null); + if(babyQuery.getBuildDateEnd()!=null){ + babyQuery.setBuildDateEnd(DateUtil.addDay(babyQuery.getBuildDateEnd(), 1)); + } + if(babyQuery.getCheckDateEnd()!=null){ + babyQuery.setCheckDateEnd(DateUtil.addDay(babyQuery.getCheckDateEnd(), 1)); + } + if(babyQuery.getNextDateEnd()!=null){ + babyQuery.setNextDateEnd(DateUtil.addDay(babyQuery.getNextDateEnd(), 1)); + } + if(babyQuery.getBirthEnd()!=null){ + babyQuery.setBirthEnd(DateUtil.addDay(babyQuery.getBirthEnd(), 1)); + } babySpecialDiseaseClinicModels = babySDCService.queryBabySpecialDiseaseClinicRecord(babyQuery); } for (int i = 0; i < babySpecialDiseaseClinicModels.size(); i++) { 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 2011a62..87f7710 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 @@ -13,6 +13,7 @@ import java.util.Date; public interface BabyEyeCheckService extends IBaseService { BaseObjectResponse init(); + BaseResponse updateBaby(String startDate, String endDate); BaseResponse addOrUpdate(Integer userId, BabyEyeCheck babyEyeCheck); BaseResponse addOrUpdateQhd(Integer userId, BabyEyeCheck babyEyeCheck); 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 76f0eba..8244215 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 @@ -98,6 +98,46 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC return RespBuilder.buildSuccess("eyePosition", eyePosition, "addSubtract", addSubtract, "checkMonth", checkMonth, "checkMonthQhdEnums", checkMonthQhdEnums, "highRisk", highRisk, "highRiskQhd", highRiskQhd, "handleOpinions", handleOpinions); } + /** + * 处理历史眼保健数据,冗余到儿童档案 + * @Author: 武涛涛 + * @Date: 2020/8/7 15:29 + */ + @Override + public BaseResponse updateBaby(String startDate, String endDate) { + + //1 查询所有的眼保健检查,获取儿童档案ids,去重后获取建档儿童id + List redundancyBabyCheck = new ArrayList<>(); + List babyIds = new ArrayList<>(); + Criteria criteria = Criteria.where("yn").ne("0"); + if (startDate != null && endDate != null) { + criteria.and("checkTime").gte( DateUtil.parseYMD(startDate)).lt(DateUtil.addDay(DateUtil.parseYMD(endDate), 1)); + } + List babyEyeChecks = mongoUtil.findField(BabyEyeCheck.class, criteria, "babyId"); + babyIds = CollectionUtils.getId(babyEyeChecks, "babyId", String.class); + if (CollectionUtils.isNotEmpty(babyIds)) { + babyIds = new ArrayList(new LinkedHashSet(babyIds)); + } + for (int i = 0; i checkModels = mongoTemplate.find(Query.query(Criteria.where("babyId").is(babyIds.get(i)).and("yn").is("1")) + .with(new Sort(Sort.Direction.DESC, "created")), BabyEyeCheck.class); + if(CollectionUtils.isNotEmpty(checkModels)){ + BabyEyeCheck babyEyeCheck = checkModels.get(0); + + //3 使用最后检查,更新到儿童档案中。 + BabyModel babyModel = mongoTemplate.findById(babyEyeCheck.getBabyId(), BabyModel.class); + if (babyModel != null) { + babyModel.setDisplayState("1"); + redundancyBabyCheck(babyEyeCheck, babyModel, "ADD"); + redundancyBabyCheck.add(babyModel.getMphone()); + } + } + } + return RespBuilder.buildSuccess("redundancyBabyCheck",redundancyBabyCheck,"redundancyBabyCheck.seiz",redundancyBabyCheck.size()); + } + @Override public BaseResponse addOrUpdate(Integer userId, BabyEyeCheck babyEyeCheck) { String hospitalId = autoMatchFacade.getHospitalId(userId);