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 b621be8..ceb7616 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 @@ -418,6 +418,7 @@ public class InspectPatientController { Map dataMap = (Map) responseMap.get("data"); if(dataMap!=null &&dataMap.get("pdfurl")!=null) { + // 获取 pdfurl 和 pname String pdfurl = (String) dataMap.get("pdfurl"); String pname = (String) dataMap.get("pname"); @@ -445,7 +446,86 @@ public class InspectPatientController { patientService.updatePatient(updateReqVO); return success(true); } + @PutMapping("/GetApiYbjcInfo") + @Operation(summary = "同步一般检查结果项") + public CommonResult GetApiYbjcInfo(@RequestParam("medicalSn") String medicalSn,@RequestParam("cardId") String cardId) + { + ConfigDO config = configService.getConfigByKey("url.ybjc"); + String url = config.getValue(); + String response = HttpUtils.get(url+"?"+"idCard="+medicalSn); + if(response!=null) + { + // 解析 JSON 响应 + ObjectMapper objectMapper = new ObjectMapper(); + try { + Map responseMap = objectMapper.readValue(response, Map.class); + Map dataMap = (Map) responseMap.get("data"); + if(dataMap!=null &&dataMap.get("healthexaminid")!=null) + { + List list = new ArrayList<>(); + for (Map.Entry entry : dataMap.entrySet()) { + String key = entry.getKey(); + Object value = entry.getValue(); + InspectPatientitemsSaveReqVO inspectPatientitemsSaveReqVO = new InspectPatientitemsSaveReqVO(); + inspectPatientitemsSaveReqVO.setMedicalSn(medicalSn); + switch (key) + { + case "temperature": + inspectPatientitemsSaveReqVO.setItemCode("TW001"); + inspectPatientitemsSaveReqVO.setItemResult(value.toString()); + break; + case "pulserate": + inspectPatientitemsSaveReqVO.setItemCode("ML001"); + inspectPatientitemsSaveReqVO.setItemResult(value.toString()); + break; + case "breathingrate": + inspectPatientitemsSaveReqVO.setItemCode("HXPL001"); + inspectPatientitemsSaveReqVO.setItemResult(value.toString()); + break; + case "stature": + inspectPatientitemsSaveReqVO.setItemCode("SH001"); + inspectPatientitemsSaveReqVO.setItemResult(value.toString()); + break; + case "weight": + inspectPatientitemsSaveReqVO.setItemCode("TZ001"); + inspectPatientitemsSaveReqVO.setItemResult(value.toString()); + break; + case "waistline": + inspectPatientitemsSaveReqVO.setItemCode("yw001"); + inspectPatientitemsSaveReqVO.setItemResult(value.toString()); + break; + case "bmi": + inspectPatientitemsSaveReqVO.setItemCode("BMI001"); + inspectPatientitemsSaveReqVO.setItemResult(value.toString()); + break; + } + list.add(inspectPatientitemsSaveReqVO); + } + 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")); + } + list.add(inspectPatientitemsSaveReqVO); + patientitemsService.updatePatientitemInfo(list); + } + } catch (IOException e) { + e.printStackTrace(); + return success(false); + } + } + return success(true); + } @DeleteMapping("/delete") @Operation(summary = "删除患者信息") @Parameter(name = "id", description = "编号", required = true) 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 ef78957..ba91437 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,12 @@ public interface InspectPatientitemsService { * 批量创建患者体检项目 * */ boolean createPatientListitems(List listcreateReqVO); + /* + * + * 根据体检编号和项目代号批量更新数据 + * */ + Integer updatePatientitemInfo(List updateReqVO); + /* * 批量更新患者体检项目 * */ 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 b29850a..7bab140 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 @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -56,6 +55,21 @@ public class InspectPatientitemsServiceImpl implements InspectPatientitemsServic return bol; } @Override + public Integer updatePatientitemInfo(List updateReqVO) + { + for (InspectPatientitemsSaveReqVO saveReqVO:updateReqVO) + { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(InspectPatientitemsDO::getItemResult, saveReqVO.getItemResult()) + .set(InspectPatientitemsDO::getMedicalSn, saveReqVO.getMedicalSn()) + .set(InspectPatientitemsDO::getItemCode, saveReqVO.getItemCode()); + patientitemsMapper.update(null, updateWrapper); + } + + return updateReqVO.size(); + + } + @Override public boolean updateListPatientitems(List listcreateReqVO) { List patientlistitems = BeanUtils.toBean(listcreateReqVO, InspectPatientitemsDO.class);