Merge branch 'dev/fixes' of https://git.imnavajas.es/jjimenez/safekat into dev/fixes

This commit is contained in:
imnavajas
2023-10-29 22:01:31 +01:00
17 changed files with 1787 additions and 551 deletions

View File

@ -125,14 +125,25 @@ class Maquinaspapelesimpresion extends \App\Controllers\GoBaseResourceController
$start = $reqData['start'] ?? 0;
$length = $reqData['length'] ?? 5;
$search = $reqData['search']['value'];
$requestedOrder = $reqData['order']['0']['column'] ?? 1;
$order = MaquinasPapelesImpresionModel::SORTABLE_2[$requestedOrder >= 0 ? $requestedOrder : 1];
$requestedOrder = $reqData['order']['0']['column'] ?? 0;
$requestedOrder2 = $reqData['order']['1']['column'] ?? $requestedOrder;
$requestedOrder3 = $reqData['order']['2']['column'] ?? $requestedOrder;
$requestedOrder4 = $reqData['order']['3']['column'] ?? $requestedOrder;
$order = MaquinasPapelesImpresionModel::SORTABLE_2[$requestedOrder >= 0 ? $requestedOrder : 0];
$order2 = MaquinasPapelesImpresionModel::SORTABLE_2[$requestedOrder2 >= 0 ? $requestedOrder2 : $requestedOrder];
$order3 = MaquinasPapelesImpresionModel::SORTABLE_2[$requestedOrder3 >= 0 ? $requestedOrder3 : $requestedOrder];
$order4 = MaquinasPapelesImpresionModel::SORTABLE_2[$requestedOrder4 >= 0 ? $requestedOrder4 : $requestedOrder];
$dir = $reqData['order']['0']['dir'] ?? 'asc';
$dir2 = $reqData['order']['1']['dir'] ?? $dir;
$dir3 = $reqData['order']['2']['dir'] ?? $dir;
$dir4= $reqData['order']['3']['dir'] ?? $dir;
$papel_id = $reqData['papel_id'] ?? -1;
$isRotativa = $reqData['isRotativa'] ?? -1;
$resourceData = $this->model->getResource_maquinas($search, $papel_id, $isRotativa)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject();
$resourceData = $this->model->getResource_maquinas($search, $papel_id, $isRotativa)
->orderBy($order, $dir)->orderBy($order2, $dir2)->orderBy($order3, $dir3)->orderBy($order4, $dir4)->limit($length, $start)->get()->getResultObject();
return $this->respond(Collection::datatable(
$resourceData,

View File

@ -158,35 +158,6 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
/*
$this->viewData['formaPagoList'] = $this->getFormaPagoListItems();
$this->viewData['tiposImpresionList'] = $this->getTiposImpresionListItems($presupuestoEntity->tipo_impresion_id ?? null);
$this->viewData['tipologiasLibroList'] = $this->getTipologiasLibroListItems($presupuestoEntity->tipologia_id ?? null);
$this->viewData['ubicacionLibroList'] = $this->getUbicacionLibroListItems($presupuestoEntity->ubicacion_id ?? null);
$this->viewData['presupuestoEstadoList'] = $this->getPresupuestoEstadoListItems($presupuestoEntity->estado_id ?? null);
$this->viewData['papelGenericoList'] = $this->getPapelGenericoListItems($presupuestoEntity->paginas_negro_papel_id ?? null);
$this->viewData['papelImpresionList'] = $this->getPapelImpresionListItems($presupuestoEntity->paginas_negro_papel_impresion_id ?? null);
$this->viewData['maquinaList'] = $this->getMaquinaListItems($presupuestoEntity->paginas_negro_maquina_id ?? null);
$this->viewData['maquinasTarifasImpresionList'] = $this->getMaquinasTarifasImpresionListItems($presupuestoEntity->paginas_negro_tarifa_impresion_id ?? null);
$this->viewData['papelGenericoList2'] = $this->getPapelGenericoListItems2($presupuestoEntity->paginas_color_papel_id ?? null);
$this->viewData['papelImpresionList2'] = $this->getPapelImpresionListItems2($presupuestoEntity->paginas_color_papel_impresion_id ?? null);
$this->viewData['maquinaList2'] = $this->getMaquinaListItems2($presupuestoEntity->paginas_color_maquina_id ?? null);
$this->viewData['maquinasTarifasImpresionList2'] = $this->getMaquinasTarifasImpresionListItems2($presupuestoEntity->paginas_color_tarifa_impresion_id ?? null);
$this->viewData['papelGenericoList3'] = $this->getPapelGenericoListItems3($presupuestoEntity->paginas_portada_papel_id ?? null);
$this->viewData['papelImpresionList3'] = $this->getPapelImpresionListItems3($presupuestoEntity->paginas_portada_papel_impresion_id ?? null);
$this->viewData['maquinaList3'] = $this->getMaquinaListItems3($presupuestoEntity->paginas_portada_maquina_id ?? null);
$this->viewData['maquinasTarifasImpresionList3'] = $this->getMaquinasTarifasImpresionListItems3($presupuestoEntity->paginas_portada_tarifa_impresion_id ?? null);
$this->viewData['papelGenericoList4'] = $this->getPapelGenericoListItems4($presupuestoEntity->paginas_cubierta_papel_id ?? null);
$this->viewData['papelImpresionList4'] = $this->getPapelImpresionListItems4($presupuestoEntity->paginas_cubierta_papel_impresion_id ?? null);
$this->viewData['maquinaList4'] = $this->getMaquinaListItems4($presupuestoEntity->paginas_cubierta_maquina_id ?? null);
$this->viewData['maquinasTarifasImpresionList4'] = $this->getMaquinasTarifasImpresionListItems4($presupuestoEntity->paginas_cubierta_tarifa_impresion_id ?? null);
$this->viewData['userList'] = $this->getUserListItems($presupuestoEntity->total_confirmado_user_id ?? null);
$this->viewData['userList2'] = $this->getUserListItems2($presupuestoEntity->aprobado_user_id ?? null);
$this->viewData['userList3'] = $this->getUserListItems3($presupuestoEntity->pedido_espera_user_id ?? null);
$this->viewData['paginasCubiertaList'] = $this->getPaginasCubiertaOptions();
$this->viewData['paginasPortadaList'] = $this->getPaginasPortadaOptions();
*/
$this->viewData['formAction'] = route_to('createCosidotapablanda');
$this->viewData['boxTitle'] = lang('Basic.global.addNew') . ' ' . lang('Presupuestos.moduleTitleCosidoTB') . ' ' . lang('Basic.global.addNewSuffix');
@ -397,9 +368,9 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
if ($this->request->isAJAX()) {
$reqData = $this->request->getPost();
$table_type = $reqData['table_type'] ?? null;
$type = $reqData['type'] ?? null;
if (is_null($table_type)) {
if (is_null($type)) {
if (!isset($reqData['draw']) || !isset($reqData['columns'])) {
$errstr = 'No data available in response to this specific request.';
$response = $this->respond(Collection::datatable([], 0, 0, $errstr), 400, $errstr);
@ -417,7 +388,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
if (is_null($table_type)) {
if (is_null($type)) {
$resourceData = $this->model->getResource($search)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject();
foreach ($resourceData as $item) :
if (isset($item->comentarios_pdf) && strlen($item->comentarios_pdf) > 100) :
@ -456,40 +427,74 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
endforeach;
} else {
switch ($table_type) {
case 'comp_int_bn':
$isColor = $reqData['color'] ?? false;
$isHq = $reqData['hq'] ?? false;
$datosPedido = (object)array(
'paginas' => intval($reqData['paginas']) ?? 0,
'tirada' => intval($reqData['tirada']) ?? 0,
'merma' => intval($reqData['merma']) ?? 0,
'ancho' => intval($reqData['ancho']) ?? 100000,
'alto' => intval($reqData['alto']) ?? 100000,
'isCosido' => true, // JJO esto es custom por cada tipo de presupuesto
);
$datosPedido = (object)array(
'paginas' => intval($reqData['paginas']) ?? 0,
'tirada' => intval($reqData['tirada']) ?? 0,
'merma' => intval($reqData['merma']) ?? 0,
'ancho' => intval($reqData['alto']) ?? 100000,
'alto' => intval($reqData['ancho']) ?? 100000,
'isCosido' => true, // JJO esto es custom por cada tipo de presupuesto
);
$papel_generico = [
'id' => $reqData['papel_generico_id'] ?? 0,
'nombre' => $reqData['papel_generico'] ?? "",
];
$gramaje = $reqData['gramaje'] ?? 0;
$papel_generico = [
'id' => $reqData['papel_generico_id'] ?? 0,
'nombre' => $reqData['papel_generico'] ?? "",
];
$gramaje = $reqData['gramaje'] ?? 0;
if ($type=='interior') {
$resourceData = $this->getCompBnData($datosPedido, $papel_generico, $gramaje);
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$data = [
'lineas' => $resourceData,
$csrfTokenName => $newTokenHash
];
return $this->respond($data);
break;
default:
break;
$resourceData = $this->getCompIntData($type, $datosPedido, $papel_generico, $gramaje, $isColor, $isHq);
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$data = [
'lineas' => $resourceData,
$csrfTokenName => $newTokenHash
];
return $this->respond($data);
}
else if ($type=='interior_rot') {
$paginas = (object)array(
'negro' => intval($reqData['paginas_negro']) ?? 0,
'color' => intval($reqData['paginas_color']) ?? 0,
);
$resourceData = $this->getCompIntRotData($datosPedido, $papel_generico, $gramaje, $paginas);
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$data = [
'lineas' => $resourceData,
$csrfTokenName => $newTokenHash
];
return $this->respond($data);
}
else if ($type=='cubierta') {
$datosPedido->solapas = $reqData['solapas'];
$datosPedido->solapas_ancho = $reqData['solapas_ancho'];
$resourceData = $this->getCompIntData($type, $datosPedido, $papel_generico, $gramaje, $isColor, $isHq);
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$data = [
'lineas' => $resourceData,
$csrfTokenName => $newTokenHash
];
return $this->respond($data);
}
}
return $this->respond(Collection::datatable(
@ -502,18 +507,37 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
}
}
private function getCompBnData($datosPedido, $papel_generico, $gramaje)
public function getCompIntData($uso, $datosPedido, $papel_generico, $gramaje, $isColor, $isHq)
{
$uso = 'interior';
$tipo = 'negro';
$tipo = $isColor? ($isHq?'colorhq':'color'): ($isHq?'negrohq':'negro');
$opciones_papel = array(
'bn' => 1,
'cubierta' => 0,
'sobrecubierta' => 0,
'rotativa' => 0,
);
if( $uso == 'cubierta' ){
$opciones_papel = array(
'cubierta' => 1,
'rotativa' => 0,
);
}
else if ( $uso == 'sobrecubierta' ){
$opciones_papel = array(
'sobrecubierta' => 1,
'rotativa' => 0,
);
}
else if( $isColor ){
$opciones_papel = array(
'color' => 1,
'rotativa' => 0,
);
}
else{
$opciones_papel = array(
'bn' => 1,
'rotativa' => 0,
);
}
// Se obtienen los papeles disponibles
$papelimpresionmodel = new PapelImpresionModel();
$papeles = $papelimpresionmodel->getIdPapelesImpresionForPresupuesto(
@ -522,13 +546,13 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
options: $opciones_papel
);
$lineas = array();
// Para cada papel, se obtienen las maquinas disponibles
foreach ($papeles as $papel) {
$maquinamodel = new MaquinaModel();
$maquinas = $maquinamodel->getMaquinaImpresionForPresupuesto(
is_rotativa: $papel->rotativa,
is_rotativa: 0,
tarifa_tipo: $tipo,
tirada: $datosPedido->tirada + $datosPedido->merma,
papel_impresion_id: $papel->id,
@ -536,8 +560,12 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
// Se recorren las máquinas y se calcula el coste de linea por cada una
foreach ($maquinas as $maquina) {
$tarifamodel = new MaquinasTarifasImpresionModel();
$tarifa = $tarifamodel->getTarifa($maquina->maquina_id, $uso, $tipo);
if(!is_float($tarifa)){
continue;
}
$linea = PresupuestoService::getCostesLinea($uso, $datosPedido, $maquina, $papel, $opciones_papel, $tarifa);
$linea['fields']['maquina'] = $maquina->maquina;
$linea['fields']['maquina_id'] = $maquina->maquina_id;
@ -551,7 +579,123 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
array_push($lineas, $linea);
}
}
return $lineas;
}
public function getCompIntRotData($datosPedido, $papel_generico, $gramaje, $paginas)
{
$uso = 'interior';
$tipo = $paginas->color>0? 'color': 'negro';
$parametrosRotativa = (object)array(
'a_favor_fibra' => 0, // este parametro se cambia para comprobar
// en las dos direcciones (menos en rustica fresada que es siempre 1)
'bnPages' => $paginas->negro,
'colorPages' => $paginas->color,
'rotativa_gota_negro' => 0,
'rotativa_gota_color' => 0,
);
$opciones_papel = array(
'rotativa' => 1,
);
$tipo = array();
if( $paginas->color > 0 ){
$tipo[] = 'color';
$opciones_papel['color'] = 1;
}
if( $paginas->negro > 0 ){
$opciones_papel['bn'] = 1;
$tipo[] = 'negro';
}
// Se obtienen los papeles disponibles
$papelimpresionmodel = new PapelImpresionModel();
$papeles = $papelimpresionmodel->getIdPapelesImpresionForPresupuesto(
papel_generico_id: $papel_generico['id'],
gramaje: $gramaje,
options: $opciones_papel
);
$lineas = array();
// Para cada papel, se obtienen las maquinas disponibles
foreach ($papeles as $papel) {
$papelImpresionTipologiaModel = new \App\Models\Configuracion\PapelImpresionTipologiaModel();
$datosTipologias = $papelImpresionTipologiaModel
->findTipologiasForPapelImpresion($papel->id, $parametrosRotativa->colorPages>0?'color':'negro')
->get()->getResultObject();
$parametrosRotativa->rotativa_gota_negro = $datosTipologias[0]->gota_negro;
$parametrosRotativa->rotativa_gota_color = $datosTipologias[0]->gota_color;
$parametrosRotativa->rotativa_negro = $datosTipologias[0]->negro;
$parametrosRotativa->rotativa_cyan = $datosTipologias[0]->cyan;
$parametrosRotativa->rotativa_magenta = $datosTipologias[0]->magenta;
$parametrosRotativa->rotativa_amarillo = $datosTipologias[0]->amarillo;
$maquinamodel = new MaquinaModel();
$maquinas = $maquinamodel->getMaquinaImpresionForPresupuesto(
is_rotativa: 1,
tarifa_tipo: $tipo,
tirada: $datosPedido->tirada + $datosPedido->merma,
papel_impresion_id: $papel->id,
);
// Se recorren las máquinas y se calcula el coste de linea por cada una
foreach ($maquinas as $maquina) {
for ($i = 0; $i <= 1; $i++) {
$parametrosRotativa->a_favor_fibra = $i;
$tarifamodel = new MaquinasTarifasImpresionModel();
$tarifa = $tarifamodel->getTarifa($maquina->maquina_id, $uso, is_array($tipo)?'color':$tipo);
if(!is_float($tarifa)){
continue;
}
// precio del pliego de impresion
$linea['fields'] = PresupuestoService::getCostesLineaRotativa($maquina, $papel, $datosPedido, $parametrosRotativa);
$precio_pliego_impresion = PresupuestoService::getPrecioPliego($maquina, $papel, $datosPedido->paginas);
$linea['fields']['precios_pliegos'] = $precio_pliego_impresion;
$linea['fields']['precio_libro'] = $linea['fields']['pliegos_libro'] * $precio_pliego_impresion;
// Precio papel pedido
$linea['fields']['precio_pedido'] = $linea['fields']['precio_libro'] * ($datosPedido->tirada + $datosPedido->merma);
$linea['fields']['a_favor_fibra'] = $parametrosRotativa->a_favor_fibra;
$linea['fields']['maquina'] = $maquina->maquina;
$linea['fields']['maquina_id'] = $maquina->maquina_id;
$linea['fields']['papel_impresion'] = $papel->nombre;
$linea['fields']['papel_impresion_id'] = $papel->id;
$linea['fields']['paginas'] = $datosPedido->paginas;
$linea['fields']['gramaje'] = $gramaje;
$linea['fields']['papel_generico_id'] = $papel_generico['id'];
$linea['fields']['papel_generico'] = $papel_generico['nombre'];
$linea['fields']['posicion_formas'] = $parametrosRotativa->a_favor_fibra ? 'h' : 'v';
$linea['fields']['num_formas_horizontales'] = floor($linea['fields']['factor_anchura']);
$linea['fields']['num_formas_verticales'] = floor($linea['fields']['factor_altura']);
// impresion
$linea['fields']['precio_click'] = $tarifa;
$linea['fields']['precio_click_pedido'] = $linea['fields']['clicks_pedido'] * $linea['fields']['precio_click'];
// total linea rotativa
$linea['fields']['total_impresion'] = $linea['fields']['precio_pedido'] + $linea['fields']['precio_click_pedido'] + $linea['fields']['precio_tinta'] +
$linea['fields']['total_corte'];
array_push($lineas, $linea);
}
}
}
return $lineas;
}
@ -585,14 +729,15 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$reqData = $this->request->getPost();
$tipo = $reqData['tipo'] ?? null;
$uso = $reqData['uso'] ?? null;
$datos = $reqData['datos'] ?? null;
$searchStr = goSanitize($this->request->getPost('searchTerm'))[0];
//$searchStr = goSanitize($this->request->getPost('searchTerm'))[0];
if ($tipo == 'gramaje') {
// En este caso contiene el nombre del papel generico
$model = new PapelGenericoModel();
$menu = $model->getGramajeComparador($datos, $searchStr);
$menu = $model->getGramajeComparador($datos, $uso );
}

View File

@ -3,11 +3,12 @@
namespace App\Controllers;
use App\Controllers\BaseController;
use App\Models\Configuracion\MaquinasTarifasImpresionModel;
use App\Models\Configuracion\MaquinaModel;
use App\Services\PresupuestoService;
class Test extends BaseController
{
function __construct()
{
@ -15,21 +16,237 @@ class Test extends BaseController
public function index()
{
//PresupuestoService::test();
return view('themes/backend/vuexy/form/test_js/viewTest');
$this->testLineasIntPlanaCubierta();
}
function test_js()
public function testGetPrecioPliegoRotativa()
{
/*$this->response->setHeader('Content-Type', 'text/javascript');
return view('themes/backend/vuexy/form/test_js/test_js.js');*/
$paginas=240;
$papel_impresion = (object)array(
'id' => 198,
'gramaje' => 90,
'precio_tonelada'=> 1600
);
$maquina = (object)array(
//'id' => 48,
'alto' => 800,
'ancho' => 520,
);
$precio = PresupuestoService::getPrecioPliego($maquina, $papel_impresion, $paginas);
var_dump($precio);
}
public function pruebaJJO()
public function testGetMaquinasFromTarifas()
{
//PresupuestoService::test2();
$maquinamodel = new MaquinaModel();
//$tarifa_tipo = ['negro', 'color'];
//$tarifa_tipo = 'color';
$tarifa_tipo = 'negro';
$papel_impresion_id = 5;
$maquina = $maquinamodel->getMaquinaImpresionForPresupuesto(1, $tarifa_tipo, 100, $papel_impresion_id);
echo '<pre>';
var_dump($maquina);
echo '</pre>';
}
public static function testLineasIntPlana()
{
$uso = 'negro';
$tipo = 'color';
$datosPedido = (object)array(
'paginas' => 200,
'tirada' => 500,
'merma' => 10,
'merma_portada' => 10,
'ancho' => 165,
'alto' => 148,
'isCosido' => true,
);
$maquina_model = new \App\Models\Configuracion\MaquinaModel();
$opciones_papel = array(
'bn' => 1,
'cubierta' => 0,
'sobrecubierta' => 0,
'rotativa' => 0,
);
$papelimpresionmodel = new \App\Models\Configuracion\PapelImpresionModel();
$papeles = $papelimpresionmodel->getIdPapelesImpresionForPresupuesto(
papel_generico_id: 4,
gramaje: 90,
options: $opciones_papel
);
foreach ($papeles as $papel) {
echo '-------------------------------';
$maquinas = $maquina_model->getMaquinaImpresionForPresupuesto(
is_rotativa: $papel->rotativa,
tarifa_tipo: 'negro',
tirada: $datosPedido->tirada + $datosPedido->merma,
papel_impresion_id: $papel->id,
);
foreach ($maquinas as $maquina) {
echo '----------------------------<br>';
var_dump($maquina->maquina);
var_dump($papel->nombre);
$tarifa = (new \App\Models\Configuracion\MaquinasTarifasImpresionModel())->getTarifa($maquina->maquina_id, $uso, $tipo);
$linea = PresupuestoService::getCostesLinea($uso, $datosPedido, $maquina, $papel, $opciones_papel, $tarifa);
echo '<pre>';
var_dump($linea);
echo '</pre>';
}
}
}
public static function testLineasIntPlanaCubierta()
{
echo '<pre>';
$uso = 'cubierta';
$tipo = 'color';
$datosPedido = (object)array(
'paginas' => 200,
'tirada' => 500,
'merma' => 10,
'merma_portada' => 10,
'ancho' => 165,
'alto' => 148,
'isCosido' => true,
'solapas' => 0,
'solapas_ancho' => 0,
);
$maquina_model = new \App\Models\Configuracion\MaquinaModel();
$opciones_papel = array(
'color' => 1,
'cubierta' => 1,
'sobrecubierta' => 0,
'rotativa' => 0,
);
$papelimpresionmodel = new \App\Models\Configuracion\PapelImpresionModel();
$papeles = $papelimpresionmodel->getIdPapelesImpresionForPresupuesto(
papel_generico_id: 3,
gramaje: 100,
options: $opciones_papel
);
foreach ($papeles as $papel) {
echo '-------------------------------';
var_dump($papel);
$maquinas = $maquina_model->getMaquinaImpresionForPresupuesto(
is_rotativa: $papel->rotativa,
tarifa_tipo: 'color',
tirada: $datosPedido->tirada + $datosPedido->merma_portada,
papel_impresion_id: $papel->id,
);
foreach ($maquinas as $maquina) {
echo '----------------------------<br>';
var_dump($maquina->maquina);
var_dump($papel->nombre);
$tarifa = (new \App\Models\Configuracion\MaquinasTarifasImpresionModel())->getTarifa($maquina->maquina_id, $uso, $tipo);
$linea = PresupuestoService::getCostesLinea($uso, $datosPedido, $maquina, $papel, $opciones_papel, $tarifa);
var_dump($linea);
}
}
echo '</pre>';
}
public static function testLineasIntRotativa()
{
$uso = 'interior';
$tipo = 'negro';
$datosPedido = (object)array(
'paginas' => 240,
'tirada' => 100,
'merma' => 10,
'merma_portada' => 10,
'ancho' => 150,
'alto' => 210,
'isCosido' => true,
);
$parametrosRotativa = (object)array(
'a_favor_fibra' => 0,
'bnPages' => 240,
'colorPages' => 0,
'rotativa_gota_negro' => 0,
'rotativa_gota_color' => 0,
);
$maquina_model = new \App\Models\Configuracion\MaquinaModel();
$opciones_papel = array(
'bn' => 1,
'cubierta' => 0,
'sobrecubierta' => 0,
'rotativa' => 1,
);
$papelimpresionmodel = new \App\Models\Configuracion\PapelImpresionModel();
$papeles = $papelimpresionmodel->getIdPapelesImpresionForPresupuesto(
papel_generico_id: 4,
gramaje: 90,
options: $opciones_papel
);
foreach ($papeles as $papel) {
$papelImpresionTipologiaModel = new \App\Models\Configuracion\PapelImpresionTipologiaModel();
$datosTipologias = $papelImpresionTipologiaModel
->findTipologiasForPapelImpresion($papel->id, $parametrosRotativa->colorPages>0?'color':'negro')
->get()->getResultObject();
echo '<pre>';
var_dump($papel->id);
var_dump($datosTipologias);
echo '</pre>';
$parametrosRotativa->rotativa_gota_negro = $datosTipologias[0]->gota_negro;
$parametrosRotativa->rotativa_gota_color = $datosTipologias[0]->gota_color;
$parametrosRotativa->rotativa_negro = $datosTipologias[0]->negro;
$parametrosRotativa->rotativa_cyan = $datosTipologias[0]->cyan;
$parametrosRotativa->rotativa_magenta = $datosTipologias[0]->magenta;
$parametrosRotativa->rotativa_amarillo = $datosTipologias[0]->amarillo;
echo '-------------------------------';
$maquinas = $maquina_model->getMaquinaImpresionForPresupuesto(
is_rotativa: $papel->rotativa,
tarifa_tipo: 'negro',
tirada: $datosPedido->tirada + $datosPedido->merma,
papel_impresion_id: $papel->id,
);
foreach ($maquinas as $maquina) {
echo '----------------------------<br>';
var_dump($maquina->maquina);
var_dump($papel->nombre);
//$linea = PresupuestoService::getCostesLineaRotativa($maquina, $datosPedido, $parametrosRotativa);
echo '<pre>';
var_dump($linea);
echo '</pre>';
}
}
}
}

View File

@ -28,8 +28,8 @@ class Maquina extends \CodeIgniter\Entity\Entity
"velocidad_corte" => 0.0,
"precio_hora_corte" => 0.0,
"metrosxminuto" => 0.0,
"forzar_num_formas_horizontales_portada" => null,
"forzar_num_formas_verticales_portada" => null,
"forzar_num_formas_horizontales_cubierta" => null,
"forzar_num_formas_verticales_cubierta" => null,
"observaciones" => "",
"is_deleted" => 0,
"created_at" => null,
@ -56,8 +56,8 @@ class Maquina extends \CodeIgniter\Entity\Entity
"precio_tinta_color" => "float",
"velocidad_corte" => "float",
"precio_hora_corte" => "float",
"forzar_num_formas_horizontales_portada" => "?int",
"forzar_num_formas_verticales_portada" => "?int",
"forzar_num_formas_horizontales_cubierta" => "?int",
"forzar_num_formas_verticales_cubierta" => "?int",
"is_deleted" => "int",
"user_created_id" => "int",
"user_updated_id" => "int",

View File

@ -54,12 +54,12 @@ return [
'greater_than' => 'The field {field} must be greater than {param}',
],
'forzar_num_formas_horizontales_portada' => [
'forzar_num_formas_horizontales_cubierta' => [
'integer' => 'The {field} field must contain an integer.',
],
'forzar_num_formas_verticales_portada' => [
'forzar_num_formas_verticales_cubierta' => [
'integer' => 'The {field} field must contain an integer.',
],

View File

@ -59,6 +59,27 @@ return [
'retractilado5' => 'Shrink-wrapping in packs of 5',
'Guardas' => 'Endpapers',
'fajaColor' => 'Print color band ',
'compInteriorPlana' => 'Interior in flat machine',
'compInteriorRotativa' => 'Interior in rotary',
'compCubiertaSobrecubierta' => 'Cover and dust jacket',
'tipo' => 'Type',
'marca' => 'Brand',
'maquina' => 'Machine',
'numeroPliegos' => 'Sheets No.',
'pliegosPedido' => 'Sheets order',
'precioPliego' => 'Sheets price',
'libro' => 'Book',
'totalPapelPedido' => 'Total paper order',
'lomo' => 'Spine',
'peso' => 'Weight',
'click' => 'Click',
'totalClicks' => 'Total clicks',
'precioPagNegro' => 'Pages black price',
'precioPagColor' => 'Pages color price',
'totalTinta' => 'Total ink',
'totalCorte' => 'Total cut',
'total' => 'Total',
'aFavorFibra' => 'In fiber direction',
'cubierta' => 'Cover',
'sobrecubierta' => 'Dust jacket',
'encuadernacion' => 'Binding',
@ -66,6 +87,13 @@ return [
'solapasAnchoCubierta' => 'Cover dust jacket width',
'1cara' => '1 side',
'2caras' => '2 sides',
'bn' => 'BW',
'bnhq' => 'BWHQ',
'color' => 'Colour',
'colorhq' => 'ColourHQ',
'rotativa' => 'Rotary',
'si' => 'Yes',
'no' => 'No',
/* '4x0' => '4x0',
'4x4' => '4x4',

View File

@ -54,12 +54,12 @@ return [
'greater_than' => 'El campo {field} debe ser mayor que {param}',
],
'forzar_num_formas_horizontales_portada' => [
'forzar_num_formas_horizontales_cubierta' => [
'integer' => 'El campo {field} debe contener un número entero.',
],
'forzar_num_formas_verticales_portada' => [
'forzar_num_formas_verticales_cubierta' => [
'integer' => 'El campo {field} debe contener un número entero.',
],

View File

@ -70,21 +70,30 @@ return [
'libro' => 'Libro',
'totalPapelPedido' => 'Total papel pedido',
'lomo' => 'Lomo',
'peso' => 'Peso',
'click' => 'Click',
'totalClicks' => 'Total clicks',
'precioPagNegro' => 'Precio pág. negro',
'precioPagColor' => 'Precio pág. color',
'totalTinta' => 'Total tinta',
'totalCorte' => 'Total corte',
'total' => 'Total',
'cubierta' => 'Cubierta',
'sobrecubierta' => 'Sobrecubierta',
'encuadernacion' => 'Encuadernación',
'solapasCubierta' => 'Solapas cubierta',
'solapasAnchoCubierta' => 'Ancho solapas cubierta',
'1cara' => '1 cara',
'2caras' => '2 caras',
'peso' => 'Peso',
'click' => 'Click',
'totalClicks' => 'Total clicks',
'precioPagNegro' => 'Precio pág. negro',
'precioPagColor' => 'Precio pág. color',
'totalTinta' => 'Total tinta',
'totalCorte' => 'Total corte',
'total' => 'Total',
'aFavorFibra' => 'A favor fibra',
'cubierta' => 'Cubierta',
'sobrecubierta' => 'Sobrecubierta',
'encuadernacion' => 'Encuadernación',
'solapasCubierta' => 'Solapas cubierta',
'solapasAnchoCubierta' => 'Ancho solapas cubierta',
'1cara' => '1 cara',
'2caras' => '2 caras',
'bn' => 'BN',
'bnhq' => 'BNHQ',
'color' => 'Color',
'colorhq' => 'ColorHQ',
'rotativa' => 'Rotativa',
'si' => 'Si',
'no' => 'No',
'servicioAcabado' => 'Servicio de acabado',
'servicioPreimpresion' => 'Servicio de preimpresión',
'servicioEncuadernado' => 'Servicio de encuadernado',
@ -299,6 +308,200 @@ return [
],
/* '4x0' => '4x0',
'4x4' => '4x4',
'aprobadoAt' => 'Aprobado At',
'aprobadoJsonData' => 'Aprobado Json Data',
'aprobadoUserId' => 'Aprobado User',
'autor' => 'Autor',
'baseImponible' => 'Base Imponible',
'catalogoId' => 'Catalogo ID',
'causaCancelacion' => 'Causa Cancelacion',
'coleccion' => 'Coleccion',
'comentarios' => 'Comentarios',
'comentariosPdf' => 'Comentarios Pdf',
'comentariosSafekat' => 'Comentarios Safekat',
'comentariosTarifa' => 'Comentarios Tarifa',
'comparadorJsonData' => 'Comparador Json Data',
'cosido' => 'Cosido',
'createdAt' => 'Created At',
'cubiertas' => 'Cubiertas',
'cubiertasAncho' => 'Cubiertas Ancho',
'deletedAt' => 'Deleted At',
'descuento' => 'Descuento',
'enEspera' => 'EN Espera',
'enProduccion' => 'EN Produccion',
'enviosRecogeCliente' => 'Envios Recoge Cliente',
'estadoId' => 'Estado',
'facturaId' => 'Factura ID',
'fechaEncuardenadoAt' => 'Fecha Encuardenado At',
'fechaEntregaRealAt' => 'Fecha Entrega Real At',
'fechaEntregaRealWarning' => 'Fecha Entrega Real Warning',
'fechaExternoAt' => 'Fecha Externo At',
'fechaFerroSubidoAt' => 'Fecha Ferro Subido At',
'fechaImpresionAt' => 'Fecha Impresion At',
'ferro' => 'Ferro',
'ferroDigital' => 'Ferro Digital',
'formaPagoId' => 'Forma Pago',
'forzarTotal' => 'Forzar Total',
'imagenesBnInterior' => 'Imagenes Bn Interior',
'isDeleted' => 'Is Deleted',
'isbn' => 'Isbn',
'isdig' => 'Isdig',
'lomo' => 'Lomo',
'marcapaginas' => 'Marcapaginas',
'margen' => 'Margen',
'margenExtra' => 'Margen Extra',
'margenManual' => 'Margen Manual',
'merma' => 'Merma',
'mermaPortada' => 'Merma Portada',
'modoComparador' => 'Modo Comparador',
'moduleTitle' => 'Presupuestos',
'numeroEdicion' => 'Numero Edicion',
'paginasColor' => 'Paginas Color',
'paginasColorCheckImpresionTotal' => 'Paginas Color Check Impresion Total',
'paginasColorCheckPapelTotal' => 'Paginas Color Check Papel Total',
'paginasColorClick' => 'Paginas Color Click',
'paginasColorFormaId' => 'Paginas Color Forma ID',
'paginasColorGramaje' => 'Paginas Color Gramaje',
'paginasColorLibro' => 'Paginas Color Libro',
'paginasColorMano' => 'Paginas Color Mano',
'paginasColorMaquinaId' => 'Paginas Color Maquina',
'paginasColorPapelId' => 'Paginas Color Papel',
'paginasColorPapelImpresionId' => 'Paginas Color Papel Impresion',
'paginasColorPedido' => 'Paginas Color Pedido',
'paginasColorPeso' => 'Paginas Color Peso',
'paginasColorPliegosLibro' => 'Paginas Color Pliegos Libro',
'paginasColorPliegosPedido' => 'Paginas Color Pliegos Pedido',
'paginasColorPliegosPrecio' => 'Paginas Color Pliegos Precio',
'paginasColorPosicion' => 'Paginas Color Posicion',
'paginasColorPrecio' => 'Paginas Color Precio',
'paginasColorTarifaImpresionId' => 'Paginas Color Tarifa Impresion',
'paginasCubierta' => 'Paginas Cubierta',
'paginasCubiertaCheckImpresionTotal' => 'Paginas Cubierta Check Impresion Total',
'paginasCubiertaCheckPapelTotal' => 'Paginas Cubierta Check Papel Total',
'paginasCubiertaClick' => 'Paginas Cubierta Click',
'paginasCubiertaFormaId' => 'Paginas Cubierta Forma ID',
'paginasCubiertaGramaje' => 'Paginas Cubierta Gramaje',
'paginasCubiertaLibro' => 'Paginas Cubierta Libro',
'paginasCubiertaMano' => 'Paginas Cubierta Mano',
'paginasCubiertaMaquinaId' => 'Paginas Cubierta Maquina',
'paginasCubiertaPapelId' => 'Paginas Cubierta Papel',
'paginasCubiertaPapelImpresionId' => 'Paginas Cubierta Papel Impresion',
'paginasCubiertaPedido' => 'Paginas Cubierta Pedido',
'paginasCubiertaPeso' => 'Paginas Cubierta Peso',
'paginasCubiertaPliegosLibro' => 'Paginas Cubierta Pliegos Libro',
'paginasCubiertaPliegosPedido' => 'Paginas Cubierta Pliegos Pedido',
'paginasCubiertaPliegosPrecio' => 'Paginas Cubierta Pliegos Precio',
'paginasCubiertaPrecio' => 'Paginas Cubierta Precio',
'paginasCubiertaTarifaImpresionId' => 'Paginas Cubierta Tarifa Impresion',
'paginasNegro' => 'Paginas Negro',
'paginasNegroCheckImpresionTotal' => 'Paginas Negro Check Impresion Total',
'paginasNegroCheckPapelTotal' => 'Paginas Negro Check Papel Total',
'paginasNegroClick' => 'Paginas Negro Click',
'paginasNegroFormaId' => 'Paginas Negro Forma ID',
'paginasNegroGramaje' => 'Paginas Negro Gramaje',
'paginasNegroHq' => 'Paginas Negro Hq',
'paginasNegroLibro' => 'Paginas Negro Libro',
'paginasNegroMano' => 'Paginas Negro Mano',
'paginasNegroMaquinaId' => 'Paginas Negro Maquina',
'paginasNegroPapelId' => 'Paginas Negro Papel',
'paginasNegroPapelImpresionId' => 'Paginas Negro Papel Impresion',
'paginasNegroPedido' => 'Paginas Negro Pedido',
'paginasNegroPeso' => 'Paginas Negro Peso',
'paginasNegroPliegosLibro' => 'Paginas Negro Pliegos Libro',
'paginasNegroPliegosPedido' => 'Paginas Negro Pliegos Pedido',
'paginasNegroPliegosPrecio' => 'Paginas Negro Pliegos Precio',
'paginasNegroPrecio' => 'Paginas Negro Precio',
'paginasNegroTarifaImpresionId' => 'Paginas Negro Tarifa Impresion',
'paginasPortada' => 'Paginas Portada',
'paginasPortadaCheckImpresionTotal' => 'Paginas Portada Check Impresion Total',
'paginasPortadaCheckPapelTotal' => 'Paginas Portada Check Papel Total',
'paginasPortadaClick' => 'Paginas Portada Click',
'paginasPortadaFormaId' => 'Paginas Portada Forma ID',
'paginasPortadaGramaje' => 'Paginas Portada Gramaje',
'paginasPortadaLibro' => 'Paginas Portada Libro',
'paginasPortadaMano' => 'Paginas Portada Mano',
'paginasPortadaMaquinaId' => 'Paginas Portada Maquina',
'paginasPortadaPapelId' => 'Paginas Portada Papel',
'paginasPortadaPapelImpresionId' => 'Paginas Portada Papel Impresion',
'paginasPortadaPedido' => 'Paginas Portada Pedido',
'paginasPortadaPeso' => 'Paginas Portada Peso',
'paginasPortadaPliegosLibro' => 'Paginas Portada Pliegos Libro',
'paginasPortadaPliegosPedido' => 'Paginas Portada Pliegos Pedido',
'paginasPortadaPliegosPrecio' => 'Paginas Portada Pliegos Precio',
'paginasPortadaPrecio' => 'Paginas Portada Precio',
'paginasPortadaTarifaImpresionId' => 'Paginas Portada Tarifa Impresion',
'papelFormatoAlto' => 'Papel Formato Alto',
'papelFormatoAncho' => 'Papel Formato Ancho',
'papelFormatoId' => 'Papel Formato',
'papelFormatoPersonalizado' => 'Papel Formato Personalizado',
'pedidoEsperaFecha' => 'Pedido Espera Fecha',
'pedidoEsperaUserId' => 'Pedido Espera User',
'pedidoLibroConjuntoId' => 'Pedido Libro Conjunto ID',
'presupuesto' => 'Presupuesto',
'presupuestoList' => 'Presupuesto List',
'presupuestos' => 'Presupuestos',
'recogerEnTaller' => 'Recoger EN Taller',
'referenciaCliente' => 'Referencia Cliente',
'responsable' => 'Responsable',
'serieId' => 'Serie ID',
'solapas' => 'Solapas',
'solapasAncho' => 'Solapas Ancho',
'tarifaClienteId' => 'Tarifa Cliente ID',
'tipoImpresionId' => 'Tipo Impresion',
'tipologiaId' => 'Tipologia',
'tiradaAlternativaJsonData' => 'Tirada Alternativa Json Data',
'total' => 'Total',
'totalAcabado' => 'Total Acabado',
'totalCalculado' => 'Total Calculado',
'totalClick' => 'Total Click',
'totalConfirmado' => 'Total Confirmado',
'totalConfirmadoUpdateAt' => 'Total Confirmado Update At',
'totalConfirmadoUserId' => 'Total Confirmado User',
'totalDescuento' => 'Total Descuento',
'totalEnvios' => 'Total Envios',
'totalManipulado' => 'Total Manipulado',
'totalMargen' => 'Total Margen',
'totalMargenExtra' => 'Total Margen Extra',
'totalPeso' => 'Total Peso',
'totalPreimpresion' => 'Total Preimpresion',
'totalPreimpresionMargen' => 'Total Preimpresion Margen',
'totalPresupuesto' => 'Total Presupuesto',
'ubicacionId' => 'Ubicacion',
'updatedAt' => 'Updated At',
'userCreatedId' => 'User Created',
'userUpdateId' => 'User Update',
'version' => 'Version',
'wsExternoJsonData' => 'Ws Externo Json Data',
'validation' => [
'aprobado_at' => [
'valid_date' => 'The {field} field must contain a valid date.',
],
'aprobado_json_data' => [
'max_length' => 'The {field} field cannot exceed {param} characters in length.',
],
'base_imponible' => [
'decimal' => 'The {field} field must contain a decimal number.',
],
'catalogo_id' => [
'integer' => 'The {field} field must contain an integer.',
],
'causa_cancelacion' => [
'max_length' => 'The {field} field cannot exceed {param} characters in length.',
],
'coleccion' => [
'max_length' => 'The {field} field cannot exceed {param} characters in length.',

View File

@ -53,8 +53,8 @@ class MaquinaModel extends \App\Models\GoBaseModel
"velocidad_corte",
"precio_hora_corte",
"metrosxminuto",
"forzar_num_formas_horizontales_portada",
"forzar_num_formas_verticales_portada",
"forzar_num_formas_horizontales_cubierta",
"forzar_num_formas_verticales_cubierta",
"observaciones",
"deleted_at",
"is_deleted",
@ -95,11 +95,11 @@ class MaquinaModel extends \App\Models\GoBaseModel
"label" => "Maquinas.duracionJornada",
"rules" => "required|integer",
],
"forzar_num_formas_horizontales_portada" => [
"forzar_num_formas_horizontales_cubierta" => [
"label" => "Maquinas.forzarNumFormasHorizontalesPortada",
"rules" => "integer|permit_empty",
],
"forzar_num_formas_verticales_portada" => [
"forzar_num_formas_verticales_cubierta" => [
"label" => "Maquinas.forzarNumFormasVerticalesPortada",
"rules" => "integer|permit_empty",
],
@ -176,11 +176,11 @@ class MaquinaModel extends \App\Models\GoBaseModel
"integer" => "Maquinas.validation.duracion_jornada.integer",
"required" => "Maquinas.validation.duracion_jornada.required",
],
"forzar_num_formas_horizontales_portada" => [
"integer" => "Maquinas.validation.forzar_num_formas_horizontales_portada.integer",
"forzar_num_formas_horizontales_cubierta" => [
"integer" => "Maquinas.validation.forzar_num_formas_horizontales_cubierta.integer",
],
"forzar_num_formas_verticales_portada" => [
"integer" => "Maquinas.validation.forzar_num_formas_verticales_portada.integer",
"forzar_num_formas_verticales_cubierta" => [
"integer" => "Maquinas.validation.forzar_num_formas_verticales_cubierta.integer",
],
"max" => [
"integer" => "Maquinas.validation.max.integer",
@ -277,7 +277,7 @@ class MaquinaModel extends \App\Models\GoBaseModel
$builder = $this->db
->table($this->table . " t1")
->select(
"t1.id AS id, t1.nombre AS nombre, t1.is_padre AS is_padre, t1.tipo AS tipo, t1.velocidad AS velocidad, t1.ancho AS ancho, t1.alto AS alto, t1.ancho_impresion AS ancho_impresion, t1.alto_impresion AS alto_impresion, t1.alto_click AS alto_click, t1.min AS min, t1.max AS max, t1.duracion_jornada AS duracion_jornada, t1.orden_planning AS orden_planning, t1.is_rotativa AS is_rotativa, t1.precio_tinta_negro AS precio_tinta_negro, t1.is_tinta AS is_tinta, t1.precio_tinta_color AS precio_tinta_color, t1.velocidad_corte AS velocidad_corte, t1.precio_hora_corte AS precio_hora_corte, t1.metrosxminuto AS metrosxminuto, t1.forzar_num_formas_horizontales_portada AS forzar_num_formas_horizontales_portada, t1.forzar_num_formas_verticales_portada AS forzar_num_formas_verticales_portada, t1.observaciones AS observaciones, t2.nombre AS padre"
"t1.id AS id, t1.nombre AS nombre, t1.is_padre AS is_padre, t1.tipo AS tipo, t1.velocidad AS velocidad, t1.ancho AS ancho, t1.alto AS alto, t1.ancho_impresion AS ancho_impresion, t1.alto_impresion AS alto_impresion, t1.alto_click AS alto_click, t1.min AS min, t1.max AS max, t1.duracion_jornada AS duracion_jornada, t1.orden_planning AS orden_planning, t1.is_rotativa AS is_rotativa, t1.precio_tinta_negro AS precio_tinta_negro, t1.is_tinta AS is_tinta, t1.precio_tinta_color AS precio_tinta_color, t1.velocidad_corte AS velocidad_corte, t1.precio_hora_corte AS precio_hora_corte, t1.metrosxminuto AS metrosxminuto, t1.forzar_num_formas_horizontales_cubierta AS forzar_num_formas_horizontales_cubierta, t1.forzar_num_formas_verticales_cubierta AS forzar_num_formas_verticales_cubierta, t1.observaciones AS observaciones, t2.nombre AS padre"
);
$builder->join("lg_maquinas t2", "t1.padre_id = t2.id", "left");
@ -306,8 +306,8 @@ class MaquinaModel extends \App\Models\GoBaseModel
->orLike("t1.velocidad_corte", $search)
->orLike("t1.precio_hora_corte", $search)
->orLike("t1.metrosxminuto", $search)
->orLike("t1.forzar_num_formas_horizontales_portada", $search)
->orLike("t1.forzar_num_formas_verticales_portada", $search)
->orLike("t1.forzar_num_formas_horizontales_cubierta", $search)
->orLike("t1.forzar_num_formas_verticales_cubierta", $search)
->orLike("t1.observaciones", $search)
->orLike("t2.id", $search)
->orLike("t1.id", $search)
@ -329,8 +329,8 @@ class MaquinaModel extends \App\Models\GoBaseModel
->orLike("t1.velocidad_corte", $search)
->orLike("t1.precio_hora_corte", $search)
->orLike("t1.metrosxminuto", $search)
->orLike("t1.forzar_num_formas_horizontales_portada", $search)
->orLike("t1.forzar_num_formas_verticales_portada", $search)
->orLike("t1.forzar_num_formas_horizontales_cubierta", $search)
->orLike("t1.forzar_num_formas_verticales_cubierta", $search)
->orLike("t1.observaciones", $search)
->orLike("t2.nombre", $search)
->groupEnd();
@ -350,7 +350,11 @@ class MaquinaModel extends \App\Models\GoBaseModel
->select(
"t1.id AS maquina_id, t1.nombre AS maquina, t1.ancho_impresion AS ancho_impresion,
t1.alto_impresion AS alto_impresion, t1.ancho AS ancho, t1.alto AS alto,
t1.is_rotativa AS is rotativa, t1.alto_click AS alto_click"
t1.is_rotativa AS is rotativa, t1.alto_click AS alto_click,
t1.precio_tinta_negro AS precio_tinta_negro, t1.precio_tinta_color AS precio_tinta_color,
t1.velocidad_corte AS velocidad_corte, t1.precio_hora_corte AS precio_hora_corte,
t1.forzar_num_formas_horizontales_cubierta AS forzar_num_formas_horizontales_cubierta,
t1.forzar_num_formas_verticales_cubierta AS forzar_num_formas_verticales_cubierta"
)
->join("lg_maquinas_tarifas_impresion t2", "t1.id = t2.maquina_id", "left")
->join("lg_maquina_papel_impresion t3", "t1.id = t3.maquina_id", "left")
@ -360,12 +364,20 @@ class MaquinaModel extends \App\Models\GoBaseModel
->where("t1.tipo", "impresion")
->where("t1.is_rotativa", $is_rotativa)
->where("t2.is_deleted", 0)
->where("t2.tipo", $tarifa_tipo)
->where("t3.papel_impresion_id", $papel_impresion_id)
->where("t3.active", 1)
->where("t1.min <=", $tirada)
->where("t1.max >=", $tirada);
if(is_array($tarifa_tipo)){
foreach($tarifa_tipo as $tarifa){
$builder->where("EXISTS (SELECT * FROM lg_maquinas_tarifas_impresion t2 WHERE t1.id=t2.maquina_id AND t2.tipo='{$tarifa}' AND t2.is_deleted=0)");
}
}
else{
$builder->where("t2.tipo", $tarifa_tipo);
}
return $builder->orderBy("t1.id", "asc")->get()->getResultObject();
}
}

View File

@ -29,6 +29,11 @@ class MaquinasPapelesImpresionModel extends \App\Models\GoBaseModel
const SORTABLE_2 = [
0 => "t1.active",
1 => "t2.nombre",
2 => "t2.ancho",
3 => "t2.alto",
4 => "t2.ancho_impresion",
5 => "t2.alto_impresion",
];

View File

@ -130,7 +130,7 @@ class PapelGenericoModel extends \App\Models\GoBaseModel
return $builder->orderBy("t1.nombre", "asc")->get()->getResultObject();
}
public function getGramajeComparador(string $papel_generico_nombre="")
public function getGramajeComparador(string $papel_generico_nombre="", $uso="")
{
$builder = $this->db
->table($this->table . " t1")
@ -141,8 +141,21 @@ class PapelGenericoModel extends \App\Models\GoBaseModel
->where("t1.is_deleted", 0)
->where("t2.is_deleted", 0)
->where("t2.isActivo", 1)
->where("t1.nombre", $papel_generico_nombre);
if($uso == 'bn')
$builder->where("t2.bn", 1);
else if ($uso == 'color')
$builder->where("t2.color", 1);
else if ($uso == 'cubierta')
$builder->where("t2.cubierta", 1);
else if ($uso == 'sobrecubierta')
$builder->where("t2.sobrecubierta", 1);
$values = $builder->orderBy("t2.gramaje", "asc")->get()->getResultObject();
$id = 1;
foreach ($values as $value){

View File

@ -109,18 +109,21 @@ class PapelImpresionTipologiaModel extends \App\Models\GoBaseModel
return $result;
}
public function findTipologiasForPapelImpresion(int $papelImpresionID){
public function findTipologiasForPapelImpresion(int $papelImpresionID, $tipo=null){
$builder = $this->db
->table($this->table )
->select("*")
->where("papel_impresion_id", $papelImpresionID);
if(!is_null($tipo)){
$builder->where("tipo", $tipo);
}
return $builder;
}
public function removeForPapelImpresion($papel_impresion_id){
$builder = $this->db
->table($this->table . " t1")

View File

@ -9,68 +9,11 @@ use CodeIgniter\Config\BaseService;
class PresupuestoService extends BaseService
{
/**
* CONSTANTES USADAS PARA LOS CALCULOS
*/
public static function test()
{
$tarifa = (new \App\Models\Configuracion\MaquinasTarifasImpresionModel())->getTarifa(8, "interior", "negro");
var_dump($tarifa);
}
public static function test2()
{
$uso = 'interior';
$tipo = 'negro';
$datosPedido = (object)array(
'paginas' => 200,
'tirada' => 500,
'merma' => 10,
'merma_portada' => 10,
'ancho' => 165,
'alto' => 148,
'isCosido' => true,
);
$maquina_model = new \App\Models\Configuracion\MaquinaModel();
$opciones_papel = array(
'bn' => 1,
'cubierta' => 0,
'sobrecubierta' => 0,
'rotativa' => 0,
);
$papelimpresionmodel = new \App\Models\Configuracion\PapelImpresionModel();
$papeles = $papelimpresionmodel->getIdPapelesImpresionForPresupuesto(
papel_generico_id: 4,
gramaje: 90,
options: $opciones_papel
);
foreach ($papeles as $papel) {
echo '-------------------------------';
$maquinas = $maquina_model->getMaquinaImpresionForPresupuesto(
is_rotativa: $papel->rotativa,
tarifa_tipo: 'negro',
tirada: $datosPedido->tirada + $datosPedido->merma,
papel_impresion_id: $papel->id,
);
foreach ($maquinas as $maquina) {
echo '----------------------------<br>';
var_dump($maquina->maquina);
var_dump($papel->nombre);
$tarifa = (new \App\Models\Configuracion\MaquinasTarifasImpresionModel())->getTarifa($maquina->maquina_id, $uso, $tipo);
$linea = PresupuestoService::getCostesLinea($uso, $tipo, $datosPedido, $maquina, $papel, $opciones_papel, $tarifa);
echo '<pre>';
var_dump($linea);
echo '</pre>';
}
}
}
const MARGEN_PAGINAS_ROTATIVA = 15.0;
/**
@ -83,7 +26,7 @@ class PresupuestoService extends BaseService
* -> paginas: numero de paginas por libro
* -> tirada: numero de unidades a imprimir
* -> merma: unidades que se añaden a la tirada
* -> merma_portada: unidades de merma para la portada
*
* @param mixed $maquina
* objeto con la siguiente estructura:
* -> id: el id de la maquina
@ -99,19 +42,9 @@ class PresupuestoService extends BaseService
{
$response['fields'] = [];
switch ($uso) {
case 'interior':
$formas = PresupuestoService::getNumFormasPlanaInterior($maquina, $datosPedido->ancho, $datosPedido->alto, $datosPedido->isCosido);
$response['fields'] = $formas;
break;
case 'cubierta':
case 'sobrecubierta':
break;
case 'rotativa':
default:
break;
if ($uso!='rotativa') {
$formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $datosPedido->ancho, $datosPedido->alto, $datosPedido->isCosido);
$response['fields'] = $formas;
}
if ($response['fields']['num_formas']['posicion_formas'] == 'n/a') {
@ -155,9 +88,23 @@ class PresupuestoService extends BaseService
}
// cubierta o sobrecubierta (siempre a color)
else if (($cubierta == 1 || $sobrecubierta == 1) && $rotativa == 0) {
}
// rotativa
else if ($rotativa == 1) {
// precio papel
$pliegos_libro = 1.0 / $response['fields']['num_formas']['value'];
$pliegos_pedido = $pliegos_libro * ($datosPedido->tirada + $datosPedido->merma);
$precio_libro = $pliegos_libro * $precio_pliego_impresion;
$precio_pedido = $precio_libro * ($datosPedido->tirada + $datosPedido->merma);
$mano = PresupuestoService::computeLomoPortada($papel_impresion->espesor);
// peso
$ancho_total = $datosPedido->solapas? $datosPedido->ancho + $datosPedido->solapas_ancho:$datosPedido->ancho;
$peso = PresupuestoService::computePeso($ancho_total, $datosPedido->alto, $papel_impresion->gramaje);
// impresion
if ($tarifa) {
$precio_click = $tarifa;
$precio_click_pedido = $pliegos_pedido * $precio_click;
}
}
@ -183,55 +130,179 @@ class PresupuestoService extends BaseService
}
private static function getNumFormasPlanaInterior($maquina, $ancho, $alto, $isCosido)
/**
* Devuelve los calculos para la linea de rotativa.
*/
public static function getCostesLineaRotativa($maquina, $papel_impresion, $datosPedido, $parametrosRotativa)
{
$anchoForCalculo = $isCosido ? $ancho * 2 : $ancho;
$data = [];
// horizontales
$h1 = floor($maquina->ancho_impresion / $anchoForCalculo);
$v1 = floor($maquina->alto_impresion / $alto);
$formas_h = $h1 * $v1; //p1
$data['resolucion'] = 600;
$data['pulgada'] = 1 / 1000000000000.0;
$data['superficie'] = round((($datosPedido->ancho / 2.54) / 10) * (($datosPedido->alto / 2.54) / 10), 2);
// verticales
$h2 = floor($maquina->ancho_impresion / $alto);
$v2 = floor($maquina->alto_impresion / $anchoForCalculo);
$formas_v = $h2 * $v2; //p2
// posicionamos paginas en función de a favor de fibra o no
$anchoLibro = $datosPedido->ancho;
$altoLibro = $datosPedido->alto;
if (!$parametrosRotativa->a_favor_fibra) {
$anchoLibro = $datosPedido->alto;
$altoLibro = $datosPedido->ancho;
}
$data['ancho'] = $anchoLibro;
$data['alto'] = $altoLibro;
// si es cosido ancho x 2
if ($datosPedido->isCosido) {
if (!$parametrosRotativa->a_favor_fibra) {
$data['alto'] = $data['alto'] * 2;
} else {
$data['ancho'] = $data['ancho'] * 2;
}
}
// calculo de papel y clicks
$factor_anchura = round($maquina->ancho_impresion / $data['ancho'], 2);
$factor_altura = round($maquina->alto_impresion / ($data['alto'] + self::MARGEN_PAGINAS_ROTATIVA), 2);
$factor_altura_click = round($maquina->alto_click / ($data['alto'] + self::MARGEN_PAGINAS_ROTATIVA), 2);
$multiplicador_pliego = $datosPedido->isCosido ? 4 : 2;
$paginas_por_pliego = round(floor($factor_anchura) * $factor_altura * $multiplicador_pliego, 2);
$pliegos_libro = round($paginas_por_pliego ? $datosPedido->paginas / $paginas_por_pliego : 0, 2);
$metros_papel_libro = round($pliegos_libro * ($maquina->alto_impresion / 1000.0), 2);
$metros_papel_total = round($metros_papel_libro * ($datosPedido->tirada + $datosPedido->merma), 2);
$paginas_por_pliego_click = round(floor($factor_anchura) * $factor_altura_click * $multiplicador_pliego, 2);
$pliegos_libro_click = round($paginas_por_pliego_click ? $datosPedido->paginas / $paginas_por_pliego_click : 0, 2);
$clicks_libro = round(ceil($pliegos_libro_click) * 2, 2);
$clicks_pedido = round($clicks_libro * ($datosPedido->tirada + $datosPedido->merma), 2);
$data['factor_altura'] = $factor_altura;
$data['factor_anchura'] = $factor_anchura;
$data['paginas_por_pliego'] = $paginas_por_pliego;
$data['pliegos_libro'] = $pliegos_libro;
$data['pliegos_pedido'] = $pliegos_libro * ($datosPedido->tirada + $datosPedido->merma);
$data['metros_papel_libro'] = $metros_papel_libro;
$data['metros_papel_total'] = $metros_papel_total;
$data['clicks_libro'] = $clicks_libro;
$data['clicks_pedido'] = $clicks_pedido;
// calculo de tintas
$data['num_gotas_negro'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametrosRotativa->rotativa_negro / 100.0), 0);
$data['num_gotas_cyan'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametrosRotativa->rotativa_cyan / 100.0), 0);
$data['num_gotas_magenta'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametrosRotativa->rotativa_magenta / 100.0), 0);
$data['num_gotas_amarillo'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametrosRotativa->rotativa_amarillo / 100.0), 0);
$pag_negro = $parametrosRotativa->bnPages;
$pag_color = 0;
if ($parametrosRotativa->colorPages>0) {
$pag_color = $parametrosRotativa->colorPages;
}
// peso tintas
$data['peso_gotas_negro'] = round((($data['num_gotas_negro'] * $parametrosRotativa->rotativa_gota_negro * $data['pulgada']) / (17.91 / 20.0)) * $pag_negro * 1000, 6);
$data['peso_gotas_cyan'] = round((($data['num_gotas_cyan'] * $parametrosRotativa->rotativa_gota_color * $data['pulgada']) / (17.65 / 20.0)) * $pag_color * 1000, 6);
$data['peso_gotas_magenta'] = round((($data['num_gotas_magenta'] * $parametrosRotativa->rotativa_gota_color * $data['pulgada']) / (17.65 / 20.0)) * $pag_color * 1000, 6);
$data['peso_gotas_amarillo'] = round((($data['num_gotas_amarillo'] * $parametrosRotativa->rotativa_gota_color * $data['pulgada']) / (17.65 / 20.0)) * $pag_color * 1000, 6);
// costes de tintas
$data['peso_gotas_negro_pedido'] = round($data['peso_gotas_negro'], 2) * ($datosPedido->tirada + $datosPedido->merma);
$data['peso_gotas_cyan_pedido'] = round($data['peso_gotas_cyan'], 2) * ($datosPedido->tirada + $datosPedido->merma);
$data['peso_gotas_magenta_pedido'] = round($data['peso_gotas_magenta'], 2) * ($datosPedido->tirada + $datosPedido->merma);
$data['peso_gotas_amarillo_pedido'] = round($data['peso_gotas_amarillo'], 2) * ($datosPedido->tirada + $datosPedido->merma);
// precio tinta
$data['precio_tinta'] = round(
round(($data['peso_gotas_negro_pedido'] / 1000.0) * $maquina->precio_tinta_negro, 2) +
round(($data['peso_gotas_cyan_pedido'] / 1000.0) * $maquina->precio_tinta_color, 2) +
round(($data['peso_gotas_magenta_pedido'] / 1000.0) * $maquina->precio_tinta_color, 2) +
round(($data['peso_gotas_amarillo_pedido'] / 1000.0) * $maquina->precio_tinta_color, 2)
, 2);
// precio pagina
$data['precio_pagina_negro'] = round($pag_negro ? $data['precio_tinta'] / ($pag_negro * ($datosPedido->tirada + $datosPedido->merma)) : 0, 6);
$data['precio_pagina_color'] = round($pag_color ? $data['precio_tinta'] / ($pag_color * ($datosPedido->tirada + $datosPedido->merma)) : 0, 6);
// calculo de corte
$data['tiempo_corte'] = $maquina->velocidad_corte > 0 ? round($metros_papel_total / $maquina->velocidad_corte, 2) : 0;
$data['total_corte'] = round(($data['tiempo_corte'] / 60.0) * $maquina->precio_hora_corte, 2);
$data['mano'] = PresupuestoService::computeLomoInterior($datosPedido->paginas, $papel_impresion->espesor);
// ($paginas / 2.0) * (($gramaje / 1000.0) * $papel_compra->mano);
// peso
$data['peso'] = PresupuestoService::computePeso(
ancho: $datosPedido->isCosido ? $datosPedido->ancho / 2.0 : $datosPedido->ancho,
alto: $datosPedido->alto,
gramaje: $papel_impresion->gramaje,
paginas: $datosPedido->paginas
);
return $data;
}
private static function getNumFormasPlana($uso, $maquina, $ancho, $alto, $isCosido)
{
if($uso == 'cubierta' || $uso == 'sobrecubierta') {
if(property_exists($maquina, 'forzar_num_formas_horizontales_cubierta') &&
property_exists($maquina, 'forzar_num_formas_horizontales_cubierta')){
if($maquina->forzar_num_formas_horizontales_cubierta > 0 &&
$maquina->forzar_num_formas_horizontales_cubierta > 0){
$h1 = $maquina->forzar_num_formas_horizontales_cubierta;
$h2 = $maquina->forzar_num_formas_verticales_cubierta;
$num_formas = $h1 * $h2;
}
else{
$num_formas == 0;
}
}
else{
$num_formas == 0;
}
}
else{
if($uso != 'cubierta' && $uso != 'sobrecubierta'){
$anchoForCalculo = $isCosido ? $ancho * 2 : $ancho;
}
else{
$anchoForCalculo = $ancho;
}
// horizontales
$h1_temp = floor($maquina->ancho_impresion / $anchoForCalculo);
$calles = (new \App\Models\Configuracion\MaquinasCallesModel())->getCallesForMaquina($maquina->maquina_id, $h1_temp);
// Si son mas de 2 formas
if(count($calles)>0)
$h1 = ($h1_temp * $anchoForCalculo + 2 * $calles[0]->externas + ($h1_temp - 1) * $calles[0]->internas < ($maquina->ancho)) ? $h1_temp : $h1_temp - 1;
else
$h1 = $h1_temp;
$v1 = floor($maquina->alto_impresion / $alto);
$formas_h = $h1 * $v1; //p1
// verticales
$h2_temp = floor($maquina->ancho_impresion / $alto);
$calles = (new \App\Models\Configuracion\MaquinasCallesModel())->getCallesForMaquina($maquina->maquina_id, $h2_temp);
if(count($calles)>0)
$h2 = ($h2_temp * $anchoForCalculo + 2 * $calles[0]->externas + ($h2_temp - 1) * $calles[0]->internas < ($maquina->ancho)) ? $h2_temp : $h2_temp - 1;
else
$h2 = $h2_temp;
$v2 = floor($maquina->alto_impresion / $anchoForCalculo);
$formas_v = $h2 * $v2; //p2
// hay que iterar hasta que las formas entren o el num_formas sean ==0
// se checkea que entran en el numero de calles
// se obtiene la configuracion de las calles para esa maquina
$good_configuration = false;
do {
$num_formas = ($formas_h > $formas_v) ? $formas_h : $formas_v;
$num_formas = $isCosido ? $num_formas * 2 : $num_formas;
// solo hay calles para 2 formas o mas
if ((($formas_h > $formas_v) ? $h1 : $h2) > 1) {
$calles = (new \App\Models\Configuracion\MaquinasCallesModel())->getCallesForMaquina($maquina->maquina_id, ($formas_h > $formas_v) ? $h1 : $h2)[0];
// se calcula el tamaño necesario para el numero de formas + el numero de calles internas
$size_needed = (($formas_h > $formas_v) ? $anchoForCalculo : $alto) * (($formas_h > $formas_v) ? $h1 : $h2) +
((($formas_h > $formas_v) ? $h1 : $h2) - 1) * $calles->internas;
// si el tamaño calculado entra en el area de impresion
if ($size_needed <= $maquina->ancho_impresion)
$good_configuration = true;
// en caso contrario se resta una forma donde corresponda para iterar otra vez
else {
if ($formas_h > $formas_v) {
$formas_h = ($formas_h - 1 > 0) ? $formas_h - 1 : 0;
} else {
$formas_v = ($formas_v - 1 > 0) ? $formas_v - 1 : 0;
}
}
if($uso != 'cubierta' && $uso != 'sobrecubierta'){
$num_formas = $isCosido ? $num_formas * 2 : $num_formas;
}
// Si solo hay una forma, tiene que entrar en el ancho de impresion
else if ((($formas_h > $formas_v) ? $h1 : $h2) == 1) {
if ((($formas_h > $formas_v) ? $h1 : $h2) < $maquina->ancho_impresion) {
$good_configuration = true;
}
}
} while ($num_formas != 0 && !$good_configuration);
}
// si no hay formas se devuelve n/a
if ($num_formas == 0) {
@ -252,14 +323,14 @@ class PresupuestoService extends BaseService
}
private static function getPrecioPliego($maquina, $papel_impresion, $paginas)
public static function getPrecioPliego($maquina, $papel_impresion, $paginas)
{
$margen = (new \App\Models\Configuracion\PapelImpresionMargenModel())->getMargenFormPags($papel_impresion->id, $paginas);
if (count($margen) > 0) {
$peso_por_pliego = $maquina->alto * $maquina->ancho * $papel_impresion->gramaje / 1000000;
$precio_pliego = $papel_impresion->precio_tonelada * (1 + (floatval($margen[0]['margen']) / 100.0)) / 1000000 * $peso_por_pliego;
$precio_pliego = ($peso_por_pliego * $papel_impresion->precio_tonelada / 1000000.0) * (1 + (floatval($margen[0]['margen']) / 100.0));
return round($precio_pliego*1.04, 6); // quitar el factor de 1.04 despues de los test
return round($precio_pliego, 6);
}
return -1;
}
@ -279,6 +350,14 @@ class PresupuestoService extends BaseService
return $lomo;
}
/**
* Calcula la dimensión del lomo para portada y cubierta
*/
private static function computeLomoPortada($espesor)
{
return ($espesor * 2.0) / 1000.0;
}
/**
* Devuelve el peso de un pedido.
*/

View File

@ -101,16 +101,16 @@
<?= lang('Maquinas.forzarNumFormasHorizontalesPortada') ?>
</label>
<input type="number" id="forzarNumFormasHorizontalesPortada"
name="forzar_num_formas_horizontales_portada" maxLength="11" class="form-control"
value="<?= old('forzar_num_formas_horizontales_portada', $maquina->forzar_num_formas_horizontales_portada) ?>">
name="forzar_num_formas_horizontales_cubierta" maxLength="11" class="form-control"
value="<?= old('forzar_num_formas_horizontales_cubierta', $maquina->forzar_num_formas_horizontales_cubierta) ?>">
</div>
<div class="col-md-3">
<label for="forzarNumFormasVerticalesPortada" class="form-label">
<?= lang('Maquinas.forzarNumFormasVerticalesPortada') ?>
</label>
<input type="number" id="forzarNumFormasVerticalesPortada"
name="forzar_num_formas_verticales_portada" maxLength="11" class="form-control"
value="<?= old('forzar_num_formas_verticales_portada', $maquina->forzar_num_formas_verticales_portada) ?>">
name="forzar_num_formas_verticales_cubierta" maxLength="11" class="form-control"
value="<?= old('forzar_num_formas_verticales_cubierta', $maquina->forzar_num_formas_verticales_cubierta) ?>">
</div>
<div class="col-md-12">
<label for="observaciones" class="form-label">

View File

@ -69,21 +69,21 @@
<p><?= lang('MaquinasTarifasImpresions.negro') ?></p>
</div>
<div class="col-md-12 col-lg-2 px-4">
<input type="number" id="compPaginasNegro" name="comp_paginas_negro" placeholder="0" maxLength="5" class="form-control comp_negro_items" value="<?= isset($presupuestoEntity->comparador_json_data->negro) ? (old(0, $presupuestoEntity->comparador_json_data->negro->paginas)) : '0' ?>">
<input type="text" id="compPaginasNegro" name="comp_paginas_negro" placeholder="0" maxLength="5" class="form-control comp_negro_items" value="<?= isset($presupuestoEntity->comparador_json_data->negro) ? (old(0, $presupuestoEntity->comparador_json_data->negro->paginas)) : '0' ?>">
</div>
<div class="col-md-12 col-lg-6 px-4">
<select id="compPapelNegro" name="comp_papel_negro" class="form-control select2bs2 comp_negro_items" style="width: 100%;">
<select id="compPapelNegro" name="comp_papel_negro" class="form-control select2bs2" style="width: 100%;">
<?php if (isset($papelGenericoNegroList) && is_array($papelGenericoNegroList) && !empty($papelGenericoNegroList)) :
foreach ($papelGenericoNegroList as $k => $v) : ?>
<option value="<?= $v->id ?>" >
<?= $v->nombre ?>
<option value="<?= $v->id ?>">
<?= $v->nombre ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div>
<div class="col-md-12 col-lg-2 px-4">
<select id="compGramajeNegro" name="comp_gramaje_negro" class="form-control select2bs2 comp_negro_items" disabled style="width: 100%;">
<select id="compGramajeNegro" name="comp_gramaje_negro" class="form-control select2bs2 comp_negro_items" disabled style="width: 100%;">
</select>
</div>
<div>
@ -97,21 +97,21 @@
<p><?= lang('MaquinasTarifasImpresions.negrohq') ?></p>
</div>
<div class="col-md-12 col-lg-2 px-4">
<input type="number" id="compPaginasNegrohq" name="comp_paginas_negrohq" placeholder="0" maxLength="5" class="form-control" value="<?= isset($presupuestoEntity->comparador_json_data->negro) ? (old(0, $presupuestoEntity->comparador_json_data->negro->paginas)) : '0' ?>">
<input type="text" id="compPaginasNegrohq" name="comp_paginas_negrohq" placeholder="0" maxLength="5" class="form-control comp_negrohq_items" value="<?= isset($presupuestoEntity->comparador_json_data->negro) ? (old(0, $presupuestoEntity->comparador_json_data->negro->paginas)) : '0' ?>">
</div>
<div class="col-md-12 col-lg-6 px-4">
<select id="compPapelNegrohq" name="comp_papel_negrohq" class="form-control select2bs2" style="width: 100%;">
<select id="compPapelNegrohq" name="comp_papel_negrohq" class="form-control select2bs2 comp_negrohq_items" style="width: 100%;">
<?php if (isset($papelGenericoNegroHQList) && is_array($papelGenericoNegroHQList) && !empty($papelGenericoNegroHQList)) :
foreach ($papelGenericoNegroHQList as $k => $v) : ?>
<option value="<?= $v->id ?>" >
<?= $v->nombre ?>
<option value="<?= $v->id ?>">
<?= $v->nombre ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div>
<div class="col-md-12 col-lg-2 px-4">
<select id="compGramajeNegrohq" name="comp_gramaje_negrohq" class="form-control select2bs2" disabled style="width: 100%;">
<select id="compGramajeNegrohq" name="comp_gramaje_negrohq" class="form-control select2bs2 comp_negrohq_items" disabled style="width: 100%;">
</select>
</div>
<div>
@ -125,21 +125,21 @@
<p><?= lang('MaquinasTarifasImpresions.color') ?></p>
</div>
<div class="col-md-12 col-lg-2 px-4">
<input type="number" id="compPaginasColor" name="comp_paginas_color" placeholder="0" maxLength="5" class="form-control" value="<?= isset($presupuestoEntity->comparador_json_data->color) ? (old(0, $presupuestoEntity->comparador_json_data->color->paginas)) : '0' ?>">
<input type="text" id="compPaginasColor" name="comp_paginas_color" placeholder="0" maxLength="5" class="form-control comp_color_items" value="<?= isset($presupuestoEntity->comparador_json_data->color) ? (old(0, $presupuestoEntity->comparador_json_data->color->paginas)) : '0' ?>">
</div>
<div class="col-md-12 col-lg-6 px-4">
<select id="compPapelColor" name="comp_papel_color" class="form-control select2bs2" style="width: 100%;">
<select id="compPapelColor" name="comp_papel_color" class="form-control select2bs2 comp_color_items" style="width: 100%;">
<?php if (isset($papelGenericoColorList) && is_array($papelGenericoColorList) && !empty($papelGenericoColorList)) :
foreach ($papelGenericoColorList as $k => $v) : ?>
<option value="<?= $v->id ?>" >
<?= $v->nombre ?>
<option value="<?= $v->id ?>">
<?= $v->nombre ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div>
<div class="col-md-12 col-lg-2 px-4">
<select id="compGramajeColor" name="comp_gramaje_color" class="form-control select2bs2" disabled style="width: 100%;">
<select id="compGramajeColor" name="comp_gramaje_color" class="form-control select2bs2 comp_color_items" disabled style="width: 100%;">
</select>
</div>
<div>
@ -153,21 +153,21 @@
<p><?= lang('MaquinasTarifasImpresions.colorhq') ?></p>
</div>
<div class="col-md-12 col-lg-2 px-4">
<input type="number" id="compPaginasColorhq" name="comp_paginas_colorhq" placeholder="0" maxLength="5" class="form-control" value="<?= isset($presupuestoEntity->comparador_json_data->color) ? (old(0, $presupuestoEntity->comparador_json_data->color->paginas)) : '0' ?>">
<input type="text" id="compPaginasColorhq" name="comp_paginas_colorhq" placeholder="0" maxLength="5" class="form-control comp_colorhq_items" value="<?= isset($presupuestoEntity->comparador_json_data->color) ? (old(0, $presupuestoEntity->comparador_json_data->color->paginas)) : '0' ?>">
</div>
<div class="col-md-12 col-lg-6 px-4">
<select id="compPapelColorhq" name="comp_papel_colorhq" class="form-control select2bs2" style="width: 100%;">
<select id="compPapelColorhq" name="comp_papel_colorhq" class="form-control select2bs2 comp_colorhq_items" style="width: 100%;">
<?php if (isset($papelGenericoColorHQList) && is_array($papelGenericoColorHQList) && !empty($papelGenericoColorHQList)) :
foreach ($papelGenericoColorHQList as $k => $v) : ?>
<option value="<?= $v->id ?>" >
<?= $v->nombre ?>
<option value="<?= $v->id ?>">
<?= $v->nombre ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div>
<div class="col-md-12 col-lg-2 px-4">
<select id="compGramajeColorhq" name="comp_gramaje_colorhq" class="form-control select2bs2" disabled style="width: 100%;">
<select id="compGramajeColorhq" name="comp_gramaje_colorhq" class="form-control select2bs2 comp_colorhq_items" disabled style="width: 100%;">
</select>
</div>
<div>
@ -179,30 +179,30 @@
<div class="row">
<div class="col-md-12 col-lg-2 px-4">
<p><?= lang('PapelImpresion.cubierta') ?></p>
</div>
</div>
<div class="col-md-12 col-lg-2 px-4">
<select id="compPaginasCubierta" name="comp_paginas_cubierta" class="form-control select2bs2" style="width: 100%;">
<option value="1" >
<select id="compCarasCubierta" name="comp_paginas_cubierta" class="form-control select2bs2 comp_cubierta_items" style="width: 100%;">
<option value="2">
<p><?= lang('Presupuestos.1cara') ?></p>
</option>
<option value="2" >
<option value="4">
<p><?= lang('Presupuestos.2caras') ?></p>
</option>
</select>
</div>
<div class="col-md-12 col-lg-6 px-4">
<select id="compPapelCubierta" name="comp_papel_cubierta" class="form-control select2bs2" style="width: 100%;">
<?php if (isset($papelGenericoSobrecubiertaList) && is_array($papelGenericoSobrecubiertaList) && !empty($papelGenericoSobrecubiertaList)) :
foreach ($papelGenericoSobrecubiertaList as $k => $v) : ?>
<option value="<?= $v->id ?>" >
<?= $v->nombre ?>
<select id="compPapelCubierta" name="comp_papel_cubierta" class="form-control select2bs2 comp_cubierta_items" style="width: 100%;">
<?php if (isset($papelGenericoCubiertaList) && is_array($papelGenericoCubiertaList) && !empty($papelGenericoCubiertaList)) :
foreach ($papelGenericoCubiertaList as $k => $v) : ?>
<option value="<?= $v->id ?>">
<?= $v->nombre ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div>
<div class="col-md-12 col-lg-2 px-4">
<select id="compGramajeCubierta" name="comp_gramaje_cubierta" class="form-control select2bs2" disabled style="width: 100%;">
<select id="compGramajeCubierta" name="comp_gramaje_cubierta" class="form-control select2bs2 comp_cubierta_items" disabled style="width: 100%;">
</select>
</div>
<div>
@ -274,10 +274,6 @@
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.peso') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.click') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.totalClicks') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.precioPagNegro') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.precioPagColor') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.totalTinta') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.totalCorte') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.total') ?></th>
</tr>
</thead>
@ -285,8 +281,8 @@
</tbody>
<tfoot>
<tr>
<td class="dt-result dt-result-text" colspan="18"><?= lang('Presupuestos.total') ?> <?= lang("Presupuestos.compInteriorPlana") ?>:</td>
<td id="total_comp_negro" class="dt-result dt-result-value" colspan="2"> 0.00 </td>
<td class="dt-result dt-result-text" colspan="14"><?= lang('Presupuestos.total') ?> <?= lang("Presupuestos.compInteriorPlana") ?>:</td>
<td id="total_comp_plana" class="dt-result dt-result-value" colspan="2"> 0.00 </td>
</tr>
</tfoot>
</table>
@ -317,6 +313,7 @@
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.papel') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.gramaje') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.marca') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.aFavorFibra') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.maquina') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.numeroPliegos') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.pliegosPedido') ?></th>
@ -338,8 +335,8 @@
</tbody>
<tfoot>
<tr>
<td class="dt-result dt-result-text" colspan="18"><?= lang('Presupuestos.total') ?> <?= lang("Presupuestos.compInteriorRotativa") ?>:</td>
<td class="dt-result dt-result-value" colspan="2">0.00</td>
<td class="dt-result dt-result-text" colspan="19"><?= lang('Presupuestos.total') ?> <?= lang("Presupuestos.compInteriorRotativa") ?>:</td>
<td id="total_comp_rot" class="dt-result dt-result-value" colspan="2">0.00</td>
</tr>
</tfoot>
</table>
@ -378,10 +375,6 @@
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.peso') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.click') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.totalClicks') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.precioPagNegro') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.precioPagColor') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.totalTinta') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.totalCorte') ?></th>
<th style="padding-right: 0.75em;"><?= lang('Presupuestos.total') ?></th>
</tr>
</thead>
@ -389,13 +382,13 @@
</tbody>
<tfoot>
<tr>
<td class="dt-result dt-result-text" colspan="18"><?= lang('Presupuestos.total') ?> <?= lang('Presupuestos.cubierta') ?>:</td>
<td class="dt-result dt-result-value" colspan="2">0.00</td>
<td class="dt-result dt-result-text" colspan="14"><?= lang('Presupuestos.total') ?> <?= lang("Presupuestos.compInteriorPlana") ?>:</td>
<td id="total_comp_cubierta" class="dt-result dt-result-value" colspan="2"> 0.00 </td>
</tr>
</tfoot>
</table>
</div>
</div>
</div>

View File

@ -1,6 +1,81 @@
/*******************************
* Eventos asociados a elementos HTML
*******************************/
$('#compPaginasNegro').on("change", function () {
var negro = parseInt(document.getElementById('compPaginasNegro').value);
const paginas = parseInt(document.getElementById('paginas').value);
if (paginas < negro) {
document.getElementById('compPaginasNegro').value = paginas;
negro = paginas;
}
var color = parseInt(document.getElementById('compPaginasColor').value);
if ($('#tipoImpresion').select2('data')[0].id == 'color') {
var newValue = paginas - negro;
if (newValue != color) {
document.getElementById('compPaginasColor').value = newValue >= 0 ? newValue : 0;
$('#compPaginasColor').change();
}
}
});
$('#compPaginasColor').on("change", function () {
const paginas = parseInt(document.getElementById('paginas').value);
var color = parseInt(document.getElementById('compPaginasColor').value);
var negro = parseInt(document.getElementById('compPaginasNegro').value);
if (paginas < color) {
document.getElementById('compPaginasColor').value = paginas;
color = paginas
}
var newValue = paginas - color;
if (newValue != negro) {
document.getElementById('compPaginasNegro').value = newValue >= 0 ? newValue : 0;
$('#compPaginasNegro').change();
}
});
$('#compPaginasNegrohq').on("change", function () {
if (document.getElementById('paginas').value < document.getElementById('compPaginasNegrohq').value) {
document.getElementById('compPaginasNegrohq').value = document.getElementById('paginas').value;
}
if ($('#tipoImpresion').select2('data')[0].id == 'color') {
if (document.getElementById('compPaginasNegrohq').value + document.getElementById('compPaginasColorhq').value > document.getElementById('paginas').value) {
var newValue = document.getElementById('paginas').value - document.getElementById('compPaginasNegrohq').value;
document.getElementById('compPaginasColorhq').value = newValue >= 0 ? newValue : 0;
}
}
});
$('#compPaginasColorhq').on("change", function () {
if (document.getElementById('paginas').value < document.getElementById('compPaginasColorhq').value) {
document.getElementById('compPaginasColorhq').value = document.getElementById('paginas').value;
}
if (document.getElementById('compPaginasNegrohq').value + document.getElementById('compPaginasColorhq').value > document.getElementById('paginas').value) {
var newValue = document.getElementById('paginas').value - document.getElementById('compPaginasColorhq').value;
document.getElementById('compPaginasNegrohq').value = newValue >= 0 ? newValue : 0;
}
});
$('#paginas').on("change", function () {
// Si es negro o color
if ($('#tipoImpresion').select2('data')[0].id == 'negro' ||
$('#tipoImpresion').select2('data')[0].id == 'color') {
document.getElementById('compPaginasNegro').value = document.getElementById('paginas').value;
document.getElementById('compPaginasColor').value = 0;
}
// Si es negrohq o colorhq
if ($('#tipoImpresion').select2('data')[0].id == 'negrohq' ||
$('#tipoImpresion').select2('data')[0].id == 'colorhq') {
document.getElementById('compPaginasNegrohq').value = document.getElementById('paginas').value;
document.getElementById('compPaginasColorhq').value = 0;
}
});
$("#solapas").on("click", function () {
var e = document.getElementById('div_solapas_ancho');
if (document.getElementById('solapas').checked) {
@ -13,11 +88,38 @@ $("#solapas").on("click", function () {
$('#tipoImpresion').on("change", function () {
updatePapelesComparador();
$('#paginas').change();
if (($('#tipoImpresion').select2('data')[0].id == 'negro' ||
$('#tipoImpresion').select2('data')[0].id == 'color')){
$('#tableCompIntRotativa').DataTable().clear().draw();
$('#total_comp_rot').html("0.00");
if( $('#tableCompIntPlana').DataTable().rows().count() > 0 &&
$('#tableCompIntPlana').DataTable().cell(0, 0).data().includes('hq')) {
$('#tableCompIntPlana').DataTable().clear().draw();
$('#total_comp_plana').html("0.00");
}
}
else if (($('#tipoImpresion').select2('data')[0].id == 'negrohq' ||
$('#tipoImpresion').select2('data')[0].id == 'colorhq')){
$('#tableCompIntRotativa').DataTable().clear().draw();
$('#total_comp_rot').html("0.00");
if($('#tableCompIntPlana').DataTable().rows().count() > 0 &&
!$('#tableCompIntPlana').DataTable().cell(0, 0).data().includes('hq')) {
$('#tableCompIntPlana').DataTable().clear().draw();
$('#total_comp_plana').html("0.00");
}
}
});
$('#tipoImpresion').on("change", function () {
updatePapelesComparador();
});
$('#compRetractilado').on("change", function () {
checkRetractiladoComparador(this);
@ -61,38 +163,62 @@ $('.accordion-button').on('click', function (e) {
/*******************************
* Metodos
*******************************/
function getRowFromLinea(tipo, linea){
function getRowFromLineaInt(tipo, linea) {
return {
'tipo': tipo,
'paginas': linea.fields.paginas,
'papel': linea.fields.papel_generico_id,
'papel': linea.fields.papel_generico,
'gramaje': linea.fields.gramaje,
'marca': linea.fields.papel_impresion,
'maquina': linea.fields.maquina,
'numeroPliegos': isNaN(parseFloat(linea.fields.pliegos_libro).toFixed(2)) ? "" : parseFloat(linea.fields.pliegos_libro).toFixed(2),
'pliegosPedido': isNaN(parseFloat(linea.fields.pliegos_pedido).toFixed(2)) ? "" : parseFloat(linea.fields.pliegos_pedido).toFixed(2),
'precioPliego': isNaN(parseFloat(linea.fields.precios_pliegos).toFixed(6)) ? "" : parseFloat(linea.fields.precios_pliegos).toFixed(6),
'libro': isNaN(parseFloat(linea.fields.precio_libro).toFixed(2)) ? "" : parseFloat(linea.fields.precio_libro).toFixed(2),
'totalPapelPedido': isNaN(parseFloat(linea.fields.precio_pedido).toFixed(2)) ? "" : parseFloat(linea.fields.precio_pedido).toFixed(2),
'lomo': isNaN(parseFloat(linea.fields.mano).toFixed(2)) ? "" : parseFloat(linea.fields.mano).toFixed(2),
'peso': isNaN(parseFloat(linea.fields.peso).toFixed(2)) ? "" : parseFloat(linea.fields.peso).toFixed(2),
'click': isNaN(parseFloat(linea.fields.precio_click).toFixed(6)) ? "" : parseFloat(linea.fields.precio_click).toFixed(6),
'totalClicks': isNaN(parseFloat(linea.fields.precio_click_pedido).toFixed(2)) ? "" : parseFloat(linea.fields.precio_click_pedido).toFixed(2),
'precioPagNegro': isNaN(parseFloat(linea.fields.precioPagNegro).toFixed(6)) ? "" : parseFloat(linea.fields.precioPagNegro).toFixed(6),
'precioPagColor': isNaN(parseFloat(linea.fields.precioPagColor).toFixed(6)) ? "" : parseFloat(linea.fields.precioPagColor).toFixed(6),
'totalTinta': isNaN(parseFloat(linea.fields.totalTinta).toFixed(6)) ? "" : parseFloat(linea.fields.totalTinta).toFixed(6),
'totalCorte': isNaN(parseFloat(linea.fields.totalCorte).toFixed(6)) ? "" : parseFloat(linea.fields.totalCorte).toFixed(6),
'total': isNaN(parseFloat(linea.fields.precio_pedido+linea.fields.precio_click_pedido).toFixed(2)) ?
"" : parseFloat(linea.fields.precio_pedido+linea.fields.precio_click_pedido).toFixed(2),
'numeroPliegos': isNaN(parseFloat(linea.fields.pliegos_libro)) ? "" : parseFloat(linea.fields.pliegos_libro).toFixed(2),
'pliegosPedido': isNaN(parseFloat(linea.fields.pliegos_pedido)) ? "" : parseFloat(linea.fields.pliegos_pedido).toFixed(2),
'precioPliego': isNaN(parseFloat(linea.fields.precios_pliegos)) ? "" : parseFloat(linea.fields.precios_pliegos).toFixed(6),
'libro': isNaN(parseFloat(linea.fields.precio_libro)) ? "" : parseFloat(linea.fields.precio_libro).toFixed(2),
'totalPapelPedido': isNaN(parseFloat(linea.fields.precio_pedido)) ? "" : parseFloat(linea.fields.precio_pedido).toFixed(2),
'lomo': isNaN(parseFloat(linea.fields.mano)) ? "" : parseFloat(linea.fields.mano).toFixed(2),
'peso': isNaN(parseFloat(linea.fields.peso)) ? "" : parseFloat(linea.fields.peso).toFixed(2),
'click': isNaN(parseFloat(linea.fields.precio_click)) ? "" : parseFloat(linea.fields.precio_click).toFixed(6),
'totalClicks': isNaN(parseFloat(linea.fields.precio_click_pedido)) ? "" : parseFloat(linea.fields.precio_click_pedido).toFixed(2),
'total': isNaN(parseFloat(linea.fields.precio_pedido) + parseFloat(linea.fields.precio_click_pedido)) ?
"" : (parseFloat(linea.fields.precio_pedido) + parseFloat(linea.fields.precio_click_pedido)).toFixed(2),
}
}
function getRowFromLineaRot(linea) {
return {
'tipo': 'rotativa',
'paginas': linea.fields.paginas,
'papel': linea.fields.papel_generico,
'gramaje': linea.fields.gramaje,
'marca': linea.fields.papel_impresion,
'aFavorFibra':linea.fields.a_favor_fibra==1?'si':'no',
'maquina': linea.fields.maquina,
'numeroPliegos': isNaN(parseFloat(linea.fields.pliegos_libro)) ? "" : parseFloat(linea.fields.pliegos_libro).toFixed(2),
'pliegosPedido': isNaN(parseFloat(linea.fields.pliegos_pedido)) ? "" : parseFloat(linea.fields.pliegos_pedido).toFixed(2),
'precioPliego': isNaN(parseFloat(linea.fields.precios_pliegos)) ? "" : parseFloat(linea.fields.precios_pliegos).toFixed(6),
'libro': isNaN(parseFloat(linea.fields.precio_libro)) ? "" : parseFloat(linea.fields.precio_libro).toFixed(2),
'totalPapelPedido': isNaN(parseFloat(linea.fields.precio_pedido)) ? "" : parseFloat(linea.fields.precio_pedido).toFixed(2),
'lomo': isNaN(parseFloat(linea.fields.mano)) ? "" : parseFloat(linea.fields.mano).toFixed(2),
'peso': isNaN(parseFloat(linea.fields.peso)) ? "" : parseFloat(linea.fields.peso).toFixed(2),
'click': isNaN(parseFloat(linea.fields.precio_click)) ? "" : parseFloat(linea.fields.precio_click).toFixed(6),
'totalClicks': isNaN(parseFloat(linea.fields.precio_click_pedido)) ? "" : parseFloat(linea.fields.precio_click_pedido).toFixed(2),
'precioPagNegro': isNaN(parseFloat(linea.fields.precio_pagina_negro)) ? "" : parseFloat(linea.fields.precio_pagina_negro).toFixed(6),
'precioPagColor': isNaN(parseFloat(linea.fields.precio_pagina_color)) ? "" : parseFloat(linea.fields.precio_pagina_color).toFixed(6),
'totalTinta':isNaN(parseFloat(linea.fields.precio_tinta)) ? "" : parseFloat(linea.fields.precio_tinta).toFixed(2),
'totalCorte':isNaN(parseFloat(linea.fields.total_corte)) ? "" : parseFloat(linea.fields.total_corte).toFixed(2),
'total': isNaN(parseFloat(linea.fields.total_impresion)) ? "" : (parseFloat(linea.fields.total_impresion)).toFixed(2),
}
}
function checkDatosPedidoForComp() {
if (parseInt(document.getElementById('paginas').value) > 0 &&
parseInt(document.getElementById('tirada').value) > 0 &&
if (parseInt($('#paginas').val()) > 0 &&
parseInt($('#tirada').val()) > 0 &&
($('#papelFormatoId').select2('data').length > 0 ||
(parseInt(document.getElementById('papelFormatoAncho').value) > 0 && parseInt(document.getElementById('papelFormatoAlto').value) > 0)))
(parseInt($('#papelFormatoAncho').val()) > 0 && parseInt($('#papelFormatoAlto').val()) > 0)))
return true;
return false;
}
@ -177,11 +303,13 @@ function updatePapelesComparador() {
Array.from(elements_colorhq).forEach(element => {
element.style.display = "none";
});
clearNegro();
break;
case "negrohq":
Array.from(elements_color).forEach(element => {
element.style.display = "none";
});
Array.from(elements_negro).forEach(element => {
element.style.display = "none";
@ -227,8 +355,197 @@ function updatePapelesComparador() {
default:
break;
}
}
function clearNegro() {
document.getElementById('compPaginasNegro').value = 0;
$('#compGramajeNegro').val('').change();
$('#compGramajeNegro').prop('disabled', true);
$('#compPapelNegro').val('data', { id: '0' });
}
function clearIntLineas(is_color){
$("#tableCompIntPlana").DataTable().rows( '.selected' ).deselect();
var tabla = $('#tableCompIntPlana').DataTable();
tabla
.rows( function ( idx, data, node ) {
return data['tipo'].includes(is_color?'color':'bn');
} )
.remove()
.draw();
}
function clearCubierta(){
$('#tableCompCubierta').DataTable().clear().draw();
}
function clearIntRot(){
$('#tableCompIntRotativa').DataTable().clear().draw();
}
function selectIntLineas(){
var negro_selected = false;
var color_selected = false;
$("#tableCompIntPlana").DataTable().rows( '.selected' ).deselect();
$("#tableCompIntPlana").DataTable().rows().every( function ( rowIdx, tableLoop, rowLoop ) {
if( !negro_selected && $('#tableCompIntPlana').DataTable().cell(rowIdx, 0).data().includes('bn') ){
$("#tableCompIntPlana").DataTable().row( rowIdx ).nodes().to$().toggleClass( 'selected' );
negro_selected = true;
}
if( !color_selected && $('#tableCompIntPlana').DataTable().cell(rowIdx, 0).data().includes('color') ){
$("#tableCompIntPlana").DataTable().row( rowIdx ).nodes().to$().toggleClass( 'selected' );
color_selected = true;
}
});
var table = $("#tableCompIntPlana").DataTable();
var rows = table.rows( '.selected' ).indexes();
var data = table.rows( rows ).data();
var value_total = 0.00;
for (let i = 0; i < data.length ; i++) {
value_total += parseFloat(data[i]['total'])
}
$('#total_comp_plana').html(value_total.toFixed(2));
}
function selectIntRotLineas(){
$("#tableCompIntRotativa").DataTable().rows( '.selected' ).deselect();
let value_total = 0.00;
if($("#tableCompIntRotativa").DataTable().rows().count()>0) {
$("#tableCompIntRotativa").DataTable().row( 0 ).nodes().to$().toggleClass( 'selected' );
value_total = parseFloat($("#tableCompIntRotativa").DataTable().rows( 0 ).data()[0]['total'])
};
$('#total_comp_rot').html(value_total.toFixed(2));
}
function getIDsComparador(is_color, is_hq){
if(!is_color){
if(is_hq){
var papel = '#compPapelNegrohq';
var gramaje = '#compGramajeNegrohq';
var paginas = '#compPaginasNegrohq';
}
else{
var papel = '#compPapelNegro';
var gramaje = '#compGramajeNegro';
var paginas = '#compPaginasNegro';
}
}
else{
if(is_hq){
var papel = '#compPapelColorhq';
var gramaje = '#compGramajeColorhq';
var paginas = '#compPaginasColorhq';
}
else{
var papel = '#compPapelColor';
var gramaje = '#compGramajeColor';
var paginas = '#compPaginasColor';
}
}
return{
papel: papel,
gramaje: gramaje,
paginas: paginas,
}
}
function getDimensionLibro(){
var ancho = 0;
var alto = 0;
if($('#papelFormatoId').select2('data').length > 0){
ancho = parseFloat($('#papelFormatoId').select2('data')[0].text.trim().split(" x ")[0]);
alto = parseFloat($('#papelFormatoId').select2('data')[0].text.trim().split(" x ")[1]);
}
else{
ancho = parseFloat(document.getElementById('papelFormatoAncho').value);
alto = parseFloat(document.getElementById('papelFormatoAlto').value);
}
return {
ancho: ancho,
alto: alto
}
}
function checkInputsForRotativa(){
// Si es color, el gramaje y el papel tiene que ser el mismo
try{
if ($('#tipoImpresion').select2('data')[0].id == 'color') {
if($('#compPapelNegro').select2('data')[0].id == $('#compPapelColor').select2('data')[0].id &&
$('#compGramajeNegro').select2('data')[0].text.trim() == $('#compGramajeColor').select2('data')[0].text.trim() ){
return true;
}
}
else if ($('#tipoImpresion').select2('data')[0].id == 'negro') {
if($('#compPapelNegro').select2('data')[0].id.length>0 &&
$('#compGramajeNegro').select2('data')[0].text.length>0){
return true;
}
}
}
catch(error){
return false;
}
return false;
}
function fillIntPlana(data, is_color, is_hq){
let sorted = data.lineas.sort(
(p1, p2) => ((p1.fields.precio_pedido+p1.fields.precio_click_pedido) < (p2.fields.precio_pedido+p2.fields.precio_click_pedido)) ?
-1 : ((p1.fields.precio_pedido+p1.fields.precio_click_pedido) > (p2.fields.precio_pedido+p2.fields.precio_click_pedido)) ? 1 : 0);
sorted.forEach(function(linea) {
if(typeof linea.error == "undefined")
$('#tableCompIntPlana').DataTable().row
.add(getRowFromLineaInt(is_color?(is_hq?'colorhq':'color'):(is_hq?'bnhq':'bn'), linea))
.draw()
})
}
function fillIntRot(data){
let sorted = data.lineas.sort(
(p1, p2) => ((p1.fields.precio_pedido+p1.fields.precio_click_pedido) < (p2.fields.precio_pedido+p2.fields.precio_click_pedido)) ?
-1 : ((p1.fields.precio_pedido+p1.fields.precio_click_pedido) > (p2.fields.precio_pedido+p2.fields.precio_click_pedido)) ? 1 : 0);
sorted.forEach(function(linea) {
if(typeof linea.error == "undefined"){
$('#tableCompIntRotativa').DataTable().row
.add(getRowFromLineaRot(linea))
.draw()
}
})
}
function fillCubierta(data, is_color, is_hq){
let sorted = data.lineas.sort(
(p1, p2) => ((p1.fields.precio_pedido+p1.fields.precio_click_pedido) < (p2.fields.precio_pedido+p2.fields.precio_click_pedido)) ?
-1 : ((p1.fields.precio_pedido+p1.fields.precio_click_pedido) > (p2.fields.precio_pedido+p2.fields.precio_click_pedido)) ? 1 : 0);
sorted.forEach(function(linea) {
if(typeof linea.error == "undefined")
$('#tableCompCubierta').DataTable().row
.add(getRowFromLineaInt('cubierta', linea))
.draw()
})
}

View File

@ -68,6 +68,9 @@
}
});
/*******************************
* Inicialización de los Select2
*******************************/
$('#incRei').select2({
allowClear: false,
});
@ -99,7 +102,7 @@
$('#compGramajeNegrohq').select2({
allowClear: false,
});
$('#compPapelColor').select2({
allowClear: false,
});
@ -107,7 +110,7 @@
$('#compPapelColorhq').select2({
allowClear: false,
});
$('#compGramajeColor').select2({
allowClear: false,
});
@ -124,14 +127,11 @@
allowClear: false,
});
$('#compPaginasCubierta').select2({
$('#compCarasCubierta').select2({
allowClear: false,
minimumResultsForSearch: Infinity,
});
<?= $this->endSection() ?>
@ -142,8 +142,6 @@
autosize($('#compCalPaginasColor'));
$('#papelFormatoPersonalizado').on("click",function(){
var checkbox = document.getElementById('papelFormatoPersonalizado');
if(checkbox.checked == true){
@ -177,15 +175,23 @@
info: false,
ordering: false,
responsive: true,
select: true,
language: {
url: "//cdn.datatables.net/plug-ins/1.13.4/i18n/<?= config('Basics')->i18n ?>.json"
},
order: [[19, 'asc']],
"columnDefs": [
{targets: 19, type: "num"}
],
columns: [
{ 'data': 'tipo' },
{ 'data': 'tipo',
'render': function ( data, type, row, meta ) {
if(data=='bn')
return '<?= lang('Presupuestos.bn') ?>';
else if(data=='bnhq')
return '<?= lang('Presupuestos.bnhq') ?>';
else if(data=='color')
return '<?= lang('Presupuestos.color') ?>';
else if(data=='colorhq')
return '<?= lang('Presupuestos.colorhq') ?>';
}
},
{ 'data': 'paginas' },
{ 'data': 'papel' },
{ 'data': 'gramaje' },
@ -200,114 +206,223 @@
{ 'data': 'peso' },
{ 'data': 'click' },
{ 'data': 'totalClicks' },
{ 'data': 'total' },
],
});
var tableCompIntRotativa = new DataTable('#tableCompIntRotativa',{
scrollX: true,
searching: false,
paging: false,
info: false,
ordering: false,
responsive: true,
select: true,
language: {
url: "//cdn.datatables.net/plug-ins/1.13.4/i18n/<?= config('Basics')->i18n ?>.json"
},
columns: [
{ 'data': 'tipo',
'render': function ( data, type, row, meta ) {
if(data=='rotativa')
return '<?= lang('Presupuestos.rotativa') ?>';
}
},
{ 'data': 'paginas' },
{ 'data': 'papel' },
{ 'data': 'gramaje' },
{ 'data': 'marca' },
{ 'data': 'aFavorFibra',
'render': function(data, type, row, meta){
if(data=='si')
return '<?= lang('Presupuestos.si') ?>';
else if(data=='no')
return '<?= lang('Presupuestos.no') ?>';
}
},
{ 'data': 'maquina' },
{ 'data': 'numeroPliegos' },
{ 'data': 'pliegosPedido' },
{ 'data': 'precioPliego' },
{ 'data': 'libro' },
{ 'data': 'totalPapelPedido' },
{ 'data': 'lomo' },
{ 'data': 'peso' },
{ 'data': 'click' },
{ 'data': 'totalClicks' },
{ 'data': 'precioPagNegro' },
{ 'data': 'precioPagColor' },
{ 'data': 'totalTinta' },
{ 'data': 'totalCorte' },
{ 'data': 'total' },
]
],
});
var tableCompIntRotativa = new DataTable('#tableCompIntRotativa',{
var tableCompCubierta = new DataTable('#tableCompCubierta',{
scrollX: true,
searching: false,
paging: false,
info: false,
ordering: false,
responsive: true,
select: true,
language: {
url: "//cdn.datatables.net/plug-ins/1.13.4/i18n/<?= config('Basics')->i18n ?>.json"
},
columns: [
{ 'data': 'tipo',
'render': function ( data, type, row, meta ) {
if(data=='bn')
return '<?= lang('Presupuestos.bn') ?>';
else if(data=='bnhq')
return '<?= lang('Presupuestos.bnhq') ?>';
else if(data=='color')
return '<?= lang('Presupuestos.color') ?>';
else if(data=='colorhq')
return '<?= lang('Presupuestos.colorhq') ?>';
}
},
{ 'data': 'paginas' },
{ 'data': 'papel' },
{ 'data': 'gramaje' },
{ 'data': 'marca' },
{ 'data': 'maquina' },
{ 'data': 'numeroPliegos' },
{ 'data': 'pliegosPedido' },
{ 'data': 'precioPliego' },
{ 'data': 'libro' },
{ 'data': 'totalPapelPedido' },
{ 'data': 'lomo' },
{ 'data': 'peso' },
{ 'data': 'click' },
{ 'data': 'totalClicks' },
{ 'data': 'total' },
],
});
var tableCompIntCubierta = new DataTable('#tableCompCubierta',{
scrollX: true,
searching: false,
paging: false,
info: false,
ordering: false,
responsive: true,
language: {
url: "//cdn.datatables.net/plug-ins/1.13.4/i18n/<?= config('Basics')->i18n ?>.json"
},
});
var tableCompIntSobrecubierta = new DataTable('#tableCompSobrecubierta',{
scrollX: true,
searching: false,
paging: false,
info: false,
ordering: false,
responsive: true,
language: {
url: "//cdn.datatables.net/plug-ins/1.13.4/i18n/<?= config('Basics')->i18n ?>.json"
},
});
$('#compPapelNegro').on('select2:select', function (e){
$('#compGramajeNegro').val(null).trigger('change')
$('#compGramajeNegro').prop('disabled', false);
$('#compPapelNegro').find('option[value="0"]').remove();
$('#compGramajeNegro').select2({
allowClear: true,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfCosidotapablanda") ?>',
type: 'post',
dataType: 'json',
if($('#compPapelNegro').select2('data')[0].id=='0'){
$('#compGramajeNegro').val('').change();
$('#compGramajeNegro').prop('disabled', true);
}
data: function (params) {
return {
tipo: 'gramaje',
datos: $('#compPapelNegro').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
else{
$('#compGramajeNegro').val('').change();
$('#compGramajeNegro').empty().trigger("change");
$('#compGramajeNegro').prop('disabled', false);
$('#compGramajeNegro').select2({
allowClear: true,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfCosidotapablanda") ?>',
type: 'post',
dataType: 'json',
data: function (params) {
return {
tipo: 'gramaje',
uso: 'bn',
datos: $('#compPapelNegro').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
}
});
$('.comp_negro_items').on('change', function (e) {
checkComparadorNegro();
checkComparadorInt(false,false);
});
function checkComparadorNegro() {
if (document.getElementById('compPaginasNegro').value &&
$('#compPapelNegro').select2('data').length > 0 &&
$('#compGramajeNegro').select2('data').length > 0) {
$('.comp_negrohq_items').on('change', function (e) {
checkComparadorInt(false, true);
});
if (parseInt(document.getElementById('compPaginasNegro').value) > 0 && checkDatosPedidoForComp()) {
$('.comp_color_items').on('change', function (e) {
checkComparadorInt(true, false);
});
if($('#papelFormatoId').select2('data').length > 0){
ancho = parseFloat($('#papelFormatoId').select2('data')[0].text.trim().split(" x ")[0]);
alto = parseFloat($('#papelFormatoId').select2('data')[0].text.trim().split(" x ")[1]);
}
else{
ancho = parseFloat(document.getElementById('papelFormatoAncho').value);
alto = parseFloat(document.getElementById('papelFormatoAlto').value);
$('.comp_colorhq_items').on('change', function (e) {
checkComparadorInt(true, true);
});
async function getLineasIntPlana(is_color, is_hq){
const dimension = getDimensionLibro();
let datos = {
type: 'interior',
color: is_color?1:0,
hq: is_hq?1:0,
paginas: parseInt($(''+ elementos.paginas).val()),
tirada: parseInt($('#tirada').val()),
merma: parseInt($('#merma').val()),
ancho: dimension.ancho,
alto: dimension.alto,
papel_generico_id: $(''+ elementos.papel).select2('data')[0].id,
papel_generico: $(''+ elementos.papel).select2('data')[0].text.trim(),
gramaje: $(''+ elementos.gramaje).select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
$.ajax({
type: "POST",
url: "/cosidotapablanda/datatable",
data: datos,
success: function (data) {
clearIntLineas(is_color);
if(data.lineas.length >0){
fillIntPlana(data, is_color, is_hq);
selectIntLineas();
$('#title_int_plana').html('<?= lang("Presupuestos.compInteriorPlana") ?>' + ' (' + tableCompIntPlana.rows().count() + ')');
}
yeniden(data.<?= csrf_token() ?>);
return true;
},
error: function(e){
return false;
}
})
return false;
}
async function getLineasIntRot(is_hq){
const dimension = getDimensionLibro();
// Rotativa solo negro o color (no hq)
if ( is_hq==false){
console.log('hola');
if(checkInputsForRotativa()){
let datos = {
table_type: 'comp_int_bn',
paginas: parseInt(document.getElementById('compPaginasNegro').value),
tirada: parseInt(document.getElementById('tirada').value),
merma: parseInt(document.getElementById('merma').value),
ancho: ancho,
alto: alto,
type: 'interior_rot',
paginas: parseInt($('#paginas').val()),
paginas_negro: parseInt($('#compPaginasNegro').val()),
paginas_color: parseInt($('#compPaginasColor').val()),
tirada: parseInt($('#tirada').val()),
merma: parseInt($('#merma').val()),
ancho: dimension.ancho,
alto: dimension.alto,
// el papel y el gramaje se coge del negro (siempre estará)
papel_generico_id: $('#compPapelNegro').select2('data')[0].id,
papel_generico: $('#compPapelNegro').select2('data')[0].text.trim(),
gramaje: $('#compGramajeNegro').select2('data')[0].text.trim() ,
@ -319,163 +434,258 @@
url: "/cosidotapablanda/datatable",
data: datos,
success: function (data) {
clearIntRot();
if(data.lineas.length >0){
let sorted = data.lineas.sort(
(p1, p2) => ((p1.fields.precio_pedido+p1.fields.precio_click_pedido) < (p2.fields.precio_pedido+p2.fields.precio_click_pedido)) ?
-1 : ((p1.fields.precio_pedido+p1.fields.precio_click_pedido) > (p2.fields.precio_pedido+p2.fields.precio_click_pedido)) ? 1 : 0);
sorted.forEach(function(linea) {
console.log(linea);
tableCompIntPlana.row
.add(getRowFromLinea('BN', linea))
.draw()
})
$('#total_comp_negro').html(
isNaN(parseFloat(data.lineas[0].fields.precio_pedido).toFixed(2)) ?
"0.00" : parseFloat(data.lineas[0].fields.precio_pedido).toFixed(2))
$("#tableCompIntPlana").DataTable().row( 0 ).nodes().to$().toggleClass( 'selected' );
fillIntRot(data);
selectIntRotLineas();
$('#title_int_rot').html('<?= lang("Presupuestos.compInteriorRotativa") ?>' + ' (' + tableCompIntRotativa.rows().count() + ')');
}
yeniden(data.<?= csrf_token() ?>);
return true;
},
error: function(e){
return false;
}
})
}
}
}
return false;
}
$('.comp_cubierta_items').on('change', function (){
if ($('#compCarasCubierta').select2('data').length > 0 &&
$('#compPapelCubierta').select2('data').length > 0 &&
$('#compGramajeCubierta').select2('data').length > 0 ){
const dimension = getDimensionLibro();
let datos = {
type: 'cubierta',
paginas: parseInt($('#compCarasCubierta').select2('data')[0].id),
tirada: parseInt($('#tirada').val()),
merma: parseInt($('#mermacubierta').val()),
color: 1,
ancho: dimension.ancho,
alto: dimension.alto,
solapas: $('#solapas').is(':checked')?1:0,
solapas_ancho: parseInt($('#solapas_ancho').val()),
papel_generico_id: $('#compPapelCubierta').select2('data')[0].id,
papel_generico: $('#compPapelCubierta').select2('data')[0].text.trim(),
gramaje: $('#compGramajeCubierta').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
$.ajax({
type: "POST",
url: "/cosidotapablanda/datatable",
data: datos,
success: function (data) {
clearCubierta();
if(data.lineas.length >0){
console.log(data.lineas);
fillCubierta(data);
//selectIntLineas();
//$('#title_int_plana').html('<?= lang("Presupuestos.compInteriorPlana") ?>' + ' (' + tableCompIntPlana.rows().count() + ')');
}
yeniden(data.<?= csrf_token() ?>);
return true;
},
error: function(e){
return false;
}
})
}
else{
clearCubierta();
}
});
function checkComparadorInt(is_color, is_hq) {
elementos = getIDsComparador(is_color, is_hq)
if ($('#compPaginasNegro').val() &&
$(''+ elementos.papel).select2('data').length > 0 &&
$(''+ elementos.gramaje).select2('data').length > 0 &&
parseInt($(''+ elementos.paginas).val()) > 0 &&
checkDatosPedidoForComp()) {
getLineasIntPlana(is_color, is_hq).then((result) =>{
getLineasIntRot(is_hq);
});
}
else{
clearIntLineas(is_color);
}
}
$('#compPapelNegrohq').on('select2:select', function (e){
$('#compGramajeNegrohq').val(null).trigger('change');
$('#compGramajeNegrohq').prop('disabled', false);
$('#compPapelNegrohq').find('option[value="0"]').remove();
$('#compGramajeNegrohq').select2({
allowClear: true,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfCosidotapablanda") ?>',
type: 'post',
dataType: 'json',
if($('#compPapelNegrohq').select2('data')[0].id=='0'){
$('#compGramajeNegrohq').val('').change();
$('#compGramajeNegrohq').prop('disabled', true);
}
else{
$('#compGramajeNegrohq').empty().trigger("change");
$('#compGramajeNegrohq').prop('disabled', false);
$('#compGramajeNegrohq').select2({
allowClear: true,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfCosidotapablanda") ?>',
type: 'post',
dataType: 'json',
data: function (params) {
return {
tipo: 'gramaje',
datos: $('#compPapelNegrohq').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
data: function (params) {
return {
tipo: 'gramaje',
uso: 'bn',
datos: $('#compPapelNegrohq').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
}
});
$('#compPapelColor').on('select2:select', function (e){
$('#compGramajeColor').val(null).trigger('change');
$('#compGramajeColor').prop('disabled', false);
$('#compPapelColor').find('option[value="0"]').remove();
$('#compGramajeColor').select2({
allowClear: true,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfCosidotapablanda") ?>',
type: 'post',
dataType: 'json',
if($('#compPapelColor').select2('data')[0].id=='0'){
$('#compGramajeColor').val('').change();
$('#compGramajeColor').prop('disabled', true);
}
else{
$('#compGramajeColor').empty().trigger("change");
$('#compGramajeColor').prop('disabled', false);
$('#compPapelColor').find('option[value="0"]').remove();
$('#compGramajeColor').select2({
allowClear: true,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfCosidotapablanda") ?>',
type: 'post',
dataType: 'json',
data: function (params) {
return {
tipo: 'gramaje',
datos: $('#compPapelColor').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
data: function (params) {
return {
tipo: 'gramaje',
uso: 'color',
datos: $('#compPapelColor').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
}
});
$('#compPapelColorhq').on('select2:select', function (e){
$('#compGramajeColorhq').val(null).trigger('change');
$('#compGramajeColorhq').prop('disabled', false);
$('#compPapelColorhq').find('option[value="0"]').remove();
$('#compGramajeColorhq').select2({
allowClear: true,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfCosidotapablanda") ?>',
type: 'post',
dataType: 'json',
if($('#compPapelColorhq').select2('data')[0].id=='0'){
$('#compGramajeColorhq').val('').change();
$('#compGramajeColorhq').prop('disabled', true);
}
else{
$('#compGramajeColorhq').empty().trigger("change");
$('#compGramajeColorhq').prop('disabled', false);
$('#compPapelColorhq').find('option[value="0"]').remove();
$('#compGramajeColorhq').select2({
allowClear: true,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfCosidotapablanda") ?>',
type: 'post',
dataType: 'json',
data: function (params) {
return {
tipo: 'gramaje',
datos: $('#compPapelColorhq').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
data: function (params) {
return {
tipo: 'gramaje',
uso: 'color',
datos: $('#compPapelColorhq').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
}
});
$('#compPapelCubierta').on('select2:select', function (e){
if($('#compPapelCubierta').select2('data')[0].id=='0'){
$('#compGramajeCubierta').val('').change();
$('#compGramajeCubierta').prop('disabled', true);
}
else{
$('#compGramajeCubierta').val('').trigger('change');
$('#compGramajeCubierta').prop('disabled', false);
$('#compPapelCubierta').find('option[value="0"]').remove();
$('#compGramajeCubierta').select2({
allowClear: true,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfCosidotapablanda") ?>',
type: 'post',
dataType: 'json',
$('#compGramajeCubierta').val(null).trigger('change');
$('#compGramajeCubierta').prop('disabled', false);
$('#compPapelCubierta').find('option[value="0"]').remove();
$('#compGramajeCubierta').select2({
allowClear: true,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfCosidotapablanda") ?>',
type: 'post',
dataType: 'json',
data: function (params) {
return {
tipo: 'gramaje',
datos: $('#compPapelCubierta').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
data: function (params) {
return {
tipo: 'gramaje',
datos: $('#compPapelCubierta').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
}
});
<?= $this->endSection() ?>
<?=$this->section('css') ?>
@ -484,11 +694,6 @@
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/sk-datatables.css') ?>">
<?=$this->endSection() ?>
<?= $this->section('additionalExternalJs') ?>
<script src="<?= site_url('themes/vuexy/vendor/libs/autosize/autosize.js') ?>"></script>
<script src="<?= site_url('js_loader/comparadorCosidoTapaBlanda_js') ?>"></script>
<?=$this->endSection() ?>
<?= $this->section('additionalExternalJs') ?>
<script src="https://cdn.datatables.net/buttons/2.2.3/js/dataTables.buttons.min.js"></script>
@ -497,4 +702,9 @@
<script src="https://cdn.datatables.net/buttons/2.2.3/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.2.3/js/buttons.print.min.js"></script>
<script src="<?= site_url('themes/vuexy/js/datatables-editor/dataTables.editor.min.js') ?>"></script>
<?=$this->endSection() ?>
<script src="https://cdn.datatables.net/select/1.7.0/js/dataTables.select.min.js"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/autosize/autosize.js') ?>"></script>
<script src="<?= site_url('js_loader/comparadorCosidoTapaBlanda_js') ?>"></script>
<?=$this->endSection() ?>