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 ce405d4..8cae666 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 @@ -33,6 +33,8 @@ import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletResponse; import java.util.*; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; @@ -465,12 +467,14 @@ public class AreaCountFacade { //居住地 String liveAddress = CommonsHelper.getResidence(pat.getProvinceId(), pat.getCityId(), pat.getAreaId(), pat.getStreetId(), pat.getAddress(), basicConfigService); - map.put("HOME_ADDR", liveAddress); + map.put("HJ_ADDR", liveAddress); + //户籍地址 String addressRegister = CommonsHelper.getResidence(pat.getProvinceRegisterId(), pat.getCityRegisterId(), pat.getAreaRegisterId(), pat.getStreetRegisterId(), pat.getAddressRegister(), basicConfigService); - map.put("HJ_ADDR", addressRegister); + map.put("HOME_ADDR", addressRegister); + map.put("NAME", pat.getUsername()); map.put("TEL_NO", pat.getPhone()); @@ -609,96 +613,128 @@ public class AreaCountFacade { antExRecordQuery.setcDueWeekEnd((40 + 1) * 7 - 1); } - - List list = recordService.queryAntExRecords(antExRecordQuery); - + final List list = recordService.queryAntExRecords(antExRecordQuery); + List futures = new ArrayList<>(); List results = new ArrayList<>(); if (CollectionUtils.isNotEmpty(list)) { - for(AntExRecordModel model : list) + int batchSize = 2; + for(int i = 0,end = 0 ; i < list.size() ; i+=batchSize) { - Map map = new HashMap<>(); - map.put("EXAMINE_DATE", DateUtil.getyyyy_MM_dd(model.getCheckTime())); //产检日期 - map.put("NAME", model.getName()); //姓名 - map.put("YZ_NAME", StringUtils.dueWeek(model.getcDay())); //产检孕周 - - AntExRecordQuery query = new AntExRecordQuery(); - query.setParentId(model.getParentId()); - - String times = ""; - List antExRecordModels = recordService.queryAntExRecords(antExRecordQuery,Sort.Direction.ASC,"checkTime"); - if (CollectionUtils.isNotEmpty(antExRecordModels)) - { - for (int j = 0 ; j < list.size() ; j++) - { - AntExRecordModel antExRecordModel = list.get(j); - - if (model.getId().equals(antExRecordModel.getId())) + end +=batchSize; + end = end > list.size() ? list.size() : end; + + final List tempList = list.subList(i,end); + Callable callable = new Callable>() { + @Override + public List call() throws Exception { + List results = new ArrayList<>(); + for(AntExRecordModel model : tempList) { - times = String.valueOf(j+1); - break; + Map map = new HashMap<>(); + map.put("EXAMINE_DATE", DateUtil.getyyyy_MM_dd(model.getCheckTime())); //产检日期 + map.put("NAME", model.getName()); //姓名 + map.put("YZ_NAME", StringUtils.dueWeek(model.getcDay())); //产检孕周 + + AntExRecordQuery query = new AntExRecordQuery(); + query.setParentId(model.getParentId()); + + String times = ""; + List antExRecordModels = recordService.queryAntExRecords(query,Sort.Direction.ASC,"checkTime"); + if (CollectionUtils.isNotEmpty(antExRecordModels)) + { + for (int j = 0 ; j < list.size() ; j++) + { + AntExRecordModel antExRecordModel = list.get(j); + + if (model.getId().equals(antExRecordModel.getId())) + { + times = String.valueOf(j+1); + break; + } + } + } + + map.put("EXAMINE_HISTORY_NUM",times); //产检第次 + + + String chospital = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(model.getHospitalId())) { + Organization organization = organizationService.getOrganization(Integer.parseInt(model.getHospitalId())); + if (organization != null && organization.getYn() == YnEnums.YES.getId()) { + chospital = organization.getName(); + } + } + + map.put("EXAMINE_HOSPITAL",chospital); //产检机构 + + + //建档医生 + String bookbuildingDoctor = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(model.getBuildDoctor()) && FunvCommonUtil.isNumeric(model.getBuildDoctor())) { + Users users = usersService.getUsers(Integer.parseInt(model.getBuildDoctor())); + if (users != null && users.getYn() == YnEnums.YES.getId()) { + bookbuildingDoctor = users.getName(); + } + } + + map.put("DOCTOR_NAME",bookbuildingDoctor); //建档医生 + + + + String checkDoctor = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(model.getCheckDoctor()) && FunvCommonUtil.isNumeric(model.getCheckDoctor())) { + Users users = usersService.getUsers(Integer.parseInt(model.getCheckDoctor())); + if (users != null && users.getYn() == YnEnums.YES.getId()) { + checkDoctor = users.getName(); + } + } + + map.put("DOCTOR_NAME", checkDoctor); //产检医生 + + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setId(model.getParentId()); + List patientsList = patientsService.queryPatient(patientsQuery); + + + String buildHosp = ""; + if (CollectionUtils.isNotEmpty(patientsList)) + { + if (org.apache.commons.lang.StringUtils.isNotEmpty(patientsList.get(0).getHospitalId())) { + Organization organization = organizationService.getOrganization(Integer.parseInt(patientsList.get(0).getHospitalId())); + if (organization != null && organization.getYn() == YnEnums.YES.getId()) { + buildHosp = organization.getName(); + } + } + } + map.put("JD_HOSPITAL",buildHosp); //建档机构 + map.put("TEL_NO", model.getPhone()); //联系电话 + results.add(map); } - } - } - - map.put("EXAMINE_HISTORY_NUM",times); //产检第次 - - - String chospital = ""; - if (org.apache.commons.lang.StringUtils.isNotEmpty(model.getHospitalId())) { - Organization organization = organizationService.getOrganization(Integer.parseInt(model.getHospitalId())); - if (organization != null && organization.getYn() == YnEnums.YES.getId()) { - chospital = organization.getName(); - } - } - - map.put("EXAMINE_HOSPITAL",chospital); //产检机构 - - - //建档医生 - String bookbuildingDoctor = ""; - if (org.apache.commons.lang.StringUtils.isNotEmpty(model.getBuildDoctor()) && FunvCommonUtil.isNumeric(model.getBuildDoctor())) { - Users users = usersService.getUsers(Integer.parseInt(model.getBuildDoctor())); - if (users != null && users.getYn() == YnEnums.YES.getId()) { - bookbuildingDoctor = users.getName(); - } - } - - map.put("DOCTOR_NAME",bookbuildingDoctor); //建档医生 - - - String checkDoctor = ""; - if (org.apache.commons.lang.StringUtils.isNotEmpty(model.getCheckDoctor()) && FunvCommonUtil.isNumeric(model.getCheckDoctor())) { - Users users = usersService.getUsers(Integer.parseInt(model.getCheckDoctor())); - if (users != null && users.getYn() == YnEnums.YES.getId()) { - checkDoctor = users.getName(); + return results; } - } - - map.put("DOCTOR_NAME", checkDoctor); //产检医生 - - PatientsQuery patientsQuery = new PatientsQuery(); - patientsQuery.setYn(YnEnums.YES.getId()); - patientsQuery.setId(model.getParentId()); - List patientsList = patientsService.queryPatient(patientsQuery); + }; + futures.add(commonThreadPool.submit(callable)); + } + } - String buildHosp = ""; - if (CollectionUtils.isNotEmpty(patientsList)) - { - if (org.apache.commons.lang.StringUtils.isNotEmpty(patientsList.get(0).getHospitalId())) { - Organization organization = organizationService.getOrganization(Integer.parseInt(patientsList.get(0).getHospitalId())); - if (organization != null && organization.getYn() == YnEnums.YES.getId()) { - buildHosp = organization.getName(); - } - } + if (CollectionUtils.isNotEmpty(futures)) + { + for (Future f : futures) + { + try { + results.addAll((List) f.get()); + } catch (InterruptedException e) { + e.printStackTrace(); + } catch (ExecutionException e) { + e.printStackTrace(); } - map.put("JD_HOSPITAL",buildHosp); //建档机构 - map.put("TEL_NO", model.getPhone()); //联系电话 - results.add(map); } } + return new BaseListResponse().setData(results).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION).setPageInfo(antExRecordQuery.getPageInfo()); } }