diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ApplyScreeningController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ApplyScreeningController.java index 0a200fc..12ae8b2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ApplyScreeningController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ApplyScreeningController.java @@ -7,6 +7,7 @@ import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.facade.ApplyScreeningFacade; +import com.lyms.platform.operate.web.request.ApplyQueryRequest; import com.lyms.platform.operate.web.request.ApplyScreeningQueryRequest; import com.lyms.platform.operate.web.request.ReferralApplyScreeningAddRequest; import com.lyms.platform.operate.web.request.ScreeningReferralReceiptRequest; @@ -54,6 +55,18 @@ public class ApplyScreeningController extends BaseController { return applyScreeningFacade.queryApplyScreening(screeningQueryRequest, loginState.getId()); } + /** + * 统计查询 + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/applyStatistics") + @ResponseBody + //@TokenRequired + public BaseResponse queryStatistics(ApplyQueryRequest applyQueryRequest, HttpServletRequest request) { + // LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return applyScreeningFacade.queryStatistics(applyQueryRequest,2100013059); + } //查询--转诊单 @RequestMapping(method = RequestMethod.GET, value = "/referralapply") diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyScreeningFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyScreeningFacade.java index 78352e6..841bd49 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyScreeningFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyScreeningFacade.java @@ -509,6 +509,155 @@ public class ApplyScreeningFacade { } + public BaseListResponse queryStatistics(ApplyQueryRequest applyQueryRequest,Integer userId) { + + ReferralApplyScreeningQuery referralApplyScreeningQuery = new ReferralApplyScreeningQuery(); + referralApplyScreeningQuery.setPage(applyQueryRequest.getPage()); + referralApplyScreeningQuery.setLimit(applyQueryRequest.getLimit()); + referralApplyScreeningQuery.setType(3); + referralApplyScreeningQuery.setNeed("1"); + + if (StringUtils.isNotEmpty(applyQueryRequest.getTime())) { + String[] dates = applyQueryRequest.getTime().split(" - "); + referralApplyScreeningQuery.setTransferredStart(DateUtil.parseYMD(dates[0])); + if (dates.length == 2) { + referralApplyScreeningQuery.setTransferredEnd(DateUtil.parseYMDHMS(dates[1] + " 23:59:59")); + } + } + + String hospital = autoMatchFacade.getHospitalId(userId); + if (StringUtils.isNotEmpty(hospital)) { + referralApplyScreeningQuery.setHospitalId(hospital); + Organization og = organizationService.getOrganization(Integer.valueOf(hospital)); + if (null != og) { + referralApplyScreeningQuery.setHospitalName(og.getName()); + } + } + + + List screeningModels = + applyScreeningService.queryReferralApplyScreeningWithQuery(referralApplyScreeningQuery); + + List data = new ArrayList(); + if (CollectionUtils.isNotEmpty(screeningModels)) { + for (ReferralApplyScreeningModel screeningModel : screeningModels) { + ApplyScreeningOutResult screeningOutResult = new ApplyScreeningOutResult(); + String zhuanchu = screeningModel.getOutHospitalId(); + String zhuanru = screeningModel.getTransferredHospital(); + String zhuanCName = zhuanchu; + String zhuanRname = zhuanru; + if (NumberUtils.isNumber(zhuanchu)) { + try { + Organization zhuanc = organizationService.getOrganization(Integer.valueOf(zhuanchu)); + if (null != zhuanc) { + zhuanCName = zhuanc.getName(); + } + } catch (Exception e) { + } + } + if (NumberUtils.isNumber(zhuanru)) { + try { + Organization zhuanc1 = organizationService.getOrganization(Integer.valueOf(zhuanru)); + if (null != zhuanc1) { + zhuanRname = zhuanc1.getName(); + } + } catch (Exception e) { + } + } + + if (NumberUtils.isNumber(screeningModel.getApplyDoctor())) { + Users users = usersService.getUsers(NumberUtils.toInt(screeningModel.getApplyDoctor())); + if (null != users) { + screeningOutResult.setApplyDoctor(users.getName()); + } + } + if (NumberUtils.isNumber(screeningModel.getRecDoctor())) { + Users users = usersService.getUsers(NumberUtils.toInt(screeningModel.getRecDoctor())); + if (null != users) { + screeningOutResult.setRecDoctor(users.getName()); + } + } + + StringBuilder stringBuilder = new StringBuilder(); + if (CollectionUtils.isNotEmpty(screeningModel.getrRisk())) { + for (String str : screeningModel.getrRisk()) { + stringBuilder.append(str).append(", "); + } + if (stringBuilder.length() > 0) { + stringBuilder.setLength(stringBuilder.length() - 2); + } + } + + if (StringUtils.isNotEmpty(screeningModel.getOtherHighRisk())) { + if (stringBuilder.length() > 0 && StringUtils.isNotEmpty(screeningModel.getOtherHighRisk())) { + stringBuilder.append(","); + } + if (StringUtils.isNotEmpty(screeningModel.getOtherHighRisk())) { + stringBuilder.append(screeningModel.getOtherHighRisk()); + } + } + + screeningOutResult.convertToResult(screeningModel, zhuanCName, zhuanRname); + + /* 诊断指导 */ + String diagnosis = ""; + if (StringUtils.isNotEmpty(screeningModel.getDiagnosis())) { + List temp = JsonUtil.toList(screeningModel.getDiagnosis(), String.class); + if (CollectionUtils.isNotEmpty(temp)) { + StringBuilder sb = new StringBuilder(); + for (String sId : temp) { + sb.append(FunvCommonUtil.getBaseicConfigByid(sId, basicConfigService)).append(","); + } + if (sb.toString().endsWith(",")) { + diagnosis = sb.substring(0, sb.length() - 1); + } else { + diagnosis = sb.toString(); + } + } + } + screeningOutResult.setDiagnosis(diagnosis); + + screeningOutResult.setrRisk(stringBuilder.toString()); + screeningOutResult.setScore(screeningModel.getScore()); + screeningOutResult.setReason(StringUtils.isNotEmpty(screeningModel.getReason()) ? screeningModel.getReason() : "--"); + List rLevel = new ArrayList(); + if (CollectionUtils.isNotEmpty(screeningModel.getrLevel())) { + try { + List list = screeningModel.getrLevel(); + for (String str : list) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(str); + if (null != basicConfig) { + Map map = new HashMap(); + basicConfig.replenRisk(map); + rLevel.add(map); + } + } + } catch (Exception e) { + ExceptionUtils.catchException(e, "patients.getRiskLevelId error."); + } + screeningOutResult.setrLevel(HighScoreResult.filter(rLevel)); + } + screeningOutResult.setrLevel(rLevel); + Patients patients = patientsService.findOnePatientById(screeningModel.getParentId()); + if (patients != null) { + //筛查结果数据 + String screenStr = basicConfigService.getScreenResult(patients.getScreenResult()); + screeningOutResult.setScreenResult(screenStr); + if (null != patients) { + screeningOutResult.setIsGravida(patients.getType() == 3 ? "0" : "1"); + if (1 == patients.getDueStatus()) + screeningOutResult.setcDueWeek("终止妊娠"); + else if (patients.getType() == 3) + screeningOutResult.setcDueWeek("已分娩"); + } + } + data.add(screeningOutResult); + } + } + return new BaseListResponse().setData(data).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(referralApplyScreeningQuery.getPageInfo()); + } + + /** * 查询 转诊申请 * diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ApplyQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ApplyQueryRequest.java new file mode 100644 index 0000000..5cdac6f --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ApplyQueryRequest.java @@ -0,0 +1,21 @@ +package com.lyms.platform.operate.web.request; + +import com.lyms.platform.common.core.annotation.form.Form; +import com.lyms.platform.common.core.annotation.form.FormParam; + +/** + * 医联体--转出、转入产妇列表 查询请求 + */ +@Form +public class ApplyQueryRequest extends BasePageQueryRequest { + + private String time; + + public String getTime() { + return time; + } + + public void setTime(String time) { + this.time = time; + } +}