SET @db = DATABASE();

SET @sql = IF(
    EXISTS(
        SELECT 1 FROM information_schema.TABLES
        WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_work_ledger'
    ),
    'SELECT 1',
    'CREATE TABLE gxmu_work_ledger (
        id INT AUTO_INCREMENT PRIMARY KEY COMMENT ''主键ID'',
        ledger_type VARCHAR(50) NOT NULL COMMENT ''台账类型'',
        unit_name VARCHAR(255) NULL COMMENT ''单位'',
        responsible_person VARCHAR(100) NULL COMMENT ''负责人'',
        use_start_month VARCHAR(20) NULL COMMENT ''使用开始月份'',
        use_end_month VARCHAR(20) NULL COMMENT ''使用结束月份'',
        secretary_name VARCHAR(100) NULL COMMENT ''团委书记姓名'',
        branch_count VARCHAR(50) NULL COMMENT ''所辖团（总）支部数'',
        member_total VARCHAR(50) NULL COMMENT ''团员总数'',
        faculty_member_count VARCHAR(50) NULL COMMENT ''教职工团员数'',
        student_member_count VARCHAR(50) NULL COMMENT ''学生团员数'',
        minority_member_count VARCHAR(50) NULL COMMENT ''少数民族团员数'',
        female_member_count VARCHAR(50) NULL COMMENT ''女团员数'',
        youth14_to_28_count VARCHAR(50) NULL COMMENT ''14-28岁青年数'',
        youth29_to_35_count VARCHAR(50) NULL COMMENT ''29-35岁青年数'',
        cadre_total VARCHAR(50) NULL COMMENT ''团干总数'',
        faculty_cadre_count VARCHAR(50) NULL COMMENT ''职工团干数'',
        student_cadre_count VARCHAR(50) NULL COMMENT ''学生团干数'',
        last_election_time VARCHAR(50) NULL COMMENT ''最近一次换届时间'',
        fee_balance VARCHAR(50) NULL COMMENT ''团费余额'',
        first_half_fee_due VARCHAR(50) NULL COMMENT ''上半年应缴团费'',
        first_half_fee_paid VARCHAR(50) NULL COMMENT ''上半年实缴团费'',
        second_half_fee_due VARCHAR(50) NULL COMMENT ''下半年应缴团费'',
        second_half_fee_paid VARCHAR(50) NULL COMMENT ''下半年实缴团费'',
        school_society_connection_rate VARCHAR(100) NULL COMMENT ''学社衔接率'',
        smart_league_entry_rate VARCHAR(100) NULL COMMENT ''智慧团建录入率'',
        annual_summary LONGTEXT NULL COMMENT ''年度工作总结'',
        committee_members LONGTEXT NULL COMMENT ''团委班子成员名单(JSON)'',
        fee_records LONGTEXT NULL COMMENT ''团费收支记录(JSON)'',
        subordinate_orgs LONGTEXT NULL COMMENT ''下属团组织情况(JSON)'',
        honor_records LONGTEXT NULL COMMENT ''荣誉登记(JSON)'',
        activist_recommendations LONGTEXT NULL COMMENT ''推荐入党积极分子(JSON)'',
        discipline_records LONGTEXT NULL COMMENT ''团员团纪处理记录(JSON)'',
        meeting_records LONGTEXT NULL COMMENT ''团委会议记录(JSON)'',
        activity_records LONGTEXT NULL COMMENT ''团委活动记录(JSON)'',
        education_evaluations LONGTEXT NULL COMMENT ''年度团员教育评议结果(JSON)'',
        year INT NULL COMMENT ''年度'',
        user_id INT NULL COMMENT ''用户ID'',
        deleted INT DEFAULT 0 COMMENT ''是否删除'',
        tenant_id INT NULL COMMENT ''租户ID'',
        create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT ''创建时间'',
        update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ''更新时间''
    ) COMMENT=''基层团组织工作台账'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
