From 83feb4f2504912dba0677679dc74ed992d7a3949 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Sat, 6 May 2017 16:48:24 +0800 Subject: [PATCH] update --- .../com/lyms/platform/query/PatientsQuery.java | 4 +- .../operate/web/controller/LisController.java | 28 ++++++++++- .../platform/operate/web/facade/LisFacade.java | 55 ++++++++++++++++++++++ 3 files changed, 83 insertions(+), 4 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java index 78a610f..5263e21 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java @@ -1063,11 +1063,11 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { } if (null != pv) { - if (null != pv[0]) { + if (StringUtils.isNotEmpty(pv[0])) { condition = condition.and("phone", pv[0], MongoOper.IS); } - if (null != pv[1]) { + if (StringUtils.isNotEmpty(pv[1])) { condition = condition.and("vcCardNo", pv[1], MongoOper.IS); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java index c618885..d204a1f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java @@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * Created by lqy on 2017-04-11. @@ -113,7 +114,7 @@ public class LisController extends BaseController { @RequestParam(required = false) String phone, HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return lisFacade.getLisAndRisData(vcCardNo,phone, sortType, loginState.getId()); + return lisFacade.getLisAndRisData(vcCardNo, phone, sortType, loginState.getId()); } @@ -126,7 +127,7 @@ public class LisController extends BaseController { */ @RequestMapping(method = RequestMethod.GET, value = "/getAppLis") @ResponseBody - public List getLisAndRisData(@RequestParam("patientIds") String patientIds, + public List getAppLisList(@RequestParam("patientIds") String patientIds, @RequestParam("page") Integer page, @RequestParam("limit") Integer limit, @RequestParam(required = false) Integer status, @@ -143,6 +144,29 @@ public class LisController extends BaseController { /** + * 获取增量的未推送的lis数据 + * @param page + * @param limit + * @param token + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/getNoSendLis") + @ResponseBody + public List> getNoSendLis(@RequestParam("page") Integer page, + @RequestParam("limit") Integer limit, + @RequestHeader("Authorization") String token) { + + if (!"3d19960bf3e81e7d816c4f26051c49ba".equals(token)) + { + ExceptionUtils.catchException("The request token is " + token); + return new ArrayList<>(); + } + + return lisFacade.getNoSendLis(page, limit); + } + + + /** * 查询每一个检验明细包括检验项的内容 * @param id * @param token diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java index 46943e7..c7fe73b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java @@ -570,4 +570,59 @@ public class LisFacade { } return hospitalNames; } + + public List> getNoSendLis(Integer page, Integer limit) { + + LisReportQuery query = new LisReportQuery(); + query.setPage(page); + query.setLimit(limit); + query.setNeed("true"); + query.setSort(" PUBLISH_TIME DESC "); + query.setStatus(0); //未推送状态 + + Set patientIds = new HashSet<>(); + List> lists = new ArrayList<>(); + + List lises = lisService.queryLisDataByQuery(query); + if (CollectionUtils.isNotEmpty(lises)) + { + for(LisReportModel lisReportModel : lises) + { + Map map = new HashMap<>(); + if (StringUtils.isNotEmpty(lisReportModel.getHospitalId())) + { + Organization organization = organizationService.getOrganization(Integer.parseInt(lisReportModel.getHospitalId())); + if (organization != null) + { + map.put("hospitalName",organization.getName()); + } + } + + PatientsQuery patientsQuery=new PatientsQuery(); + String[] strs = new String[]{lisReportModel.getPhone(), lisReportModel.getVcCardNo()}; + patientsQuery.setPv(strs); + patientsQuery.setYn(YnEnums.YES.getId()); + List list= patientsService.queryPatient(patientsQuery); + if (CollectionUtils.isNotEmpty(list)) + { + Patients pat = list.get(0); + String patientId = pat.getId(); + if (!patientIds.contains(patientId)) + { + patientIds.add(patientId); + map.put("vcCardNo",pat.getVcCardNo()); + map.put("name",pat.getUsername()); + map.put("phone",pat.getPhone()); + map.put("checkTime",DateUtil.getyyyy_MM_dd_hms(lisReportModel.getPublishTime())); + map.put("patientId",patientId); + map.put("hospitalId",lisReportModel.getHospitalId()); + lists.add(map); + } + } + } + } + patientIds.clear(); + + return lists; + } } \ No newline at end of file -- 1.8.3.1