From 0b0fc530a4f877ebc2591f6aec33952e389c50dc Mon Sep 17 00:00:00 2001 From: liquanyu Date: Fri, 9 Dec 2022 14:26:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/query/BabyModelQuery.java | 27 +++++ .../operate/web/facade/PatientSyncMysqlFacade.java | 127 ++++++++++++--------- 2 files changed, 103 insertions(+), 51 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java index 28feec4..548b4e8 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java @@ -415,6 +415,25 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { private Map cardArticle; // 1 本县 2 外县 private Integer areaType; + //儿童眼保健最后检查时间 + private Date babyCheckEyeLastDateStart; + private Date babyCheckEyeLastDateEnd; + + public Date getBabyCheckEyeLastDateStart() { + return babyCheckEyeLastDateStart; + } + + public void setBabyCheckEyeLastDateStart(Date babyCheckEyeLastDateStart) { + this.babyCheckEyeLastDateStart = babyCheckEyeLastDateStart; + } + + public Date getBabyCheckEyeLastDateEnd() { + return babyCheckEyeLastDateEnd; + } + + public void setBabyCheckEyeLastDateEnd(Date babyCheckEyeLastDateEnd) { + this.babyCheckEyeLastDateEnd = babyCheckEyeLastDateEnd; + } public List getStreetIds() { return streetIds; @@ -2655,6 +2674,14 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { c = Criteria.where("lhNextEyeCheckTime").gte(lhNextEyeCheckTimeStrat).lte(lhNextEyeCheckTimeEnd); } } + + if (null != babyCheckEyeLastDateStart && babyCheckEyeLastDateEnd != null) { + if (null != c) { + c = c.and("babyCheckEyeLastDate").gte(babyCheckEyeLastDateStart).lte(babyCheckEyeLastDateEnd); + } else { + c = Criteria.where("babyCheckEyeLastDate").gte(babyCheckEyeLastDateStart).lte(babyCheckEyeLastDateEnd); + } + } Criteria cor8=MongoCondition.newInstance().getCriteria();//这里不能给null return拼接不能为空 if(MapUtils.isNotEmpty(cardArticle)){ MongoCondition con = MongoCondition.newInstance(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java index f401ae5..b9b3f0e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java @@ -3531,17 +3531,35 @@ public class PatientSyncMysqlFacade extends BaseServiceImpl { //0-6岁儿童眼保健及视力检查人数 - BabyCheckModelQuery checkModelQuery = new BabyCheckModelQuery(); - checkModelQuery.setStreetIds(streetIds); - checkModelQuery.setYn(YnEnums.YES.getId()); - checkModelQuery.setBirthStart(end1); - checkModelQuery.setBirthEnd(start1); - checkModelQuery.setLhdsl(true); - //checkModelQuery.setCheckDateStart(DateUtil.addYear(new Date(),-20)); - checkModelQuery.setCheckDateStart(startDateFirst); - checkModelQuery.setCheckDateEnd(endDate); - System.out.println("===9"+checkModelQuery.convertToQuery().convertToMongoQuery().toString()); - int data13 =babyCheckService.queryBabyCheckCount(checkModelQuery); +// BabyCheckModelQuery checkModelQuery = new BabyCheckModelQuery(); +// checkModelQuery.setStreetIds(streetIds); +// checkModelQuery.setYn(YnEnums.YES.getId()); +// checkModelQuery.setBirthStart(end1); +// checkModelQuery.setBirthEnd(start1); +// checkModelQuery.setLhdsl(true); +// //checkModelQuery.setCheckDateStart(DateUtil.addYear(new Date(),-20)); +// checkModelQuery.setCheckDateStart(startDateFirst); +// checkModelQuery.setCheckDateEnd(endDate); +// System.out.println("===9"+checkModelQuery.convertToQuery().convertToMongoQuery().toString()); +// int data13 =babyCheckService.queryBabyCheckCount(checkModelQuery); + + + BabyModelQuery babyQuery3 = new BabyModelQuery(); + babyQuery3.setExistSource(false); + babyQuery3.setYn(YnEnums.YES.getId()); + babyQuery3.setStreetIds(streetIds); + Date start3 = DateUtil.addMonth(currentDate1, 0); + babyQuery3.setBirthEnd(start3); + Date end3 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -72 - 1), 1); + babyQuery3.setBirthStart(end3); + babyQuery3.setBuildDateEnd(endDate); + babyQuery3.setBuildDateStart(startDateFirst); + babyQuery3.setBabyCheckEyeLastDateStart(startDateFirst); + babyQuery3.setBabyCheckEyeLastDateEnd(endDate); + + System.out.println("===9"+babyQuery3.convertToQuery().convertToMongoQuery().toString()); + int data13 = babyBookbuildingService.queryBabyCount(babyQuery3); + int lastDate13= null==hospitalDate.get("data13")?0:Integer.parseInt(hospitalDate.get("data13").toString()); hospitalDate.put("data13",data13+lastDate13); //0-6岁儿童眼保健及视力检查覆盖率% @@ -4270,58 +4288,65 @@ public class PatientSyncMysqlFacade extends BaseServiceImpl { public BaseResponse getBabyEyeCheckItems(Integer page, Integer limit, String areaId, String streetId, Date dateTime) { //获得区县下的街道 List streetIds = getRegionsStreetIds( areaId, streetId); - BabyCheckModelQuery checkModelQuery1 = new BabyCheckModelQuery(); + + + + if (CollectionUtils.isNotEmpty(streetIds)) { Date endDate = DateUtil.getDayLastSecond(DateUtil.getDateMonthLast(dateTime)); - Date currentDate1 = DateUtil.formatDate(new Date()); - Date start1 = DateUtil.addMonth(currentDate1, 0); - checkModelQuery1.setBirthEnd(start1); - Date end1 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -72 - 1), 1); - - checkModelQuery1.setStreetIds(streetIds); - checkModelQuery1.setYn(YnEnums.YES.getId()); - checkModelQuery1.setBirthStart(end1); - checkModelQuery1.setBirthEnd(start1); - checkModelQuery1.setLhdsl(true); //传入的时间获取年的第一天 Date startDateFirst = DateUtil.getYearFirst(DateUtil.getYear(dateTime)); - checkModelQuery1.setCheckDateStart(startDateFirst); - //checkModelQuery1.setCheckDateStart(DateUtil.addYear(new Date(),-20)); - checkModelQuery1.setCheckDateEnd(endDate); - checkModelQuery1.setPage(page); - checkModelQuery1.setLimit(limit); - checkModelQuery1.setNeed("true"); - List babyCheckModelList = babyCheckService.queryBabyCheckRecord(checkModelQuery1); + + + BabyModelQuery babyQuery3 = new BabyModelQuery(); + babyQuery3.setExistSource(false); + babyQuery3.setYn(YnEnums.YES.getId()); + babyQuery3.setStreetIds(streetIds); + Date start3 = DateUtil.addMonth(currentDate1, 0); + babyQuery3.setBirthEnd(start3); + Date end3 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -72 - 1), 1); + babyQuery3.setBirthStart(end3); + babyQuery3.setBuildDateEnd(endDate); + babyQuery3.setBuildDateStart(startDateFirst); + babyQuery3.setBabyCheckEyeLastDateStart(startDateFirst); + babyQuery3.setBabyCheckEyeLastDateEnd(endDate); + +// BabyCheckModelQuery checkModelQuery1 = new BabyCheckModelQuery(); +// checkModelQuery1.setBirthEnd(start1); +// checkModelQuery1.setStreetIds(streetIds); +// checkModelQuery1.setYn(YnEnums.YES.getId()); +// checkModelQuery1.setBirthStart(end1); +// checkModelQuery1.setBirthEnd(start1); +// checkModelQuery1.setLhdsl(true); +// +// checkModelQuery1.setCheckDateStart(startDateFirst); +// //checkModelQuery1.setCheckDateStart(DateUtil.addYear(new Date(),-20)); +// checkModelQuery1.setCheckDateEnd(endDate); + babyQuery3.setPage(page); + babyQuery3.setLimit(limit); + babyQuery3.setNeed("true"); + System.out.println("eye check "+babyQuery3.convertToQuery().convertToMongoQuery().toString()); + List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyQuery3); List > list = new ArrayList(); - for (BabyCheckModel babyCheckModel : babyCheckModelList) { + for (BabyModel babyModel : babyModels) { Map map = new HashMap <>(); - map.put("checkId", babyCheckModel.getId()); - if (StringUtils.isNotEmpty(babyCheckModel.getBuildId())) { - BabyModel babyModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(babyCheckModel.getBuildId())), BabyModel.class); - if (babyModel == null) { - System.out.println("no baby "+ babyCheckModel.getBuildId()); - continue; - } - map.put("id", babyModel.getId()); - map.put("babyName", babyModel.getName()); - map.put("babySex", babyModel.getSex() != 0 ? "男" : "女"); - map.put("mommyName", babyModel.getMname()); - map.put("mommyCardNo", babyModel.getMcertNo()); - map.put("checkAge", DateUtil.getBabyMonthAge(babyModel.getBirth(), babyCheckModel.getCheckDate())); - map.put("birth",DateUtil.getyyyy_MM_dd(babyModel.getBirth())); - map.put("mommyPhone",babyModel.getMphone()); - } - map.put("checkTime", DateUtil.getyyyy_MM_dd(babyCheckModel.getCheckDate())); - map.put("nextCheckTime", DateUtil.getyyyy_MM_dd(babyCheckModel.getNextDate())); - map.put("height", babyCheckModel.getHeight()); - map.put("weight", babyCheckModel.getWeight()); + + map.put("id", babyModel.getId()); + map.put("babyName", babyModel.getName()); + map.put("babySex", babyModel.getSex() != 0 ? "男" : "女"); + map.put("mommyName", babyModel.getMname()); + map.put("mommyCardNo", babyModel.getMcertNo()); + map.put("checkAge", DateUtil.getBabyMonthAge(babyModel.getBirth(), babyModel.getBabyCheckEyeLastDate())); + map.put("birth",DateUtil.getyyyy_MM_dd(babyModel.getBirth())); + map.put("mommyPhone",babyModel.getMphone()); + map.put("checkTime", DateUtil.getyyyy_MM_dd(babyModel.getBabyCheckEyeLastDate())); list.add(map); } return new BaseListResponse().setErrorcode(0).setErrormsg("成功") - .setData(list).setPageInfo(checkModelQuery1.getPageInfo()); + .setData(list).setPageInfo(babyQuery3.getPageInfo()); } return RespBuilder.buildSuccess(null); } -- 1.8.3.1