|
|
@@ -107,6 +107,25 @@ public function handle(): void
|
|
|
|
|
|
$receive->update($updateData);
|
|
|
|
|
|
+ // Reflete a baixa na Conta a Pagar da unidade quando o TBR é confirmado
|
|
|
+ // pago via Asaas (mantém o espelho em dia sem baixa manual). A baixa manual
|
|
|
+ // de cada lado continua independente para os demais casos.
|
|
|
+ if ($newStatusValue === ReceivableStatus::PAID->value) {
|
|
|
+ $payable = \App\Models\UnitAccountPayable::where('franchisee_account_receive_id', $receive->id)
|
|
|
+ ->whereNotIn('status', ['paid', 'cancelled'])
|
|
|
+ ->first();
|
|
|
+
|
|
|
+ if ($payable) {
|
|
|
+ $payable->update([
|
|
|
+ 'status' => 'paid',
|
|
|
+ 'paid_value' => $payable->value,
|
|
|
+ 'payment_date' => $updateData['payment_date'] ?? now(),
|
|
|
+ ]);
|
|
|
+
|
|
|
+ Log::info("Asaas Webhook Job: Conta a Pagar da unidade #{$payable->id} baixada automaticamente (TBR pago).");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
Log::info("Asaas Webhook Job: {$type} #{$receive->id} atualizado para '{$newStatusValue}'", [
|
|
|
'event' => $event,
|
|
|
'asaas_id' => $asaasId,
|