diff --git a/README.md b/README.md
index f0ec1c36..e87f6aef 100644
--- a/README.md
+++ b/README.md
@@ -16,10 +16,10 @@
## 📚【支持文档】
-技术支持资源:https://open.tntlinking.com/resource/technicalSupport?site=gitee
+技术支持资源:https://open.tntlinking.com/resource/openProductDoc?site=gitee
(含演示环境、操作手册、部署手册、开发手册、常见问题等)
-产品介绍:https://open.tntlinking.com/resource/industryKnowledge?site=gitee
+产品介绍:https://open.tntlinking.com/resource/productPresentation?site=gitee
操作教程:https://open.tntlinking.com/resource/operationTutorial?site=gitee
diff --git a/openhis-server-new/core-admin/src/main/java/com/core/web/util/TenantOptionUtil.java b/openhis-server-new/core-admin/src/main/java/com/core/web/util/TenantOptionUtil.java
index 46db6d80..5c7b277b 100644
--- a/openhis-server-new/core-admin/src/main/java/com/core/web/util/TenantOptionUtil.java
+++ b/openhis-server-new/core-admin/src/main/java/com/core/web/util/TenantOptionUtil.java
@@ -3,6 +3,7 @@ package com.core.web.util;
import com.core.common.core.domain.model.LoginUser;
import com.core.common.enums.TenantOptionDict;
import com.core.common.utils.SecurityUtils;
+import com.core.common.utils.StringUtils;
/**
* 租户配置工具类
@@ -30,7 +31,12 @@ public class TenantOptionUtil {
if (loginUser.getOptionMap() == null || loginUser.getOptionMap().isEmpty()) {
return null;
}
- return loginUser.getOptionMap().get(optionDict.getCode());
+ // return loginUser.getOptionMap().get(optionDict.getCode());
+
+ // TODO:2025/10/17 李永兴提出的sys_option切换TenantOption临时防止报错方案,最晚2025年11月底删除
+ String newValue = loginUser.getOptionMap().get(optionDict.getCode());
+ String oldValue = loginUser.getOptionJson().getString(optionDict.getCode());
+ return StringUtils.isEmpty(newValue) ? oldValue : newValue;
}
}
diff --git a/openhis-server-new/core-common/pom.xml b/openhis-server-new/core-common/pom.xml
index c6b5ea4c..b73c4296 100644
--- a/openhis-server-new/core-common/pom.xml
+++ b/openhis-server-new/core-common/pom.xml
@@ -142,6 +142,11 @@
pinyin4j
+
+ com.google.code.gson
+ gson
+
+
\ No newline at end of file
diff --git a/openhis-server-new/core-common/src/main/java/com/core/common/enums/AdjustPriceEnum.java b/openhis-server-new/core-common/src/main/java/com/core/common/enums/AdjustPriceEnum.java
new file mode 100644
index 00000000..2bcde809
--- /dev/null
+++ b/openhis-server-new/core-common/src/main/java/com/core/common/enums/AdjustPriceEnum.java
@@ -0,0 +1,32 @@
+package com.core.common.enums;
+
+/**
+ * Desc: 调价类型枚举
+ * @Author raymond
+ * @Date 09:14 2025/10/16
+ * @return
+ **/
+public enum AdjustPriceEnum {
+
+ MEDICINE(0, "药品"),
+ CONSUMABLES(1, "耗材"),
+ DIAGNOSIS(2, "诊疗"),
+ REGISTER(3, "挂号");
+
+
+ private final Integer code;
+ private final String info;
+
+ AdjustPriceEnum(Integer code, String info) {
+ this.code = code;
+ this.info = info;
+ }
+
+ public Integer getCode() {
+ return code;
+ }
+
+ public String getInfo() {
+ return info;
+ }
+}
diff --git a/openhis-server-new/core-common/src/main/java/com/core/common/enums/TenantOptionDict.java b/openhis-server-new/core-common/src/main/java/com/core/common/enums/TenantOptionDict.java
index b6916595..a03a2d0f 100644
--- a/openhis-server-new/core-common/src/main/java/com/core/common/enums/TenantOptionDict.java
+++ b/openhis-server-new/core-common/src/main/java/com/core/common/enums/TenantOptionDict.java
@@ -6,166 +6,93 @@ package com.core.common.enums;
* @author system
*/
public enum TenantOptionDict {
+
/**
* 医院名称
*/
- HOSPITAL_NAME("hospitalName", "医院名称", 0),
+ YB_HOSPITAL_NAME("hospitalName", "医保-医院名称", 0),
+
/**
- * 医疗机构等级
+ * 医保-医疗机构等级(3101接口)
*/
- MEDINS_LV("medinsLv", "医疗机构等级", 1),
+ YB_MEDINS_LV("medinsLv", "医保_医疗机构等级", 1),
/**
* 定点医药机构编号
*/
- FIXMEDINS_CODE("fixmedinsCode", "定点医药机构编号", 2),
+ YB_FIXMEDINS_CODE("fixmedinsCode", "医保_定点医药机构编号", 2),
/**
* 电子发票appid
*/
- APP_ID("app_id", "电子发票appid", 3),
+ EINVOICE_APP_ID("app_id", "电子发票-appid", 3),
+
/**
* 电子发票key
*/
- KEY("key", "电子发票key", 4),
+ EINVOICE_KEY("key", "电子发票-key", 4),
+
/**
* 电子发票url
*/
- URL("url", "电子发票url", 5),
+ EINVOICE_URL("url", "电子发票-url", 5),
+
/**
* 医保开关
*/
YB_SWITCH("yb_switch", "医保开关", 6),
- /**
- * 客户端私钥
- */
- CLI_PRV_KEY("cliPrvKey", "客户端私钥", 7),
- /**
- * 客户端公钥
- */
- CLI_PUB_KEY("cliPubKey", "客户端公钥", 8),
- /**
- * 服务端公钥
- */
- SERVER_PUB_KEY("serverPubKey", "服务端公钥", 9),
- /**
- * 定点医药机构名称
- */
- FIXMEDINS_NAME("fixmedinsName", "定点医药机构名称", 10),
- /**
- * 行政区划
- */
- ADMVS("admvs", "行政区划", 11),
- /**
- * 授权范围
- */
- SCOPE("scope", "授权范围", 12),
- /**
- * 授权类型
- */
- GRANT_TYPE("grantType", "授权类型", 13),
- /**
- * 密码
- */
- PASSWORD("password", "密码", 14),
- /**
- * 用户名
- */
- USERNAME("username", "用户名", 15),
- /**
- * 客户端安全码
- */
- CLIENT_SECRET("clientSecret", "客户端安全码", 16),
- /**
- * 客户端ID
- */
- CLIENT_ID("clientId", "客户端ID", 17),
- /**
- * 生产环境客户端公钥
- */
- PROD_CLI_PUB_KEY("prod_cliPubKey", "生产环境客户端公钥", 18),
- /**
- * 生产环境客户端私钥
- */
- PROD_CLI_PRV_KEY("prod_cliPrvKey", "生产环境客户端私钥", 19),
- /**
- * 生产环境客户端ID
- */
- PROD_CLIENT_ID("prod_clientId", "生产环境客户端ID", 20),
- /**
- * 文件路径
- */
- FILE_PATH("filePath", "文件路径", 21),
+
/**
* 电子地址
*/
- ELE_ADDRESS("eleAddress", "电子地址", 22),
+ ELE_ADDRESS("eleAddress", "电子处方-请求地址", 22),
+
/**
* 服务地址
*/
ADDRESS("address", "服务地址", 23),
+
/**
* 超时时间
*/
TIME("time", "超时时间", 24),
+
/**
* 是否加密
*/
- IS_ENCRYPT("isEncrypt", "是否加密", 25),
+ YB_IS_ENCRYPT("isEncrypt", "医保-是否加密", 25),
/**
* 医保区划
*/
- INSUPLC_ADMDVS("insuplc_admdvs", "医保区划", 26),
+ YB_INSUPLC_ADMDVS("insuplc_admdvs", "医保-区划", 26),
+
/**
* 电子处方appId
*/
- PRE_APP_ID("pre_app_id", "电子处方appId", 27),
+ ELE_PRE_APP_ID("pre_app_id", "电子处方-appId", 27),
+
/**
* 电子处方appSecret
*/
- PRE_APP_SECRET("pre_app_secret", "电子处方appSecret", 28),
+ ELE_PRE_APP_SECRET("pre_app_secret", "电子处方-appSecret", 28),
+
/**
* 电子处方私钥
*/
- APP_PRVKEY("APP_PRVKEY", "电子处方私钥", 29),
+ ELE_APP_PRVKEY("APP_PRVKEY", "电子处方-私钥", 29),
+
/**
* 电子处方公钥
*/
- PLAF_PUBKEY("PLAF_PUBKEY", "电子处方公钥", 30),
- /**
- * 医保客户端ID
- */
- YB_CLIENT_ID("ybClientId", "医保客户端ID", 31),
- /**
- * 医保客户端安全码
- */
- YB_CLIENT_SECRET("ybClientSecret", "医保客户端安全码", 32),
- /**
- * 医保用户名
- */
- YB_USERNAME("ybUsername", "医保用户名", 33),
- /**
- * 医保密码
- */
- YB_PASSWORD("ybPassword", "医保密码", 34),
- /**
- * 医保授权类型
- */
- YB_GRANT_TYPE("ybGrantType", "医保授权类型", 35),
- /**
- * 医保授权范围
- */
- YB_SCOPE("ybScope", "医保授权范围", 36),
- /**
- * 医保密钥
- */
- YB_CLI_PRV_KEY("ybCliPrvKey", "医保密钥", 37),
- /**
- * 医保服务URL
- */
- YB_URL("ybUrl", "医保服务URL", 38),
+ ELE_PLAF_PUBKEY("PLAF_PUBKEY", "电子处方-公钥", 30),
+
/**
* 医院等级
*/
- HOSPITAL_LV("hospital_lv", "医院等级", 39),
+ EINVOICE_HOSPITAL_LV("hospital_lv", "电子发票-医院等级", 39),
+
+ /**
+ * 无视LIS&PACS报错
+ */
+ LIS_PACS_ERROR_IGNORE("lisPacsErrorIgnore", "无视LIS&PACS报错", 40),
/**
* LIS接口地址
*/
@@ -193,11 +120,11 @@ public enum TenantOptionDict {
/**
* PACSAppSecret
*/
- INVOICE_URL("invoiceUrl", "电子发票中转服务的路径", 46),
+ INVOICE_FORWARD_URL("invoiceUrl", "电子发票-中转服务的路径", 46),
/**
* PACSAppSecret
*/
- FORWARD_SWITCH("forwardSwitch", "电子发票中转服务开关", 47),
+ FORWARD_SWITCH("forwardSwitch", "电子发票-中转服务开关", 47),
/**
* 食源性开关
*/
@@ -229,7 +156,55 @@ public enum TenantOptionDict {
/**
* BPC请求URL
*/
- BPC_REQUEST_URL("bpcRequestUrl", "BPC请求URL", 55);
+ BPC_REQUEST_URL("bpcRequestUrl", "BPC请求URL", 55),
+ /**
+ * 电子发票开关
+ */
+ INVOICE_SWITCH("invoiceSwitch", "电子发票开关 (0:关闭 1:开启)", 56),
+
+ /**
+ * 医嘱定价来源
+ */
+ ORDER_PRICING_SOURCE("orderPricingSource", "定价来源 batchSellingPrice/retailPrice", 57),
+
+ /**
+ * 三方支付(签到)
+ */
+ THREE_PART_SIGN_URL("threePartSignUrl", "三方支付GET请求", 58),
+ /**
+ * 三方支付(消费)
+ */
+ THREE_PART_PAY_URL("threePartPayUrl", "三方支付GET请求", 59),
+
+ /**
+ * 三方支付(退费)
+ */
+ THREE_PART_RETURN_URL("threePartReturnUrl", "三方支付GET请求", 60),
+
+ /**
+ * 三方支付(隔天退费)
+ */
+ THREE_PART_NEXT_DAY_RETURN_URL("threePartNextDayReturnUrl", "三方支付GET请求", 61),
+
+ /**
+ * 三方支付路径(支付结果查询)
+ */
+ THREE_PART_PAY_QUERY_URL("threePartPayQueryUrl", "三方支付GET请求", 62),
+
+ /**
+ * 三方支付路径(退费结果查询)
+ */
+ THREE_PART_RETURN_QUERY_URL("threePartReturnQueryUrl", "三方支付GET请求", 63),
+
+ /**
+ * 三方支付路径(隔天退费结果查询)
+ */
+ THREE_PART_NEXT_DAY_RETURN_QUERY_URL("threePartNextDayReturnQueryUrl", "三方支付GET请求", 64),
+
+ /**
+ * 三方支付参数
+ */
+ THREE_PART_PARAM("threePartParam", "三方支付GET请求", 65);
private final String code;
private final String name;
@@ -241,18 +216,6 @@ public enum TenantOptionDict {
this.sort = sort;
}
- public String getCode() {
- return code;
- }
-
- public String getName() {
- return name;
- }
-
- public Integer getSort() {
- return sort;
- }
-
public static TenantOptionDict getByCode(String code) {
if (code == null) {
return null;
@@ -264,4 +227,16 @@ public enum TenantOptionDict {
}
return null;
}
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public Integer getSort() {
+ return sort;
+ }
}
diff --git a/openhis-server-new/core-common/src/main/java/com/core/common/utils/SecurityUtils.java b/openhis-server-new/core-common/src/main/java/com/core/common/utils/SecurityUtils.java
index 5fd0447a..67b7fd42 100644
--- a/openhis-server-new/core-common/src/main/java/com/core/common/utils/SecurityUtils.java
+++ b/openhis-server-new/core-common/src/main/java/com/core/common/utils/SecurityUtils.java
@@ -55,6 +55,17 @@ public class SecurityUtils {
}
}
+ /**
+ * 获取用户昵称
+ **/
+ public static String getNickName() {
+ try {
+ return getLoginUser().getUser().getNickName();
+ } catch (Exception e) {
+ throw new ServiceException("获取用户昵称异常", HttpStatus.UNAUTHORIZED);
+ }
+ }
+
/**
* 获取用户
**/
diff --git a/openhis-server-new/core-framework/src/main/java/com/core/framework/config/RedisConfig.java b/openhis-server-new/core-framework/src/main/java/com/core/framework/config/RedisConfig.java
index 779d8f2b..99dec13b 100644
--- a/openhis-server-new/core-framework/src/main/java/com/core/framework/config/RedisConfig.java
+++ b/openhis-server-new/core-framework/src/main/java/com/core/framework/config/RedisConfig.java
@@ -6,6 +6,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.ValueOperations;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@@ -45,6 +46,11 @@ public class RedisConfig extends CachingConfigurerSupport {
return redisScript;
}
+ @Bean
+ public ValueOperations