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 2853660..695bf60 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 @@ -358,16 +358,20 @@ public class TestController { /** * 计算产检是不是对应孕周断中的第一次 - * @param hospitalId + * @param pid * @return */ @RequestMapping(value = "/updateCheckRecord", method = RequestMethod.GET) @ResponseBody - public String updateCheckRecord(@RequestParam(required = false) String hospitalId) + public String updateCheckRecord(@RequestParam(required = false) String pid) { PersonModelQuery personModelQuery = new PersonModelQuery(); personModelQuery.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(pid)) + { + personModelQuery.setId(pid); + } List personModels = personService.queryPersons(personModelQuery); if (CollectionUtils.isNotEmpty(personModels)) @@ -377,92 +381,110 @@ public class TestController { { end += batchSize; end = end > personModels.size() ? personModels.size() : end; - final List models = personModels.subList(i,batchSize); + final List models = personModels.subList(i,end); commonThreadPool.execute(new Runnable() { @Override public void run() { - for(PersonModel model : models) + for(PersonModel person : models) { - PatientsQuery patientsQuery1 = new PatientsQuery(); - patientsQuery1.setYn(YnEnums.YES.getId()); - patientsQuery1.setPid(model.getId()); - List pats = patientsService.queryPatient(patientsQuery1); - - int batchSize = 1000; - int end = 0; - for (int i = 0; i < pats.size(); i += batchSize) { - end = (end + batchSize); - if (end > pats.size()) { - end = pats.size(); + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setPid(person.getId()); + List pats = patientsService.queryPatient1(patientsQuery,"created"); + + Map> temps = new HashMap>(); + + if (CollectionUtils.isNotEmpty(pats)) + { + for(Patients pat : pats) + { + if (pat.getLastMenses() != null) + { + Object obj = temps.get(DateUtil.getyyyy_MM_dd(pat.getLastMenses())); + if (obj != null) + { + List cc = (List)obj; + cc.add(pat); + temps.put(DateUtil.getyyyy_MM_dd(pat.getLastMenses()),cc); + } + else + { + List cc = new ArrayList(); + cc.add(pat); + temps.put(DateUtil.getyyyy_MM_dd(pat.getLastMenses()),cc); + } + } } - System.out.println("start:" + i + ",end:" + end); - final List tempList = pats.subList(i, end); - - commonThreadPool.execute(new Runnable() { - @Override - public void run() { - if (CollectionUtils.isNotEmpty(tempList)) { - AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); - for (Patients pat : tempList) { - antExRecordQuery.setParentId(pat.getId()); - if (StringUtils.isNotEmpty(pat.getId())) - { + } - for (int i = 0 ; i < 5 ; i++) - { - if (i == 0) - { - antExRecordQuery.setcDueWeekStart(0); - antExRecordQuery.setcDueWeekEnd((12 + 1) * 7 - 1); - } - else if (i == 1) - { - antExRecordQuery.setcDueWeekStart(16*7); - antExRecordQuery.setcDueWeekEnd((20 + 1) * 7 - 1); - } - else if (i == 2) - { - antExRecordQuery.setcDueWeekStart(21*7); - antExRecordQuery.setcDueWeekEnd((24 + 1) * 7 - 1); - } - else if (i == 3) - { - antExRecordQuery.setcDueWeekStart(28*7); - antExRecordQuery.setcDueWeekEnd((36 + 1) * 7 - 1); - } - else if (i == 4) - { - antExRecordQuery.setcDueWeekStart(37*7); - antExRecordQuery.setcDueWeekEnd((40 + 1) * 7 - 1); - } + if (!temps.isEmpty()) + { + for(String key : temps.keySet()) + { + List ids = new ArrayList(); + List patientses = temps.get(key); + if (CollectionUtils.isNotEmpty(patientses)) + { + for(Patients patients : patientses) + { + ids.add(patients.getId()); + } + } - List list = recordService.queryAntExRecords(antExRecordQuery); - if (CollectionUtils.isNotEmpty(list)) - { - for (int j = 0 ; j < list.size() ; j++) - { - AntExRecordModel m = list.get(j); - if (j == (list.size() - 1)) - { - m.setIsFirst(1); - } - else - { - m.setIsFirst(2); - } - recordService.updateOne(m,m.getId()); - } + if (CollectionUtils.isNotEmpty(ids)) + { + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); + antExRecordQuery.setParentIds(ids); + for (int i = 0 ; i < 5 ; i++) + { + if (i == 0) + { + antExRecordQuery.setcDueWeekStart(0); + antExRecordQuery.setcDueWeekEnd((12 + 1) * 7 - 1); + } + else if (i == 1) + { + antExRecordQuery.setcDueWeekStart(16*7); + antExRecordQuery.setcDueWeekEnd((20 + 1) * 7 - 1); + } + else if (i == 2) + { + antExRecordQuery.setcDueWeekStart(21*7); + antExRecordQuery.setcDueWeekEnd((24 + 1) * 7 - 1); + } + else if (i == 3) + { + antExRecordQuery.setcDueWeekStart(28*7); + antExRecordQuery.setcDueWeekEnd((36 + 1) * 7 - 1); + } + else if (i == 4) + { + antExRecordQuery.setcDueWeekStart(37*7); + antExRecordQuery.setcDueWeekEnd((40 + 1) * 7 - 1); + } - } + List list = recordService.queryAntExRecords(antExRecordQuery); + if (CollectionUtils.isNotEmpty(list)) + { + for (int j = 0 ; j < list.size() ; j++) + { + AntExRecordModel m = list.get(j); + if (j == (list.size() - 1)) + { + m.setIsFirst(1); + } + else + { + m.setIsFirst(2); } + recordService.updateOne(m,m.getId()); } } } } - }); + } } - } } }); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java index ec7a015..84d8e37 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java @@ -518,7 +518,7 @@ public class AreaCountFacade { cnames.put("name", "姓名"); //姓名 cnames.put("buildWeek", "建档孕周"); //建档孕周 cnames.put("hospitalName", "建档机构"); //建档机构 - cnames.put("doctor","建档医生"); //建档医生 + cnames.put("doctor", "建档医生"); //建档医生 cnames.put("homeAddr","居住地"); //居住地 cnames.put("hjAddr","户籍地"); //户籍地 cnames.put("telNo","联系电话"); //联系电话 @@ -640,6 +640,8 @@ public class AreaCountFacade { AntExRecordQuery query = new AntExRecordQuery(); query.setPid(model.getPid()); + query.setLastMensesStart(model.getLastMenses()); + query.setLastMensesEnd(model.getLastMenses()); String times = ""; List antExRecordModels = recordService.queryAntExRecords(query,Sort.Direction.ASC,"checkTime"); @@ -739,12 +741,15 @@ public class AreaCountFacade { return new BaseListResponse().setData(results).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION).setPageInfo(antExRecordQuery.getPageInfo()); } + } + + // public void getCheckDetailExport(Integer pointType, String time, String hospitalId, // String provinceId, String cityId, String areaId, // Integer userId, HttpServletResponse httpServletResponse,Integer nodeName) {