【重大重构】完全按照功能规划文档重写 ## 表结构变更 - medication_plan: 用药计划表(按文档设计) - medication_task: 服药任务表(按文档设计) - medication_remind_log: 提醒日志表 - medicine_stock_log: 库存变动表 - medication_adherence_stats: 统计汇总表 ## 字段变更 - frequency_config: JSONB 频次配置 - time_slots: JSONB 时段配置 - family_member_ids: JSONB 家属通知 - status: 状态值按文档规范(0-待服药 1-已服药 2-漏服 3-跳过) ## 新增组件 - JsonNodeTypeHandler: PostgreSQL JSONB 类型处理器 ## SQL 脚本 - medication_module_pg.sql: 建表语句(PostgreSQL) - medication_menu_pg.sql: 菜单权限配置 - medication_job_pg.sql: 定时任务配置
64 lines
1.8 KiB
SQL
64 lines
1.8 KiB
SQL
-- ========================================
|
||
-- 用药管理模块 - 定时任务配置
|
||
-- PostgreSQL 版本
|
||
-- ========================================
|
||
|
||
-- 1. 每日生成服药任务(每日 00:05 执行)
|
||
INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)
|
||
VALUES (
|
||
'每日生成服药任务',
|
||
'DEFAULT',
|
||
'medicationTaskJob.generateDailyTasks',
|
||
'0 5 0 * * ?',
|
||
'2',
|
||
'1',
|
||
'0',
|
||
'admin',
|
||
NOW(),
|
||
'每日凌晨00:05自动生成当天的服药任务'
|
||
);
|
||
|
||
-- 2. 扫描并发送服药提醒(每分钟执行)
|
||
INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)
|
||
VALUES (
|
||
'扫描服药提醒',
|
||
'DEFAULT',
|
||
'medicationRemindJob.scanAndSendReminders',
|
||
'0 * * * * ?',
|
||
'2',
|
||
'1',
|
||
'0',
|
||
'admin',
|
||
NOW(),
|
||
'每分钟扫描待提醒的服药任务并发送提醒'
|
||
);
|
||
|
||
-- 3. 扫描超时未服药记录(每5分钟执行)
|
||
INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)
|
||
VALUES (
|
||
'扫描超时未服药',
|
||
'DEFAULT',
|
||
'medicationRemindJob.scanOverdueRecords',
|
||
'0 */5 * * * ?',
|
||
'2',
|
||
'1',
|
||
'0',
|
||
'admin',
|
||
NOW(),
|
||
'每5分钟扫描超时未服药的记录并发送提醒'
|
||
);
|
||
|
||
-- 4. 标记过期服药记录(每小时执行)
|
||
INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)
|
||
VALUES (
|
||
'标记过期服药记录',
|
||
'DEFAULT',
|
||
'medicationTaskJob.markExpiredRecords',
|
||
'0 0 * * * ?',
|
||
'2',
|
||
'1',
|
||
'0',
|
||
'admin',
|
||
NOW(),
|
||
'每小时检查并标记过期的服药记录'
|
||
); |