mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
solucionado guardado de servicios acabado cubierta y sobrecubierta
This commit is contained in:
@ -22,6 +22,7 @@ use App\Services\PresupuestoClienteService;
|
||||
use App\Services\PresupuestoService;
|
||||
use Exception;
|
||||
|
||||
use stdClass;
|
||||
use function PHPUnit\Framework\containsOnly;
|
||||
|
||||
|
||||
@ -718,6 +719,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
$reqData = $this->request->getPost();
|
||||
|
||||
$POD = model('App\Models\Configuracion\ConfiguracionSistemaModel')->getPOD();
|
||||
|
||||
$id = $reqData['id'] ?? 0;
|
||||
$id = intval($id);
|
||||
|
||||
@ -932,23 +935,24 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if ($id != 0) {
|
||||
$borrar_antes = true;
|
||||
}
|
||||
|
||||
$sobrecubierta_acabado_id = [];
|
||||
if ($datos_presupuesto['sobrecubierta']) {
|
||||
$acabado_id = $this->obtenerTarifasAcabado(['plastificado' => $datos_presupuesto['sobrecubierta']['acabados']]);
|
||||
if (count($acabado_id) > 0) {
|
||||
$datos_presupuesto['sobrecubierta']['acabados'] = $acabado_id[0];
|
||||
$sobrecubierta_acabado_id = $this->obtenerTarifasAcabado(['plastificado' => $datos_presupuesto['sobrecubierta']['acabados']]);
|
||||
if (count($sobrecubierta_acabado_id) > 0) {
|
||||
// la sobrecubierta sólo tiene plastificado
|
||||
$datos_presupuesto['sobrecubierta']['acabados'] = $sobrecubierta_acabado_id['plastificado'];
|
||||
}
|
||||
}
|
||||
$acabado_id = $this->obtenerTarifasAcabado($datos_presupuesto['cubierta']['acabadosCubierta']);
|
||||
if (count($acabado_id) > 0) {
|
||||
if (array_key_exists('plastificado', $acabado_id)) {
|
||||
$datos_presupuesto['cubierta']['acabadosCubierta']['plastificado'] = $acabado_id['plastificado'];
|
||||
$cubierta_acabado_id = $this->obtenerTarifasAcabado($datos_presupuesto['cubierta']['acabadosCubierta']);
|
||||
if (count($cubierta_acabado_id) > 0) {
|
||||
if (array_key_exists('plastificado', $cubierta_acabado_id)) {
|
||||
$datos_presupuesto['cubierta']['acabadosCubierta']['plastificado'] = $cubierta_acabado_id['plastificado'];
|
||||
}
|
||||
if (array_key_exists('barniz', $acabado_id)) {
|
||||
$datos_presupuesto['cubierta']['acabadosCubierta']['barniz'] = $acabado_id['barniz'];
|
||||
if (array_key_exists('barniz', $cubierta_acabado_id)) {
|
||||
$datos_presupuesto['cubierta']['acabadosCubierta']['barniz'] = $cubierta_acabado_id['barniz'];
|
||||
}
|
||||
if (array_key_exists('estampado', $acabado_id)) {
|
||||
$datos_presupuesto['cubierta']['acabadosCubierta']['estampado'] = $acabado_id['estampado'];
|
||||
if (array_key_exists('estampado', $cubierta_acabado_id)) {
|
||||
$datos_presupuesto['cubierta']['acabadosCubierta']['estampado'] = $cubierta_acabado_id['estampado'];
|
||||
}
|
||||
} else {
|
||||
$datos_presupuesto['cubierta']['acabadosCubierta']['id'] = 0;
|
||||
@ -991,6 +995,27 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$this->guardarLineaPresupuesto($id, $resultado_presupuesto['info']['guardas']);
|
||||
|
||||
// Servicios
|
||||
foreach ($sobrecubierta_acabado_id as $acabado) {
|
||||
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
$servicio = $model->getPrecioTarifa($acabado, intval($selected_tirada), -1, $POD);
|
||||
|
||||
if (count($servicio) > 0) {
|
||||
if ($servicio[0]->total > 0) {
|
||||
$this->guardarServicio($id, $servicio[0], 'acabado', false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach ($cubierta_acabado_id as $acabado) {
|
||||
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
$servicio = $model->getPrecioTarifa($acabado, intval($selected_tirada), -1, $POD);
|
||||
|
||||
if (count($servicio) > 0) {
|
||||
if ($servicio[0]->total > 0) {
|
||||
$this->guardarServicio($id, $servicio[0], 'acabado', true, false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
foreach ($resultado_presupuesto['info']['serviciosDefecto'] as $servicio) {
|
||||
$this->guardarServicio($id, $servicio, 'encuadernacion');
|
||||
}
|
||||
@ -1311,7 +1336,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
|
||||
|
||||
protected function guardarServicio($presupuestoId, $servicio, $tipo)
|
||||
protected function guardarServicio($presupuestoId, $servicio, $tipo, $cubierta = false, $sobrecubierta = false)
|
||||
{
|
||||
|
||||
if ($tipo == 'encuadernacion') {
|
||||
@ -1349,9 +1374,12 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$data = [
|
||||
'presupuesto_id' => $presupuestoId,
|
||||
'tarifa_acabado_id' => $servicio->tarifa_id,
|
||||
'precio_total' => $servicio->total,
|
||||
'precio_unidad' => $servicio->precio_unidad,
|
||||
'precio_total' => round($servicio->total, 2),
|
||||
'precio_unidad' => round($servicio->precio_unidad, 2),
|
||||
'margen' => $servicio->margen,
|
||||
'proveedor_id' => $servicio->proveedor_id,
|
||||
'cubierta' => $cubierta,
|
||||
'sobrecubierta' => $sobrecubierta,
|
||||
];
|
||||
$model->insert($data);
|
||||
} else if ($tipo == 'manipulado') {
|
||||
@ -1790,7 +1818,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
foreach ($tarifaAcabadoSobrecubierta as $tarifa) {
|
||||
|
||||
// NONE
|
||||
if ($tarifaAcabadoSobrecubierta[0] == 0)
|
||||
if ($tarifa == 0)
|
||||
continue;
|
||||
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
$acabadoSobrecubierta = $model->getPrecioTarifa($tarifa, $datosPedido->tirada, -1, $POD);
|
||||
@ -2590,10 +2618,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
if ($value != 'NONE') {
|
||||
$data = $model->where('code', $value)->first();
|
||||
$data = $data->id;
|
||||
array_push($tarifas, [$acabado => $data]);
|
||||
} else {
|
||||
array_push($tarifas, 0);
|
||||
$tarifas[$acabado] = $data->id;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user