terminado. mejorado update de resumenes. quitado bug rotativa color (siempre tarifa negro)

This commit is contained in:
2024-03-05 20:48:58 +01:00
parent eb38a12c6d
commit a7df1975a9
10 changed files with 304 additions and 197 deletions

View File

@ -137,13 +137,31 @@ class Presupuestotiradasalternativas extends \App\Controllers\GoBaseResourceCont
$papel_generico['nombre'] = $pg->nombre;
$maquina->maquina_id = $maquina->id;
unset($maquina->id);
switch ($linea['row_id']) {
case 'lp_rot_bn':
case 'lp_rot_color':
$uso = 'rotativa';
$uso = 'interior';
$tipo = strpos($linea['row_id'], "_bn") !== false ? 'negro' : 'color';
$paginas_negro = isset($linea['numPagColor']) ? intval($datosPedido->paginas) - intval($linea['numPagColor']) : 0;
$paginas_color = $linea['numPagColor'] ?? 0;
$paginas = (object)array(
'negro' => $paginas_negro,
'color' => $paginas_color,
);
$parametrosRotativa = (object)array(
'a_favor_fibra' => $datosPedido->a_favor_fibra,
'bnPages' => $paginas->negro,
'colorPages' => $paginas->color,
'rotativa_gota_negro' => 0,
'rotativa_gota_color' => 0,
);
$parametrosRotativa->rotativa_gota_negro = intval($linea['gotaNegro']?? 0);
$parametrosRotativa->rotativa_gota_color = intval($linea['gotaColor']?? 0);
$parametrosRotativa->rotativa_negro = intval($linea['cobNegro'] ?? 0);
$parametrosRotativa->rotativa_cyan = intval($linea['cobCyan'] ?? 0);
$parametrosRotativa->rotativa_magenta = intval($linea['cobMagenta']?? 0);
$parametrosRotativa->rotativa_amarillo = intval($linea['cobAmarillo']?? 0);
break;
case 'lp_cubierta':
$uso = 'cubierta';
@ -168,42 +186,51 @@ class Presupuestotiradasalternativas extends \App\Controllers\GoBaseResourceCont
$tipo = 'colorhq';
}
$opciones_papel = PresupuestoService::get_opciones_papel($uso, $isColor);
if (strpos($linea['row_id'], 'lp_rot') !== 0) {
// The string does not start with the prefix
$opciones_papel = PresupuestoService::get_opciones_papel($uso, $isColor);
}
$datosTipolog = $linea['gotaNegro'] ?? null;
if (!is_null($datosTipolog)) {
$datosTipolog = [];
$data = (object)array(
'negro' => intval($linea['cobNegro']) ?? 0,
'cyan' => intval($linea['cobCyan']) ?? 0,
'magenta' => intval($linea['cobMagenta']) ?? 0,
'amarillo' => intval($linea['cobAmarillo']) ?? 0,
'cg' => intval($linea['cobCG']) ?? 0,
'gota_negro' => intval($linea['gotaNegro']) ?? 0,
'gota_color' => intval($linea['gotaColor']) ?? 0,
$data_temp = (object)array(
'negro' => intval($linea['cobNegro'] ?? 0),
'cyan' => intval($linea['cobCyan'] ?? 0),
'magenta' => intval($linea['cobMagenta']?? 0),
'amarillo' => intval($linea['cobAmarillo']?? 0),
'cg' => intval($linea['cobCG'] ?? 0),
'gota_negro' => intval($linea['gotaNegro']?? 0),
'gota_color' => intval($linea['gotaColor']?? 0),
);
array_push($datosTipolog, $data);
array_push($datosTipolog, $data_temp);
}
$data['uso'] = $uso;
$data['tipo'] = $tipo;
$data['datosPedido'] = $datosPedido;
$data['cliente_id'] = $cliente_id;
$data['papel'] = $papel;
$data['opciones_papel'] = $opciones_papel;
$data['maquina'] = $maquina;
$data['papel_generico'] = $papel_generico;
$data['isColor'] = $isColor;
$data['a_favor_fibra'] = $linea['aFavorFibra'] ?? null;
$data['datosTipolog'] = $datosTipolog;
$data['gramaje'] = $linea['gramaje'] ?? 0;
$datosLinea = array();
$datosLinea['uso'] = $uso;
$datosLinea['tipo'] = $tipo;
$datosLinea['datosPedido'] = $datosPedido;
$datosLinea['cliente_id'] = $cliente_id;
$datosLinea['papel'] = $papel;
if(isset($isColor))
$datosLinea['isColor'] = $isColor;
if(isset($opciones_papel))
$datosLinea['opciones_papel'] = $opciones_papel;
if(isset($parametrosRotativa))
$datosLinea['parametrosRotativa'] = $parametrosRotativa;
if(isset($paginas))
$datosLinea['paginas'] = $paginas;
$datosLinea['maquina'] = $maquina;
$datosLinea['papel_generico'] = $papel_generico;
$datosLinea['a_favor_fibra'] = $linea['aFavorFibra'] ?? null;
$datosLinea['datosTipolog'] = $datosTipolog;
$datosLinea['gramaje'] = $linea['gramaje'] ?? 0;
if ($linea['row_id'] != 'lp_rot_bn' && $linea['row_id'] != 'lp_rot_color') {
$linea_coste = PresupuestoService::getLineaPresupuestoPlana($data);
$linea_coste = PresupuestoService::getLineaPresupuestoPlana($datosLinea);
} else {
$linea_coste = [0];
$linea_coste = PresupuestoService::getLineaPresupuestoRotativa($datosLinea);
}
if (empty($linea))
@ -217,17 +244,24 @@ class Presupuestotiradasalternativas extends \App\Controllers\GoBaseResourceCont
$linea_coste['fields']['precio_click_pedido'] = 0;
if ($linea_coste['fields']['tipo_maquina'] == 'inkjet') {
$linea_coste['fields']['precio_tinta'] = 0;
$linea_coste['fields']['totalCorte'] = 0;
if (strpos($linea['row_id'], 'lp_rot') === 0) {
$linea_coste['fields']['total_corte'] = 0;
}
}
}
$linea_coste['total_coste'] = $linea_coste['fields']['precio_pedido'] +
$linea_coste['fields']['precio_impresion_horas'] +
$linea_coste['fields']['precio_click_pedido'];
if ($linea_coste['fields']['tipo_maquina'] == 'inkjet') {
$linea_coste['total_coste'] +=
$linea_coste['fields']['precio_tinta'] +
$linea_coste['fields']['totalCorte'];
$linea_coste['fields']['precio_tinta'];
if (strpos($linea['row_id'], 'lp_rot') === 0) {
$linea_coste['total_coste'] +=
$linea_coste['fields']['total_corte'];
}
}
$linea_coste['total_margen'] = $linea_coste['fields']['margen_papel_pedido'] +
$linea_coste['fields']['margen_impresion_horas'] +