diff --git a/app/Console/ExportPeriodStatements.php b/app/Console/ExportPeriodStatements.php new file mode 100644 index 0000000..d790989 --- /dev/null +++ b/app/Console/ExportPeriodStatements.php @@ -0,0 +1,57 @@ +option('account_number'); + $period = $this->option('period'); + + $this->info('Starting period statement export process...'); + + + try { + $controller = app(WebstatementController::class); + $response = $controller->printStatementRekening($accountNumber, $period); + + $responseData = json_decode($response->getContent(), true); + $this->info($responseData['message']); + + // Display summary of jobs queued + $jobCount = count($responseData['jobs'] ?? []); + $this->info("Successfully queued {$jobCount} statement export jobs"); + + return Command::SUCCESS; + } catch (Exception $e) { + $this->error('Error exporting statements: ' . $e->getMessage()); + return Command::FAILURE; + } + } + } diff --git a/app/Http/Controllers/WebstatementController.php b/app/Http/Controllers/WebstatementController.php index 25ffef1..803f028 100644 --- a/app/Http/Controllers/WebstatementController.php +++ b/app/Http/Controllers/WebstatementController.php @@ -5,15 +5,9 @@ use App\Http\Controllers\Controller; use Carbon\Carbon; use Illuminate\Contracts\Bus\Dispatcher; - use Illuminate\Http\Request; - use Illuminate\Support\Facades\DB; - use Illuminate\Support\Facades\Storage; use Modules\Webstatement\Jobs\ExportStatementJob; use Modules\Webstatement\Models\AccountBalance; - use Modules\Webstatement\Models\StmtEntry; - use Modules\Webstatement\Models\TempFundsTransfer; - use Modules\Webstatement\Models\TempStmtNarrFormat; - use Modules\Webstatement\Models\TempStmtNarrParam; + use Modules\Webstatement\Jobs\ExportStatementPeriodJob; class WebstatementController extends Controller { @@ -142,9 +136,8 @@ } - function printStatementRekening() { - $accountNumber = '1234567890'; - $period = '202505'; + function printStatementRekening($accountNumber, $period = null) { + $period = $period ?? date('Ym'); $balance = AccountBalance::where('account_number', $accountNumber) ->when($period === '202505', function($query) { return $query->where('period', '>=', '20250512')