|
|
@@ -66,9 +66,10 @@ private function generateInstallments(StudentContract $contract): void
|
|
|
$rows = [];
|
|
|
$now = now();
|
|
|
|
|
|
- // --- Matrícula ---
|
|
|
+ // Matrícula
|
|
|
if ($contract->tax_register && $contract->installments && $contract->enrollment_due_date) {
|
|
|
$value = round($contract->tax_register / $contract->installments, 2);
|
|
|
+
|
|
|
$dates = $this->buildInstallmentDates(
|
|
|
$contract->enrollment_due_date->format('Y-m-d'),
|
|
|
$recurringDay,
|
|
|
@@ -96,9 +97,10 @@ private function generateInstallments(StudentContract $contract): void
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // --- Pacote ---
|
|
|
+ // Pacote
|
|
|
if ($contract->package_value && $contract->package_installments && $contract->package_due_date) {
|
|
|
$value = round($contract->package_value / $contract->package_installments, 2);
|
|
|
+
|
|
|
$dates = $this->buildInstallmentDates(
|
|
|
$contract->package_due_date->format('Y-m-d'),
|
|
|
$recurringDay,
|
|
|
@@ -128,6 +130,15 @@ private function generateInstallments(StudentContract $contract): void
|
|
|
|
|
|
if (!empty($rows)) {
|
|
|
StudentContractInstallment::insert($rows);
|
|
|
+
|
|
|
+ // Dispatch Asaas sync for the generated installments
|
|
|
+ $installments = StudentContractInstallment::where('student_contract_id', $contract->id)
|
|
|
+ ->where('status', 'pending')
|
|
|
+ ->get();
|
|
|
+
|
|
|
+ foreach ($installments as $installment) {
|
|
|
+ \App\Jobs\SyncStudentChargeJob::dispatch($installment->id);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|