From c682c7161662b85baabc38915e36682f7bf1317e Mon Sep 17 00:00:00 2001 From: liquanyu Date: Wed, 30 Aug 2017 18:03:17 +0800 Subject: [PATCH] update code --- .../permission/service/impl/LisServiceImpl.java | 10 +++- .../operate/web/facade/BabyCheckFacade.java | 57 +++++++++++++++++++++- .../operate/web/result/BabyChooseResult.java | 18 +++++++ 3 files changed, 83 insertions(+), 2 deletions(-) diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java index 23e9bb2..0d8e8b4 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java @@ -13,6 +13,8 @@ import com.lyms.platform.pojo.BasicConfig; import org.apache.commons.collections.CollectionUtils; import org.codehaus.jackson.type.TypeReference; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -25,6 +27,11 @@ import java.util.concurrent.Future; public class LisServiceImpl implements LisService { @Autowired + @Qualifier("commonThreadPool") + private ThreadPoolTaskExecutor commonThreadPool; + + + @Autowired private MasterLisMapper masterLisMapper; @Override @@ -45,7 +52,8 @@ public class LisServiceImpl implements LisService { end = lisList.size(); } List models = lisList.subList(i, end); - new Thread(new LisSaveTask(countDownLatch,masterLisMapper,models)).start(); +// new Thread(new LisSaveTask(countDownLatch,masterLisMapper,models)).start(); + commonThreadPool.execute(new LisSaveTask(countDownLatch,masterLisMapper,models)); } countDownLatch.await(); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java index 0b537a5..98d4fc5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java @@ -858,6 +858,8 @@ public class BabyCheckFacade { List hList = groupsFacade.findGroupHospital(userId, false); babyQuery.setHospitalIdList(hList); + Map> listMap = new HashMap<>(); + List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); if (CollectionUtils.isEmpty(models) && StringUtils.isNotEmpty(vcCardNo)) @@ -879,6 +881,9 @@ public class BabyCheckFacade { if (CollectionUtils.isNotEmpty(models)) { + + + for (BabyModel model : models) { if (model != null && model.getHospitalId() != null && hList.contains(hospitalId)) { isBuild = true; @@ -890,11 +895,61 @@ public class BabyCheckFacade { result.setGender(SexEnum.getTextById(model.getSex())); result.setName(model.getName()); result.setBirth(DateUtil.getyyyy_MM_dd(model.getBirth())); - results.add(result); + result.setHospitalId(model.getHospitalId()); + String hospital = ""; + 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()) { + hospital = organization.getName(); + } + } + result.setHospitalName(hospital); + + List list = new ArrayList<>(); + if (listMap.get(model.getPid()) != null) + { + list = listMap.get(model.getPid()); + list.add(result); + } + else + { + list.add(result); + } + listMap.put(model.getPid(),list); + +// results.add(result); } } + + if (listMap != null) + { + for (String pid : listMap.keySet()) + { + List currentBuildRecord = new ArrayList<>(); + + List list = listMap.get(pid); + for(BabyChooseResult baby : list) + { + if (StringUtils.isNotEmpty(hospitalId) && hospitalId.equals(baby.getHospitalId())) + { + currentBuildRecord.add(baby); + break; + } + } + if (CollectionUtils.isNotEmpty(currentBuildRecord)) + { + results.addAll(currentBuildRecord); + } + else + { + results.addAll(list); + } + } + + } } + map.put("isBuild", isBuild); map.put("boies", results); br.setData(map); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyChooseResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyChooseResult.java index 7f1c9ba..cee5d48 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyChooseResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyChooseResult.java @@ -10,6 +10,24 @@ public class BabyChooseResult { private String gender; private String monthAge; private String pid; + private String hospitalId; + private String hospitalName; + + public String getHospitalName() { + return hospitalName; + } + + public void setHospitalName(String hospitalName) { + this.hospitalName = hospitalName; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } public String getPid() { return pid; -- 1.8.3.1