feat(health): 新增依从性统计功能
- 新增 MedicationAdherenceController:统计API接口 - 新增 IMedicationAdherenceService:统计服务接口 - 新增 MedicationAdherenceServiceImpl:统计服务实现 - 新增 MedicationAdherenceVo/DailyAdherenceVo:统计VO - 扩展 HealthMedicationRecordMapper:新增统计SQL - 新增菜单和统计汇总表SQL
This commit is contained in:
53
sql/20250319-medication-adherence.sql
Normal file
53
sql/20250319-medication-adherence.sql
Normal file
@@ -0,0 +1,53 @@
|
||||
-- ========================================
|
||||
-- 依从性统计功能 - SQL脚本
|
||||
-- ========================================
|
||||
|
||||
-- 用药统计菜单
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark)
|
||||
VALUES (
|
||||
nextval('seq_sys_menu'),
|
||||
'用药统计',
|
||||
(SELECT menu_id FROM sys_menu WHERE menu_name = '健康管理' LIMIT 1),
|
||||
12,
|
||||
'medicationStatistic',
|
||||
'health/medicationStatistic/index',
|
||||
NULL,
|
||||
1,
|
||||
0,
|
||||
'C',
|
||||
'0',
|
||||
'0',
|
||||
'health:medicationStatistic:query',
|
||||
'chart',
|
||||
'admin',
|
||||
NOW(),
|
||||
'用药统计菜单'
|
||||
);
|
||||
|
||||
-- 用药统计按钮权限
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark)
|
||||
SELECT nextval('seq_sys_menu'), '用药统计查询', m.menu_id, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'health:medicationStatistic:query', '#', 'admin', NOW(), '' FROM sys_menu m WHERE m.perms = 'health:medicationStatistic:query';
|
||||
|
||||
-- ========================================
|
||||
-- 添加依从性统计汇总表(可选,用于预计算性能优化)
|
||||
-- ========================================
|
||||
DROP TABLE IF EXISTS health_medication_adherence_stats;
|
||||
CREATE TABLE health_medication_adherence_stats (
|
||||
id BIGINT NOT NULL,
|
||||
person_id BIGINT NOT NULL,
|
||||
plan_id BIGINT NULL,
|
||||
stat_date DATE NOT NULL,
|
||||
total_tasks INT DEFAULT 0,
|
||||
completed_tasks INT DEFAULT 0,
|
||||
missed_tasks INT DEFAULT 0,
|
||||
skipped_tasks INT DEFAULT 0,
|
||||
ontime_tasks INT DEFAULT 0,
|
||||
adherence_rate DECIMAL(5,2) DEFAULT 0.00,
|
||||
ontime_rate DECIMAL(5,2) DEFAULT 0.00,
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE=InnoDB COMMENT='依从性统计汇总表';
|
||||
|
||||
CREATE UNIQUE INDEX idx_hmas_person_date ON health_medication_adherence_stats(person_id, stat_date, plan_id);
|
||||
CREATE INDEX idx_hmas_stat_date ON health_medication_adherence_stats(stat_date);
|
||||
Reference in New Issue
Block a user