-- =============================================
-- 种子数据：管理员 + 基础角色 + 字典
-- =============================================

-- 插入部门
INSERT INTO sys_dept (id, parent_id, dept_name, dept_type, sort_order) VALUES
(1,  NULL, '精河县水利局', 'water_bureau', 1),
(2,  NULL, '安阜清源水务公司', 'water_company', 2),
(3,  2, '一体化水厂', 'water_company', 1),
(4,  2, '精芒片区', 'water_company', 2),
(5,  2, '八家户片区', 'water_company', 3),
(6,  2, '托里片区', 'water_company', 4),
(7,  2, '大镇阿合其片区', 'water_company', 5),
(8,  2, '托托片区', 'water_company', 6),
(9,  2, '运维中心', 'ops', 7)
ON CONFLICT DO NOTHING;

-- 重置序列
SELECT setval('sys_dept_id_seq', (SELECT MAX(id) FROM sys_dept));

-- 插入角色
INSERT INTO sys_role (id, role_name, role_key, role_sort, data_scope, remark) VALUES
(1, '系统管理员', 'admin', 1, 'ALL', '最高权限，管理全部功能'),
(2, '水务分管领导', 'leader', 2, 'ALL', '查看全部数据、BI看板'),
(3, '水务业务管理人员', 'manager', 3, 'DEPT', '调度、营收、水质管理'),
(4, '现场运维操作人员', 'operator', 4, 'DEPT', '巡检、值班、工单处理'),
(5, '系统技术维护人员', 'tech', 5, 'DEPT', '配置管理、设备维护')
ON CONFLICT (role_key) DO NOTHING;

-- 插入管理员用户 (密码: admin123, BCrypt加密)
INSERT INTO sys_user (id, dept_id, username, password, real_name, role_type, status) VALUES
(1, 1, 'admin', '$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7iAt6Z5Eh', '系统管理员', 'admin', 1)
ON CONFLICT (username) DO NOTHING;

-- 管理员关联角色
INSERT INTO sys_user_role (user_id, role_id) VALUES (1, 1) ON CONFLICT DO NOTHING;

-- 插入字典类型
INSERT INTO sys_dict_type (id, dict_key, dict_name) VALUES
(1, 'device_type', '设备类型'),
(2, 'area', '片区'),
(3, 'customer_type', '用水户类型'),
(4, 'alert_level', '报警等级'),
(5, 'meter_status', '水表状态')
ON CONFLICT (dict_key) DO NOTHING;

-- 插入字典数据
INSERT INTO sys_dict_data (dict_type_id, dict_label, dict_value, sort_order) VALUES
-- 设备类型
(1, '流量计', 'flow_meter', 1),
(1, '压力传感器', 'pressure_sensor', 2),
(1, '电动阀门', 'valve', 3),
(1, '水质监测仪', 'water_quality', 4),
(1, '液位计', 'level_sensor', 5),
(1, '水泵', 'pump', 6),
-- 片区
(2, '一体化水厂', '一体化水厂', 1),
(2, '精芒片区', '精芒片区', 2),
(2, '八家户片区', '八家户片区', 3),
(2, '托里片区', '托里片区', 4),
(2, '大镇阿合其片区', '大镇阿合其片区', 5),
(2, '托托片区', '托托片区', 6),
-- 用水户类型
(3, '居民', 'residential', 1),
(3, '商业', 'business', 2),
(3, '企业', 'enterprise', 3),
(3, '事业单位', 'institution', 4),
-- 报警等级
(4, '提示', 'info', 1),
(4, '一般', 'warning', 2),
(4, '严重', 'critical', 3),
(4, '紧急', 'emergency', 4),
-- 水表状态
(5, '正常使用', 'active', 1),
(5, '已拆除', 'dismantled', 2),
(5, '已报废', 'scrapped', 3),
(5, '维修中', 'repaired', 4),
(5, '库存', 'warehouse', 5)
ON CONFLICT DO NOTHING;
