YZProjectCloud/docsql/2026/04/多考勤系统.md

68 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

### 1.给attendance_cfg表中增加is_default int 1-默认0-非默认
更新历史数据
UPDATE attendance_cfg set is_default=1
更新历史数据
UPDATE pro_mobile_attendance_data pmad
INNER JOIN (
SELECT ac.project_id, ac.id AS cfg_id
FROM attendance_cfg ac
WHERE ac.is_default = 1 AND ac.enabled = 1
) ac ON pmad.project_id = ac.project_id
SET pmad.cfg_id = ac.cfg_id
WHERE pmad.att_device = 'device' AND pmad.cfg_id = 0;
### 2.attendance_ubi_data表增加cfg_id保存配置ID
更新历史数据
UPDATE attendance_ubi_data a
SET cfg_id = (
SELECT id
FROM attendance_cfg
WHERE project_id = a.projectid
AND com_id = a.comId
AND is_default = 1
AND enabled = 1
LIMIT 1
)
WHERE a.cfg_id IS NULL;
### 3.性能优化
-- 主表复合索引
CREATE INDEX idx_pro_mobile_attendance_project_att ON pro_mobile_attendance_data(project_id, att_date DESC, id DESC);
-- 用户表索引
CREATE INDEX idx_pro_project_users_id ON pro_project_info_subdepts_users(user_id);
-- 字典表索引
CREATE INDEX idx_sys_dict_type_value ON sys_dict_data(dict_type, dict_value);
### 4.给attendance_cfg表中增加cfg_name varchar(100) 用于保存配置名称,前端是必填
更新历史数据
update attendance_cfg set cfg_name='默认配置'
### 5.attendance_ubi_device表增加cfg_id int 配置编号
更新历史数据
UPDATE attendance_ubi_device ud
SET cfg_id = (
SELECT id
FROM attendance_cfg
WHERE project_id = ud.project_id
AND com_id = ud.com_id
AND is_default = 1
AND enabled = 1
LIMIT 1
)
WHERE ud.cfg_id IS NULL;