From 4eb0cc0bc25a42e63f4a67a1fec914bdf787b74f Mon Sep 17 00:00:00 2001 From: lxd <1004405501@qq.com> Date: Sun, 6 Apr 2025 11:16:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InspectPatientController.java | 62 ++++++++++++++++--- .../InspectPatientitemsService.java | 5 ++ .../InspectPatientitemsServiceImpl.java | 8 +++ 3 files changed, 67 insertions(+), 8 deletions(-) diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/inspectpatient/InspectPatientController.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/inspectpatient/InspectPatientController.java index c07b580..2146a6c 100644 --- a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/inspectpatient/InspectPatientController.java +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/inspectpatient/InspectPatientController.java @@ -374,6 +374,12 @@ public class InspectPatientController { @Operation(summary = "通过体检编号绑定检查项目信息") public CommonResult createPatientitem(@RequestParam("medicalSn") String medicalSn) { + //如果这个患者存在患者项目数据则不进行插入 + boolean exists = patientitemsService.existsByMedicalSn(medicalSn); + if(exists) + { + return success(true); + } //检查项目 List dataList2 = new ArrayList<>(); //检查套餐信息 @@ -980,14 +986,54 @@ public class InspectPatientController { } InspectPatientitemsSaveReqVO inspectPatientitemsSaveReqVO = new InspectPatientitemsSaveReqVO(); //单独判断收缩压和舒张压 分左右手 - if (dataMap.get("bplshrink") != null && dataMap.get("bpldiastole") != null) { - inspectPatientitemsSaveReqVO.setMedicalSn(medicalSn); - inspectPatientitemsSaveReqVO.setItemCode("XY001"); - inspectPatientitemsSaveReqVO.setItemResult(dataMap.get("bplshrink") + "/" + dataMap.get("bpldiastole")); - } else { - inspectPatientitemsSaveReqVO.setMedicalSn(medicalSn); - inspectPatientitemsSaveReqVO.setItemCode("XY001"); - inspectPatientitemsSaveReqVO.setItemResult(dataMap.get("bprshrink") + "/" + dataMap.get("bprdiastole")); + if (dataMap.containsKey("bplshrink") && dataMap.containsKey("bpldiastole")) { + Object bplshrinkObj = dataMap.get("bplshrink"); + Object bpldiastoleObj = dataMap.get("bpldiastole"); + + double bplshrink = 0; + double bpldiastole = 0; + + // 处理 bplshrink + if (bplshrinkObj instanceof Number) { + bplshrink = ((Number) bplshrinkObj).doubleValue(); + } else if (bplshrinkObj instanceof String) { + String bplshrinkStr = (String) bplshrinkObj; + if (!bplshrinkStr.isEmpty() && !bplshrinkStr.equals("0")) { + try { + bplshrink = Double.parseDouble(bplshrinkStr); + } catch (NumberFormatException e) { + // 处理解析错误 + bplshrink = 0; + } + } + } + + // 处理 bpldiastole + if (bpldiastoleObj instanceof Number) { + bpldiastole = ((Number) bpldiastoleObj).doubleValue(); + } else if (bpldiastoleObj instanceof String) { + String bpldiastoleStr = (String) bpldiastoleObj; + if (!bpldiastoleStr.isEmpty() && !bpldiastoleStr.equals("0")) { + try { + bpldiastole = Double.parseDouble(bpldiastoleStr); + } catch (NumberFormatException e) { + // 处理解析错误 + bpldiastole = 0; + } + } + } + + if (bplshrink != 0 && bpldiastole != 0) { + + inspectPatientitemsSaveReqVO.setMedicalSn(medicalSn); + inspectPatientitemsSaveReqVO.setItemCode("XY001"); + inspectPatientitemsSaveReqVO.setItemResult(bplshrink + "/" + bpldiastole); + } else { + // 处理收缩压和舒张压分左右手的情况 + inspectPatientitemsSaveReqVO.setMedicalSn(medicalSn); + inspectPatientitemsSaveReqVO.setItemCode("XY001"); + inspectPatientitemsSaveReqVO.setItemResult(dataMap.get("bprshrink") + "/" + dataMap.get("bprdiastole")); + } } list.add(inspectPatientitemsSaveReqVO); patientitemsService.updatePatientitemInfo(list); diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsService.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsService.java index f43b66d..25e3ce5 100644 --- a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsService.java +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsService.java @@ -29,6 +29,11 @@ public interface InspectPatientitemsService { * 批量创建患者体检项目 * */ boolean createPatientListitems(List listcreateReqVO); + /* + * 判断患者的项目是否存在 + * */ + boolean existsByMedicalSn(String medicalSn); + /* * * 根据体检编号和项目代号批量更新数据 diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsServiceImpl.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsServiceImpl.java index 0734a9b..251b584 100644 --- a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsServiceImpl.java +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsServiceImpl.java @@ -59,6 +59,14 @@ public class InspectPatientitemsServiceImpl implements InspectPatientitemsServic boolean bol= patientitemsMapper.insertBatch(patientlistitems); return bol; } + + @Override + public boolean existsByMedicalSn(String medicalSn) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(InspectPatientitemsDO::getMedicalSn, medicalSn); + return patientitemsMapper.selectCount(queryWrapper) > 0; + } + @Override public Integer updatePatientitemInfo(List updateReqVO) {