Move Cartola::import into the Service and added errors

This commit is contained in:
Juan Pablo Vial
2024-08-26 15:24:42 -04:00
parent 936830ae64
commit d9e27d5af7
2 changed files with 49 additions and 40 deletions

View File

@ -91,6 +91,31 @@ class Cartola extends Service
$cartola = $this->buildCartola($cuenta, $fecha, $cartolaData);
return compact('cartola', 'movimientos');
}
public function import(int $cuenta_id, UploadedFileInterface $file): array
{
$cuenta = $this->cuentaRepository->fetchById($cuenta_id);
$movimientos = $this->process($cuenta->banco, $file);
foreach ($movimientos as $dataMovimiento) {
$dataMovimiento['cuenta_id'] = $cuenta->id;
if (array_key_exists('centro_costo', $dataMovimiento)) {
$dataMovimiento['centro_costo_id'] = $dataMovimiento['centro_costo'];
}
$dataMovimiento['fecha'] = new DateTimeImmutable($dataMovimiento['fecha']);
if (array_key_exists('rut', $dataMovimiento)) {
list($rut, $digito) = explode('-', $dataMovimiento['rut']);
$dataMovimiento['rut'] = trim(preg_replace('/\D+/', '', $rut));
$dataMovimiento['digito'] = trim($digito);
}
$this->movimientoService->add($dataMovimiento);
}
$inmobiliaria = $cuenta->inmobiliaria;
return array_map(function($movimiento) use ($inmobiliaria) {
$movimiento['sociedad'] = $inmobiliaria;
return $movimiento;
}, $movimientos);
}
protected function getMovimientosDiarios(Model\Contabilidad\Banco $banco, UploadedFileInterface $file): array
{