From b7a7e9631f62a107d9da6d98a9158e7e79df1e76 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Thu, 10 Nov 2022 16:03:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=AC=E5=85=B1=E5=8D=AB=E7=94=9F=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/lyms/platform/pojo/BabyModel.java | 11 +++ .../com/lyms/platform/query/BabyModelQuery.java | 13 +++ .../web/controller/AreaCountController.java | 25 ++++++ .../operate/web/controller/TestController.java | 98 ++++++++++++++++++++++ .../operate/web/facade/PatientSyncMysqlFacade.java | 72 +++++++++++++++- 5 files changed, 217 insertions(+), 2 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java index ba80cbd..8b788b8 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java @@ -753,6 +753,17 @@ public class BabyModel extends BaseModel { //本人电话 private String selfPhone; + //是否完成相应月龄检查套餐 1 未完成 2 完成 + private Integer completeCheck; + + public Integer getCompleteCheck() { + return completeCheck; + } + + public void setCompleteCheck(Integer completeCheck) { + this.completeCheck = completeCheck; + } + public String getBabyLevelId() { return babyLevelId; } 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 54c4115..58b1c1d 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 @@ -370,6 +370,8 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { //分娩孕周 private Integer dueWeekStart; + //是否完成相应月龄检查套餐 1 未完成 2 完成 + private Integer completeCheck; //分娩孕周 private Integer dueWeekEnd; private Boolean existSource; @@ -413,6 +415,14 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { // 1 本县 2 外县 private Integer areaType; + public Integer getCompleteCheck() { + return completeCheck; + } + + public void setCompleteCheck(Integer completeCheck) { + this.completeCheck = completeCheck; + } + public List getBabyStreetIds() { return babyStreetIds; } @@ -1864,6 +1874,9 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { if (null != sINCard) { condition = condition.and("sINCard", sINCard, MongoOper.IS); } + if (null != completeCheck) { + condition = condition.and("completeCheck", completeCheck, MongoOper.IS); + } if (encodedNe) { condition = condition.and("encoded", null, MongoOper.NE); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java index efbdb21..bbece6b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java @@ -601,6 +601,31 @@ public class AreaCountController extends BaseController { /** + * 0-3岁 0-6岁 儿童系统管理人数 + * @param request + * @param page + * @param limit + * @param areaId + * @param streetId + * @param type + * @param dateTime + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/getBabySystemCountList") + @ResponseBody + @TokenRequired + public BaseResponse getBabySystemCountList(HttpServletRequest request, + Integer page, Integer limit, + @RequestParam String areaId, + @RequestParam( required = false) String streetId, + @RequestParam Integer type, // 1 0-3岁儿童系统管理人数 2 0-6岁儿童系统管理人数 + @RequestParam Date dateTime) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return patientSyncMysqlFacade.getBabySystemCountList(page,limit,areaId,streetId,dateTime,type); + } + + + /** * 0-6岁健康管理人数 * @param request * @param page 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 a3084f1..ba084b1 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 @@ -5355,4 +5355,102 @@ public class TestController extends BaseController { } } + + @RequestMapping(value = "/updateBabyCompleteCheck", method = RequestMethod.GET) + @ResponseBody + public String updateBabyCompleteCheck(@RequestParam(required = true) String hid) { + + + BabyModelQuery babyModelQuery = new BabyModelQuery(); + babyModelQuery.setYn(YnEnums.YES.getId()); + babyModelQuery.setId(hid); + babyModelQuery.setLastCheckDoctor2(true); + + final List models = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); + if (CollectionUtils.isNotEmpty(models)) { + int batchSize = 200; + int end = 0; + for (int i = 0; i < models.size(); i += batchSize) { + end = (end + batchSize); + if (end > models.size()) { + end = models.size(); + } + System.out.println("start:" + i + ",end:" + end); + final List tempList = models.subList(i, end); + new Thread(new Runnable() { + @Override + public void run() { + if (CollectionUtils.isNotEmpty(tempList)) { + for (BabyModel babyModel : tempList) { + if (babyModel != null) { + BabyCheckModelQuery query = new BabyCheckModelQuery(); + query.setYn(YnEnums.YES.getId()); + query.setBuildId(babyModel.getId()); + List allMonths = new LinkedList(); + allMonths.add(1); + allMonths.add(3); + allMonths.add(6); + allMonths.add(8); + allMonths.add(12); + allMonths.add(18); + allMonths.add(24); + allMonths.add(30); + allMonths.add(36); + allMonths.add(48); + allMonths.add(60); + allMonths.add(72); + + List checkMonths = new LinkedList(); + + int checkMonth = DateUtil.getBabyAgeMonth(babyModel.getBirth(),new Date()); + + for (Integer month : allMonths) + { + if (month <= checkMonth) + { + checkMonths.add(month); + } + } + List completeCheckMonths = new LinkedList(); + List checkModels = babyCheckService.queryBabyCheckListRecord(query); + if (CollectionUtils.isNotEmpty(checkModels)) { + for (BabyCheckModel checkModel : checkModels) { + if (checkModel.getTcType() != null) + { + completeCheckMonths.add(checkModel.getTcType()); + } + } + } + if (completeCheckMonths.size() == checkMonths.size()) + { + int complete = 2; + for (int i = 0;i results = new ArrayList<>(); + //获得区县下的街道 + List regions = getRegions(areaId,streetId); + List hospitalIds = new ArrayList<>(); + for (BasicConfig region : regions) { + //获得街道下的医院 + List organizations = getOrganization(region.getId()); + for (Organization organization : organizations) { + String hospitalId= StringUtils.getIntToVal(organization.getId()); + hospitalIds.add(hospitalId); + } + } + + Date endDate=DateUtil.getDayLastSecond(DateUtil.getDateMonthLast(dateTime)); + BabyModelQuery babyQuery = new BabyModelQuery(); + if (CollectionUtils.isNotEmpty(hospitalIds)) + { + + babyQuery.setDataStatus(true);//排除自动建档数据 + babyQuery.setYn(YnEnums.YES.getId()); + babyQuery.setHospitalIdList(hospitalIds); + Date currentDate1 = DateUtil.formatDate(new Date()); + Date start1 = DateUtil.addMonth(currentDate1, 0); + babyQuery.setBirthEnd(start1); + babyQuery.setBuildDateEnd(endDate); + babyQuery.setCompleteCheck(2); + babyQuery.setPage(page); + babyQuery.setLimit(limit); + babyQuery.setNeed("Need"); + babyQuery.setOrder("birth"); + if (type == 1) + { //0-3岁儿童系统管理人数 + Date end1 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -36 - 1), 1); + babyQuery.setBirthStart(end1); + } + else + { //0-6岁儿童系统管理人数 + Date end1 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -72 - 1), 1); + babyQuery.setBirthStart(end1); + } + List datas = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + if (CollectionUtils.isNotEmpty(datas)) + { + for (BabyModel model : datas) + { + Map result = new HashMap(); + result.put("babyName",model.getName()); + result.put("babySex",SexEnum.getTextById(model.getSex())); + result.put("babyWeight",model.getBabyWeight()); + result.put("babyHeight",model.getBabyHeight()); + result.put("buildDate",DateUtil.getyyyy_MM_dd(model.getBuildDate())); + result.put("mommyName",model.getMname()); + result.put("mommyPhone",model.getMphone()); + result.put("mommyCertNo",model.getMcertNo()); + String buildHospital = organizationService.getOrganization(Integer.parseInt(model.getHospitalId())).getName(); + result.put("buildHospital",buildHospital); + result.put("babyId",model.getId()); + results.add(result); + } + } + } + return new BaseListResponse().setErrorcode(0).setErrormsg("成功") + .setData(results).setPageInfo(babyQuery.getPageInfo()); + } } -- 1.8.3.1