Files
intc-cloud/sql/medication_job_pg.sql
bot5 191f6e1caf refactor(health): 按文档规范重构用药管理模块
【重大重构】完全按照功能规划文档重写

## 表结构变更
- 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: 定时任务配置
2026-03-19 20:19:56 +08:00

64 lines
1.8 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ========================================
-- 用药管理模块 - 定时任务配置
-- 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(),
'每小时检查并标记过期的服药记录'
);