From 1c1a47e2560684c1a95d89f880c3545420368afb Mon Sep 17 00:00:00 2001 From: haorp <754760654@qq.com> Date: Thu, 12 Jun 2025 10:36:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E5=A6=87=E8=BD=AC=E8=AF=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/ApplyScreeningController.java | 17 +++- .../operate/web/facade/ApplyScreeningFacade.java | 111 ++++++++++++++++++++- .../operate/web/result/PatientBaseResult.java | 11 ++ 3 files changed, 134 insertions(+), 5 deletions(-) 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 f70f5d8..0fa7a43 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 @@ -68,12 +68,25 @@ public class ApplyScreeningController extends BaseController { } /** + * 转诊详细信息查询 + * + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/queryMedicalInfo") + @ResponseBody + public BaseResponse queryMedicalInfo(@Valid ApplyScreeningQueryRequest screeningQueryRequest, HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return applyScreeningFacade.queryMedicalInfo(screeningQueryRequest,loginState.getId()); + } + + /** * 转诊保存 */ @RequestMapping(method = RequestMethod.POST, value = "/saveChange") @ResponseBody - public BaseResponse saveChange(@Valid @RequestBody PatientBaseResult patientBaseResult) { - return applyScreeningFacade.saveChange(patientBaseResult); + public BaseResponse saveChange(@Valid @RequestBody PatientBaseResult patientBaseResult, HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return applyScreeningFacade.saveChange(patientBaseResult,loginState.getId()); } /** 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 1855f2e..c0f0b82 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 @@ -591,6 +591,51 @@ public class ApplyScreeningFacade { return new BaseListResponse().setData(data).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(pageInfo); } + public BaseResponse queryMedicalInfo(ApplyScreeningQueryRequest applyScreeningQueryRequest,Integer userId) { + PatientBaseResult patientBaseResult = new PatientBaseResult(); + MedicalRecordVo medicalRecordVo = new MedicalRecordVo(); + medicalRecordVo.setNeed("true"); + medicalRecordVo.setLimit(applyScreeningQueryRequest.getLimit()); + medicalRecordVo.setPage(applyScreeningQueryRequest.getPage()); + medicalRecordVo.setCardNo(applyScreeningQueryRequest.getCardNo()); + List medicalRecordVoList = appointmentService.queryList(medicalRecordVo); + if(CollectionUtils.isNotEmpty(medicalRecordVoList)){ + MedicalRecordVo recordVo = medicalRecordVoList.get(0); + patientBaseResult.setName(recordVo.getName()); + String age1 = recordVo.getAge().substring(0,8); + Date date = DateUtil.parseYYYYMMDD(age1); + int age = DateUtil.getYearSpace(new Date(),date); + patientBaseResult.setAge(age); + patientBaseResult.setPhone(recordVo.getPhone()); + patientBaseResult.setDepartment(recordVo.getDepartment()); + patientBaseResult.setChangeTime(DateUtil.getYyyyMmDd(new Date())); + patientBaseResult.setVcCardNo(recordVo.getMdtrtId()); + patientBaseResult.setDueWeek(recordVo.getDeliveryTime()); + patientBaseResult.setCardNo(recordVo.getCardNo()); + // 查建档 + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setCardNo(recordVo.getCardNo()); + patientsQuery.setYn(1); + patientsQuery.setDesc("true"); + patientsQuery.setSort("created"); + List patientsList = patientsService.queryPatient(patientsQuery); + if(CollectionUtils.isNotEmpty(patientsList)){ + Patients patients = patientsList.get(0); + // 地址 + String register = CommonsHelper.getResidence(patients.getProvinceRegisterId(), patients.getCityRegisterId(), + patients.getAreaRegisterId(), patients.getStreetRegisterId(), patients.getAddressRegister(), basicConfigService); + patientBaseResult.setAddress(register); + } + + // 医生 + Users users = usersService.getUsers(userId); + if(users != null){ + patientBaseResult.setDoctor(users.getName()); + } + } + return new BaseObjectResponse().setData(patientBaseResult).setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS); + } + private List queryRiskListName(List l) { List data = new ArrayList(); for (int i = 0; i < l.size(); i++) { @@ -603,10 +648,11 @@ public class ApplyScreeningFacade { return data; } - public BaseResponse saveChange(PatientBaseResult patientBaseResult) { + public BaseResponse saveChange(PatientBaseResult patientBaseResult,Integer userId) { ReferralApplyScreeningQuery query = new ReferralApplyScreeningQuery(); - query.setParentId(patientBaseResult.getId()); + query.setCardNo(patientBaseResult.getCardNo()); + ReferralApplyScreeningModel referralApplyScreeningModel = new ReferralApplyScreeningModel(); List screeningModels = applyScreeningService.queryReferralApplyScreeningWithQuery(query); if(CollectionUtils.isNotEmpty(screeningModels)){ @@ -616,12 +662,71 @@ public class ApplyScreeningFacade { screeningQuery.setTransferredHospital(screeningModel.getHospitalId()); screeningQuery.setPid(screeningModel.getPid()); screeningQuery.setId(screeningModel.getId()); - ReferralApplyScreeningModel referralApplyScreeningModel = new ReferralApplyScreeningModel(); referralApplyScreeningModel.setOutDepartment(screeningModel.getTransferredDepartment()); referralApplyScreeningModel.setTransferredDepartment(patientBaseResult.getChangeDepartment()); referralApplyScreeningModel.setReason(patientBaseResult.getReason()); referralApplyScreeningModel.setModified(new Date()); applyScreeningService.updateByParentId(screeningQuery,referralApplyScreeningModel); + }else{ + referralApplyScreeningModel.setOutHospitalId("2100002419"); + referralApplyScreeningModel.setTransferredHospital("2100002419"); + referralApplyScreeningModel.setType(3); // 产妇 + referralApplyScreeningModel.setCardNo(patientBaseResult.getCardNo()); + referralApplyScreeningModel.setCreated(new Date()); + referralApplyScreeningModel.setModified(new Date()); + referralApplyScreeningModel.setName(patientBaseResult.getName()); + referralApplyScreeningModel.setStatus(1); // 待确认 + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setCardNo(patientBaseResult.getCardNo()); + patientsQuery.setYn(1); + patientsQuery.setDesc("true"); + patientsQuery.setSort("created"); + List patientsList = patientsService.queryPatient(patientsQuery); + if(CollectionUtils.isNotEmpty(patientsList)){ + Patients patients = patientsList.get(0); + // 高危因素 + List level = new ArrayList(); + try { + List list = JsonUtil.patientRiskLevelIdToList(patients.getRiskLevelId()); + for (String str : list) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(str); + if (null != basicConfig) { + Map map = new HashMap(); + basicConfig.replenRisk(map); + if (!level.contains(map)){ + level.add(map); + } + } + } + } catch (Exception e) { + ExceptionUtils.catchException(e, "patients.getRiskLevelId error."); + } + referralApplyScreeningModel.setrLevel(level); + // 高危风险因素 + referralApplyScreeningModel.setrRisk(queryRiskListName(patients.getRiskFactorId())); + } + + MedicalRecordVo medicalRecordVo = new MedicalRecordVo(); + medicalRecordVo.setCardNo(patientBaseResult.getCardNo()); + List medicalRecordVoList = appointmentService.queryList(medicalRecordVo); + if(CollectionUtils.isNotEmpty(medicalRecordVoList)){ + MedicalRecordVo recordVo = medicalRecordVoList.get(0); + String age1 = recordVo.getAge().substring(0,8); + Date date = DateUtil.parseYYYYMMDD(age1); + int age = DateUtil.getYearSpace(new Date(),date); + referralApplyScreeningModel.setAge(age); + referralApplyScreeningModel.setPhone(recordVo.getPhone()); + referralApplyScreeningModel.setDueWeek(DateUtil.parseYMD(recordVo.getDeliveryTime())); + referralApplyScreeningModel.setDueDate(DateUtil.parseYMD(recordVo.getDeliveryTime())); + referralApplyScreeningModel.setTransferredDepartment(patientBaseResult.getChangeDepartment()); + Users users = usersService.getUsers(userId); + if(users != null){ + // 转出科室 + referralApplyScreeningModel.setOutDepartment(users.getName()); + referralApplyScreeningModel.setApplyDoctor(users.getName()); + } + } + applyScreeningService.addOneReferralApplyScreening(referralApplyScreeningModel); } return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientBaseResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientBaseResult.java index 1d65038..9a576dc 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientBaseResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientBaseResult.java @@ -86,6 +86,17 @@ public class PatientBaseResult { // 转入科室 private String changeDepartment; + + private String cardNo; + + public String getCardNo() { + return cardNo; + } + + public void setCardNo(String cardNo) { + this.cardNo = cardNo; + } + public String getDoctor() { return doctor; } -- 1.8.3.1