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 75b9cf2..ee148d7 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 @@ -1465,7 +1465,52 @@ public class InspectPatientController { } return success(inspectApiInfoVO); } + @GetMapping("/updatePatientSupplement") + @Operation(summary = "更新公卫患者扩展信息") + public CommonResult updatePatientSupplement(@RequestParam("medicalSn") String medicalSn,@RequestParam("idCard") String idCard) throws JsonProcessingException { + ConfigDO config = configService.getConfigByKey("url.patientinfo"); + String url = config.getValue(); + PatientSupplementVO patientSupplementVO = new PatientSupplementVO(); + patientSupplementVO.setMedicalSn(medicalSn); + if (url != null) { + String response = HttpUtils.post(url + "?" + "idCard=" + idCard); + if (response != null) { + // 解析 JSON 响应 + ObjectMapper objectMapper = new ObjectMapper(); + Map responseMap = objectMapper.readValue(response, Map.class); + Map dataMap = (Map) responseMap.get("data"); + if (dataMap != null) { + if (dataMap.get("orgname") != null) { + patientSupplementVO.setOrgname(dataMap.get("orgname").toString()); + } + if (dataMap.get("districtname") != null) { + patientSupplementVO.setDistrictname(dataMap.get("districtname").toString()); + } + if (dataMap.get("oldmanflag") != null) { + patientSupplementVO.setOldmanflag(dataMap.get("oldmanflag").toString()); + } + if (dataMap.get("htnflag") != null) { + patientSupplementVO.setHtnflag(dataMap.get("htnflag").toString()); + } + if (dataMap.get("diaflag") != null) { + patientSupplementVO.setDiaflag(dataMap.get("diaflag").toString()); + } + if (dataMap.get("smiflag") != null) { + patientSupplementVO.setSmiflag(dataMap.get("smiflag").toString()); + } + if (dataMap.get("pulflag") != null) { + patientSupplementVO.setPulflag(dataMap.get("pulflag").toString()); + } + patientService. updatePatientsupplement(patientSupplementVO); + } else { + return success("没有查询到相关信息"); + } + } + } + + return success(true); + } @PutMapping("/syncPatientZyInfo") @Operation(summary = "同步中医体质结果项") public CommonResult syncPatientZyInfo(@RequestParam("medicalSn") String medicalSn, @RequestParam("cardId") String cardId) throws JsonProcessingException { diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/inspectpatient/vo/PatientSupplementVO.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/inspectpatient/vo/PatientSupplementVO.java new file mode 100644 index 0000000..478a804 --- /dev/null +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/inspectpatient/vo/PatientSupplementVO.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.inspect.controller.admin.inspectpatient.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class PatientSupplementVO { + + @Schema(description = "体检编号") + private String medicalSn; + + @Schema(description = "老年人") + private String oldmanflag; + + @Schema(description = "卫生院") + private String orgname; + + @Schema(description = "行政村") + private String districtname; + + @Schema(description = "高血压") + private String htnflag; + + @Schema(description = "糖尿病") + private String diaflag; + + @Schema(description = "精神病") + private String smiflag; + + @Schema(description = "肺结核") + private String pulflag; + + +} diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/dal/dataobject/inspectpatient/InspectPatientDO.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/dal/dataobject/inspectpatient/InspectPatientDO.java index 984d0ad..866c4e8 100644 --- a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/dal/dataobject/inspectpatient/InspectPatientDO.java +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/dal/dataobject/inspectpatient/InspectPatientDO.java @@ -213,5 +213,48 @@ public class InspectPatientDO { @TableField("pdfurl") private String pdfurl; + /** + * 老年人 + */ + @TableField("oldmanflag") + private String oldmanflag; + + /** + * 卫生院 + */ + @TableField("orgname") + private String orgname; + + /** + * 行政村 + */ + @TableField("districtname") + private String districtname; + + /** + * 高血压 + */ + @TableField("htnflag") + private String htnflag; + + /** + * 糖尿病 + */ + @TableField("diaflag") + private String diaflag; + + /** + * 精神病 + */ + @TableField("smiflag") + private String smiflag; + + /** + * 肺结核 + */ + @TableField("pulflag") + private String pulflag; + + } \ No newline at end of file diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/dal/mysql/inspectpatient/InspectPatientMapper.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/dal/mysql/inspectpatient/InspectPatientMapper.java index c650b3d..8170442 100644 --- a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/dal/mysql/inspectpatient/InspectPatientMapper.java +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/dal/mysql/inspectpatient/InspectPatientMapper.java @@ -29,13 +29,13 @@ public interface InspectPatientMapper extends BaseMapperX { .eqIfPresent(InspectPatientDO::getCardId, reqVO.getCardId()) .eqIfPresent(InspectPatientDO::getNationality, reqVO.getNationality()) .eqIfPresent(InspectPatientDO::getNation, reqVO.getNation()) - .eqIfPresent(InspectPatientDO::getRace, reqVO.getRace()) + // .eqIfPresent(InspectPatientDO::getRace, reqVO.getRace()) .eqIfPresent(InspectPatientDO::getPhoneNum, reqVO.getPhoneNum()) .eqIfPresent(InspectPatientDO::getStatus, reqVO.getStatus()) - .eqIfPresent(InspectPatientDO::getReportType, reqVO.getReportType()) + //.eqIfPresent(InspectPatientDO::getReportType, reqVO.getReportType()) .betweenIfPresent(InspectPatientDO::getMedicalDateTime, reqVO.getMedicalDateTime()) - .eqIfPresent(InspectPatientDO::getChargeType, reqVO.getChargeType()) - .eqIfPresent(InspectPatientDO::getTotalPrice, reqVO.getTotalPrice()) + // .eqIfPresent(InspectPatientDO::getChargeType, reqVO.getChargeType()) + // .eqIfPresent(InspectPatientDO::getTotalPrice, reqVO.getTotalPrice()) .eqIfPresent(InspectPatientDO::getHeadPicUrl, reqVO.getHeadPicUrl()) .eqIfPresent(InspectPatientDO::getSummaryResult, reqVO.getSummaryResult()) .eqIfPresent(InspectPatientDO::getAuditor, reqVO.getAuditor()) diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientService.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientService.java index b7f1ec4..13021f9 100644 --- a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientService.java +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientService.java @@ -75,6 +75,10 @@ public interface InspectPatientService { * 根据体检编号获取患者信息的json * */ InspectPatientDO getPatientInfo(String medicalSn); + /* + * 更新患者的基本信息里的补充信息 高血压、老年人、行政村、卫生院、糖尿病、精神病 + * */ + Integer updatePatientsupplement(PatientSupplementVO updateReqVO); /* * 根据体检编号更新PDF报告URL diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientServiceImpl.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientServiceImpl.java index 0cdf0dd..eaee24f 100644 --- a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientServiceImpl.java +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientServiceImpl.java @@ -183,6 +183,21 @@ public class InspectPatientServiceImpl implements InspectPatientService { return patientMapper.update(null, updateWrapper); } + @Override + public Integer updatePatientsupplement(PatientSupplementVO updateReqVO) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(InspectPatientDO::getMedicalSn, updateReqVO.getMedicalSn()); + updateWrapper.set(InspectPatientDO::getOldmanflag, updateReqVO.getOldmanflag()); + updateWrapper.set(InspectPatientDO::getOrgname, updateReqVO.getOrgname()); + updateWrapper.set(InspectPatientDO::getDistrictname, updateReqVO.getDistrictname()); + updateWrapper.set(InspectPatientDO::getHtnflag, updateReqVO.getHtnflag()); + updateWrapper.set(InspectPatientDO::getDiaflag, updateReqVO.getDiaflag()); + updateWrapper.set(InspectPatientDO::getSmiflag, updateReqVO.getSmiflag()); + updateWrapper.set(InspectPatientDO::getPulflag, updateReqVO.getPulflag()); + return patientMapper.update(null, updateWrapper); + + } + @Override public void updatePatientPdfUrl(InspectPatientSaveReqVO updateReqVO) { diff --git a/yudao-server/src/main/resources/application.yaml b/yudao-server/src/main/resources/application.yaml index 9b37bf5..9bec30f 100644 --- a/yudao-server/src/main/resources/application.yaml +++ b/yudao-server/src/main/resources/application.yaml @@ -232,6 +232,7 @@ yudao: - /admin-api/inspect/patient/getReportUrl # 获取报告地址 - /admin-api/inspect/patient/getUSTj #同步超声 - /admin-api/inspect/patient/generateReport # pdf生成 + - /admin-api/inspect/patient/updatePatientSupplement #公卫患者信息补充扩展 websocket: enable: true # websocket的开关 path: /infra/ws # 路径 @@ -279,6 +280,7 @@ yudao: - /admin-api/inspect/patient/getReportUrl # 获取报告地址 - /admin-api/inspect/patient/getUSTj #同步超声 - /admin-api/inspect/patient/generateReport # pdf生成存放 + - /admin-api/inspect/patient/updatePatientSupplement #公卫患者信息补充扩展 - /adminInspect/admin-api/inspect/department/getList - /adminInspect/admin-api/inspect/patient/getUSPatientInfo - /adminInspect/admin-api/system/captcha/get @@ -293,6 +295,7 @@ yudao: - /adminInspect/admin-api/inspect/patient/getReportUrl # 获取报告地址 - /adminInspect/admin-api/inspect/patient/getUSTj #同步超声 - /adminInspect/admin-api/inspect/patient/generateReport #pdf生成存放 + - /adminInspect/admin-api/inspect/patient/updatePatientSupplement #公卫患者信息补充扩展 ignore-tables: - system_tenant - system_tenant_package