"""fix management_operasional pembebanan

Revision ID: cb5d6e7f8a9b
Revises: ba5c6d7e8f9a
Create Date: 2026-04-24

"""
from alembic import op

revision = "cb5d6e7f8a9b"
down_revision = "ba5c6d7e8f9a"
branch_labels = None
depends_on = None

MANAGEMENT_OPERASIONAL_NAMES = ("Transport", "Konsumsi", "Gaji Karyawan", "Lain-lain")


def upgrade() -> None:
    op.execute("ALTER TABLE expense_kategori ALTER COLUMN pembebanan TYPE VARCHAR(30)")
    names = ", ".join(f"'{n}'" for n in MANAGEMENT_OPERASIONAL_NAMES)
    op.execute(
        f"UPDATE expense_kategori "
        f"SET pembebanan = 'management_operasional' "
        f"WHERE spbu_id IS NULL AND pembebanan = 'kerja_sama' AND nama IN ({names})"
    )


def downgrade() -> None:
    names = ", ".join(f"'{n}'" for n in MANAGEMENT_OPERASIONAL_NAMES)
    op.execute(
        f"UPDATE expense_kategori "
        f"SET pembebanan = 'kerja_sama' "
        f"WHERE spbu_id IS NULL AND pembebanan = 'management_operasional' AND nama IN ({names})"
    )
