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());