Parse rut and 0 centro_costo
This commit is contained in:
@ -98,14 +98,19 @@ class Cartola extends Service
|
||||
|
||||
foreach ($movimientos as $dataMovimiento) {
|
||||
$dataMovimiento['cuenta_id'] = $cuenta->id;
|
||||
if (array_key_exists('centro_costo', $dataMovimiento)) {
|
||||
if (array_key_exists('centro_costo', $dataMovimiento) and $dataMovimiento['centro_costo'] !== 0) {
|
||||
$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);
|
||||
$ruts = $this->parseRut($dataMovimiento['rut']);
|
||||
if (key_exists('rut', $ruts)) {
|
||||
$dataMovimiento['rut'] = $ruts['rut'];
|
||||
$dataMovimiento['digito'] = $ruts['digito'];
|
||||
} else {
|
||||
$dataMovimiento['rut'] = $ruts[0]['rut'];
|
||||
$dataMovimiento['digito'] = $ruts[0]['digito'];
|
||||
}
|
||||
}
|
||||
$this->movimientoService->add($dataMovimiento);
|
||||
}
|
||||
@ -250,4 +255,17 @@ class Cartola extends Service
|
||||
}
|
||||
}
|
||||
}
|
||||
protected function parseRut(string $rut): array
|
||||
{
|
||||
if (str_contains($rut, '/')) {
|
||||
$ruts = explode('/', $rut);
|
||||
$output = [];
|
||||
foreach ($ruts as $rut) {
|
||||
$output []= $this->parseRut($rut);
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
list($rut, $digito) = explode('-', $rut);
|
||||
return ['rut' => trim(preg_replace('/\D+/', '', $rut)), 'digito' => trim($digito)];
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user