Commit a202182834535424ce2d40dfcac1ca9036561208

Authored by liquanyu
1 parent 327bb49a40

儿童查询

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", "性别");