public function importarCompensaciones() { $cambios_cuenta = $this->consultaCambioCuenta(); foreach ($cambios_cuenta as $cambio) { $cambio_origenes = $this->consultaCambioOrigen($cambio->cambio_id); $cambio_destinos = $this->consultaCambioDestino($cambio->cambio_id); $compensa_rm = CompensaRm::create(['fecha' => $cambio->fecha, 'tipo' => $cambio->tipo]); if (count($cambio_origenes) > 0) { foreach ($cambio_origenes as $origen) { $origen_rm_id = Rm::whereRm($origen->rm_origen)->value('id'); $compensa_origen = new CompensaOrigen(['rm_id' => $origen_rm_id, 'monto' => $origen->monto]); $compensa_rm->compensaOrigenes()->save($compensa_origen); } } if (count($cambio_destinos) > 0) { foreach ($cambio_destinos as $destino) { $destino_rm_id = Rm::whereRm($destino->rm_destino)->value('id'); $compensa_destino = new CompensaDestino(['rm_id' => $destino_rm_id, 'monto' => $destino->monto]); $compensa_rm->compensaDestinos()->save($compensa_destino); } } if ($cambio->tipo == 'ExternaIngreso' || $cambio->tipo == 'ExternaEgreso') { $legacy_comp_ext = $this->consultaCompensaExterna($cambio->cambio_id); $urg_externa_id = UrgExterna::whereUrgExterna($legacy_comp_ext->ures_ext)->pluck('id'); if (empty($urg_externa_id)) { $urg_externa_id = UrgExterna::whereUrgExterna('2.2')->pluck('id'); } $compensa_externa = new CompensaExterna(['urg_externa_id' => $urg_externa_id, 'tipo' => $legacy_comp_ext->tipo, 'concepto' => $legacy_comp_ext->concepto]); $compensa_rm->compensaExternas()->save($compensa_externa); } } }