Commit a202182834535424ce2d40dfcac1ca9036561208
1 parent
327bb49a40
Exists in
master
and in
8 other branches
儿童查询
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", "性别"); |