-- ============================================================
-- V5__init_depts.sql
-- 初始化部门数据
-- 创建物业公司的默认部门结构
-- ============================================================

BEGIN;

-- ============================================================
-- 1. 创建顶级部门（物业公司总部）
-- ============================================================

INSERT INTO dept (id, dept_name, dept_type, parent_id, sort_order, status)
VALUES
    ('00000000-0000-0000-0000-000000000001', '物业公司总部', 'ADMIN', NULL, 0, 'ACTIVE'),
    ('00000000-0000-0000-0000-000000000002', '行政管理部', 'ADMIN', '00000000-0000-0000-0000-000000000001', 1, 'ACTIVE'),
    ('00000000-0000-0000-0000-000000000003', '财务部', 'ADMIN', '00000000-0000-0000-0000-000000000001', 2, 'ACTIVE'),
    ('00000000-0000-0000-0000-000000000004', '人力资源部', 'ADMIN', '00000000-0000-0000-0000-000000000001', 3, 'ACTIVE');

-- ============================================================
-- 2. 创建业务部门
-- ============================================================

INSERT INTO dept (id, dept_name, dept_type, parent_id, sort_order, status)
VALUES
    ('00000000-0000-0000-0000-000000000010', '工程部', 'ENGINEERING', '00000000-0000-0000-0000-000000000001', 10, 'ACTIVE'),
    ('00000000-0000-0000-0000-000000000011', '安保部', 'SECURITY', '00000000-0000-0000-0000-000000000001', 11, 'ACTIVE'),
    ('00000000-0000-0000-0000-000000000012', '客服部', 'CS', '00000000-0000-0000-0000-000000000001', 12, 'ACTIVE'),
    ('00000000-0000-0000-0000-000000000013', '保洁部', 'CLEANING', '00000000-0000-0000-0000-000000000001', 13, 'ACTIVE');

-- ============================================================
-- 3. 创建工程部下级班组
-- ============================================================

INSERT INTO dept (id, dept_name, dept_type, parent_id, sort_order, status)
VALUES
    ('00000000-0000-0000-0000-000000000020', '维修班组', 'ENGINEERING', '00000000-0000-0000-0000-000000000010', 1, 'ACTIVE'),
    ('00000000-0000-0000-0000-000000000021', '电梯班组', 'ENGINEERING', '00000000-0000-0000-0000-000000000010', 2, 'ACTIVE'),
    ('00000000-0000-0000-0000-000000000022', '强弱电班组', 'ENGINEERING', '00000000-0000-0000-0000-000000000010', 3, 'ACTIVE');

-- ============================================================
-- 4. 创建安保部下级班组
-- ============================================================

INSERT INTO dept (id, dept_name, dept_type, parent_id, sort_order, status)
VALUES
    ('00000000-0000-0000-0000-000000000030', '门禁班组', 'SECURITY', '00000000-0000-0000-0000-000000000011', 1, 'ACTIVE'),
    ('00000000-0000-0000-0000-000000000031', '巡逻班组', 'SECURITY', '00000000-0000-0000-0000-000000000011', 2, 'ACTIVE'),
    ('00000000-0000-0000-0000-000000000032', '监控班组', 'SECURITY', '00000000-0000-0000-0000-000000000011', 3, 'ACTIVE');

-- ============================================================
-- 5. 创建客服部下级
-- ============================================================

INSERT INTO dept (id, dept_name, dept_type, parent_id, sort_order, status)
VALUES
    ('00000000-0000-0000-0000-000000000040', '前台接待', 'CS', '00000000-0000-0000-0000-000000000012', 1, 'ACTIVE'),
    ('00000000-0000-0000-0000-000000000041', '业主服务', 'CS', '00000000-0000-0000-0000-000000000012', 2, 'ACTIVE');

-- ============================================================
-- 6. 创建保洁部下级
-- ============================================================

INSERT INTO dept (id, dept_name, dept_type, parent_id, sort_order, status)
VALUES
    ('00000000-0000-0000-0000-000000000050', '日常保洁组', 'CLEANING', '00000000-0000-0000-0000-000000000013', 1, 'ACTIVE'),
    ('00000000-0000-0000-0000-000000000051', '专项保洁组', 'CLEANING', '00000000-0000-0000-0000-000000000013', 2, 'ACTIVE');

COMMIT;
