Commit f36491d1fd69e2d5766fc8e57b4d6263d5ddee32

Authored by liquanyu
1 parent 9a59a5380d
Exists in dev

fix:优化儿童、产妇转诊相关逻辑,新增转诊统计功能

Showing 3 changed files with 183 additions and 0 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ApplyScreeningController.java View file @ f36491d
... ... @@ -7,6 +7,7 @@
7 7 import com.lyms.platform.common.result.BaseResponse;
8 8 import com.lyms.platform.common.utils.StringUtils;
9 9 import com.lyms.platform.operate.web.facade.ApplyScreeningFacade;
  10 +import com.lyms.platform.operate.web.request.ApplyQueryRequest;
10 11 import com.lyms.platform.operate.web.request.ApplyScreeningQueryRequest;
11 12 import com.lyms.platform.operate.web.request.ReferralApplyScreeningAddRequest;
12 13 import com.lyms.platform.operate.web.request.ScreeningReferralReceiptRequest;
... ... @@ -54,6 +55,18 @@
54 55 return applyScreeningFacade.queryApplyScreening(screeningQueryRequest, loginState.getId());
55 56 }
56 57  
  58 + /**
  59 + * 统计查询
  60 + * @param request
  61 + * @return
  62 + */
  63 + @RequestMapping(method = RequestMethod.GET, value = "/applyStatistics")
  64 + @ResponseBody
  65 + //@TokenRequired
  66 + public BaseResponse queryStatistics(ApplyQueryRequest applyQueryRequest, HttpServletRequest request) {
  67 + // LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
  68 + return applyScreeningFacade.queryStatistics(applyQueryRequest,2100013059);
  69 + }
57 70  
58 71 //查询--转诊单
59 72 @RequestMapping(method = RequestMethod.GET, value = "/referralapply")
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyScreeningFacade.java View file @ f36491d
... ... @@ -509,6 +509,155 @@
509 509 }
510 510  
511 511  
  512 + public BaseListResponse queryStatistics(ApplyQueryRequest applyQueryRequest,Integer userId) {
  513 +
  514 + ReferralApplyScreeningQuery referralApplyScreeningQuery = new ReferralApplyScreeningQuery();
  515 + referralApplyScreeningQuery.setPage(applyQueryRequest.getPage());
  516 + referralApplyScreeningQuery.setLimit(applyQueryRequest.getLimit());
  517 + referralApplyScreeningQuery.setType(3);
  518 + referralApplyScreeningQuery.setNeed("1");
  519 +
  520 + if (StringUtils.isNotEmpty(applyQueryRequest.getTime())) {
  521 + String[] dates = applyQueryRequest.getTime().split(" - ");
  522 + referralApplyScreeningQuery.setTransferredStart(DateUtil.parseYMD(dates[0]));
  523 + if (dates.length == 2) {
  524 + referralApplyScreeningQuery.setTransferredEnd(DateUtil.parseYMDHMS(dates[1] + " 23:59:59"));
  525 + }
  526 + }
  527 +
  528 + String hospital = autoMatchFacade.getHospitalId(userId);
  529 + if (StringUtils.isNotEmpty(hospital)) {
  530 + referralApplyScreeningQuery.setHospitalId(hospital);
  531 + Organization og = organizationService.getOrganization(Integer.valueOf(hospital));
  532 + if (null != og) {
  533 + referralApplyScreeningQuery.setHospitalName(og.getName());
  534 + }
  535 + }
  536 +
  537 +
  538 + List<ReferralApplyScreeningModel> screeningModels =
  539 + applyScreeningService.queryReferralApplyScreeningWithQuery(referralApplyScreeningQuery);
  540 +
  541 + List data = new ArrayList();
  542 + if (CollectionUtils.isNotEmpty(screeningModels)) {
  543 + for (ReferralApplyScreeningModel screeningModel : screeningModels) {
  544 + ApplyScreeningOutResult screeningOutResult = new ApplyScreeningOutResult();
  545 + String zhuanchu = screeningModel.getOutHospitalId();
  546 + String zhuanru = screeningModel.getTransferredHospital();
  547 + String zhuanCName = zhuanchu;
  548 + String zhuanRname = zhuanru;
  549 + if (NumberUtils.isNumber(zhuanchu)) {
  550 + try {
  551 + Organization zhuanc = organizationService.getOrganization(Integer.valueOf(zhuanchu));
  552 + if (null != zhuanc) {
  553 + zhuanCName = zhuanc.getName();
  554 + }
  555 + } catch (Exception e) {
  556 + }
  557 + }
  558 + if (NumberUtils.isNumber(zhuanru)) {
  559 + try {
  560 + Organization zhuanc1 = organizationService.getOrganization(Integer.valueOf(zhuanru));
  561 + if (null != zhuanc1) {
  562 + zhuanRname = zhuanc1.getName();
  563 + }
  564 + } catch (Exception e) {
  565 + }
  566 + }
  567 +
  568 + if (NumberUtils.isNumber(screeningModel.getApplyDoctor())) {
  569 + Users users = usersService.getUsers(NumberUtils.toInt(screeningModel.getApplyDoctor()));
  570 + if (null != users) {
  571 + screeningOutResult.setApplyDoctor(users.getName());
  572 + }
  573 + }
  574 + if (NumberUtils.isNumber(screeningModel.getRecDoctor())) {
  575 + Users users = usersService.getUsers(NumberUtils.toInt(screeningModel.getRecDoctor()));
  576 + if (null != users) {
  577 + screeningOutResult.setRecDoctor(users.getName());
  578 + }
  579 + }
  580 +
  581 + StringBuilder stringBuilder = new StringBuilder();
  582 + if (CollectionUtils.isNotEmpty(screeningModel.getrRisk())) {
  583 + for (String str : screeningModel.getrRisk()) {
  584 + stringBuilder.append(str).append(", ");
  585 + }
  586 + if (stringBuilder.length() > 0) {
  587 + stringBuilder.setLength(stringBuilder.length() - 2);
  588 + }
  589 + }
  590 +
  591 + if (StringUtils.isNotEmpty(screeningModel.getOtherHighRisk())) {
  592 + if (stringBuilder.length() > 0 && StringUtils.isNotEmpty(screeningModel.getOtherHighRisk())) {
  593 + stringBuilder.append(",");
  594 + }
  595 + if (StringUtils.isNotEmpty(screeningModel.getOtherHighRisk())) {
  596 + stringBuilder.append(screeningModel.getOtherHighRisk());
  597 + }
  598 + }
  599 +
  600 + screeningOutResult.convertToResult(screeningModel, zhuanCName, zhuanRname);
  601 +
  602 + /* 诊断指导 */
  603 + String diagnosis = "";
  604 + if (StringUtils.isNotEmpty(screeningModel.getDiagnosis())) {
  605 + List<String> temp = JsonUtil.toList(screeningModel.getDiagnosis(), String.class);
  606 + if (CollectionUtils.isNotEmpty(temp)) {
  607 + StringBuilder sb = new StringBuilder();
  608 + for (String sId : temp) {
  609 + sb.append(FunvCommonUtil.getBaseicConfigByid(sId, basicConfigService)).append(",");
  610 + }
  611 + if (sb.toString().endsWith(",")) {
  612 + diagnosis = sb.substring(0, sb.length() - 1);
  613 + } else {
  614 + diagnosis = sb.toString();
  615 + }
  616 + }
  617 + }
  618 + screeningOutResult.setDiagnosis(diagnosis);
  619 +
  620 + screeningOutResult.setrRisk(stringBuilder.toString());
  621 + screeningOutResult.setScore(screeningModel.getScore());
  622 + screeningOutResult.setReason(StringUtils.isNotEmpty(screeningModel.getReason()) ? screeningModel.getReason() : "--");
  623 + List rLevel = new ArrayList();
  624 + if (CollectionUtils.isNotEmpty(screeningModel.getrLevel())) {
  625 + try {
  626 + List<String> list = screeningModel.getrLevel();
  627 + for (String str : list) {
  628 + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(str);
  629 + if (null != basicConfig) {
  630 + Map map = new HashMap();
  631 + basicConfig.replenRisk(map);
  632 + rLevel.add(map);
  633 + }
  634 + }
  635 + } catch (Exception e) {
  636 + ExceptionUtils.catchException(e, "patients.getRiskLevelId error.");
  637 + }
  638 + screeningOutResult.setrLevel(HighScoreResult.filter(rLevel));
  639 + }
  640 + screeningOutResult.setrLevel(rLevel);
  641 + Patients patients = patientsService.findOnePatientById(screeningModel.getParentId());
  642 + if (patients != null) {
  643 + //筛查结果数据
  644 + String screenStr = basicConfigService.getScreenResult(patients.getScreenResult());
  645 + screeningOutResult.setScreenResult(screenStr);
  646 + if (null != patients) {
  647 + screeningOutResult.setIsGravida(patients.getType() == 3 ? "0" : "1");
  648 + if (1 == patients.getDueStatus())
  649 + screeningOutResult.setcDueWeek("终止妊娠");
  650 + else if (patients.getType() == 3)
  651 + screeningOutResult.setcDueWeek("已分娩");
  652 + }
  653 + }
  654 + data.add(screeningOutResult);
  655 + }
  656 + }
  657 + return new BaseListResponse().setData(data).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(referralApplyScreeningQuery.getPageInfo());
  658 + }
  659 +
  660 +
512 661 /**
513 662 * 查询 转诊申请
514 663 *
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ApplyQueryRequest.java View file @ f36491d
  1 +package com.lyms.platform.operate.web.request;
  2 +
  3 +import com.lyms.platform.common.core.annotation.form.Form;
  4 +import com.lyms.platform.common.core.annotation.form.FormParam;
  5 +
  6 +/**
  7 + * 医联体--转出、转入产妇列表 查询请求
  8 + */
  9 +@Form
  10 +public class ApplyQueryRequest extends BasePageQueryRequest {
  11 +
  12 + private String time;
  13 +
  14 + public String getTime() {
  15 + return time;
  16 + }
  17 +
  18 + public void setTime(String time) {
  19 + this.time = time;
  20 + }
  21 +}