trabajando en cubierta

This commit is contained in:
2024-12-18 22:32:23 +01:00
parent bb138019d5
commit 8dca0936c5
5 changed files with 768 additions and 709 deletions

View File

@ -65,7 +65,7 @@ class PresupuestoClienteService extends BaseService
}
}
public static function obtenerCubierta($data)
public static function obtenerCubierta($data, $return_raw=false)
{
$uso = $data['uso'];
@ -76,7 +76,6 @@ class PresupuestoClienteService extends BaseService
$isColor = $data['isColor'];
$isHq = $data['isHq'];
$cliente_id = $data['cliente_id'];
$paginas_color = $data['paginas_color'];
$lomoRedondo = $data['lomoRedondo'];
$lineas_cubierta = [];
@ -102,6 +101,14 @@ class PresupuestoClienteService extends BaseService
}
if (count($lineas_cubierta) > 0) {
if($return_raw){
$lineas_cubierta = array_values(array_unique($lineas_cubierta, SORT_REGULAR));
return[
'cubierta' => $lineas_cubierta
];
}
usort(
$lineas_cubierta,
function ($a, $b) {
@ -119,7 +126,7 @@ class PresupuestoClienteService extends BaseService
return $lineas_cubierta;
}
public static function obtenerSobrecubierta($data)
public static function obtenerSobrecubierta($data, $return_raw=false)
{
$uso = $data['uso'];
@ -154,6 +161,14 @@ class PresupuestoClienteService extends BaseService
}
if (count($lineas_sobrecubierta) > 0) {
if($return_raw){
$lineas_sobrecubierta = array_values(array_unique($lineas_sobrecubierta, SORT_REGULAR));
return[
'cubierta' => $lineas_sobrecubierta
];
}
usort(
$lineas_sobrecubierta,
function ($a, $b) {
@ -247,22 +262,25 @@ class PresupuestoClienteService extends BaseService
$uso = $data['uso'];
$tipo_impresion_id = $data['tipo_impresion_id'];
$datosPedido = $data['datosPedido'];
$paginas_color = $data['paginas_color'];
if ($data['papelInteriorDiferente'] == false)
$papel_generico = $data['papel_generico'];
else {
$papel_generico = $data['papel_generico']['negro'];
$papel_generico_color = $data['papel_generico']['color'];
if($paginas_color>0)
$papel_generico_color = $data['papel_generico']['color'];
}
if ($data['papelInteriorDiferente'] == false)
$gramaje = $data['gramaje'];
else {
$gramaje = $data['gramaje']['negro'];
$gramaje_color = $data['gramaje']['color'];
if($paginas_color>0)
$gramaje_color = $data['gramaje']['color'];
}
$isColor = $data['isColor'];
$isHq = $data['isHq'];
$cliente_id = $data['cliente_id'];
$paginas_color = $data['paginas_color'];
$paginas_negro = $datosPedido->paginas - $paginas_color;
@ -293,6 +311,14 @@ class PresupuestoClienteService extends BaseService
}
if (count($linea_negro_plana) > 0) {
/*if($return_raw){
$linea_negro_plana = array_values(array_unique($linea_color_plana, SORT_REGULAR));
return[
'negro' => $linea_negro_plana
];
}*/
usort(
$linea_negro_plana,
function ($a, $b) {
@ -335,6 +361,14 @@ class PresupuestoClienteService extends BaseService
}
if (count($linea_color_plana) > 0) {
/*if($return_raw){
$linea_color_plana = array_values(array_unique($linea_color_plana, SORT_REGULAR));
return[
'color' => $linea_color_plana
];
}*/
usort(
$linea_color_plana,
function ($a, $b) {
@ -349,8 +383,7 @@ class PresupuestoClienteService extends BaseService
}
}
// Si hay negro y color, y se hace con el mismo papel, hay que buscar la combinación
// más económica con la misma máquna
if($return_raw){
$linea_negro_plana = array_values(array_unique($linea_negro_plana, SORT_REGULAR));
$linea_color_plana = array_values(array_unique($linea_color_plana, SORT_REGULAR));
@ -360,6 +393,8 @@ class PresupuestoClienteService extends BaseService
'color' => $linea_color_plana
];
}
// Si hay negro y color, y se hace con el mismo papel, hay que buscar la combinación
// más económica con la misma máquna
if (
$paginas_negro > 0 && $paginas_color > 0 && $data['papelInteriorDiferente'] == 0 &&
count($linea_negro_plana) > 0 && count($linea_color_plana) > 0
@ -500,7 +535,7 @@ class PresupuestoClienteService extends BaseService
* - isHq: si es alta calidad
* - paginas_color: número de páginas a color
*/
private static function obtenerPresupuestoClienteInteriorRotativa($data)
public static function obtenerPresupuestoClienteInteriorRotativa($data, $return_raw = false)
{
$datosPedido = $data['datosPedido'];
$papel_generico = $data['papel_generico'];
@ -539,6 +574,14 @@ class PresupuestoClienteService extends BaseService
if (count($linea_rotativa) > 0) {
if($return_raw){
$linea_rotativa = array_values(array_unique($linea_rotativa, SORT_REGULAR));
return[
'rotativa' => $linea_rotativa,
];
}
usort(
$linea_rotativa,
function ($a, $b) {