From 608c66d5f06be30777d0e69b7229a6572fbca8d4 Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Tue, 27 Jan 2026 15:26:11 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E7=99=BB=E5=BD=95=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ccsens/client/controller/PmsController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java index 5e56f15..a961813 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java @@ -9,6 +9,7 @@ import cn.hutool.core.util.StrUtil; import com.ccsens.client.service.IHmsService; import com.ccsens.client.service.ILtHisConnectionService; import com.ccsens.client.service.IPmsPatientService; +import com.ccsens.common.annotation.Anonymous; import com.ccsens.common.constant.ErrorConstant; import com.ccsens.common.core.controller.BaseController; import com.ccsens.common.core.domain.BaseDto; @@ -302,6 +303,7 @@ public class PmsController extends BaseController { @Resource private ILtHisConnectionService ltHisConnectionService; + @Anonymous @ApiOperation("流调版数据查询") @PostMapping("/testHis") public JsonResponse testHis(@RequestBody @Validated String cardNo) { From 8a5b32864dbed9d0f85921b42e73f6349f46479d Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Tue, 27 Jan 2026 15:35:15 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=B3=E9=93=81?= =?UTF-8?q?=E7=9A=84=E6=95=B0=E6=8D=AE=E5=BA=93=E5=AF=86=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-prod.yml | 4 ++-- .../src/main/resources/application-prod.yml | 9 +++------ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml b/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml index 69d646f..9c7c6ee 100644 --- a/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml +++ b/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml @@ -6,9 +6,9 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://192.168.0.128:3306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://127.0.0.1:3306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: Sxinf18aA + password: xian#2024!!! # 从库数据源 slave: # 从数据源开关/默认关闭 diff --git a/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml b/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml index 0ed0458..a421c6f 100644 --- a/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml +++ b/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml @@ -6,9 +6,9 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://192.168.0.128:3306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://127.0.0.1:3306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: Sxinf18aA + password: xian#2024!!! # 从库数据源 slave: # 从数据源开关/默认关闭 @@ -94,10 +94,7 @@ app: workerId: 1 # 分布式ID-DataCenterID dataCenterId: 1 -ht: - project: - patientUrl: http://172.16.40.155/htage2023/client/# - name: 认知功能评测云平台系统 + file: path: /data/cgav2/server/profile/ # webPath: http://172.16.40.155:59001/ruisi/client/# From 8b30528d2c275b392ad271ab5ead4c43daecdbfc Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Wed, 28 Jan 2026 14:24:29 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=B3=E9=93=81?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-prod.yml | 6 +- .../src/main/resources/logback.xml | 2 +- .../client/controller/PmsController.java | 32 +++++++--- .../service/ILtHisConnectionService.java | 5 +- .../impl/LtHisConnectionServiceImpl.java | 62 ++++++++++++++++++- .../src/main/resources/application-prod.yml | 6 +- .../src/main/resources/logback.xml | 2 +- 7 files changed, 94 insertions(+), 21 deletions(-) diff --git a/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml b/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml index 9c7c6ee..8d5cd9a 100644 --- a/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml +++ b/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml @@ -6,7 +6,7 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://127.0.0.1:3306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://200.1.8.141:23306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: xian#2024!!! # 从库数据源 @@ -62,13 +62,13 @@ spring: # redis 配置 redis: # 地址 - host: localhost + host: 172.17.0.1 # 端口,默认为6379 port: 6379 # 数据库索引 database: 1 # 密码 - password: 123456 + password: "redis111^#" # 连接超时时间 timeout: 10s lettuce: diff --git a/ruisi_java/ruisi-web-admin/src/main/resources/logback.xml b/ruisi_java/ruisi-web-admin/src/main/resources/logback.xml index ced2d7d..3a7c2a0 100644 --- a/ruisi_java/ruisi-web-admin/src/main/resources/logback.xml +++ b/ruisi_java/ruisi-web-admin/src/main/resources/logback.xml @@ -1,7 +1,7 @@ - + diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java index a961813..a0e49a2 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java @@ -27,6 +27,7 @@ import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.formula.functions.T; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -34,6 +35,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -50,11 +52,24 @@ public class PmsController extends BaseController { private IPmsPatientService patientService; @Resource private IHmsService hmsService; + @Resource + private ILtHisConnectionService ltHisConnectionService; private final String hospitalConfKey = "patient_encryption"; @ApiOperation("获取患者信息列表") @PostMapping("/queryList") public JsonResponse> queryPatientList(@RequestBody @Validated BaseDto dto) { + List list = new ArrayList<>(); + + PmsPatientDto.QueryPatient param = dto.getParam(); + if (StrUtil.isNotEmpty(param.getSearchValue()) && param.getSearchValue().length() == 10) { + //关键字不为空,且长度等于10,先查询院内his信息 + List hisList = ltHisConnectionService.queryHisPatient(param.getSearchValue()); + if (CollUtil.isNotEmpty(hisList)) { + list.addAll(hisList); + } + } + //获取用户的权限 LoginUser loginUser = SecurityUtils.getLoginUser(); //当前默认一个用户只有一个角色 @@ -68,7 +83,10 @@ public class PmsController extends BaseController { } startPageOvertop(dto); - List list = patientService.queryPatientList(dto.getParam(), dataScope, loginUser.getUserId(), loginUser.getUsername()); + List serverList = patientService.queryPatientList(dto.getParam(), dataScope, loginUser.getUserId(), loginUser.getUsername()); + if (CollUtil.isNotEmpty(serverList)) { + list.addAll(serverList); + } return JsonResponse.ok(new PageInfo<>(list)); } @@ -301,18 +319,12 @@ public class PmsController extends BaseController { } - @Resource - private ILtHisConnectionService ltHisConnectionService; @Anonymous @ApiOperation("流调版数据查询") @PostMapping("/testHis") public JsonResponse testHis(@RequestBody @Validated String cardNo) { - PmsPatientVo.PatientList patientByCardNo = ltHisConnectionService.getPatientByCardNo(cardNo); - Map patientOtherMsgByCardNo = ltHisConnectionService.getPatientOtherMsgByCardNo(cardNo); - - PmsPatientVo.PatientInfo patientInfo = new PmsPatientVo.PatientInfo(); - BeanUtil.copyProperties(patientByCardNo, patientInfo); - patientInfo.setOtherMsg(patientOtherMsgByCardNo); - return JsonResponse.ok(patientInfo); + //关键字不为空,且长度等于10,先查询院内his信息 + List hisList = ltHisConnectionService.queryHisPatient(cardNo); + return JsonResponse.ok(hisList); } } diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/ILtHisConnectionService.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/ILtHisConnectionService.java index 783226f..2921c0c 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/ILtHisConnectionService.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/ILtHisConnectionService.java @@ -1,6 +1,7 @@ package com.ccsens.client.service; import com.ccsens.system.domain.vo.PmsPatientVo; +import org.apache.poi.ss.formula.functions.T; import java.util.List; import java.util.Map; @@ -13,5 +14,7 @@ public interface ILtHisConnectionService { PmsPatientVo.PatientList getPatientByCardNo(String cardNo); - Map getPatientOtherMsgByCardNo(String cardNo); + Map>> getPatientOtherMsgByCardNo(String cardNo); + + List queryHisPatient(String cardNo); } diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/LtHisConnectionServiceImpl.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/LtHisConnectionServiceImpl.java index 581582c..5c26236 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/LtHisConnectionServiceImpl.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/LtHisConnectionServiceImpl.java @@ -11,9 +11,14 @@ import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.ccsens.client.persist.dao.HisConnectionDao; import com.ccsens.client.service.ILtHisConnectionService; +import com.ccsens.client.service.IPmsPatientService; +import com.ccsens.common.core.domain.model.LoginUser; +import com.ccsens.common.utils.IDGenerator; +import com.ccsens.system.domain.dto.PmsPatientDto; import com.ccsens.system.domain.po.PmsPatient; import com.ccsens.system.domain.vo.PmsPatientVo; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.formula.functions.T; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -24,6 +29,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import static com.ccsens.common.utils.SecurityUtils.getLoginUser; + /** * @author zy @@ -36,6 +43,9 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { @Resource private HisConnectionDao hisConnectionDao; + @Resource + private IPmsPatientService patientService; + /** * 前端调用查询列表接口,如果有数据则直接返回 * 如果没查到数据,使用searchValue(患者院内唯一标识cardNo)去his查询 @@ -62,6 +72,52 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { private static final String URL_SUFFIX_RE_2_1_5 = "/patient-service/api/v1/patient/getFinOprRegList?inPatientNo="; + @Override + public List queryHisPatient(String cardNo) { + try { + PmsPatientVo.PatientList patientByCardNo = getPatientByCardNo(cardNo); + if (ObjectUtil.isNotNull(patientByCardNo)) { + //查找到患者信息,先添加基本信息 + PmsPatient patient = new PmsPatient(); + BeanUtil.copyProperties(patientByCardNo, patient); + LoginUser loginUser = getLoginUser(); + patient.setHospitalId(loginUser.getHospitalId()); + PmsPatientVo.PatientInfo pmsPatient = patientService.editPatient(patient); + //保存id + patientByCardNo.setPatientId(pmsPatient.getId()); + //根据cardNo查询其他信息 + try { + Map>> patientOtherMsgByCardNo = getPatientOtherMsgByCardNo(cardNo); + if(CollUtil.isNotEmpty(patientOtherMsgByCardNo)){ + //不为空则添加其他信息 + patientOtherMsgByCardNo.forEach((key, valueList) -> { + if(CollUtil.isNotEmpty(valueList)){ + valueList.forEach(value -> { + com.alibaba.fastjson2.JSONObject valueJson = com.alibaba.fastjson2.JSONObject.parseObject(JSONUtil.toJsonStr(value)); + valueJson.put("patientId", patientByCardNo.getPatientId()); + PmsPatientDto.EditOtherMsg param = new PmsPatientDto.EditOtherMsg(); + param.setEditType(key); + param.setModel(valueJson); + patientService.editPatientOtherMsg(param); + }); + } + }); + } + }catch (Exception e){ + log.error("获取患者其他信息失败", e); + } + List list = new ArrayList<>(); + list.add(patientByCardNo); + return list; + }else { + return null; + } + }catch (Exception e){ + return null; + } + } + + @Override public PmsPatientVo.PatientList getPatientByCardNo(String cardNo) { PmsPatientVo.PatientList patientVo; @@ -128,7 +184,7 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { } @Override - public Map getPatientOtherMsgByCardNo(String cardNo) { + public Map>> getPatientOtherMsgByCardNo(String cardNo) { //1.查询所有需要的信息 Map params = new HashMap<>(); params.put("cardNo", cardNo); @@ -147,7 +203,7 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { List blxx = hisConnectionDao.getBlxx(cardNo); //构建返回信息 - Map result = new HashMap<>(); + Map>> result = new HashMap<>(); // 病史信息 - PmsPatientPersonal List> personalList = new ArrayList<>(); Map personal = new HashMap<>(); @@ -239,6 +295,8 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { return result; } + + private JSONObject getApiData(HttpResponse response, String errorString) { JSONObject mzData = null; if (response.isOk()) { diff --git a/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml b/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml index a421c6f..040384e 100644 --- a/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml +++ b/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml @@ -6,7 +6,7 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://127.0.0.1:3306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://200.1.8.141:23306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: xian#2024!!! # 从库数据源 @@ -63,13 +63,13 @@ spring: # redis 配置 redis: # 地址 - host: localhost + host: 172.17.0.1 # 端口,默认为6379 port: 6379 # 数据库索引 database: 1 # 密码 - password: 123456 + password: "redis111^#" # 连接超时时间 timeout: 10s lettuce: diff --git a/ruisi_java/ruisi-web-client/src/main/resources/logback.xml b/ruisi_java/ruisi-web-client/src/main/resources/logback.xml index ced2d7d..d6d1ef6 100644 --- a/ruisi_java/ruisi-web-client/src/main/resources/logback.xml +++ b/ruisi_java/ruisi-web-client/src/main/resources/logback.xml @@ -1,7 +1,7 @@ - + From ab654ce215e171d5091fdac3988f3328f2ddace6 Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Thu, 29 Jan 2026 00:27:31 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E5=B0=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruisi_java/pom.xml | 12 ++++ .../ccsens/framework/config/DruidConfig.java | 2 +- .../framework/config/LoadingDataSource.java | 6 ++ .../datasource/DataSourceManager.java | 1 + .../system/domain/dto/PmsPatientDto.java | 4 +- .../client/persist/dao/HisConnectionDao.java | 3 + .../impl/LtHisConnectionServiceImpl.java | 57 ++++++++++++++----- .../service/impl/PmsPatientServiceImpl.java | 3 +- .../src/main/resources/application-dev.yml | 9 +-- .../resources/mapper/dao/HisConnectionDao.xml | 3 + 10 files changed, 79 insertions(+), 21 deletions(-) diff --git a/ruisi_java/pom.xml b/ruisi_java/pom.xml index 34de2ee..e9d62bf 100644 --- a/ruisi_java/pom.xml +++ b/ruisi_java/pom.xml @@ -230,7 +230,19 @@ HikariCP ${hikaricp.version} + + + com.oracle.database.jdbc + ojdbc8 + 21.9.0.0 + + + + org.apache.commons + commons-lang3 + 3.12.0 + diff --git a/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/config/DruidConfig.java b/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/config/DruidConfig.java index dd49640..7c7ab3b 100644 --- a/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/config/DruidConfig.java +++ b/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/config/DruidConfig.java @@ -58,7 +58,7 @@ public class DruidConfig { public DynamicDataSource dataSource(DataSource masterDataSource) { Map targetDataSources = new HashMap<>(); targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource); -// setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource"); + setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource"); return new DynamicDataSource(masterDataSource, targetDataSources); } diff --git a/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/config/LoadingDataSource.java b/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/config/LoadingDataSource.java index 7cf5a87..fe98f5a 100644 --- a/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/config/LoadingDataSource.java +++ b/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/config/LoadingDataSource.java @@ -2,6 +2,7 @@ package com.ccsens.framework.config; import cn.hutool.core.collection.CollectionUtil; import com.ccsens.common.utils.ExceptionUtil; +import com.ccsens.common.utils.StringUtils; import com.ccsens.framework.datasource.DataSourceManager; import com.ccsens.framework.datasource.DynamicDataSource; import com.ccsens.system.domain.po.UmsDataSource; @@ -10,6 +11,7 @@ import com.ccsens.system.persist.mapper.UmsDataSourceMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; import org.springframework.scheduling.annotation.Scheduled; @@ -51,5 +53,9 @@ public class LoadingDataSource implements InitializingBean { log.error("加载数据源失败:", ExceptionUtil.getExceptionMessage(e)); } } + + // 3. 打印当前所有数据源 + log.info("当前数据源池中的key: {}", DataSourceManager.DATA_SOURCE_POOL_JDBC.keySet()); } + } \ No newline at end of file diff --git a/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/datasource/DataSourceManager.java b/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/datasource/DataSourceManager.java index d5a201a..1e80c29 100644 --- a/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/datasource/DataSourceManager.java +++ b/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/datasource/DataSourceManager.java @@ -1,5 +1,6 @@ package com.ccsens.framework.datasource; +import com.ccsens.common.utils.StringUtils; import com.ccsens.system.domain.po.UmsDataSource; import com.zaxxer.hikari.HikariDataSource; import org.springframework.stereotype.Component; diff --git a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/dto/PmsPatientDto.java b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/dto/PmsPatientDto.java index b3bc3c6..278376f 100644 --- a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/dto/PmsPatientDto.java +++ b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/dto/PmsPatientDto.java @@ -69,7 +69,7 @@ public class PmsPatientDto { private String patientNumber; @ApiModelProperty("病人住院号") private String hospitalNumber; - @NotNull(message="请填写身份证号") +// @NotNull(message="请填写身份证号") @ApiModelProperty("病人身份证号") private String idcard; @NotNull(message = "请选择性别") @@ -101,7 +101,7 @@ public class PmsPatientDto { // @NotNull(message="请填写联系人") // @ApiModelProperty("联系人") // private String contact; - @NotNull(message = "请填写联系电话") +// @NotNull(message = "请填写联系电话") @ApiModelProperty("手机") private String mobile; @ApiModelProperty("电话") diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/persist/dao/HisConnectionDao.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/persist/dao/HisConnectionDao.java index 6a1b4a0..adffd3c 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/persist/dao/HisConnectionDao.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/persist/dao/HisConnectionDao.java @@ -16,4 +16,7 @@ public interface HisConnectionDao { @DataSource(DataSourceType.SLAVE) List getBlxx(String cardNo); + + @DataSource(DataSourceType.SLAVE) + List getBlxxAll(); } diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/LtHisConnectionServiceImpl.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/LtHisConnectionServiceImpl.java index 5c26236..65f0a6f 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/LtHisConnectionServiceImpl.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/LtHisConnectionServiceImpl.java @@ -2,6 +2,7 @@ package com.ccsens.client.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.extra.pinyin.PinyinUtil; import cn.hutool.http.HttpRequest; @@ -38,7 +39,6 @@ import static com.ccsens.common.utils.SecurityUtils.getLoginUser; */ @Slf4j @Service -@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public class LtHisConnectionServiceImpl implements ILtHisConnectionService { @Resource @@ -74,12 +74,21 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { @Override public List queryHisPatient(String cardNo) { + List gmxx = new ArrayList<>(); + try { + gmxx = hisConnectionDao.getGmxx(cardNo); + log.info("查询视图gmxx成功:{}", gmxx); + }catch (Exception e){ + log.error("查询视图gmxx异常", e); + } try { PmsPatientVo.PatientList patientByCardNo = getPatientByCardNo(cardNo); if (ObjectUtil.isNotNull(patientByCardNo)) { //查找到患者信息,先添加基本信息 PmsPatient patient = new PmsPatient(); BeanUtil.copyProperties(patientByCardNo, patient); + patient.setName(patientByCardNo.getPatientName()); + patient.setIdcard(patientByCardNo.getIdCardEncrypt()); LoginUser loginUser = getLoginUser(); patient.setHospitalId(loginUser.getHospitalId()); PmsPatientVo.PatientInfo pmsPatient = patientService.editPatient(patient); @@ -113,6 +122,7 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { return null; } }catch (Exception e){ + log.error("查询患者失败", e); return null; } } @@ -134,15 +144,16 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { try { JSONObject json = JSONUtil.parseObj(body); +// String localJsonStr = FileUtil.readUtf8String("C:\\Users\\dou\\Desktop\\柳铁部署\\lthis.json"); +// JSONObject json = JSONUtil.parseObj(localJsonStr); log.info("【RP1.1.4S054】查询患者档案信息接口-返回数据: {}", json); // 获取data数组 - JSONArray dataArray = json.getJSONArray("data"); - if (CollUtil.isEmpty(dataArray)) { - log.warn("查询患者档案信息接口返回data为空或空数组"); + JSONObject data = json.getJSONObject("data"); + if (CollUtil.isEmpty(data)) { + log.warn("查询患者档案信息接口返回data为空"); return null; } // 取第一个患者信息 - JSONObject data = dataArray.getJSONObject(0); patientVo = new PmsPatientVo.PatientList(); patientVo.setPatientName(data.getStr("patientName")); String genderCode = data.getStr("genderCode"); @@ -162,10 +173,11 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { patientVo.setContactMobile(data.getStr("linkmanTel")); patientVo.setIdCardType(data.getStr("idCardType")); patientVo.setIdCard(data.getStr("idCardNumber")); + patientVo.setIdCardEncrypt(data.getStr("idCardNumber")); patientVo.setAboBloodType(data.getStr("bloodCode")); //TODO 职业和婚姻状况待定 -// patient.setMaritalStatus(data.getStr("mari")); -// patient.setCareer(data.getStr("profCode")); + patientVo.setMaritalStatus(Byte.valueOf(data.getStr("mari"))); + patientVo.setCareer(Byte.valueOf(data.getStr("profCode"))); log.info("处理后的patient信息: {}", patientVo); } catch (Exception e) { log.error("查询患者档案信息异常", e); @@ -198,9 +210,21 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { JSONObject zyData = getApiData(zyResponse, "【RP2.1.7S063】查询住院患者入院记录"); //查视图过敏信息 - List gmxx = hisConnectionDao.getGmxx(cardNo); + List gmxx = new ArrayList<>(); + try { + gmxx = hisConnectionDao.getGmxx(cardNo); + log.info("查询视图gmxx成功:{}", gmxx); + }catch (Exception e){ + log.error("查询视图gmxx异常", e); + } //查视图病历信息 - List blxx = hisConnectionDao.getBlxx(cardNo); + List blxx = new ArrayList<>(); + try { + blxx = hisConnectionDao.getBlxx(cardNo); + log.info("查询视图blxx成功:{}", blxx); + }catch (Exception e){ + log.error("查询视图blxx异常", e); + } //构建返回信息 Map>> result = new HashMap<>(); @@ -230,7 +254,9 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { } } personalList.add(personal); - result.put("pmsPatientPersonal", personalList); + if(CollUtil.isNotEmpty(personalList)){ + result.put("pmsPatientPersonal", personalList); + } //TODO "诊断用药(多个)对应数据库现病史 PmsPatientParentIllness" 暂无 @@ -282,7 +308,9 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { } } bodyList.add(bodyInfo); - result.put("pmsPatientBody", bodyList); + if(CollUtil.isNotEmpty(bodyList)){ + result.put("pmsPatientBody", bodyList); + } //TODO 暂无 tz T值 // oxygenSaturation 血氧饱和度 @@ -303,12 +331,13 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { String mzBody = response.body(); try { JSONObject json = JSONUtil.parseObj(mzBody); - JSONArray dataArray = json.getJSONArray("data"); + JSONObject dataArray = json.getJSONObject("data"); +// JSONArray dataArray = json.getJSONArray("data"); if (CollUtil.isEmpty(dataArray)) { log.warn(errorString + "接口返回data为空或空数组"); return null; } - mzData = dataArray.getJSONObject(0); + mzData = dataArray; }catch (Exception e){ log.error(errorString + "接口-请求失败: {}", response.getStatus()); } @@ -319,6 +348,7 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { } private HttpResponse getHttpResponse(String url) { + log.info("调用接口:{}", url); return HttpRequest.get(url) .header("Content-Type", "application/json;charset=utf-8") .header("Domain", "LNPG") @@ -328,6 +358,7 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { } private HttpResponse postHttpResponse(String url, Map params) { + log.info("调用接口:{}--参数:{}", url, params); return HttpRequest.post(url) .header("Content-Type", "application/json;charset=utf-8") .header("Domain", "LNPG") diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/PmsPatientServiceImpl.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/PmsPatientServiceImpl.java index 2ae0c85..a8ef1a1 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/PmsPatientServiceImpl.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/PmsPatientServiceImpl.java @@ -292,7 +292,8 @@ public class PmsPatientServiceImpl implements IPmsPatientService { } log.info("{}:{}", methodName, json); //请求参数 - Class modelClass = Class.forName("com.ccsens.system.domain.po." + type); + String className = type.substring(0, 1).toUpperCase() + type.substring(1); + Class modelClass = Class.forName("com.ccsens.system.domain.po." + className); Object model = json.toJavaObject(modelClass); //方法 Method method = bean.getClass().getMethod(methodName, modelClass); diff --git a/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml b/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml index bfc1d32..44e3587 100644 --- a/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml +++ b/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml @@ -15,10 +15,11 @@ spring: # 从库数据源 slave: # 从数据源开关/默认关闭 - enabled: false - url: - username: - password: + enabled: true + driverClassName: oracle.jdbc.driver.OracleDriver + url: jdbc:oracle:thin:@200.1.8.115:1521:hisdb + username: interface_lnpg + password: interface_lnpg # 初始连接数 initialSize: 5 # 最小连接池数量 diff --git a/ruisi_java/ruisi-web-client/src/main/resources/mapper/dao/HisConnectionDao.xml b/ruisi_java/ruisi-web-client/src/main/resources/mapper/dao/HisConnectionDao.xml index b9cd1d1..e7bea00 100644 --- a/ruisi_java/ruisi-web-client/src/main/resources/mapper/dao/HisConnectionDao.xml +++ b/ruisi_java/ruisi-web-client/src/main/resources/mapper/dao/HisConnectionDao.xml @@ -7,4 +7,7 @@ + \ No newline at end of file From 16a502abd12132b82e7941241675df92546c5e95 Mon Sep 17 00:00:00 2001 From: ccsens_zhengzhichuan Date: Thu, 29 Jan 2026 10:39:49 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=AD=E5=8C=BB?= =?UTF-8?q?=E4=BD=93=E8=B4=A8=E9=87=8F=E8=A1=A8=E9=87=8D=E6=96=B0=E8=B5=8B?= =?UTF-8?q?=E5=BE=97=E5=88=86=E5=80=BC=E7=9A=84bug=20=20=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=82=A3=E8=80=85=E6=8E=A5=E5=8F=A3=20=E8=BA=AB?= =?UTF-8?q?=E4=BB=BD=E8=AF=81=E4=B8=8D=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ccsens/system/domain/dto/PmsPatientDto.java | 2 +- .../java/com/ccsens/client/service/impl/RmsServiceImpl.java | 4 +++- .../ruisi-web-client/src/main/resources/application-dev.yml | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/dto/PmsPatientDto.java b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/dto/PmsPatientDto.java index b3bc3c6..6a6172d 100644 --- a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/dto/PmsPatientDto.java +++ b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/dto/PmsPatientDto.java @@ -69,7 +69,7 @@ public class PmsPatientDto { private String patientNumber; @ApiModelProperty("病人住院号") private String hospitalNumber; - @NotNull(message="请填写身份证号") +// @NotNull(message="请填写身份证号") @ApiModelProperty("病人身份证号") private String idcard; @NotNull(message = "请选择性别") diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/RmsServiceImpl.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/RmsServiceImpl.java index 7e0dc1b..fc2f614 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/RmsServiceImpl.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/RmsServiceImpl.java @@ -217,7 +217,9 @@ public class RmsServiceImpl implements IRmsService { List rmsReportScaleScores = rmsReportScaleScoreMapper.selectByExample(scoreExample); if (CollUtil.isNotEmpty(rmsReportScaleScores)) { score.setImpression(rmsReportScaleScores.get(0).getImpression()); - score.setScore(rmsReportScaleScores.get(0).getScore()); + if ("TZBS_LN".equals(score.getCode()) || "TZBS_BZ".equals(score.getCode())) { + score.setScore(rmsReportScaleScores.get(0).getScore()); + } reportScaleScoreMap.put(score.getCode(), rmsReportScaleScores.get(0)); } diff --git a/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml b/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml index bfc1d32..0cfaf73 100644 --- a/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml +++ b/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml @@ -11,7 +11,7 @@ spring: # password: po3OynBO[M3579p6L7)o url: jdbc:mysql://127.0.0.1:3306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: 123456 + password: q7510327 # 从库数据源 slave: # 从数据源开关/默认关闭 From 6a4965009ecabb93f904ad253703c5a6ff27004e Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Thu, 29 Jan 2026 14:14:40 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=B9=E6=8E=A5?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=92=8C=E6=95=B0=E6=8D=AE=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datasource/DynamicDataSource.java | 11 ++++- .../client/controller/PmsController.java | 19 ++++++-- .../impl/LtHisConnectionServiceImpl.java | 47 ++++++++++--------- .../client/service/impl/RmsServiceImpl.java | 4 +- .../src/main/resources/application-dev.yml | 6 +-- 5 files changed, 55 insertions(+), 32 deletions(-) diff --git a/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/datasource/DynamicDataSource.java b/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/datasource/DynamicDataSource.java index c2987ae..8e189ee 100644 --- a/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/datasource/DynamicDataSource.java +++ b/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/datasource/DynamicDataSource.java @@ -5,6 +5,7 @@ import java.sql.SQLException; import java.util.Map; import javax.sql.DataSource; +import cn.hutool.core.collection.CollUtil; import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; /** @@ -38,13 +39,19 @@ public class DynamicDataSource extends AbstractRoutingDataSource { if (dataSourceKey == null) { return super.getResolvedDefaultDataSource(); } - DataSource dataSource = DataSourceManager.DATA_SOURCE_POOL_JDBC.get(dataSourceKey); + + DataSource dataSource; + Map resolvedDataSources = super.getResolvedDataSources(); + if (CollUtil.isNotEmpty(resolvedDataSources) && resolvedDataSources.containsKey(dataSourceKey)) { + dataSource = resolvedDataSources.get(dataSourceKey); + }else { + dataSource = DataSourceManager.DATA_SOURCE_POOL_JDBC.get(dataSourceKey); + } if (dataSource == null) { throw new RuntimeException("数据源不存在!"); } - return dataSource; } diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java index a0e49a2..f13c51a 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java @@ -35,9 +35,11 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Collectors; /** @@ -87,7 +89,15 @@ public class PmsController extends BaseController { if (CollUtil.isNotEmpty(serverList)) { list.addAll(serverList); } - return JsonResponse.ok(new PageInfo<>(list)); + + // 创建一个 TreeSet,通过 Comparator 根据 patientId 去重 + Set uniqueSet = new TreeSet<>( + Comparator.comparing(PmsPatientVo.PatientList::getPatientId) + ); + uniqueSet.addAll(list); + List uniqueList = new ArrayList<>(uniqueSet); + + return JsonResponse.ok(new PageInfo<>(uniqueList)); } @ApiOperation("通过身份证号查询患者信息,方便页面展示返回和列表一样的格式") @@ -320,7 +330,6 @@ public class PmsController extends BaseController { @Anonymous - @ApiOperation("流调版数据查询") @PostMapping("/testHis") public JsonResponse testHis(@RequestBody @Validated String cardNo) { //关键字不为空,且长度等于10,先查询院内his信息 diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/LtHisConnectionServiceImpl.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/LtHisConnectionServiceImpl.java index 65f0a6f..88a14f8 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/LtHisConnectionServiceImpl.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/LtHisConnectionServiceImpl.java @@ -11,12 +11,14 @@ import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.ccsens.client.persist.dao.HisConnectionDao; +import com.ccsens.client.persist.dao.PmsPatientDao; import com.ccsens.client.service.ILtHisConnectionService; import com.ccsens.client.service.IPmsPatientService; import com.ccsens.common.core.domain.model.LoginUser; import com.ccsens.common.utils.IDGenerator; import com.ccsens.system.domain.dto.PmsPatientDto; import com.ccsens.system.domain.po.PmsPatient; +import com.ccsens.system.domain.po.PmsPatientExample; import com.ccsens.system.domain.vo.PmsPatientVo; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.formula.functions.T; @@ -45,6 +47,8 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { private HisConnectionDao hisConnectionDao; @Resource private IPmsPatientService patientService; + @Resource + private PmsPatientDao patientDao; /** * 前端调用查询列表接口,如果有数据则直接返回 @@ -74,26 +78,36 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { @Override public List queryHisPatient(String cardNo) { - List gmxx = new ArrayList<>(); + LoginUser loginUser = null; try { - gmxx = hisConnectionDao.getGmxx(cardNo); - log.info("查询视图gmxx成功:{}", gmxx); + loginUser = getLoginUser(); }catch (Exception e){ - log.error("查询视图gmxx异常", e); } try { PmsPatientVo.PatientList patientByCardNo = getPatientByCardNo(cardNo); if (ObjectUtil.isNotNull(patientByCardNo)) { + //检查当前患者信息是否在系统内已存在 + PmsPatient pmsPatient; + PmsPatientExample example = new PmsPatientExample(); + example.createCriteria().andIdcardEqualTo(patientByCardNo.getIdCardEncrypt()).andDelFlagEqualTo((byte) 0); + List pmsPatients = patientDao.selectByExample(example); + if (CollUtil.isEmpty(pmsPatients)) { + pmsPatient = new PmsPatient(); + }else { + pmsPatient = pmsPatients.get(0); + } //查找到患者信息,先添加基本信息 - PmsPatient patient = new PmsPatient(); - BeanUtil.copyProperties(patientByCardNo, patient); - patient.setName(patientByCardNo.getPatientName()); - patient.setIdcard(patientByCardNo.getIdCardEncrypt()); - LoginUser loginUser = getLoginUser(); - patient.setHospitalId(loginUser.getHospitalId()); - PmsPatientVo.PatientInfo pmsPatient = patientService.editPatient(patient); + BeanUtil.copyProperties(patientByCardNo, pmsPatient); + pmsPatient.setName(patientByCardNo.getPatientName()); + pmsPatient.setIdcard(patientByCardNo.getIdCardEncrypt()); + pmsPatient.setHospitalId(ObjectUtil.isNull(loginUser) ? 176 : loginUser.getHospitalId()); + pmsPatient.setNameFull(PinyinUtil.getPinyin(pmsPatient.getName(), "")); + pmsPatient.setNameInitial(PinyinUtil.getFirstLetter(pmsPatient.getName(), "")); + pmsPatient.setPatientNumber(cardNo); + + PmsPatientVo.PatientInfo pmsPatientVo = patientService.editPatient(pmsPatient); //保存id - patientByCardNo.setPatientId(pmsPatient.getId()); + patientByCardNo.setPatientId(pmsPatientVo.getId()); //根据cardNo查询其他信息 try { Map>> patientOtherMsgByCardNo = getPatientOtherMsgByCardNo(cardNo); @@ -183,15 +197,6 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService { log.error("查询患者档案信息异常", e); return null; } - //根据查找到的信息,添加pms_patient数据 - PmsPatient patientInfo = new PmsPatient(); - BeanUtil.copyProperties(patientVo, patientInfo); - patientInfo.setName(patientVo.getPatientName()); - patientInfo.setNameFull(PinyinUtil.getPinyin(patientInfo.getName(), "")); - patientInfo.setNameInitial(PinyinUtil.getFirstLetter(patientInfo.getName(), "")); - patientInfo.setIdcard(patientVo.getIdCard()); - patientInfo.setPatientNumber(cardNo); - return patientVo; } diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/RmsServiceImpl.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/RmsServiceImpl.java index 7e0dc1b..fc2f614 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/RmsServiceImpl.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/RmsServiceImpl.java @@ -217,7 +217,9 @@ public class RmsServiceImpl implements IRmsService { List rmsReportScaleScores = rmsReportScaleScoreMapper.selectByExample(scoreExample); if (CollUtil.isNotEmpty(rmsReportScaleScores)) { score.setImpression(rmsReportScaleScores.get(0).getImpression()); - score.setScore(rmsReportScaleScores.get(0).getScore()); + if ("TZBS_LN".equals(score.getCode()) || "TZBS_BZ".equals(score.getCode())) { + score.setScore(rmsReportScaleScores.get(0).getScore()); + } reportScaleScoreMap.put(score.getCode(), rmsReportScaleScores.get(0)); } diff --git a/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml b/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml index 44e3587..93dd86f 100644 --- a/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml +++ b/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml @@ -17,9 +17,9 @@ spring: # 从数据源开关/默认关闭 enabled: true driverClassName: oracle.jdbc.driver.OracleDriver - url: jdbc:oracle:thin:@200.1.8.115:1521:hisdb - username: interface_lnpg - password: interface_lnpg + url: jdbc:mysql://127.0.0.1:3306/biological_age?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + username: root + password: 123456 # 初始连接数 initialSize: 5 # 最小连接池数量 From 5811036d6dd5d23b7961ba8d3090a793a51ed709 Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Thu, 29 Jan 2026 14:15:09 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=B9=E6=8E=A5?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=92=8C=E6=95=B0=E6=8D=AE=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruisi-web-client/src/main/resources/application-dev.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml b/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml index 93dd86f..bfc63f7 100644 --- a/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml +++ b/ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml @@ -15,11 +15,7 @@ spring: # 从库数据源 slave: # 从数据源开关/默认关闭 - enabled: true - driverClassName: oracle.jdbc.driver.OracleDriver - url: jdbc:mysql://127.0.0.1:3306/biological_age?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 - username: root - password: 123456 + enabled: false # 初始连接数 initialSize: 5 # 最小连接池数量 From d5da96b24c5919be9d1c38ece64cc3ba8b111e9b Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Thu, 29 Jan 2026 15:04:53 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E5=90=88=E5=B9=B6=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-prod.yml | 4 +-- .../client/controller/PmsController.java | 32 +++++++++---------- .../src/main/resources/application-prod.yml | 4 +-- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml b/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml index 8d5cd9a..bab1f56 100644 --- a/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml +++ b/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml @@ -6,9 +6,9 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://200.1.8.141:23306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://192.168.0.128:3306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: xian#2024!!! + password: Sxinf18aA # 从库数据源 slave: # 从数据源开关/默认关闭 diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java index f13c51a..a5eb2e4 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/PmsController.java @@ -62,15 +62,15 @@ public class PmsController extends BaseController { @PostMapping("/queryList") public JsonResponse> queryPatientList(@RequestBody @Validated BaseDto dto) { List list = new ArrayList<>(); - - PmsPatientDto.QueryPatient param = dto.getParam(); - if (StrUtil.isNotEmpty(param.getSearchValue()) && param.getSearchValue().length() == 10) { - //关键字不为空,且长度等于10,先查询院内his信息 - List hisList = ltHisConnectionService.queryHisPatient(param.getSearchValue()); - if (CollUtil.isNotEmpty(hisList)) { - list.addAll(hisList); - } - } +// +// PmsPatientDto.QueryPatient param = dto.getParam(); +// if (StrUtil.isNotEmpty(param.getSearchValue()) && param.getSearchValue().length() == 10) { +// //关键字不为空,且长度等于10,先查询院内his信息 +// List hisList = ltHisConnectionService.queryHisPatient(param.getSearchValue()); +// if (CollUtil.isNotEmpty(hisList)) { +// list.addAll(hisList); +// } +// } //获取用户的权限 LoginUser loginUser = SecurityUtils.getLoginUser(); @@ -329,11 +329,11 @@ public class PmsController extends BaseController { } - @Anonymous - @PostMapping("/testHis") - public JsonResponse testHis(@RequestBody @Validated String cardNo) { - //关键字不为空,且长度等于10,先查询院内his信息 - List hisList = ltHisConnectionService.queryHisPatient(cardNo); - return JsonResponse.ok(hisList); - } +// @Anonymous +// @PostMapping("/testHis") +// public JsonResponse testHis(@RequestBody @Validated String cardNo) { +// //关键字不为空,且长度等于10,先查询院内his信息 +// List hisList = ltHisConnectionService.queryHisPatient(cardNo); +// return JsonResponse.ok(hisList); +// } } diff --git a/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml b/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml index 040384e..a0f2e91 100644 --- a/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml +++ b/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml @@ -6,9 +6,9 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://200.1.8.141:23306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://192.168.0.128:3306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: xian#2024!!! + password: Sxinf18aA # 从库数据源 slave: # 从数据源开关/默认关闭 From e2627abf38c498cf80d02c014d3880e38f6db24c Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Thu, 29 Jan 2026 16:32:37 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E6=B5=8B=E8=AF=84=E5=92=8C=E6=8A=A5?= =?UTF-8?q?=E5=91=8A=E5=8D=95=E5=85=B3=E8=81=94=E5=B0=B1=E8=AF=8A=E5=8F=B7?= =?UTF-8?q?=EF=BC=8C=E5=AF=BC=E5=87=BA=E5=8C=BB=E7=94=9F=E7=89=88=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E6=97=B6=E4=BF=9D=E5=AD=98=E8=B7=AF=E5=BE=84=E5=88=B0?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E5=8D=95=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mbg.xml | 6 +- .../com/ccsens/system/domain/dto/RmsDto.java | 10 +++ .../system/domain/po/EmsEvaluation.java | 11 +++ .../domain/po/EmsEvaluationExample.java | 70 +++++++++++++++++++ .../ccsens/system/domain/po/RmsReport.java | 11 +++ .../system/domain/po/RmsReportExample.java | 70 +++++++++++++++++++ .../mapper/system/EmsEvaluationMapper.xml | 27 +++++-- .../mapper/system/RmsReportMapper.xml | 27 +++++-- .../admin/controller/ReportPdfController.java | 40 +++++++++++ .../com/ccsens/admin/service/IRmsService.java | 4 ++ .../admin/service/impl/RmsServiceImpl.java | 38 ++++++++++ .../src/main/resources/application-prod.yml | 9 ++- .../service/impl/AmsReportServiceImpl.java | 17 +++++ .../client/service/impl/IEmsServiceImpl.java | 13 ++++ .../client/service/impl/RmsServiceImpl.java | 1 + 15 files changed, 338 insertions(+), 16 deletions(-) create mode 100644 ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/controller/ReportPdfController.java diff --git a/ruisi_java/ruisi-cc-generator/src/main/resources/mbg.xml b/ruisi_java/ruisi-cc-generator/src/main/resources/mbg.xml index f73c053..e5547e9 100644 --- a/ruisi_java/ruisi-cc-generator/src/main/resources/mbg.xml +++ b/ruisi_java/ruisi-cc-generator/src/main/resources/mbg.xml @@ -81,7 +81,7 @@ - + @@ -114,7 +114,7 @@ - +
@@ -122,7 +122,7 @@ -
+ diff --git a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/dto/RmsDto.java b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/dto/RmsDto.java index 51b7110..a903baa 100644 --- a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/dto/RmsDto.java +++ b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/dto/RmsDto.java @@ -252,4 +252,14 @@ public class RmsDto { @ApiModelProperty("结束时间") private String endTime; } + + @ApiModel("导出历史报告单-DTO") + @Data + public static class ReportPDF{ + @ApiModelProperty("患者的就诊流水号") + private String patientNo; + @ApiModelProperty("医护人员工号") + private String emplCode; + } + } diff --git a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/EmsEvaluation.java b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/EmsEvaluation.java index d34f26e..711b3ed 100644 --- a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/EmsEvaluation.java +++ b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/EmsEvaluation.java @@ -44,6 +44,8 @@ public class EmsEvaluation implements Serializable { private String version; + private String visitNo; + private static final long serialVersionUID = 1L; public Long getId() { @@ -206,6 +208,14 @@ public class EmsEvaluation implements Serializable { this.version = version == null ? null : version.trim(); } + public String getVisitNo() { + return visitNo; + } + + public void setVisitNo(String visitNo) { + this.visitNo = visitNo == null ? null : visitNo.trim(); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -232,6 +242,7 @@ public class EmsEvaluation implements Serializable { sb.append(", delFlag=").append(delFlag); sb.append(", status=").append(status); sb.append(", version=").append(version); + sb.append(", visitNo=").append(visitNo); sb.append("]"); return sb.toString(); } diff --git a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/EmsEvaluationExample.java b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/EmsEvaluationExample.java index 8ac7da7..dd90e61 100644 --- a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/EmsEvaluationExample.java +++ b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/EmsEvaluationExample.java @@ -1384,6 +1384,76 @@ public class EmsEvaluationExample { addCriterion("version not between", value1, value2, "version"); return (Criteria) this; } + + public Criteria andVisitNoIsNull() { + addCriterion("visit_no is null"); + return (Criteria) this; + } + + public Criteria andVisitNoIsNotNull() { + addCriterion("visit_no is not null"); + return (Criteria) this; + } + + public Criteria andVisitNoEqualTo(String value) { + addCriterion("visit_no =", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoNotEqualTo(String value) { + addCriterion("visit_no <>", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoGreaterThan(String value) { + addCriterion("visit_no >", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoGreaterThanOrEqualTo(String value) { + addCriterion("visit_no >=", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoLessThan(String value) { + addCriterion("visit_no <", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoLessThanOrEqualTo(String value) { + addCriterion("visit_no <=", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoLike(String value) { + addCriterion("visit_no like", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoNotLike(String value) { + addCriterion("visit_no not like", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoIn(List values) { + addCriterion("visit_no in", values, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoNotIn(List values) { + addCriterion("visit_no not in", values, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoBetween(String value1, String value2) { + addCriterion("visit_no between", value1, value2, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoNotBetween(String value1, String value2) { + addCriterion("visit_no not between", value1, value2, "visitNo"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/RmsReport.java b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/RmsReport.java index 20c4f09..94d9818 100644 --- a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/RmsReport.java +++ b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/RmsReport.java @@ -50,6 +50,8 @@ public class RmsReport implements Serializable { private Byte delFlag; + private String visitNo; + private static final long serialVersionUID = 1L; public Long getId() { @@ -236,6 +238,14 @@ public class RmsReport implements Serializable { this.delFlag = delFlag; } + public String getVisitNo() { + return visitNo; + } + + public void setVisitNo(String visitNo) { + this.visitNo = visitNo == null ? null : visitNo.trim(); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -265,6 +275,7 @@ public class RmsReport implements Serializable { sb.append(", updateBy=").append(updateBy); sb.append(", updateTime=").append(updateTime); sb.append(", delFlag=").append(delFlag); + sb.append(", visitNo=").append(visitNo); sb.append("]"); return sb.toString(); } diff --git a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/RmsReportExample.java b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/RmsReportExample.java index 4068288..ba89234 100644 --- a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/RmsReportExample.java +++ b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/po/RmsReportExample.java @@ -1614,6 +1614,76 @@ public class RmsReportExample { addCriterion("del_flag not between", value1, value2, "delFlag"); return (Criteria) this; } + + public Criteria andVisitNoIsNull() { + addCriterion("visit_no is null"); + return (Criteria) this; + } + + public Criteria andVisitNoIsNotNull() { + addCriterion("visit_no is not null"); + return (Criteria) this; + } + + public Criteria andVisitNoEqualTo(String value) { + addCriterion("visit_no =", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoNotEqualTo(String value) { + addCriterion("visit_no <>", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoGreaterThan(String value) { + addCriterion("visit_no >", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoGreaterThanOrEqualTo(String value) { + addCriterion("visit_no >=", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoLessThan(String value) { + addCriterion("visit_no <", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoLessThanOrEqualTo(String value) { + addCriterion("visit_no <=", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoLike(String value) { + addCriterion("visit_no like", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoNotLike(String value) { + addCriterion("visit_no not like", value, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoIn(List values) { + addCriterion("visit_no in", values, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoNotIn(List values) { + addCriterion("visit_no not in", values, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoBetween(String value1, String value2) { + addCriterion("visit_no between", value1, value2, "visitNo"); + return (Criteria) this; + } + + public Criteria andVisitNoNotBetween(String value1, String value2) { + addCriterion("visit_no not between", value1, value2, "visitNo"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/ruisi_java/ruisi-system/src/main/resources/mapper/system/EmsEvaluationMapper.xml b/ruisi_java/ruisi-system/src/main/resources/mapper/system/EmsEvaluationMapper.xml index 1597163..427b223 100644 --- a/ruisi_java/ruisi-system/src/main/resources/mapper/system/EmsEvaluationMapper.xml +++ b/ruisi_java/ruisi-system/src/main/resources/mapper/system/EmsEvaluationMapper.xml @@ -22,6 +22,7 @@ + @@ -84,7 +85,7 @@ id, doctor_name, patient_id, patient_idcard, patient_age, tester_id, serial_number, check_time, remark, hospital, complete_status, recording, duration, create_by, create_time, - update_by, update_time, del_flag, status, version + update_by, update_time, del_flag, status, version, visit_no @@ -328,6 +337,9 @@ version = #{record.version,jdbcType=VARCHAR}, + + visit_no = #{record.visitNo,jdbcType=VARCHAR}, + @@ -354,7 +366,8 @@ update_time = #{record.updateTime,jdbcType=TIMESTAMP}, del_flag = #{record.delFlag,jdbcType=TINYINT}, status = #{record.status,jdbcType=TINYINT}, - version = #{record.version,jdbcType=VARCHAR} + version = #{record.version,jdbcType=VARCHAR}, + visit_no = #{record.visitNo,jdbcType=VARCHAR} @@ -419,6 +432,9 @@ version = #{version,jdbcType=VARCHAR}, + + visit_no = #{visitNo,jdbcType=VARCHAR}, + where id = #{id,jdbcType=BIGINT} @@ -442,7 +458,8 @@ update_time = #{updateTime,jdbcType=TIMESTAMP}, del_flag = #{delFlag,jdbcType=TINYINT}, status = #{status,jdbcType=TINYINT}, - version = #{version,jdbcType=VARCHAR} + version = #{version,jdbcType=VARCHAR}, + visit_no = #{visitNo,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/ruisi_java/ruisi-system/src/main/resources/mapper/system/RmsReportMapper.xml b/ruisi_java/ruisi-system/src/main/resources/mapper/system/RmsReportMapper.xml index 68a0415..5fee6bd 100644 --- a/ruisi_java/ruisi-system/src/main/resources/mapper/system/RmsReportMapper.xml +++ b/ruisi_java/ruisi-system/src/main/resources/mapper/system/RmsReportMapper.xml @@ -25,6 +25,7 @@ + @@ -88,7 +89,7 @@ id, name, evaluation_id, initial_impression, clinical_diagnosis, pasi, patient_age, department, bed_number, report_time, evaluation_code, url, qr_code_url, sign_url, remark, show_status, hospital, working_score, create_by, create_time, update_by, - update_time, del_flag + update_time, del_flag, visit_no @@ -361,6 +370,9 @@ del_flag = #{record.delFlag,jdbcType=TINYINT}, + + visit_no = #{record.visitNo,jdbcType=VARCHAR}, + @@ -390,7 +402,8 @@ create_time = #{record.createTime,jdbcType=TIMESTAMP}, update_by = #{record.updateBy,jdbcType=VARCHAR}, update_time = #{record.updateTime,jdbcType=TIMESTAMP}, - del_flag = #{record.delFlag,jdbcType=TINYINT} + del_flag = #{record.delFlag,jdbcType=TINYINT}, + visit_no = #{record.visitNo,jdbcType=VARCHAR} @@ -464,6 +477,9 @@ del_flag = #{delFlag,jdbcType=TINYINT}, + + visit_no = #{visitNo,jdbcType=VARCHAR}, + where id = #{id,jdbcType=BIGINT} @@ -490,7 +506,8 @@ create_time = #{createTime,jdbcType=TIMESTAMP}, update_by = #{updateBy,jdbcType=VARCHAR}, update_time = #{updateTime,jdbcType=TIMESTAMP}, - del_flag = #{delFlag,jdbcType=TINYINT} + del_flag = #{delFlag,jdbcType=TINYINT}, + visit_no = #{visitNo,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/controller/ReportPdfController.java b/ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/controller/ReportPdfController.java new file mode 100644 index 0000000..256eabe --- /dev/null +++ b/ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/controller/ReportPdfController.java @@ -0,0 +1,40 @@ +package com.ccsens.admin.controller; + +import com.ccsens.admin.service.IRmsService; +import com.ccsens.common.annotation.Anonymous; +import com.ccsens.common.core.domain.JsonResponse; +import com.ccsens.system.domain.dto.RmsDto; +import com.ccsens.system.domain.vo.RmsVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.validation.Valid; + +/** + * @author zy + * @date 2026/1/29 15:25 + */ +@Slf4j +@Api(tags = "通过就诊号查询患者的评估报告单") +@RestController +@RequestMapping("") +public class ReportPdfController { + + @Resource + private IRmsService rmsService; + @Anonymous + @ApiOperation(value = "通过就诊号查询患者的评估报告单",notes = "") + @PostMapping(value="/reportPDF") + public JsonResponse generate(@RequestBody @ApiParam @Valid RmsDto.ReportPDF dto){ + log.info("通过就诊号查询患者的评估报告单:{}", dto); + String url = rmsService.viewReportPDF(dto); + return JsonResponse.ok(url); + } +} diff --git a/ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/service/IRmsService.java b/ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/service/IRmsService.java index 8e31804..1dc72dc 100644 --- a/ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/service/IRmsService.java +++ b/ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/service/IRmsService.java @@ -37,4 +37,8 @@ public interface IRmsService { List queryAllReports(RmsDto.AdminQueryReport param, Long userId); Workbook exportAnalyse(List ids); + + String viewReportPDF(RmsDto.ReportPDF dto); + + } diff --git a/ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/service/impl/RmsServiceImpl.java b/ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/service/impl/RmsServiceImpl.java index 4c93998..bbd736b 100644 --- a/ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/service/impl/RmsServiceImpl.java +++ b/ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/service/impl/RmsServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.ccsens.admin.persist.dao.RmsDao; @@ -13,16 +14,23 @@ import com.ccsens.common.config.AppConfig; import com.ccsens.common.constant.CultureEnum; import com.ccsens.common.constant.ErrorConstant; import com.ccsens.common.constant.GenConstants; +import com.ccsens.common.constant.JobEnum; import com.ccsens.common.core.redis.RedisCache; +import com.ccsens.common.enums.BaseEnum; +import com.ccsens.common.exception.ServiceException; import com.ccsens.common.exception.base.BaseException; import com.ccsens.common.utils.*; import com.ccsens.system.domain.dto.AmsDto; import com.ccsens.system.domain.dto.RmsDto; import com.ccsens.system.domain.po.*; +import com.ccsens.system.domain.vo.AmsReportVo; import com.ccsens.system.domain.vo.AmsVo; import com.ccsens.admin.domain.vo.LdPatientExportVo; +import com.ccsens.system.domain.vo.HmsVo; import com.ccsens.system.domain.vo.RmsVo; import com.ccsens.system.persist.mapper.*; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.data.*; import com.github.pagehelper.util.StringUtil; import com.itextpdf.text.BadElementException; import com.itextpdf.text.Image; @@ -31,6 +39,7 @@ import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.jfree.data.category.DefaultCategoryDataset; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -39,12 +48,16 @@ import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.io.IOException; import java.math.BigDecimal; +import java.nio.file.Files; +import java.nio.file.Paths; import java.text.DecimalFormat; import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; import static com.ccsens.common.constant.GenConstants.Ht.Report.MoCA_B_8; +import static com.ccsens.common.utils.PropUtil.path; +import static com.ccsens.common.utils.PropUtil.reportDomain; /** * @author:逗 @@ -77,6 +90,12 @@ public class RmsServiceImpl implements IRmsService { @Resource private ScoreService scoreService; + @Value("${informed.prefixWord}") + private String prefixWord; + + @Value("${file.reportPath}") + private String reportPath; + public int getAge(PmsPatient pmsPatient) { if (pmsPatient.getBirthYear() != null) { Calendar instance = Calendar.getInstance(); @@ -910,6 +929,25 @@ public class RmsServiceImpl implements IRmsService { return workbook; } + @Override + public String viewReportPDF(RmsDto.ReportPDF dto) { + if(StrUtil.isBlank(dto.getPatientNo())){ + throw new ServiceException("患者就诊号不能为空"); + } + //根据就诊流水号查询患者的 + RmsReport report; + RmsReportExample example = new RmsReportExample(); + example.createCriteria().andVisitNoEqualTo(dto.getPatientNo()).andDelFlagEqualTo((byte) 0); + List reports = rmsReportMapper.selectByExample(example); + if (CollectionUtil.isNotEmpty(reports)) { + report = reports.get(0); + if(ObjectUtil.isNotNull(report)){ + return report.getUrl(); + } + } + return null; + } + private void dealMMSEScored(List analyses) { analyses.forEach(analyse -> { List mmseScores = analyse.getMmseScores(); diff --git a/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml b/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml index bab1f56..e2d4ff8 100644 --- a/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml +++ b/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml @@ -102,15 +102,18 @@ file: path: /data/cgav2/server/profile/ #domain: https://api.ccsens.com/test/ domain: http://116.204.40.58/ruisiClient - imgDomain: https://test.tall.wiki/htageClient/profile - reportPath: /data/cgav2/server + imgDomain: http://116.204.40.58/ruisiClient/profile + reportDomain: /data/cgav2/server/profile + reportPath: /data/cgav2/server/profile ldTemplate: /data/cgav2/server/profile/upload/dTemplate.xlsx ldTjbgDir: /data/cgav2/server/profile/tjbg/ ldExportDir: /data/cgav2/server/profile/ldExport ldZQTYDir: /data/cgav2/server/profile/ldZQTYExport ldZQTYTemplate: /data/cgav2/server/profile/upload/2024年河津流调知情同意书模板-V1.docx + grPath: /data/cgav2/server/profile/grReportTemplate.docx + ysPath: /data/cgav2/server/profile/ysReportTemplate.docx informed: studySign: /data/cgav2/server/profile/studySign.png template: /data/cgav2/server/profile/知情同意模板.docx wordUrl: /data/cgav2/server/profile/informed/ - prefixWord: /data/cgav2/server/profile/ \ No newline at end of file + prefixWord: /data/cgav2/server/profile/ diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/AmsReportServiceImpl.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/AmsReportServiceImpl.java index 09cc462..e9e2452 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/AmsReportServiceImpl.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/AmsReportServiceImpl.java @@ -14,8 +14,10 @@ import com.ccsens.client.service.AmsReportService; import com.ccsens.client.service.IReportInfoService; import com.ccsens.client.service.IRmsService; import com.ccsens.common.constant.CultureEnum; +import com.ccsens.common.constant.ErrorConstant; import com.ccsens.common.constant.JobEnum; import com.ccsens.common.enums.BaseEnum; +import com.ccsens.common.exception.base.BaseException; import com.ccsens.common.utils.AsposeUtils; import com.ccsens.common.utils.SecurityUtils; import com.ccsens.common.utils.StringUtils; @@ -61,6 +63,8 @@ public class AmsReportServiceImpl implements AmsReportService { @Resource private IRmsService rmsService; @Resource + private RmsReportMapper rmsReportMapper; + @Resource private QmsScaleMapper qmsScaleMapper; @Resource private QmsScaleTypeMapper qmsScaleTypeMapper; @@ -963,6 +967,14 @@ public class AmsReportServiceImpl implements AmsReportService { @Override public AmsReportVo.Result exportYs(RmsDto.ExportReport1Dto dto) { + RmsReport report = rmsReportMapper.selectByPrimaryKey(dto.getReportId()); + if (ObjectUtil.isNotNull(report) && StrUtil.isNotBlank(report.getUrl())) { + AmsReportVo.Result result = new AmsReportVo.Result(); + result.setPath(report.getUrl()); + return result; + } + + RmsDto.QueryDetail queryDetail = new RmsDto.QueryDetail(); queryDetail.setEvaluationId(dto.getEvaluationId()); RmsVo.ReportDetail detail = rmsService.queryReportDetail(queryDetail); @@ -1184,6 +1196,11 @@ public class AmsReportServiceImpl implements AmsReportService { AmsReportVo.Result result = new AmsReportVo.Result(); result.setWord(filePath); result.setPath(pdfPath); + //将生成的文件路径保存到报告单内 + if(ObjectUtil.isNotNull(report)){ + report.setUrl(pdfPath); + rmsReportMapper.updateByPrimaryKeySelective(report); + } return result; } diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/IEmsServiceImpl.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/IEmsServiceImpl.java index 0626a81..422243e 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/IEmsServiceImpl.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/IEmsServiceImpl.java @@ -76,6 +76,8 @@ public class IEmsServiceImpl implements IEmsService { @Resource private PmsPatientMapper pmsPatientMapper; @Resource + private PmsPatientBodyMapper patientBodyMapper; + @Resource private AmsPatientAnswerScoreMapper amsPatientAnswerScoreMapper; @Resource private EmsEvaluationQuestionVersionMapper emsEvaluationQuestionVersionMapper; @@ -244,6 +246,14 @@ public class IEmsServiceImpl implements IEmsService { if (ObjectUtil.isNull(patient)) { throw new BaseException(ErrorConstant.PATIENT_ERROR); } + //查找患者就诊信息(pms_patient_body) + PmsPatientBody patientBody = null; + PmsPatientBodyExample patientBodyExample = new PmsPatientBodyExample(); + patientBodyExample.createCriteria().andPatientIdEqualTo(dto.getPatientId()); + List pmsPatientBodies = patientBodyMapper.selectByExample(patientBodyExample); + if (CollectionUtil.isNotEmpty(pmsPatientBodies)) { + patientBody = pmsPatientBodies.get(0); + } //查找病人信息 // emsEvaluation.setPatientAge(IdcardUtil.getAgeByIdCard(patient.getIdcard())); emsEvaluation.setPatientAge(getAge(patient)); @@ -251,6 +261,9 @@ public class IEmsServiceImpl implements IEmsService { emsEvaluation.setVersion(dto.getVersion()); emsEvaluation.setPatientId(dto.getPatientId()); emsEvaluation.setUpdateBy(loginUser.getUsername()); + if(ObjectUtil.isNotNull(patientBody)){ + emsEvaluation.setVisitNo(patientBody.getOutpatientNo()); + } return evaluationMapper.updateByPrimaryKeySelective(emsEvaluation); } diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/RmsServiceImpl.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/RmsServiceImpl.java index fc2f614..40259fc 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/RmsServiceImpl.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/RmsServiceImpl.java @@ -144,6 +144,7 @@ public class RmsServiceImpl implements IRmsService { emsEvaluation.setCompleteStatus(dto.getComplateStatus()); } emsEvaluationMapper.updateByPrimaryKeySelective(emsEvaluation); + report.setVisitNo(emsEvaluation.getVisitNo()); } rmsReportMapper.insertSelective(report); From 90b290e061347c4a39813beab98d9023e610ed46 Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Thu, 29 Jan 2026 16:38:25 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E5=90=88=E5=B9=B6master?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-prod.yml | 12 +++++------- .../src/main/resources/application-prod.yml | 4 ++-- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml b/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml index e2d4ff8..b018cfe 100644 --- a/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml +++ b/ruisi_java/ruisi-web-admin/src/main/resources/application-prod.yml @@ -6,9 +6,9 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://192.168.0.128:3306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://200.1.8.141:23306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: Sxinf18aA + password: xian#2024!!! # 从库数据源 slave: # 从数据源开关/默认关闭 @@ -102,18 +102,16 @@ file: path: /data/cgav2/server/profile/ #domain: https://api.ccsens.com/test/ domain: http://116.204.40.58/ruisiClient - imgDomain: http://116.204.40.58/ruisiClient/profile - reportDomain: /data/cgav2/server/profile - reportPath: /data/cgav2/server/profile + imgDomain: https://test.tall.wiki/htageClient/profile + reportPath: /data/cgav2/server ldTemplate: /data/cgav2/server/profile/upload/dTemplate.xlsx ldTjbgDir: /data/cgav2/server/profile/tjbg/ ldExportDir: /data/cgav2/server/profile/ldExport ldZQTYDir: /data/cgav2/server/profile/ldZQTYExport ldZQTYTemplate: /data/cgav2/server/profile/upload/2024年河津流调知情同意书模板-V1.docx - grPath: /data/cgav2/server/profile/grReportTemplate.docx - ysPath: /data/cgav2/server/profile/ysReportTemplate.docx informed: studySign: /data/cgav2/server/profile/studySign.png template: /data/cgav2/server/profile/知情同意模板.docx wordUrl: /data/cgav2/server/profile/informed/ prefixWord: /data/cgav2/server/profile/ + diff --git a/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml b/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml index a0f2e91..040384e 100644 --- a/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml +++ b/ruisi_java/ruisi-web-client/src/main/resources/application-prod.yml @@ -6,9 +6,9 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://192.168.0.128:3306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://200.1.8.141:23306/ruisi_cga?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: Sxinf18aA + password: xian#2024!!! # 从库数据源 slave: # 从数据源开关/默认关闭