From 5b36ab0828e5f916befc4bc775c68ab13545b537 Mon Sep 17 00:00:00 2001 From: cfl Date: Wed, 18 Oct 2023 10:42:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E8=BA=AB=E4=BB=BD=E8=AF=81?= =?UTF-8?q?=E5=8F=B7=E6=9F=A5=E8=AF=A2=E6=82=A3=E8=80=85=E5=AD=95=E5=91=A8?= =?UTF-8?q?=E5=92=8C=E9=AB=98=E5=8D=B1=E5=9B=A0=E7=B4=A0=E5=AD=97=E7=AC=A6?= =?UTF-8?q?=E4=B8=B2=E4=BF=A1=E6=81=AF=20=E7=BB=99=E5=8C=BB=E5=BF=83?= =?UTF-8?q?=E7=85=A7=E6=8A=A4=E7=B3=BB=E7=BB=9F=E4=BD=BF=E7=94=A8=E7=9A=84?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/PuerperaManageController.java | 15 ++++++ .../platform/operate/web/facade/PatientFacade.java | 63 ++++++++++++++++++++++ 2 files changed, 78 insertions(+) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java index a67cd57..53ae8de 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java @@ -681,6 +681,21 @@ public class PuerperaManageController extends BaseController { return baseListResponse; } + /** + * 根据身份证号查询患者孕周和高危因素字符串信息 + * 给医心照护系统使用的接口 + * @param cardNo + * @return + */ + @ResponseBody + @RequestMapping(value = "patientDueWeekAndRisk") + public BaseResponse queryPatientDueWeekAndRisk(@RequestParam("cardNo") String cardNo){ + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + baseResponse.setObject(patientFacade.queryPersonDueWeekAndRisk(cardNo)); + return baseResponse; + } + @TokenRequired @RequestMapping(value = "patientManagerExcel", method = RequestMethod.POST) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index 39c3f67..0ccc2d3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -2638,6 +2638,69 @@ public class PatientFacade extends BaseServiceImpl { return str; } + /** + * 根据身份证号查询孕妇的最新档案信息,并返回孕妇的孕周和高危字符串信息 + * @param cardNo + * @return + */ + public String queryPersonDueWeekAndRisk(String cardNo){ + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setCardNo(cardNo); + patientsQuery.setYn(YnEnums.YES.getId()); + List patientsList = patientsService.queryPatient1(patientsQuery,"created"); + if(CollectionUtils.isEmpty(patientsList)){ + return null; + } + StringBuilder sb = new StringBuilder(56); + Patients patients = patientsList.get(0); + List factor = patientsList.get(0).getRiskFactorId(); + String dueWeek = ""; + try { + + if(patients.getType() == 3){ + dueWeek = "已分娩,"; + }else if (patients.getBookbuildingDate().getTime() - patients.getDueDate().getTime() > 0 && patients.getBuildType() == 2) { +// if (patients.getBookbuildingDate().getTime() - patients.getFmDate().getTime() > 0 && patients.getBuildType() == 2) { + dueWeek = "已分娩,"; + } else { + int days = DateUtil.daysBetween(patients.getLastMenses(), patients.getBookbuildingDate()); + if (days > 7 * 42 - 1) { + dueWeek = "已分娩,"; + } else { + String week = (days / 7) + ""; + int day = (days % 7); + dueWeek = "孕" + week + "周" + (day > 0 ? "+" + day + "天," : ","); + } + } + } catch (Exception e) { + // 什么都不干 + } + sb.append(dueWeek); + + if (CollectionUtils.isNotEmpty(factor)) { + for (String srt : factor) { + if (org.apache.commons.lang.StringUtils.isNotEmpty(srt)) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(srt); + if (null != basicConfig && sb.indexOf(basicConfig.getName()) == -1) { + sb.append(basicConfig.getName()).append(','); + } + } + } + + if (org.apache.commons.lang.StringUtils.isNotEmpty(patients.getoRiskFactor())) { + sb.append(patients.getoRiskFactor()); + } + } + else if (org.apache.commons.lang.StringUtils.isNotEmpty(patients.getoRiskFactor())) + { + sb.append(patients.getoRiskFactor()); + } + if(sb.toString().endsWith(",")){ + return sb.toString().substring(0,sb.toString().length()-1); + } + return sb.toString(); + } + public PatientManagerResult patientManager(PatientManagerRequest patientManagerRequest) { PatientManagerResult patientManagerResult = new PatientManagerResult(); String hospitalId = autoMatchFacade.getHospitalId(patientManagerRequest.getOperatorId()); -- 1.8.3.1