Commit a202182834535424ce2d40dfcac1ca9036561208
1 parent
327bb49a40
Exists in
master
and in
1 other branch
儿童查询
Showing 1 changed file with 99 additions and 34 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java
View file @
a202182
| ... | ... | @@ -31,11 +31,9 @@ |
| 31 | 31 | import javax.servlet.http.HttpServletResponse; |
| 32 | 32 | import java.io.IOException; |
| 33 | 33 | import java.io.OutputStream; |
| 34 | +import java.text.DecimalFormat; | |
| 34 | 35 | import java.util.*; |
| 35 | -import java.util.concurrent.Callable; | |
| 36 | -import java.util.concurrent.ExecutorService; | |
| 37 | -import java.util.concurrent.Executors; | |
| 38 | -import java.util.concurrent.Future; | |
| 36 | +import java.util.concurrent.*; | |
| 39 | 37 | |
| 40 | 38 | /** |
| 41 | 39 | * |
| ... | ... | @@ -109,7 +107,7 @@ |
| 109 | 107 | private AutoMatchFacade autoMatchFacade; |
| 110 | 108 | |
| 111 | 109 | |
| 112 | - private static ExecutorService pool = Executors.newFixedThreadPool(4); | |
| 110 | + private static ExecutorService pool = Executors.newFixedThreadPool(10); | |
| 113 | 111 | |
| 114 | 112 | |
| 115 | 113 | public BaseResponse getBabyBase(String babyId) { |
| ... | ... | @@ -530,7 +528,7 @@ |
| 530 | 528 | return; |
| 531 | 529 | } |
| 532 | 530 | |
| 533 | - ExceptionUtils.catchException("儿童建档1---------->"+babyModel.getMphone()+";name="+babyModel.getName()); | |
| 531 | + ExceptionUtils.catchException("儿童建档1---------->" + babyModel.getMphone() + ";name=" + babyModel.getName()); | |
| 534 | 532 | |
| 535 | 533 | SmsTemplateQuery query = new SmsTemplateQuery(); |
| 536 | 534 | query.setYn(YnEnums.YES.getId()); |
| 537 | 535 | |
| 538 | 536 | |
| 539 | 537 | |
| 540 | 538 | |
| 541 | 539 | |
| 542 | 540 | |
| ... | ... | @@ -1956,41 +1954,108 @@ |
| 1956 | 1954 | List<Map<String, Object>> datas = new ArrayList<>(); |
| 1957 | 1955 | BabyModelQuery babyQuery = new BabyModelQuery(); |
| 1958 | 1956 | babyQuery.setHospitalId(String.valueOf(hospitalId)); |
| 1959 | - List<BabyModel> models = getBabayListByCondition(request, false, babyQuery); | |
| 1960 | - if (CollectionUtils.isNotEmpty(models)) { | |
| 1961 | - for (BabyModel model : models) { | |
| 1962 | - Map<String, Object> data = new HashMap<>(); | |
| 1963 | - if (model.getLastHighRisk() == null || model.getLastHighRisk() == 0) { | |
| 1964 | - data.put("highRisk", "健康"); | |
| 1965 | - } else { | |
| 1966 | - data.put("highRisk", "高危"); | |
| 1957 | + List<BabyModel> ms = getBabayListByCondition(request, false, babyQuery); | |
| 1958 | + | |
| 1959 | + if (CollectionUtils.isNotEmpty(ms)) { | |
| 1960 | + | |
| 1961 | + int batchSize = 100; | |
| 1962 | + int end = 0; | |
| 1963 | + List<Future> futures = new ArrayList<>(); | |
| 1964 | + for (int i = 0; i < ms.size(); i += batchSize) { | |
| 1965 | + end = (end + batchSize); | |
| 1966 | + if (end > ms.size()) { | |
| 1967 | + end = ms.size(); | |
| 1967 | 1968 | } |
| 1968 | - data.put("sex", StringUtils.emptyDeal(SexEnum.getTextById(model.getSex()))); | |
| 1969 | - data.put("babyName", StringUtils.emptyDeal(model.getName())); | |
| 1970 | - data.put("birthday", StringUtils.emptyDeal(DateUtil.getyyyy_MM_dd(model.getBirth()))); | |
| 1971 | - data.put("mommyName", StringUtils.emptyDeal(model.getMname())); | |
| 1972 | - data.put("mommnyPhone", StringUtils.emptyDeal(model.getMphone())); | |
| 1973 | - data.put("serviceType", StringUtils.emptyDeal(model.getServiceType() == null ? "" : ServiceTypeEnums.getTitleById(model.getServiceType()))); | |
| 1974 | - data.put("serviceStatus", StringUtils.emptyDeal(model.getServiceStatus() == null ? "" : ServiceStatusEnums.getNameById(model.getServiceStatus()))); | |
| 1975 | - data.put("nextDate", StringUtils.emptyDeal(DateUtil.getyyyy_MM_dd(model.getNextDate()))); | |
| 1976 | - data.put("monthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(model.getBirth(), new Date()))); | |
| 1977 | 1969 | |
| 1978 | - String diagnose = ""; | |
| 1979 | - if (StringUtils.isNotEmpty(model.getPid())) { | |
| 1980 | - List diagList = babyCheckFacade.getBabyLastDiagnose(model.getPid()); | |
| 1981 | - if (CollectionUtils.isNotEmpty(diagList)) { | |
| 1982 | - for (Object obj : diagList) { | |
| 1983 | - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById((String) obj); | |
| 1984 | - if (basicConfig != null) { | |
| 1985 | - diagnose += basicConfig.getName() + " "; | |
| 1970 | + final List<BabyModel> models = ms.subList(i, end); | |
| 1971 | + Callable c = new Callable() | |
| 1972 | + { | |
| 1973 | + @Override | |
| 1974 | + public List<Map<String, Object>> call() throws Exception { | |
| 1975 | + List<Map<String, Object>> results = new ArrayList<>(); | |
| 1976 | + if (CollectionUtils.isNotEmpty(models)) { | |
| 1977 | + for (BabyModel model : models) { | |
| 1978 | + Map<String, Object> data = new HashMap<>(); | |
| 1979 | + if (model.getLastHighRisk() == null || model.getLastHighRisk() == 0) { | |
| 1980 | + data.put("highRisk", "健康"); | |
| 1981 | + } else { | |
| 1982 | + data.put("highRisk", "高危"); | |
| 1983 | + } | |
| 1984 | + data.put("sex", StringUtils.emptyDeal(SexEnum.getTextById(model.getSex()))); | |
| 1985 | + data.put("babyName", StringUtils.emptyDeal(model.getName())); | |
| 1986 | + data.put("birthday", StringUtils.emptyDeal(DateUtil.getyyyy_MM_dd(model.getBirth()))); | |
| 1987 | + data.put("mommyName", StringUtils.emptyDeal(model.getMname())); | |
| 1988 | + data.put("mommnyPhone", StringUtils.emptyDeal(model.getMphone())); | |
| 1989 | + data.put("serviceType", StringUtils.emptyDeal(model.getServiceType() == null ? "" : ServiceTypeEnums.getTitleById(model.getServiceType()))); | |
| 1990 | + data.put("serviceStatus", StringUtils.emptyDeal(model.getServiceStatus() == null ? "" : ServiceStatusEnums.getNameById(model.getServiceStatus()))); | |
| 1991 | + data.put("nextDate", StringUtils.emptyDeal(DateUtil.getyyyy_MM_dd(model.getNextDate()))); | |
| 1992 | + data.put("monthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(model.getBirth(), new Date()))); | |
| 1993 | + | |
| 1994 | + String diagnose = ""; | |
| 1995 | + if (StringUtils.isNotEmpty(model.getPid())) { | |
| 1996 | + List diagList = babyCheckFacade.getBabyLastDiagnose(model.getPid()); | |
| 1997 | + if (CollectionUtils.isNotEmpty(diagList)) { | |
| 1998 | + for (Object obj : diagList) { | |
| 1999 | + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById((String) obj); | |
| 2000 | + if (basicConfig != null) { | |
| 2001 | + diagnose += basicConfig.getName() + " "; | |
| 2002 | + } | |
| 2003 | + } | |
| 2004 | + } | |
| 2005 | + } | |
| 2006 | + data.put("diagnose", diagnose); | |
| 2007 | + results.add(data); | |
| 1986 | 2008 | } |
| 1987 | 2009 | } |
| 2010 | + return results; | |
| 1988 | 2011 | } |
| 2012 | + }; | |
| 2013 | + | |
| 2014 | + Future f = pool.submit(c); | |
| 2015 | + futures.add(f); | |
| 2016 | + } | |
| 2017 | + for (Future f : futures) { | |
| 2018 | + try { | |
| 2019 | + datas.addAll((List) f.get(30, TimeUnit.SECONDS)); | |
| 2020 | + } catch (Exception e) { | |
| 2021 | + ExceptionUtils.catchException(e, "baby list export."); | |
| 1989 | 2022 | } |
| 1990 | - data.put("diagnose", diagnose); | |
| 1991 | - datas.add(data); | |
| 1992 | 2023 | } |
| 1993 | 2024 | } |
| 2025 | +// if (CollectionUtils.isNotEmpty(models)) { | |
| 2026 | +// for (BabyModel model : models) { | |
| 2027 | +// Map<String, Object> data = new HashMap<>(); | |
| 2028 | +// if (model.getLastHighRisk() == null || model.getLastHighRisk() == 0) { | |
| 2029 | +// data.put("highRisk", "健康"); | |
| 2030 | +// } else { | |
| 2031 | +// data.put("highRisk", "高危"); | |
| 2032 | +// } | |
| 2033 | +// data.put("sex", StringUtils.emptyDeal(SexEnum.getTextById(model.getSex()))); | |
| 2034 | +// data.put("babyName", StringUtils.emptyDeal(model.getName())); | |
| 2035 | +// data.put("birthday", StringUtils.emptyDeal(DateUtil.getyyyy_MM_dd(model.getBirth()))); | |
| 2036 | +// data.put("mommyName", StringUtils.emptyDeal(model.getMname())); | |
| 2037 | +// data.put("mommnyPhone", StringUtils.emptyDeal(model.getMphone())); | |
| 2038 | +// data.put("serviceType", StringUtils.emptyDeal(model.getServiceType() == null ? "" : ServiceTypeEnums.getTitleById(model.getServiceType()))); | |
| 2039 | +// data.put("serviceStatus", StringUtils.emptyDeal(model.getServiceStatus() == null ? "" : ServiceStatusEnums.getNameById(model.getServiceStatus()))); | |
| 2040 | +// data.put("nextDate", StringUtils.emptyDeal(DateUtil.getyyyy_MM_dd(model.getNextDate()))); | |
| 2041 | +// data.put("monthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(model.getBirth(), new Date()))); | |
| 2042 | +// | |
| 2043 | +// String diagnose = ""; | |
| 2044 | +// if (StringUtils.isNotEmpty(model.getPid())) { | |
| 2045 | +// List diagList = babyCheckFacade.getBabyLastDiagnose(model.getPid()); | |
| 2046 | +// if (CollectionUtils.isNotEmpty(diagList)) { | |
| 2047 | +// for (Object obj : diagList) { | |
| 2048 | +// BasicConfig basicConfig = basicConfigService.getOneBasicConfigById((String) obj); | |
| 2049 | +// if (basicConfig != null) { | |
| 2050 | +// diagnose += basicConfig.getName() + " "; | |
| 2051 | +// } | |
| 2052 | +// } | |
| 2053 | +// } | |
| 2054 | +// } | |
| 2055 | +// data.put("diagnose", diagnose); | |
| 2056 | +// datas.add(data); | |
| 2057 | +// } | |
| 2058 | +// } | |
| 1994 | 2059 | OutputStream out = httpServletResponse.getOutputStream(); |
| 1995 | 2060 | Map<String, String> cnames = new LinkedHashMap<>(); |
| 1996 | 2061 | cnames.put("sex", "性别"); |