from django.core.management.base import BaseCommand
from overtime.models import OvertimeRequest

class Command(BaseCommand):
    help = 'Recalculates amounts for HR approved overtime requests'

    def handle(self, *args, **options):
        # Get all HR approved requests
        requests = OvertimeRequest.objects.filter(
            status__in=['PENDING', 'HR_APPROVED', 'REG_APPROVED', 'PROCESSED']
        )
        
        count = 0
        for request in requests:
            old_amount = request.amount
            request.save()  # This will trigger amount recalculation
            self.stdout.write(
                f'Request {request.id}: {request.employee} on {request.date}\n'
                f'  Old amount: K{old_amount}, New amount: K{request.amount}'
            )
            count += 1
        
        self.stdout.write(
            self.style.SUCCESS(
                f'Successfully recalculated amounts for {count} overtime requests'
            )
        )
