first commit
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
-- 自动释放诊单医助(已发货/已签收)时,在指派日志中快照关联业务订单创建人与创建时间
|
||||
-- 首次执行即可;若列已存在重复执行会报错,可忽略或手动注释掉本文件
|
||||
|
||||
ALTER TABLE `zyt_tcm_diagnosis_assign_log`
|
||||
ADD COLUMN `related_po_creator_id` int unsigned NOT NULL DEFAULT 0 COMMENT '快照:触发本次释放的业务订单 creator_id' AFTER `ip`,
|
||||
ADD COLUMN `related_po_create_time` int unsigned NOT NULL DEFAULT 0 COMMENT '快照:触发本次释放的业务订单 create_time(unix);与 from_assistant_id 一致时为医助创建订单时间' AFTER `related_po_creator_id`;
|
||||
@@ -0,0 +1,17 @@
|
||||
# 诊单编辑:日常记录统一权限(2026-05-07)
|
||||
# 挂在「中医诊单」(perms=tcm.diagnosis/lists) 菜单下,按钮型权限节点:
|
||||
# tcm.diagnosis/dailyRecord 日常记录(统一控制血糖/饮食/运动/跟踪备注/待办)
|
||||
|
||||
SET @diag_menu_id := (SELECT id FROM zyt_system_menu WHERE perms = 'tcm.diagnosis/lists' LIMIT 1);
|
||||
|
||||
INSERT INTO zyt_system_menu (
|
||||
pid, type, name, icon, sort, perms, paths, component,
|
||||
selected, params, is_cache, is_show, is_disable, create_time, update_time
|
||||
)
|
||||
SELECT
|
||||
@diag_menu_id, 'A', '日常记录', '', 59,
|
||||
'tcm.diagnosis/dailyRecord', '', '',
|
||||
'', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
FROM DUAL
|
||||
WHERE @diag_menu_id IS NOT NULL
|
||||
AND NOT EXISTS (SELECT 1 FROM zyt_system_menu WHERE perms = 'tcm.diagnosis/dailyRecord');
|
||||
@@ -0,0 +1,22 @@
|
||||
# 诊单编辑抽屉「业务订单」tab:菜单按钮权限注册(2026-05-07)
|
||||
# 挂在「中医诊单」(perms=tcm.diagnosis/lists) 菜单下,按钮型权限节点:
|
||||
# tcm.diagnosis/patientOrders 在编辑诊单抽屉查看「业务订单」tab
|
||||
#
|
||||
# 说明:
|
||||
# - 此权限仅控制前端 tab 可见性。
|
||||
# - tab 内拉取数据复用 /tcm.prescriptionOrder/lists 接口,因此需同时分配
|
||||
# tcm.prescriptionOrder/lists 接口权限给目标角色,否则 tab 可见但列表为空/被拦截。
|
||||
|
||||
SET @diag_menu_id := (SELECT id FROM zyt_system_menu WHERE perms = 'tcm.diagnosis/lists' LIMIT 1);
|
||||
|
||||
INSERT INTO zyt_system_menu (
|
||||
pid, type, name, icon, sort, perms, paths, component,
|
||||
selected, params, is_cache, is_show, is_disable, create_time, update_time
|
||||
)
|
||||
SELECT
|
||||
@diag_menu_id, 'A', '业务订单查看', '', 70,
|
||||
'tcm.diagnosis/patientOrders', '', '',
|
||||
'', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
FROM DUAL
|
||||
WHERE @diag_menu_id IS NOT NULL
|
||||
AND NOT EXISTS (SELECT 1 FROM zyt_system_menu WHERE perms = 'tcm.diagnosis/patientOrders');
|
||||
@@ -0,0 +1,6 @@
|
||||
-- 非二中心医助因业务订单已发货/已签收被自动释放后打标,履约核对等任务不再重复处理同一诊单(人工重新指派医助后可再次参与)
|
||||
|
||||
ALTER TABLE `zyt_tcm_diagnosis`
|
||||
ADD COLUMN `shipped_non_er_assistant_cleared_at` int(10) unsigned NOT NULL DEFAULT 0
|
||||
COMMENT '非二中心医助·发货/签收自动释放诊单医助的时间戳;>0 且 assistant_id=0 时跳过重复核对'
|
||||
AFTER `assistant_id`;
|
||||
@@ -0,0 +1,3 @@
|
||||
-- 添加处方用量袋数字段(浓缩水丸等开方场景,1-5袋)
|
||||
ALTER TABLE `zyt_tcm_prescription`
|
||||
ADD COLUMN `dosage_bag_count` TINYINT UNSIGNED NOT NULL DEFAULT 1 COMMENT '用量袋数(1-5袋)' AFTER `dosage_unit`;
|
||||
@@ -0,0 +1,20 @@
|
||||
-- 注册「同步诊单 IM 聊天记录归档」定时任务,每 30 分钟跑一次
|
||||
-- 命令本体:server/app/common/command/SyncImChatArchive.php,已在 server/config/console.php 注册为 sync_im_chat_archive
|
||||
-- 参数:--since-days=7 仅处理最近 7 天有更新的诊单,--limit=200 单轮最多处理 200 个诊单
|
||||
-- expression 字段为 5 段标准 cron(分 时 日 月 周),与 likeadmin la_dev_crontab 保持一致
|
||||
|
||||
INSERT INTO `zyt_dev_crontab` (
|
||||
`name`, `type`, `system`, `remark`, `command`, `params`,
|
||||
`status`, `expression`, `create_time`, `update_time`
|
||||
) VALUES (
|
||||
'同步诊单IM聊天记录',
|
||||
1,
|
||||
0,
|
||||
'从腾讯云 IM 拉取近 7 天有更新诊单的漫游消息归档到 tcm_im_chat_message',
|
||||
'sync_im_chat_archive',
|
||||
'--since-days=7 --limit=200',
|
||||
1,
|
||||
'*/30 * * * *',
|
||||
UNIX_TIMESTAMP(),
|
||||
UNIX_TIMESTAMP()
|
||||
);
|
||||
@@ -0,0 +1,28 @@
|
||||
-- 诊单腾讯云 IM 单聊消息归档(定时从 admin_getroammsg 同步,突破云端约 7 天漫游限制)
|
||||
-- 已在生产部分环境创建(参见 server/database/migrations/create_tcm_im_chat_message.sql)
|
||||
-- 此处使用 IF NOT EXISTS 安全重入,确保新环境部署时一并建表
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `zyt_tcm_im_chat_message` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`diagnosis_id` int unsigned NOT NULL DEFAULT 0 COMMENT '诊单ID',
|
||||
`patient_id` int unsigned NOT NULL DEFAULT 0 COMMENT '患者ID(冗余,便于按患者维度排查/统计)',
|
||||
`msg_id` varchar(160) NOT NULL DEFAULT '' COMMENT '业务唯一键:MsgSeq_MsgRandom_From_Account',
|
||||
`from_account` varchar(64) NOT NULL DEFAULT '' COMMENT '发送方 IM UserID',
|
||||
`to_account` varchar(64) NOT NULL DEFAULT '' COMMENT '接收方 IM UserID',
|
||||
`msg_time` int unsigned NOT NULL DEFAULT 0 COMMENT '消息时间 Unix 时间戳',
|
||||
`is_from_doctor` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '是否医生/医助侧发送',
|
||||
`msg_type` varchar(32) NOT NULL DEFAULT '' COMMENT 'text/image/file/sound/video/custom/...',
|
||||
`text` mediumtext COMMENT '文本或自定义消息 Data',
|
||||
`image_url` varchar(1024) NOT NULL DEFAULT '' COMMENT '图片 URL',
|
||||
`file_url` varchar(1024) NOT NULL DEFAULT '' COMMENT '文件/语音/视频 URL',
|
||||
`file_name` varchar(512) NOT NULL DEFAULT '' COMMENT '文件名',
|
||||
`raw_elem_type` varchar(64) NOT NULL DEFAULT '' COMMENT 'TIM 元素类型',
|
||||
`from_staff_name` varchar(64) NOT NULL DEFAULT '' COMMENT '医生侧姓名快照',
|
||||
`doctor_peer_account` varchar(64) NOT NULL DEFAULT '' COMMENT '拉取会话时使用的医生侧账号 doctor_*',
|
||||
`create_time` int unsigned NOT NULL DEFAULT 0 COMMENT '入库时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_msg_id` (`msg_id`),
|
||||
KEY `idx_diagnosis_time` (`diagnosis_id`,`msg_time`),
|
||||
KEY `idx_patient_time` (`patient_id`,`msg_time`),
|
||||
KEY `idx_msg_time` (`msg_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='诊单IM聊天记录归档';
|
||||
@@ -0,0 +1,15 @@
|
||||
-- 业绩看板「预约诊单」挂号明细接口(fans/yeji · pid=293)
|
||||
-- 幂等:按 perms 判重
|
||||
|
||||
INSERT INTO `zyt_system_menu`
|
||||
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
||||
SELECT
|
||||
293, 'A', '业绩-预约挂号明细', '', 12,
|
||||
'stats.yejiStats/appointmentLines', '', '', '', '',
|
||||
1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
FROM DUAL
|
||||
WHERE EXISTS (SELECT 1 FROM `zyt_system_menu` p WHERE p.id = 293)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `zyt_system_menu` m
|
||||
WHERE m.perms = 'stats.yejiStats/appointmentLines'
|
||||
);
|
||||
Reference in New Issue
Block a user