2025-12-06 发版,具体发版内容见发版记录

This commit is contained in:
whm
2025-12-06 11:41:04 +08:00
parent 82716b2cdd
commit 0c0d812ff9
986 changed files with 110558 additions and 25178 deletions

View File

@@ -1,5 +1,7 @@
package com.openhis.common.constant;
import java.math.BigDecimal;
/**
* 常量
*
@@ -41,6 +43,11 @@ public class CommonConstants {
*/
String SS_DD_FORMAT = "%s-%s-%d-%d";
/**
* 拼接符(s-d-d)
*/
String S_DD_FORMAT = "%s-%d-%d";
/**
* 逗号
*/
@@ -70,6 +77,16 @@ public class CommonConstants {
* 地区码
*/
String AREA_CODE = "000000";
/**
* GET
*/
String REQUEST_MAPPING_METHOD_GET = "GET";
/**
* POST
*/
String REQUEST_MAPPING_METHOD_POST = "POST";
}
/**
@@ -280,6 +297,11 @@ public class CommonConstants {
*/
String MedCategoryCode = "med_category_code";
/**
* 耗材分类
*/
String DevCategoryCode = "dev_category_code";
/**
* 门诊号
*/
@@ -320,7 +342,7 @@ public class CommonConstants {
String ChargeTime = "charge_time";
/**
* 审批时间
* 申请人
*/
String ApplicantName = "applicant_name";
@@ -339,6 +361,11 @@ public class CommonConstants {
*/
String ItemId = "item_id";
/**
* 项目编号
*/
String ItemNo = "item_no";
/**
* 项目所在表
*/
@@ -358,11 +385,22 @@ public class CommonConstants {
* 校对人Id
*/
String PerformerCheckId = "performer_check_id";
/**
* 单位
*/
String UnitCode = "unit_code";
/**
* 用法
*/
String MethodCode = "method_code";
/**
* 用药频次
*/
String RateCode = "rate_code";
/**
* 住院开始时间
*/
@@ -387,6 +425,17 @@ public class CommonConstants {
* 过期天数
*/
String RemainingDays = "remaining_days";
/**
* 追溯码
*/
String TraceNo = "trace_no";
/**
* encounter状态
*/
String StatusEnum = "status_enum";
}
/**
@@ -544,4 +593,129 @@ public class CommonConstants {
String DisDeviceDoctorName = "张桂英";
}
/**
* excel导出常量
*/
public interface ExcelOut {
// "0"的
String CONSTANTZERO = "0";
// 0.00
String CONSTANT_ZERO_DML = "0.00";
// 药品
String MEDICATION = "药品";
// 耗材
String DEVICE = "耗材";
// 未知类型
String UNKONWN_TYPE = "未知类型";
// 否
String NO = "";
// 是
String YES = "";
// BigDecimal类型的0
BigDecimal ZERO = new BigDecimal(0);
// 元
String YUAN = "";
}
/**
* excel导出的sheet名称
*/
public interface SheetName {
/**
* 发药明细
*/
String SHEET_NAME_DRUG_DETAIL = "发药明细";
/**
* 住院发药单
*/
String INPATIENT_DISPENSING = "住院发药单";
/**
* 库存明细记录
*/
String INVENTORY_DETAIL_RECORD = "库存明细记录";
/**
* 住院汇总单
*/
String INPATIENT_AGGREGATE_ORDER = "住院汇总单";
/**
* 调拨单据明细
*/
String TRANSFER_DOCUMENT_DETAIL = "调拨单据明细";
/**
* 入库单明细
*/
String WAREHOUSE_ENTRY_DETAIL = "入库单明细";
/**
* 盘点单明细
*/
String INVENTORY_LIST_DETAIL = "盘点单明细";
/**
* 采购退货明细
*/
String PURCHASE_RETURN_DETAIL = "采购退货明细";
/**
* 报损单据明细
*/
String LOSS_REPORT_DETAIL = "报损单据明细";
/**
* 领用单据明细
*/
String REQUISITION_FORM_DETAIL = "领用单据明细";
/**
* 退库单据明细
*/
String RETURN_WAREHOUSE_DETAIL = "退库单据明细";
/**
* 年度药品总收入
*/
String ANNUAL_TOTAL_DRUG_REVENUE = "年度药品总收入";
/**
* 药品调拨详情
*/
String DRUG_TRANSFER_DETAILS = "药品调拨详情";
/**
* 库存审批详情
*/
String INVENTORY_APPROVAL_DETAILS = "库存审批详情";
}
/**
* 导出时需要隐藏的列
*/
public interface CellName {
/**
* 源仓库
*/
String SOURCE_LOCATION_NAME = "sourceLocationName";
/**
* 目的仓库
*/
String PURPOSE_LOCATION_NAME = "purposeLocationName";
}
/**
* 工具方法常量
*/
public interface UtilMethodConstant {
/**
* 是否四舍五入(与余数作比较)的临界值 例0.86 -> 0.85 0.88 -> 0.90
*/
Double THRESHOLD_VALUE = 0.02;
}
/**
* 数字常量
*/
public interface NumConstant {
/**
* 数字 1
*/
Integer ONE = 1;
}
}

View File

@@ -35,9 +35,9 @@ public enum ActivityDefCategory implements HisEnumInterface {
ANESTHESIA(25, "25", "麻醉"),
/**
* 护理
* 护理级别
*/
NURSING(26, "26", "护理"),
NURSING(26, "26", "护理级别"),
/**
* 膳食
@@ -77,7 +77,7 @@ public enum ActivityDefCategory implements HisEnumInterface {
/**
* 死亡
*/
death(36, "36", "死亡"),
DEATH(36, "36", "死亡"),
/**
* 产后
@@ -107,7 +107,47 @@ public enum ActivityDefCategory implements HisEnumInterface {
/**
* 隔离等级
*/
ISOLATION_LEVEL(42, "42", "隔离等级");
ISOLATION_LEVEL(42, "42", "隔离等级"),
/**
* 口腔检查
*/
ORAL_EXAMINATION(43, "43", "口腔检查"),
/**
* 内镜检查
*/
ENDOSCOPY(44, "44", "内镜检查"),
/**
* 内镜治疗
*/
ENDOSCOPIC_THERAPY(45, "45", "内镜治疗"),
/**
* 基础服务
*/
BASIC_SERVICE(46, "46", "基础服务"),
/**
* 诊断费
*/
DIAGNOSIS_FEE(47, "47", "诊断费"),
/**
* 预防接种手续费
*/
VACCINATION_HANDLING_FEE(48, "48", "预防接种手续费"),
/**
* 口腔治疗
*/
ORAL_TREATMENT(49, "49", "口腔治疗"),
/**
* 护理项目
*/
NURSING_PROJECT(50, "50", "护理项目");
@EnumValue
private final Integer value;

View File

@@ -3,12 +3,15 @@
*/
package com.openhis.common.enums;
import lombok.Getter;
/**
* 采番前缀枚举
*
* @author zxy
* @date 2025-02-24
*/
@Getter
public enum AssignSeqEnum {
/**
@@ -357,7 +360,12 @@ public enum AssignSeqEnum {
/**
* 耗材汇总单号
*/
DEVICE_SUMMARY_NO("69", "耗材汇总单号", "DSN");
DEVICE_SUMMARY_NO("69", "耗材汇总单号", "DSN"),
/**
* 自动备份单据号
*/
AUTO_BACKUP_NO("70", "自动备份单据号", "ABU");
private final String code;
private final String info;
@@ -368,16 +376,4 @@ public enum AssignSeqEnum {
this.info = info;
this.prefix = prefix;
}
public String getCode() {
return code;
}
public String getInfo() {
return info;
}
public String getPrefix() {
return prefix;
}
}

View File

@@ -18,39 +18,39 @@ import lombok.Getter;
public enum CatalogType {
/**
* MEMBER_FIRST
* 西药中成药目录
*/
CATALOG_TYPE_1301(1301, "西药中成药目录"),
/**
* MEMBER_FIRST
* 中药饮片目录
*/
CATALOG_TYPE_1302(1302, "中药饮片目录"),
/**
* MEMBER_FIRST
* 医疗机构制剂目录
*/
CATALOG_TYPE_1303(1303, "医疗机构制剂目录"),
/**
* MEMBER_FIRST
* 民族药品目录
*/
CATALOG_TYPE_1304(1304, "民族药品目录"),
/**
* MEMBER_FIRST
* 医疗服务项目目录
*/
CATALOG_TYPE_1305(1305, "医疗服务项目目录"),
/**
* MEMBER_FIRST
* 医用耗材目录
*/
CATALOG_TYPE_1306(1306, "医用耗材目录"),
/**
* MEMBER_FIRST
* 疾病与诊断目录
*/
CATALOG_TYPE_1307(1307, "疾病与诊断目录"),
/**
* MEMBER_FIRST
* 手术操作目录
*/
CATALOG_TYPE_1308(1308, "手术操作目录"),
/**
* MEMBER_FIRST
* 门诊慢特病种目录
*/
CATALOG_TYPE_1309(1309, "门诊慢特病种目录"),
/**

View File

@@ -14,7 +14,12 @@ import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ClinicalStatus implements HisEnumInterface {
ACTIVE(1, "active", "阳性"), INACTIVE(2, "inactive", "阴性"), RESOLVED(3, "resolved", "已解决"),
ACTIVE(1, "active", "阳性"),
INACTIVE(2, "inactive", "阴性"),
RESOLVED(3, "resolved", "已解决"),
UNKNOWN(4, "unknown", "未知");
@EnumValue

View File

@@ -17,7 +17,9 @@ import lombok.Getter;
public enum Criticality implements HisEnumInterface {
LOW(0, "low", ""),
HIGH(1, "high", ""),
UNASSESSABLE(2, "unassessable", "无法评估");
@EnumValue

View File

@@ -1,51 +0,0 @@
package com.openhis.common.enums;
/**
* 删除标识
*
* @author system
*/
public enum DelFlag {
/**
* 未删除
*/
NO(0, "0", "未删除"),
/**
* 已删除
*/
YES(1, "1", "已删除");
private final Integer value;
private final String code;
private final String info;
DelFlag(Integer value, String code, String info) {
this.value = value;
this.code = code;
this.info = info;
}
public String getCode() {
return code;
}
public String getInfo() {
return info;
}
public Integer getValue() {
return value;
}
public static DelFlag getByValue(Integer value) {
if (value == null) {
return null;
}
for (DelFlag val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -1,31 +0,0 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum DeviceCategory implements HisEnumInterface {
ACTIVE(1, "1", "有源的"), COMMUNICATING(2, "2", "通讯类"), HOMEUSE(3, "3", "非院内使用"), IMPLANTABLE(4, "4", "植入类"),
IN_VITRO(5, "5", "试管类"), POINT_OF_CARE(6, "6", "床旁类"), SINGLE_USE(7, "7", "单次消耗类"), REUSABLE(8, "8", "可重用的"),
SOFTWARE(9, "9", "软件类"), DME(10, "10", "治疗设备");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static DeviceCategory getByValue(Integer value) {
if (value == null) {
return null;
}
for (DeviceCategory val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -77,10 +77,16 @@ public enum DispenseStatus implements HisEnumInterface {
* 已配药
*/
PREPARED(14, "PR", "已配药"),
/**
* 撤回
*/
CANCELLED(15, "CA", "撤回");
CANCELLED(15, "CA", "撤回"),
/**
* 待退药
*/
PENDING_REFUND(16, "PRD", "待退药");
private Integer value;
private String code;

View File

@@ -0,0 +1,25 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 来源(Source)类型
*
* @author swb
* @date 2025-11-26
*/
@Getter
@AllArgsConstructor
public enum DocDefinitionEnum{
ADMISSION_VITAL_SIGNS("1", "ADMISSION_VITAL_SIGNS", "入院体征"),
TEMPERATURE("4", "TEMPERATURE", "体温单"),
NURSING_RECORD("3", "NURSING_RECORD", "护理记录");
@EnumValue
private final String value;
private final String code;
private final String info;
}

View File

@@ -12,8 +12,8 @@ import lombok.Getter;
public enum DocStatusEnum implements HisEnumInterface {
DRAFT(0, "DRAFT", "草稿/暂存"),
SAVED(1, "SAVED", "提交"),
ARCHIVED(2, "ARCHIVED", "归档"),
UPDATED(3, "UPDATED", "修改");
ARCHIVED(2, "ARCHIVED", "归档");
// UPDATED(3, "UPDATED", "修改");
@EnumValue
private final Integer value;
private final String code;

View File

@@ -17,13 +17,13 @@ public enum EncounterZyStatus implements HisEnumInterface {
AWAITING_DISCHARGE(3, "awaiting-discharge", "待出院"),
DISCHARGED_FROM_HOSPITAL(4, "discharged-from-hospital", "出院"),
DISCHARGED_FROM_HOSPITAL(4, "discharged-from-hospital", "出院结算"),
ADMITTED_TO_THE_HOSPITAL(5, "admitted-to-the-hospital", "已入院"),
PENDING_TRANSFER(6, "pending-transfer", "待转科"),
ALREADY_SETTLED(7, "already-settled", "已结算");
ALREADY_SETTLED(7, "already-settled", "已结算出院");
@EnumValue
private final Integer value;

View File

@@ -0,0 +1,53 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum InstrumentCategory implements HisEnumInterface{
/**
* 仪器种类
*/
INSTRUMENT_TYPE_BLOOD_CELL_ANALYZER(1, "Blood Cell Analyzer", "血细胞分析仪"),
INSTRUMENT_TYPE_BLOOD_COAGULATION_ANALYZER(2, "Blood Coagulation Analyzer", "血凝仪"),
INSTRUMENT_TYPE_URINE_ANALYZER(3, "Urine Analyzer", "尿液分析仪"),
INSTRUMENT_TYPE_BLOOD_GAS_ANALYZER(4, "Blood Gas Analyzer", "血气分析仪"),
INSTRUMENT_TYPE_BIOCHEMICAL_ANALYZER(5, "Biochemical Analyzer", "生化分析仪"),
INSTRUMENT_TYPE_R_COUNTER(6, "R Counter", "R-计数器"),
INSTRUMENT_TYPE_GENE_AMPLIFICATION_INSTRUMENT(7, "Gene Amplification Instrument", "基因扩增仪"),
INSTRUMENT_TYPE_SEQUENCER(8, "Sequencer", "测序仪"),
INSTRUMENT_TYPE_ENZYME_LABELED_INSTRUMENT(9, "Enzyme Labeled Instrument", "酶标仪"),
INSTRUMENT_TYPE_ELECTROLYTE_ANALYZER(10, "Electrolyte Analyzer", "电解质分析仪"),
INSTRUMENT_TYPE_BACTERIAL_IDENTIFICATION_INSTRUMENT(11, "Bacterial Identification Instrument", "细菌鉴定仪"),
INSTRUMENT_TYPE_MANUAL_ANALYSIS(12, "Manual Analysis", "手工分析"),
INSTRUMENT_TYPE_ELECTROPHORESIS(13, "Electrophoresis", "电泳仪"),
INSTRUMENT_TYPE_SPECIFIC_PROTEIN_ANALYZER(14, "Specific Protein Analyzer", "特定蛋白分析仪"),
INSTRUMENT_TYPE_GLYCOHEMOGLOBIN_ANALYZER(15, "Glycohemoglobin Analyzer", "糖化血红蛋白分析仪"),
INSTRUMENT_TYPE_FLOW_CYTOMETER(16, "Flow Cytometer", "流式细胞仪"),
INSTRUMENT_TYPE_BLOOD_TYPE_ANALYZER(17, "Blood Type Analyzer", "血型分析仪"),
INSTRUMENT_TYPE_HS_CRP_ANALYZER(18, "High-Sensitivity CRP Analyzer", "超敏CRP分析仪"),
INSTRUMENT_TYPE_BLOOD_RHEOLOGY_ANALYZER(19, "Blood Rheology Analyzer", "血流变分析仪"),
INSTRUMENT_TYPE_BLOOD_CULTURE_ANALYZER(20, "Blood Culture Analyzer", "血培养仪");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static InstrumentCategory getByValue(Integer value) {
if (value == null) {
return null;
}
for (InstrumentCategory val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,49 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum InstrumentStatus implements HisEnumInterface{
/**
* 仪器状态
*/
NORMAL(1, "Normal", "日常"),
/**
* 仪器闲置
*/
IDLE(2, "Idle", "闲置"),
/**
* 仪器报损
*/
DAMAGED(3, "Damaged", "报损"),
/**
* 仪器故障
*/
FAULTY(4, "Faulty", "故障");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static InstrumentStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (InstrumentStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -19,9 +19,9 @@ import lombok.Getter;
public enum NursingOrdersClass implements HisEnumInterface {
/**
* 护理
* 护理级别
*/
NURSING(26, "26", "护理"),
NURSING(26, "26", "护理级别"),
/**
* 病情

View File

@@ -0,0 +1,67 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ObservationType implements HisEnumInterface{
/**
* OBSERVATION_TYPE: 实验室检查:如血液、尿液等实验室检查结果
*/
OBSERVATION_TYPE_LABORATORY_TEST(1, "Laboratory Test", "实验室检查"),
/**
* OBSERVATION_TYPE: 临床症状:如体温、呼吸等临床观察症状
*/
OBSERVATION_TYPE_CLINICAL_SYMPTOMS(2, "Clinical Symptoms", "临床症状"),
/**
* OBSERVATION_TYPE: 影像学检查如X光、CT扫描等影像学检查
*/
OBSERVATION_TYPE_IMAGING_EXAMINATION(3, "Imaging Examination", "X光、CT扫描影像学"),
/**
* OBSERVATION_TYPE: 生理指标:如血压、心率、体温等常规生理参数
*/
OBSERVATION_TYPE_PHYSIOLOGICAL_PARAMETERS(4, "Physiological Parameters", "常规生理"),
/**
* OBSERVATION_TYPE: 药物反应:观察药物治疗后的效果
*/
OBSERVATION_TYPE_DRUG_REACTION(5, "Drug Reaction", "药物治疗"),
/**
* OBSERVATION_TYPE: 病理检查:如组织切片、病理学诊断结果
*/
OBSERVATION_TYPE_PATHOLOGY_TEST(6, "Pathology Test", "组织切片、病理学诊断"),
/**
* OBSERVATION_TYPE: 基因检测:基因组或遗传相关检查
*/
OBSERVATION_TYPE_GENETIC_TEST(7, "Genetic Test", "基因组检查"),
/**
* OBSERVATION_TYPE: 其他
*/
OBSERVATION_TYPE_OTHER(8, "Other", "其他类型");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static ObservationType getByValue(Integer value) {
if (value == null) {
return null;
}
for (ObservationType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -24,7 +24,8 @@ public enum ProcedureCategory {
OUTPATIENT_ADVICE(10, "10", "门诊医嘱"),
INPATIENT_ADVICE(11, "11", "住院医嘱");
INPATIENT_ADVICE(11, "11", "住院医嘱"),
INPATIENT_NURSE_ADVICE(12, "12", "住院护理医嘱");
@EnumValue
private final Integer value;

View File

@@ -0,0 +1,18 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ReportCodeEnum {
ANNUAL_TOTAL_DRUG_INCOME("1", "ANNUAL_TOTAL_DRUG_INCOME", "年度药品总收入"),
PRODUCT_TRANSFER("2", "PRODUCT_TRANSFER", "药品调拨");
@EnumValue
private final String value;
private final String code;
private final String info;
}

View File

@@ -16,7 +16,9 @@ import lombok.Getter;
public enum Severity implements HisEnumInterface {
MILD(0, "mild", "轻微"),
MODERATE(1, "moderate", "中度"),
SEVERE(2, "severe", "严重");
@EnumValue

View File

@@ -1,32 +1,40 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 过敏与不耐受中验证状态
*
* @author liuhr
* @date 2025/3/6
*/
@Getter
@AllArgsConstructor
public enum VerificationStatus implements HisEnumInterface {
UNCONFIRMED(1, "unconfirmed", "未确认"), CONFIRMED(2, "confirmed", "已确认"), REFUTED(3, "refuted", "已反驳"),
ENTERED_IN_ERROR(4, "entered-in-error", "输入错误");
public enum SpecCollectStatus implements HisEnumInterface{
/**
* 待采集
*/
PENDING(0, "Pending", "待采集"),
/**
* 已采集
*/
COLLECTED(1, "COLLECTED", "已采集"),
/**
* 已接收
*/
RECEIVED(2, "COLLECTED", "已接收");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static VerificationStatus getByValue(Integer value) {
public static SpecCollectStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (VerificationStatus val : values()) {
for (SpecCollectStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}

View File

@@ -0,0 +1,44 @@
package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum SpecimenType implements HisEnumInterface{
/**
* 样本种类
*/
SPECIMEN_TYPE_BLOOD(1, "Blood", "血液样本"),
SPECIMEN_TYPE_URINE(2, "Urine", "尿液样本"),
SPECIMEN_TYPE_SALIVA(3, "Saliva", "唾液样本"),
SPECIMEN_TYPE_TISSUE(4, "Tissue", "组织样本"),
SPECIMEN_TYPE_CSF(5, "Cerebrospinal Fluid", "脑脊液样本"),
SPECIMEN_TYPE_SPUTUM(6, "Sputum", "痰液样本"),
SPECIMEN_TYPE_FECES(7, "Feces", "粪便样本"),
SPECIMEN_TYPE_SWAB(8, "Swab", "拭子样本"),
SPECIMEN_TYPE_BONE_MARROW(9, "Bone Marrow", "骨髓样本"),
SPECIMEN_TYPE_SEMEN(10, "Semen", "精液样本"),
SPECIMEN_TYPE_AMNIOTIC_FLUID(11, "Amniotic Fluid", "羊水样本"),
SPECIMEN_TYPE_HAIR(12, "Hair", "毛发样本"),
SPECIMEN_TYPE_NAIL(13, "Nail", "指甲样本");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static SpecimenType getByValue(Integer value) {
if (value == null) {
return null;
}
for (SpecimenType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,32 @@
package com.openhis.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 体温单枚举
*
* @author swb
* @date 2025-11-21
*/
@Getter
@AllArgsConstructor
public enum TemperatureChartEnum {
BREATH("001", "breathe", "呼吸"),
PULSE("002", "pulse", "脉搏"),
TEMPERATURE("003", "temperature", "体温"),
BLOOD_PRESSURE("008", "bloodPressure", "血压"),
PAIN_SCORE("016", "painScore", "疼痛等级"),
POSTOP_DAYS("031", "", "术后天数"),
HEIGHT("","height","身高"),
WEIGHT("","weight","体重"),
OUTPUT("","output","出量"),
INPUT("","input","入量"),
HEART_RATE("","heartRate","心率"),
TIME_POINT("","timePoint","时间点"),
WARD_ADMISSION("9500", "", "入科");
private final String code;
private final String typeCode;
private final String description;
}

View File

@@ -10,7 +10,9 @@ public enum TraceNoStatus implements HisEnumInterface {
IN(1, "1", ""),
OUT(2, "2", ""),;
OUT(2, "2", ""),
IN_STOCK(3, "3", "在库");
@EnumValue
private final Integer value;

View File

@@ -0,0 +1,37 @@
package com.openhis.common.enums.ybenums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.openhis.common.enums.HisEnumInterface;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum YbEncounterZyStatus implements HisEnumInterface {
TO_BE_REGISTERED(1, "to-be-registered", "待登记"),
ADMITTED_TO_THE_HOSPITAL(2, "admitted-to-the-hospital", "已登记"),
DISCHARGED_FROM_HOSPITAL(3, "discharged-from-hospital", "已出院"),
ALREADY_SETTLED(4, "already-settled", "已结算");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static YbEncounterZyStatus getByValue(Integer value) {
if (value == null) {
return null;
}
for (YbEncounterZyStatus val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
}

View File

@@ -0,0 +1,66 @@
package com.openhis.common.enums.ybenums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.openhis.common.enums.ClaimType;
import com.openhis.common.enums.HisEnumInterface;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum YbMdcsType {
/** 职工基本医疗保险 */
EMPLOYEE_BASIC(310,"310", "职工基本医疗保险"),
/** 离休人员医疗保障 */
RETIRED_PERSONNEL(340,"340", "离休人员医疗保障"),
/** 一至六级残疾军人医疗补助 */
DISABLED_SOLDIER(350,"350", "一至六级残疾军人医疗补助"),
/** 老红军医疗保障 */
RED_ARMY_VETERAN(360,"360", "老红军医疗保障"),
/** 新型农村合作医疗 */
NEW_RURAL_COOPERATIVE(380,"380", "新型农村合作医疗"),
/** 城乡居民基本医疗保险 */
URBAN_RURAL_RESIDENT(390,"390", "城乡居民基本医疗保险"),
/** 城镇居民基本医疗保险 */
URBAN_RESIDENT(391,"391", "城镇居民基本医疗保险"),
/** 其他医疗保险 */
OTHER(999,"999", "其他医疗保险");
@EnumValue
private final Integer value;
private final String code;
private final String info;
public static YbMdcsType getByValue(Integer value) {
if (value == null) {
return null;
}
for (YbMdcsType val : values()) {
if (val.getValue().equals(value)) {
return val;
}
}
return null;
}
public static YbMdcsType getByCode(String code) {
if (code == null|| code.isEmpty()) {
return null;
}
for (YbMdcsType val : values()) {
if (val.getCode().equals(code)) {
return val;
}
}
return null;
}
}

View File

@@ -156,18 +156,28 @@ public enum YbPayment {
// 医保结算返回值记录枚举
FULAMT_OWNPAY_AMT(1, 2, null, "全自费金额"),
// PSN_PART_AMT(2,2,null,"个人负担总金额"),
OVERLMT_SELFPAY(3, 2, null, "超限价自费费用"), PRESELFPAY_AMT(4, 2, null, "先行自付金额"), INSCP_SCP_AMT(5, 2, null, "符合政策范围金额"),
ACT_PAY_DEDC(6, 2, null, "实际支付起付线"), POOL_PROP_SELFPAY(7, 2, null, "基本医疗保险统筹基金支付比例"), BALC(8, 2, null, ""),
OVERLMT_SELFPAY(3, 2, null, "超限价自费费用"),
PRESELFPAY_AMT(4, 2, null, "先行自付金"),
INSCP_SCP_AMT(5, 2, null, "符合政策范围金额"),
ACT_PAY_DEDC(6, 2, null, "实际支付起付线"),
POOL_PROP_SELFPAY(7, 2, null, "基本医疗保险统筹基金支付比例"),
BALC(8, 2, null, "余额"),
// 基金类型,下述仅作记录
BIRTH_FUND(510100, 2, YB_FUND_PAY, "生育基金"), RETIREE_MEDICAL(340100, 2, YB_FUND_PAY, "离休人员医疗保障基金"),
BIRTH_FUND(510100, 2, YB_FUND_PAY, "生育基金"),
RETIREE_MEDICAL(340100, 2, YB_FUND_PAY, "离休人员医疗保障基金"),
URBAN_BASIC_MEDICAL(390100, 2, YB_FUND_PAY, "城乡居民基本医疗保险基金"),
URBAN_SERIOUS_ILLNESS(390200, 2, YB_FUND_PAY, "城乡居民大病医疗保险基金"), MEDICAL_ASSISTANCE(610100, 2, YB_FUND_PAY, "医疗救助基金"),
GOVERNMENT_SUBSIDY(640100, 2, YB_FUND_PAY, "政府兜底基金"), ACCIDENT_INSURANCE(390400, 2, YB_FUND_PAY, "意外伤害基金"),
CARE_INSURANCE(620100, 2, YB_FUND_PAY, "照护保险基金"), FINANCIAL_FUND(360100, 2, YB_FUND_PAY, "政基金"),
HOSPITAL_ADVANCE(999900, 2, YB_FUND_PAY, "医院垫付"), SUPPLEMENTARY_INSURANCE(390300, 2, YB_FUND_PAY, "城乡居民大病补充保险基金"),
URBAN_SERIOUS_ILLNESS(390200, 2, YB_FUND_PAY, "城乡居民大病医疗保险基金"),
MEDICAL_ASSISTANCE(610100, 2, YB_FUND_PAY, "医疗救助基金"),
GOVERNMENT_SUBSIDY(640100, 2, YB_FUND_PAY, "府兜底基金"),
ACCIDENT_INSURANCE(390400, 2, YB_FUND_PAY, "意外伤害基金"),
CARE_INSURANCE(620100, 2, YB_FUND_PAY, "照护保险基金"),
FINANCIAL_FUND(360100, 2, YB_FUND_PAY, "财政基金"),
HOSPITAL_ADVANCE(999900, 2, YB_FUND_PAY, "医院垫付"),
SUPPLEMENTARY_INSURANCE(390300, 2, YB_FUND_PAY, "城乡居民大病补充保险基金"),
BASIC_MEDICAL_INSURANCE_FOR_URBAN_EMPLOYEES(310201, 2, YB_FUND_PAY, "城镇职工基本医疗保险个人账户基金"),
E_WALLET(999981, 2, YB_FUND_PAY, "电子钱包"), HEALTHCARE_PREPAYMENT(360300, 2, YB_FUND_PAY, "保健预支基金"),
E_WALLET(999981, 2, YB_FUND_PAY, "电子钱包"),
HEALTHCARE_PREPAYMENT(360300, 2, YB_FUND_PAY, "保健预支基金"),
// 师大中银支付
BPC_PAY(500000, 2, SELF_PAY, "BPC支付"),

View File

@@ -14,6 +14,7 @@ import javax.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.core.common.utils.DateUtils;
import com.core.common.utils.SecurityUtils;
import com.core.framework.config.TenantContext;
import com.openhis.common.constant.CommonConstants;
/**
@@ -146,6 +147,8 @@ public class HisQueryUtils {
// 获取当前登录用户的租户 ID
if (SecurityUtils.getAuthentication() != null) {
return SecurityUtils.getLoginUser().getTenantId();
} else if (TenantContext.getCurrentTenant() != null) {
return TenantContext.getCurrentTenant();
}
return 0;
}

View File

@@ -0,0 +1,56 @@
package com.openhis.common.utils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.ArrayList;
import java.util.List;
/**
* 分页工具类
*/
public class PageUtils {
/**
* 手动分页
*
* @param allList 数据
* @param pageNo 页码
* @param pageSize 每页大小
* @return 分页数据
*/
public static <T> Page<T> buildPage(List<T> allList, long pageNo, long pageSize) {
Page<T> page = new Page<>();
int total = allList.size();
if (total == 0) {
page.setRecords(new ArrayList<>());
page.setTotal(0);
page.setCurrent(pageNo);
page.setSize(pageSize);
page.setPages(0L);
return page;
}
// 计算分页起始位置
int startIndex = (int)((pageNo - 1) * pageSize);
if (startIndex >= total) {
// 如果起始位置超过总数,返回最后一页
startIndex = (int)((total - 1) / pageSize * pageSize);
pageNo = (total + pageSize - 1) / pageSize;
}
int endIndex = (int)Math.min(startIndex + pageSize, total);
// 获取当前页数据
List<T> currentPageList = allList.subList(startIndex, endIndex);
// 设置分页信息
page.setRecords(new ArrayList<>(currentPageList));
page.setCurrent(pageNo);
page.setSize(pageSize);
page.setTotal(total);
page.setPages((total + pageSize - 1) / pageSize); // 计算总页数
return page;
}
}