diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triageandqueuemanage/appservice/CallNumberVoiceConfigAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triageandqueuemanage/appservice/CallNumberVoiceConfigAppService.java index a4f8e84b..8bedc12d 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triageandqueuemanage/appservice/CallNumberVoiceConfigAppService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triageandqueuemanage/appservice/CallNumberVoiceConfigAppService.java @@ -7,4 +7,6 @@ public interface CallNumberVoiceConfigAppService { R addCallNumberVoiceConfig(CallNumberVoiceConfig callNumberVoiceConfig); R updateCallNumberVoiceConfig(CallNumberVoiceConfig callNumberVoiceConfig); + + R getCallNumberVoiceConfig(); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triageandqueuemanage/appservice/impl/CallNumberVoiceConfigAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triageandqueuemanage/appservice/impl/CallNumberVoiceConfigAppServiceImpl.java index a3cca1e7..c9add533 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triageandqueuemanage/appservice/impl/CallNumberVoiceConfigAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triageandqueuemanage/appservice/impl/CallNumberVoiceConfigAppServiceImpl.java @@ -8,6 +8,7 @@ import com.openhis.web.triageandqueuemanage.appservice.CallNumberVoiceConfigAppS import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; @Service public class CallNumberVoiceConfigAppServiceImpl implements CallNumberVoiceConfigAppService { @@ -15,6 +16,12 @@ public class CallNumberVoiceConfigAppServiceImpl implements CallNumberVoiceConfi @Resource private CallNumberVoiceConfigService callNumberVoiceConfigService; + @Override + public R getCallNumberVoiceConfig() { + List list = callNumberVoiceConfigService.list(); + return R.ok(list); + } + @Override public R addCallNumberVoiceConfig(CallNumberVoiceConfig callNumberVoiceConfig) { if(ObjectUtil.isNull(callNumberVoiceConfig)){ @@ -32,4 +39,5 @@ public class CallNumberVoiceConfigAppServiceImpl implements CallNumberVoiceConfi boolean updateById = callNumberVoiceConfigService.updateById(callNumberVoiceConfig); return R.ok(updateById); } + } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triageandqueuemanage/controller/CallNumberVoiceConfigController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triageandqueuemanage/controller/CallNumberVoiceConfigController.java index 5f5efa39..c107a1ba 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triageandqueuemanage/controller/CallNumberVoiceConfigController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triageandqueuemanage/controller/CallNumberVoiceConfigController.java @@ -16,6 +16,16 @@ public class CallNumberVoiceConfigController { @Resource private CallNumberVoiceConfigAppService callNumberVoiceConfigAppService; + /** + * 查询叫号语音设置 + * + * @return 结果 + */ + @GetMapping("/get") + public R getCallNumberVoiceConfig(){ + return R.ok(callNumberVoiceConfigAppService.getCallNumberVoiceConfig()); + } + /** * 新增叫号语音设置实体 * diff --git a/openhis-ui-vue3/src/views/clinicmanagement/bargain/component/adviceBaseList.vue b/openhis-ui-vue3/src/views/clinicmanagement/bargain/component/adviceBaseList.vue index c7cc7fea..34cd2444 100644 --- a/openhis-ui-vue3/src/views/clinicmanagement/bargain/component/adviceBaseList.vue +++ b/openhis-ui-vue3/src/views/clinicmanagement/bargain/component/adviceBaseList.vue @@ -70,6 +70,11 @@ watch( getList(); function getList() { + // 验证是否已选择患者 + if (!props.patientInfo || Object.keys(props.patientInfo).length === 0) { + return; // 不执行API调用 + } + queryParams.value.organizationId = props.patientInfo.orgId; getAdviceBaseInfo(queryParams.value).then((res) => { adviceBaseList.value = res.data.records; diff --git a/openhis-ui-vue3/src/views/clinicmanagement/bargain/component/prescriptionlist.vue b/openhis-ui-vue3/src/views/clinicmanagement/bargain/component/prescriptionlist.vue index d1705d4c..2eb6f84a 100644 --- a/openhis-ui-vue3/src/views/clinicmanagement/bargain/component/prescriptionlist.vue +++ b/openhis-ui-vue3/src/views/clinicmanagement/bargain/component/prescriptionlist.vue @@ -412,6 +412,12 @@ function getRowDisabled(row) { // 新增医嘱 function handleAddPrescription() { + // 验证是否已选择患者 + if (!props.patientInfo || Object.keys(props.patientInfo).length === 0) { + proxy.$modal.msgWarning('请先选择患者'); + return; + } + if (isAdding.value) { proxy.$modal.msgWarning('请先保存当前医嘱'); return; diff --git a/openhis-ui-vue3/src/views/triageandqueuemanage/api.js b/openhis-ui-vue3/src/views/triageandqueuemanage/api.js new file mode 100644 index 00000000..4c48b29e --- /dev/null +++ b/openhis-ui-vue3/src/views/triageandqueuemanage/api.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +// 查询叫号语音设置 +export function getCallNumberVoiceConfig() { + return request({ + url: '/CallNumberVoice/get', + method: 'get' + }) +} + +// 新增叫号语音设置 +export function addCallNumberVoiceConfig(data) { + return request({ + url: '/CallNumberVoice/add', + method: 'post', + data: data + }) +} + +// 修改叫号语音设置 +export function updateCallNumberVoiceConfig(data) { + return request({ + url: '/CallNumberVoice/update', + method: 'put', + data: data + }) +} \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/triageandqueuemanage/callnumbervoice/index.vue b/openhis-ui-vue3/src/views/triageandqueuemanage/callnumbervoice/index.vue new file mode 100644 index 00000000..e5452acd --- /dev/null +++ b/openhis-ui-vue3/src/views/triageandqueuemanage/callnumbervoice/index.vue @@ -0,0 +1,754 @@ + + + + + \ No newline at end of file diff --git a/迁移记录-DB变更记录/202512241430add_table_call_number_voice.sql b/迁移记录-DB变更记录/202512241430add_table_call_number_voice.sql new file mode 100644 index 00000000..cde7a4cf --- /dev/null +++ b/迁移记录-DB变更记录/202512241430add_table_call_number_voice.sql @@ -0,0 +1,50 @@ +CREATE TABLE call_number_voice ( + id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, + play_count INT NOT NULL CHECK (play_count BETWEEN 1 AND 5), + call_prefix VARCHAR(20), + call_suffix VARCHAR(50), + speed VARCHAR(10) NOT NULL CHECK (speed IN ('较慢', '正常', '较快')), + volume INT NOT NULL CHECK (volume BETWEEN 0 AND 100), + interval_seconds INT NOT NULL, + cycle_broadcast BOOLEAN NOT NULL DEFAULT false, + create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + -- 核心约束:循环播放与间隔的逻辑关联 + CONSTRAINT chk_cycle_interval + CHECK ( + (cycle_broadcast = false AND interval_seconds = 0) + OR + (cycle_broadcast = true AND interval_seconds > 0) + ) +); + +-- 1. 添加表注释(PostgreSQL 语法) +COMMENT ON TABLE call_number_voice IS '叫号语音配置表'; + +-- 2. 逐个添加字段注释(PostgreSQL 语法) +COMMENT ON COLUMN call_number_voice.id IS '主键ID,自增'; +COMMENT ON COLUMN call_number_voice.play_count IS '播放次数(1-5次)'; +COMMENT ON COLUMN call_number_voice.call_prefix IS '叫号前缀(如“请”)'; +COMMENT ON COLUMN call_number_voice.call_suffix IS '叫号后缀(如“到1号窗口就诊”)'; +COMMENT ON COLUMN call_number_voice.speed IS '语速(较慢/正常/较快)'; +COMMENT ON COLUMN call_number_voice.volume IS '音量(0-100%)'; +COMMENT ON COLUMN call_number_voice.interval_seconds IS '播报间隔(秒)'; +COMMENT ON COLUMN call_number_voice.cycle_broadcast IS '是否循环播报(默认关闭)'; +COMMENT ON COLUMN call_number_voice.create_time IS '创建时间(自动填充当前时间)'; +COMMENT ON COLUMN call_number_voice.update_time IS '更新时间(自动更新)'; + +-- 实现update_time自动更新(PostgreSQL需通过触发器) +CREATE OR REPLACE FUNCTION update_call_number_voice_time() +RETURNS TRIGGER AS $$ +BEGIN + NEW.update_time = CURRENT_TIMESTAMP; +RETURN NEW; +END; +$$ LANGUAGE plpgsql; + +CREATE TRIGGER trigger_call_number_voice_update + BEFORE UPDATE ON call_number_voice + FOR EACH ROW + EXECUTE FUNCTION update_call_number_voice_time(); + +INSERT INTO call_number_voice (play_count, call_prefix, call_suffix, speed, volume, interval_seconds, cycle_broadcast) VALUES (2,'请','到诊室就诊','正常',80,10,TRUE); \ No newline at end of file