Parse rut and 0 centro_costo
This commit is contained in:
@ -98,14 +98,19 @@ class Cartola extends Service
|
|||||||
|
|
||||||
foreach ($movimientos as $dataMovimiento) {
|
foreach ($movimientos as $dataMovimiento) {
|
||||||
$dataMovimiento['cuenta_id'] = $cuenta->id;
|
$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['centro_costo_id'] = $dataMovimiento['centro_costo'];
|
||||||
}
|
}
|
||||||
$dataMovimiento['fecha'] = new DateTimeImmutable($dataMovimiento['fecha']);
|
$dataMovimiento['fecha'] = new DateTimeImmutable($dataMovimiento['fecha']);
|
||||||
if (array_key_exists('rut', $dataMovimiento)) {
|
if (array_key_exists('rut', $dataMovimiento)) {
|
||||||
list($rut, $digito) = explode('-', $dataMovimiento['rut']);
|
$ruts = $this->parseRut($dataMovimiento['rut']);
|
||||||
$dataMovimiento['rut'] = trim(preg_replace('/\D+/', '', $rut));
|
if (key_exists('rut', $ruts)) {
|
||||||
$dataMovimiento['digito'] = trim($digito);
|
$dataMovimiento['rut'] = $ruts['rut'];
|
||||||
|
$dataMovimiento['digito'] = $ruts['digito'];
|
||||||
|
} else {
|
||||||
|
$dataMovimiento['rut'] = $ruts[0]['rut'];
|
||||||
|
$dataMovimiento['digito'] = $ruts[0]['digito'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$this->movimientoService->add($dataMovimiento);
|
$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