insertado lo de los cuadernillos en presupuesto cliente

This commit is contained in:
2024-08-24 11:38:22 +02:00
parent 8c91be99c3
commit 597330adb7
7 changed files with 70 additions and 4 deletions

View File

@ -118,7 +118,9 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$datosPresupuesto->tapa = 'blanda';
$datosPresupuesto->clienteList = $this->getClienteListItems($clienteId ?? null);
$datosPresupuesto->paginasCuadernillo = [32, 28, 24, 20 , 16];
$presupuestoEntity->estado_id = 1;
$presupuestoEntity->paginas_por_cuadernillo = 32;
$this->viewData['formAction'] = 'add';
@ -185,6 +187,9 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
if($presupuestoEntity->estado_id == 2){
$this->generarResumen($presupuestoEntity);
}
$datosPresupuesto->paginasCuadernillo = [32, 28, 24, 20 , 16];
$presupuestoEntity->paginas_por_cuadernillo = $this->obtenerPaginasCuadernillo($presupuestoEntity);
$this->viewData['formAction'] = 'edit';
@ -371,6 +376,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$servicios = $reqData['servicios'] ?? [];
$paginasCuadernillo = $reqData['paginasCuadernillo'] ?? null;
$datos_presupuesto = array(
'tirada' => $tirada,
'tamanio' => $tamanio,
@ -378,6 +385,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
'clienteId' => $cliente_id,
'isColor' => $isColor,
'isHq' => $isHq,
'paginasCuadernillo' => $paginasCuadernillo,
'interior' => array(
'papel_generico' => $papel_generico,
@ -600,6 +608,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$cliente_id = $reqData['datos_libro']['clienteId'] ?? -1;
$isColor = intval($reqData['datos_libro']['isColor']) ?? 0;
$isHq = intval($reqData['datos_libro']['isHq']) ?? 0;
$paginasCuadernillo = $reqData['datos_libro']['paginasCuadernillo'] ?? null;
// Interior
$papel_generico = [
@ -637,6 +646,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
'clienteId' => $cliente_id,
'isColor' => $isColor,
'isHq' => $isHq,
'paginasCuadernillo' => $paginasCuadernillo,
'interior' => array(
'papel_generico' => $papel_generico,
@ -983,6 +993,12 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
'precio_unidad' => $servicio->precio_unidad,
'margen' => $servicio->margen,
];
// Se comprueba que $servicio tiene paginasCuadernillo
if (isset($servicio->paginas_por_cuadernillo)) {
$data['paginas_por_cuadernillo'] = $servicio->paginas_por_cuadernillo;
}
$model->insert($data);
} else if ($tipo == 'extra') {
$model = new PresupuestoServiciosExtraModel();
@ -1086,6 +1102,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$cliente_id = $datos_entrada['clienteId'] ?? -1;
$isColor = $datos_entrada['isColor'];
$isHq = $datos_entrada['isHq'];
$paginasCuadernillo = $datos_entrada['paginasCuadernillo'] ?? null;
// Interior
$papel_generico = $datos_entrada['interior']['papel_generico'];
@ -1429,6 +1446,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
'alto' => $datosPedido->alto,
'POD' => $POD,
'solapas' => intval($solapasCubierta) > 0 ? 1 : 0,
'paginasCuadernillo' => $paginasCuadernillo,
]);
$costeServiciosDefecto = 0.0;
foreach ($servDefecto as $servicio) {
@ -1996,4 +2014,17 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$tipo = "" . ($isColor ? "Color" : "Negro") . " " . ($isHq ? "premium" : "estándar");
return $tipo;
}
protected function obtenerPaginasCuadernillo($presupuestoEntity){
$model = model('App\Models\Presupuestos\PresupuestoEncuadernacionesModel');
$lineas = $model->getResource($presupuestoEntity->id)->get()->getResultObject();
foreach ($lineas as $linea){
// check if exist
if($linea->paginas_por_cuadernillo != null)
return $linea->paginas_por_cuadernillo;
}
return 32; // valor por defecto
}
}

View File

@ -48,7 +48,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\BaseModel
public function initPresupuesto($tipo_presupuesto, $solapas, $tirada, $paginas, $ancho, $alto, $POD){
public function initPresupuesto($tipo_presupuesto, $solapas, $tirada, $paginas, $ancho, $alto, $POD, $paginasCuadernillo = 32){
$model = model('App\Models\Presupuestos\TipoPresupuestoServiciosDefectoModel');
$tarifas_procesar = $model->get_tarifas($tipo_presupuesto, $solapas, "encuadernacion");
@ -61,7 +61,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\BaseModel
if($modelTarifa->isTarifaPorHoras($tarifa['tarifa_id'])){
if($tarifa['tarifa_id'] == 2 || $tarifa['tarifa_id'] == 14){ // Rústica cosido hilo vegetal y Rústica cosido hilo vegetal solapas
$tiempo = $this->calcularTiempoCosido(16, $paginas, $tirada); // ID fija. Cambiar cuando se metan maquinas de corte. Velocidad en minutos
$tiempo = $this->calcularTiempoCosido(16, $paginas, $tirada, $paginasCuadernillo); // ID fija. Cambiar cuando se metan maquinas de corte. Velocidad en minutos
}
else{
$tiempo = $this->calcularTiempo(16, $paginas, $tirada); // ID fija. Cambiar cuando se metan maquinas de corte. Velocidad en minutos
@ -93,7 +93,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\BaseModel
];
if($tarifa['tarifa_id'] == 2 || $tarifa['tarifa_id'] == 14){
$datos['paginas_por_cuadernillo'] = 32; // valor por defecto
$datos['paginas_por_cuadernillo'] = $paginasCuadernillo;
}
array_push($result_array,

View File

@ -341,9 +341,10 @@ class PresupuestoClienteService extends BaseService
$alto = $data['alto'] ?? -1;
$POD = $data['POD'] ?? -1;
$solapas = $data['solapas'] ?? -1;
$paginasCuadernillo = $data['paginasCuadernillo'] ?? null;
$model = model('App\Models\Presupuestos\PresupuestoEncuadernacionesModel');
$values = $model->initPresupuesto($tipo_impresion_id, $solapas, $tirada, $paginas, $ancho, $alto, $POD);
$values = $model->initPresupuesto($tipo_impresion_id, $solapas, $tirada, $paginas, $ancho, $alto, $POD, $paginasCuadernillo);
return $values;
}

View File

@ -128,6 +128,21 @@
<input type="number" class="calcular-presupuesto" id="paginas" name="paginas" maxLength="8" step="1" class="form-control" value="<?= old(0, $presupuestoEntity->paginas) ?>">
</div><!--//.mb-3 -->
<div id="div_pagCuadernillo" class="col-sm-3 mb-3">
<label for="paginas_por_cuadernillo" class="form-label">
<?= lang('Presupuestos.paginasCuadernillo') ?>
</label>
<select id="paginasCuadernillo" name="paginas_por_cuadernillo" class="calcular-presupuesto form-control select2bs2" style="width: 100%;">
<?php if (isset($datosPresupuesto->paginasCuadernillo) && is_array($datosPresupuesto->paginasCuadernillo) && !empty($datosPresupuesto->paginasCuadernillo)) :
foreach ($datosPresupuesto->paginasCuadernillo as $value) : ?>
<option value="<?= $value ?>" <?= $value == $presupuestoEntity->paginas_por_cuadernillo ? ' selected' : '' ?>>
<?= $value ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div><!--//.mb-3 -->
</div> <!--//.row -->
<div class="row">

View File

@ -646,11 +646,18 @@ async function calcularPresupuesto() {
clienteId: $('#clienteId').val(),
servicios: servicios,
}
// Si es cosido, se añade el número de páginas del cuadernillo
if ($('#cosidoDiv').hasClass('checked')) {
datos.paginasCuadernillo = $('#paginasCuadernillo').val();
}
// Si hay solapas de cubierta
if ($('#solapasCubierta').is(':checked')) {
datos.solapasCubierta = $('#anchoSolapasCubierta').val()
}
// Si hay sobrecubierta
if ($('#enableSobrecubierta').is(':checked')) {
if($('#papelSobrecubierta option:selected').val()>0 && $('#gramajeSobrecubierta option:selected').val()>0){

View File

@ -218,6 +218,12 @@ function finalizarPresupuesto(confirmar){
clienteId: $('#clienteId').val(),
servicios: servicios,
};
// Si es cosido, se añade el número de páginas del cuadernillo
if ($('#cosidoDiv').hasClass('checked')) {
datos_libro.paginasCuadernillo = $('#paginasCuadernillo').val();
}
// Si hay solapas de cubierta
if ($('#solapasCubierta').is(':checked')) {
datos_libro.solapasCubierta = $('#anchoSolapasCubierta').val()

View File

@ -33,6 +33,12 @@ function updateTipoLibroCheck(el)
else {
$('#tapaDuraDiv').show();
}
if(el.closest('.custom-option-tipo').id == 'cosidoDiv') {
$('#div_pagCuadernillo').show();
}
else {
$('#div_pagCuadernillo').hide();
}
} else {
el.closest('.custom-option-tipo').classList.remove('checked')
}