package cn.lihu.jh.module.ecg.enums;
|
|
import cn.lihu.jh.framework.common.exception.ErrorCode;
|
|
/**
|
* System 错误码枚举类
|
*
|
* system 系统,使用 1-002-000-000 段
|
*/
|
public interface ErrorCodeConstants {
|
|
ErrorCode ECG_INNER_ERROR = new ErrorCode(1_010_000_000, "ECG内部错误");
|
ErrorCode ECG_CONFIG_ERROR = new ErrorCode(1_010_000_001, "心电检查类型的最大准备人数配置不一致");
|
|
ErrorCode APPOINTMENT_NOT_EXISTS = new ErrorCode(1_010_001_000, "预约不存在");
|
ErrorCode APPOINTMENT_NOT_TODAY = new ErrorCode(1_010_001_010, "不是当天预约");
|
ErrorCode APPOINTMENT_EXIST_TODAY = new ErrorCode(1_010_001_020, "当天预约已存在");
|
ErrorCode APPOINTMENT_HAVE_QUEUED = new ErrorCode(1_010_001_030, "您已经在排队中了");
|
ErrorCode APPOINTMENT_NOT_BILLING = new ErrorCode(1_010_001_040, "查询不到开单信息");
|
ErrorCode APPOINTMENT_CREATE_FAIL = new ErrorCode(1_010_001_050, "申请单创建失败");
|
ErrorCode APPOINTMENT_UPDATE_FAIL = new ErrorCode(1_010_001_060, "申请单更新失败");
|
ErrorCode APPOINTMENT_STATUS_UPDATE_FAIL = new ErrorCode(1_010_001_070, "申请单状态更新失败");
|
ErrorCode APPOINTMENT_STATUS_REGISTER_UPDATE_FAIL = new ErrorCode(1_010_001_080, "申请单登记状态更新失败");
|
|
// ========== HIS 通用接口(/ecg/external/generalInterface)新增错误码 ==========
|
// 目的:原实现把所有异常统一压成 APPOINTMENT_CREATE_FAIL,
|
// 导致 HIS 侧无法区分问题类型(本次排障成本即来自此)。以下按时段细分。
|
ErrorCode HIS_ACTION_NOT_SUPPORTED = new ErrorCode(1_010_001_090, "不支持的服务代码(action),请核对接口文档交易编号");
|
ErrorCode HIS_MESSAGE_PARSE_FAIL = new ErrorCode(1_010_001_100, "报文解析失败,请核对报文结构与必填字段");
|
ErrorCode HIS_APPLY_NO_MISSING = new ErrorCode(1_010_001_110, "报文缺少申请单号");
|
ErrorCode HIS_APPOINTMENT_NOT_FOUND = new ErrorCode(1_010_001_120, "未找到对应的预约记录");
|
ErrorCode HIS_STATUS_INVALID = new ErrorCode(1_010_001_130, "检查状态编码不在编码表范围内");
|
ErrorCode HIS_NOT_ECG_ORDER = new ErrorCode(1_010_001_140, "非心电业务单,已跳过处理");
|
|
ErrorCode ROOM_NOT_EXISTS = new ErrorCode(1_010_002_000, "诊室和诊疗床不存在");
|
ErrorCode ROOM_NOT_SIT = new ErrorCode(1_010_002_001, "请重新就座");
|
ErrorCode ROOM_INVALID_STATUS = new ErrorCode(1_010_002_001, "诊室和诊疗床状态异常");
|
|
ErrorCode QUEUE_NOT_EXISTS = new ErrorCode(1_010_003_000, "排队不存在");
|
ErrorCode QUEUE_BED_NOT_EXIST = new ErrorCode(1_010_003_001, "工位队列不存在");
|
ErrorCode QUEUE_BED_EXIST = new ErrorCode(1_010_003_002, "工位队列已存在");
|
ErrorCode QUEUE_HAVE_PATIENT = new ErrorCode(1_010_003_003, "队列中有患者");
|
ErrorCode QUEUE_NOT_READY_PATIENT = new ErrorCode(1_010_003_004, "没有准备中的患者");
|
ErrorCode QUEUE_RECALL_INSTALL_NOT_CUR_ROOM = new ErrorCode(1_010_003_005, "不能召回其他诊室的安装患者");
|
/**
|
* 「停止候诊」功能未就绪。
|
* <p>
|
* 触发条件:数据库尚未执行 `_prep/11_需求升级_汇总SQL.sql`(缺 `clinic_room.stop_ready` 列)。
|
* 用独立错误码而非把原始 SQL 异常抛给前端,便于现场快速定位部署遗漏。
|
*/
|
ErrorCode QUEUE_STOP_READY_NOT_CONFIGURED = new ErrorCode(1_010_003_006,
|
"停止候诊功能未配置,请先执行数据库升级脚本(clinic_room.stop_ready)");
|
|
ErrorCode PATIENT_NOT_EXISTS = new ErrorCode(1_010_004_000, "患者不存在");
|
|
ErrorCode DEV_MODEL_NOT_EXISTS = new ErrorCode(1_010_005_000, "设备型号不存在");
|
ErrorCode DEVICE_NOT_EXISTS = new ErrorCode(1_010_005_001, "设备不存在");
|
ErrorCode DEVICE_NOT_FREE = new ErrorCode(1_010_005_002, "设备非空闲或不存在");
|
ErrorCode DEVICE_NOT_RECEIVED = new ErrorCode(1_010_005_003, "设备未领用或不存在");
|
ErrorCode DEVICE_NOT_PAT_RECEIVED = new ErrorCode(1_010_005_004, "不是该患者领用的设备");
|
|
ErrorCode DEV_INSTALL_NOT_EXISTS = new ErrorCode(1_010_006_000, "装机不存在");
|
ErrorCode DEV_INSTALL_EXCEPTION = new ErrorCode(1_010_006_001, "装机内部错误");
|
ErrorCode DEV_DISMANTLE_EXCEPTION = new ErrorCode(1_010_006_002, "拆机内部错误");
|
ErrorCode ROUTINE_CANCEL_EXCEPTION = new ErrorCode(1_010_006_003, "常规检查取消错误");
|
ErrorCode DEV_RECEIVE_CANCEL_EXCEPTION = new ErrorCode(1_010_006_004, "设备领用取消错误");
|
ErrorCode DEV_INSTALL_CANCEL_EXCEPTION = new ErrorCode(1_010_006_005, "设备装机取消错误");
|
|
ErrorCode DEV_LOSE_EXCEPTION = new ErrorCode(1_010_006_004, "遗失内部错误");
|
ErrorCode DEV_INSTALL_EXIST = new ErrorCode(1_010_006_005, "当天已有装机");
|
ErrorCode DEV_DISMANTLE_EXIST = new ErrorCode(1_010_006_006, "当天已有拆机");
|
ErrorCode DEV_INSTALL_NOT_APPOINTMENT = new ErrorCode(1_010_006_014, "请先预约确认");
|
ErrorCode DEV_INSTALL_NOT_RECEIVED = new ErrorCode(1_010_006_018, "请先领用设备");
|
ErrorCode ROUTINE_CHECK_EXIST = new ErrorCode(1_010_006_022, "当天已有检查");
|
|
ErrorCode JOB_RECORD_NOT_EXISTS = new ErrorCode(1_010_007_000, "工作记录不存在");
|
|
ErrorCode CALL_NOT_EXISTS = new ErrorCode(1_010_008_000, "叫号不存在");
|
|
ErrorCode CHECK_TYPE_NOT_EXISTS = new ErrorCode(1_010_009_000, "检查类型不存在");
|
|
ErrorCode QUEUE_SEQUENCE_NOT_EXISTS = new ErrorCode(1_010_010_000, "当天序号不存在");
|
ErrorCode QUEUE_SEQUENCE_TIMESLOT_FULL = new ErrorCode(1_010_010_002, "本时段序号已满");
|
ErrorCode QUEUE_SEQUENCE_TIMESLOT_EXCEPTION = new ErrorCode(1_010_010_002, "本时段序号异常");
|
ErrorCode QUEUE_SEQUENCE_TIMESLOT_VIP_FULL = new ErrorCode(1_010_010_003, "本时段VIP序号已满");
|
ErrorCode QUEUE_SEQUENCE_TIMESLOT_VIP_EXCEPTION = new ErrorCode(1_010_010_003, "本时段VIP序号异常");
|
|
/**
|
* 预约时段重复:同一检查类型下同一个时段只能有一条规则。
|
* <p>
|
* 表上**没有** (check_type, time_slot) 唯一约束(历史遗留),而取号 SQL
|
* {@code select queue_no ... where check_type=? and time_slot=? ... for update}
|
* 期望只命中一行;若存在重复行,取号行为不可预期。故在维护入口处拦截。
|
*/
|
ErrorCode QUEUE_SEQUENCE_TIMESLOT_DUPLICATE = new ErrorCode(1_010_010_004,
|
"该检查类型的此时段规则已存在,请勿重复添加");
|
}
|