Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

helpers.php 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. use App\DTO\AccountBalanceDTO;
  3. use App\Enums\Accounting\AccountCategory;
  4. use App\Enums\Setting\EntityType;
  5. use App\Filament\Company\Pages\CreateCompany;
  6. use App\Models\Company;
  7. use App\Services\ReportService;
  8. use function Pest\Livewire\livewire;
  9. function createCompany(string $name): Company
  10. {
  11. livewire(CreateCompany::class)
  12. ->fillForm([
  13. 'name' => $name,
  14. 'profile.email' => 'company@gmail.com',
  15. 'profile.entity_type' => EntityType::LimitedLiabilityCompany,
  16. 'profile.country' => 'US',
  17. 'locale.language' => 'en',
  18. 'currencies.code' => 'USD',
  19. ])
  20. ->call('register')
  21. ->assertHasNoErrors();
  22. return auth()->user()->currentCompany;
  23. }
  24. function calculateRetainedEarningsBalances(ReportService $reportService, $startDate, $endDate): AccountBalanceDTO
  25. {
  26. $retainedEarningsAmount = $reportService->calculateRetainedEarnings($startDate, $endDate)->getAmount();
  27. $isCredit = $retainedEarningsAmount >= 0;
  28. $retainedEarningsDebitAmount = $isCredit ? 0 : abs($retainedEarningsAmount);
  29. $retainedEarningsCreditAmount = $isCredit ? $retainedEarningsAmount : 0;
  30. return $reportService->formatBalances([
  31. 'debit_balance' => $retainedEarningsDebitAmount,
  32. 'credit_balance' => $retainedEarningsCreditAmount,
  33. ]);
  34. }
  35. function formatReportBalances(array $balances): AccountBalanceDTO
  36. {
  37. $reportService = app(ReportService::class);
  38. return $reportService->formatBalances($balances);
  39. }
  40. function calculateTrialBalances(AccountCategory $accountCategory, int $endingBalance): array
  41. {
  42. $reportService = app(ReportService::class);
  43. return $reportService->calculateTrialBalance($accountCategory, $endingBalance);
  44. }