mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
quitado el botón de servicios defecto. Se añaden automaticamente cuando se crea
This commit is contained in:
@ -121,6 +121,52 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
|
||||
$id = $this->model->db->insertID();
|
||||
|
||||
// Guardar los servicios de encuadernación por defecto
|
||||
$POD = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
|
||||
$ancho = 0;
|
||||
$alto = 0;
|
||||
if(isset($sanitizedData['papel_formato_personalizado']) && $sanitizedData['papel_formato_personalizado'] == '1'){
|
||||
$ancho = $sanitizedData['papel_formato_ancho'];
|
||||
$alto = $sanitizedData['papel_formato_alto'];
|
||||
}
|
||||
else{
|
||||
$papelFormatoModel = new PapelFormatoModel();
|
||||
$papelFormato = $papelFormatoModel->find($sanitizedData['papel_formato_id']);
|
||||
$ancho = $papelFormato->ancho;
|
||||
$alto = $papelFormato->alto;
|
||||
}
|
||||
$servDefectoEnc = PresupuestoCLienteService::getServiciosEncuadernacionDefault([
|
||||
'tipo_impresion_id' => $sanitizedData['tipo_impresion_id'],
|
||||
'tirada' => $sanitizedData['tirada'],
|
||||
'paginas' => $sanitizedData['paginas'],
|
||||
'ancho' => $ancho,
|
||||
'alto' => $alto,
|
||||
'POD' => $POD,
|
||||
'solapas' => 0, // default
|
||||
'paginasCuadernillo' => 32, // default
|
||||
]);
|
||||
|
||||
$model = new PresupuestoEncuadernacionesModel();
|
||||
foreach($servDefectoEnc as $servicio){
|
||||
|
||||
$data = [
|
||||
'presupuesto_id' => $id,
|
||||
'tarifa_encuadernado_id' => $servicio->tarifa_id,
|
||||
'proveedor_id' => $servicio->proveedor_id,
|
||||
'tiempo' => $servicio->tiempo,
|
||||
'precio_total' => round($servicio->total, 2),
|
||||
'precio_unidad' => round($servicio->precio_unidad, 2),
|
||||
'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);
|
||||
}
|
||||
|
||||
$message = lang('Basic.global.saveSuccess', [lang('Basic.global.record')]) . '.';
|
||||
|
||||
if ($thenRedirect):
|
||||
@ -252,7 +298,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
$successfulResult = false;
|
||||
} else {
|
||||
|
||||
if ($successfulResult = $this->canValidate()): // if ($successfulResult = $this->validate($this->formValidationRules) )
|
||||
if ($successfulResult = $this->canValidate()): // if ($successfulResult = $this->validate($this->formValidationRules) )
|
||||
|
||||
if ($this->canValidate()):
|
||||
try {
|
||||
@ -510,7 +556,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
$data['datosLibro']['marcapaginas'] = $presupuesto->marcapaginas;
|
||||
$data['datosLibro']['retractilado'] = $presupuesto->retractilado;
|
||||
$data['datosLibro']['retractilado5'] = $presupuesto->retractilado5;
|
||||
|
||||
|
||||
$data['comparador']['tipo_impresion'] = $presupuesto->comp_tipo_impresion;
|
||||
$data['comparador']['json_data'] = json_decode($presupuesto->comparador_json_data, true);
|
||||
if ($data['comparador']['json_data'] != null) {
|
||||
@ -677,7 +723,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
$tipo_impresion_id = $sobrecubierta['tipo_impresion_id'];
|
||||
$faja = intval($sobrecubierta['faja'] ?? 0);
|
||||
$uso = $faja==1? 'faja' : $sobrecubierta['uso'];
|
||||
|
||||
|
||||
|
||||
$data = array(
|
||||
'cliente_id' => $cliente_id,
|
||||
@ -725,7 +771,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
|
||||
// guardas siempre hq
|
||||
$isHq = true;
|
||||
|
||||
|
||||
// Para el caso de Fresado y Cosido tapa dura, las guardas son un diptico
|
||||
// y hay que imprimirlas como "cosido" (dos hojas pegadas). En el caso de espiral
|
||||
// o wire-o tapa dura, las guardas se imprimen como hojas sueltas
|
||||
@ -1108,14 +1154,14 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
|
||||
$model = model('App\Models\Configuracion\PapelGenericoModel');
|
||||
$query = $model->getPapelForComparador(
|
||||
$tipo,
|
||||
$cubierta,
|
||||
$sobrecubierta,
|
||||
$rotativa,
|
||||
$guardas,
|
||||
$tapa_dura,
|
||||
$tipo,
|
||||
$cubierta,
|
||||
$sobrecubierta,
|
||||
$rotativa,
|
||||
$guardas,
|
||||
$tapa_dura,
|
||||
$isPOD,
|
||||
$anchoLibro,
|
||||
$anchoLibro,
|
||||
$alto,
|
||||
$tirada);
|
||||
if ($this->request->getGet("q")) {
|
||||
@ -1171,15 +1217,15 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
|
||||
$model = model('App\Models\Configuracion\PapelGenericoModel');
|
||||
$query = $model->getGramajeForComparador($tipo,
|
||||
$papel_generico_id,
|
||||
$cubierta,
|
||||
$sobrecubierta,
|
||||
$rotativa,
|
||||
$guardas,
|
||||
$tapa_dura,
|
||||
$isPOD,
|
||||
$anchoLibro,
|
||||
$query = $model->getGramajeForComparador($tipo,
|
||||
$papel_generico_id,
|
||||
$cubierta,
|
||||
$sobrecubierta,
|
||||
$rotativa,
|
||||
$guardas,
|
||||
$tapa_dura,
|
||||
$isPOD,
|
||||
$anchoLibro,
|
||||
$alto,
|
||||
$tirada);
|
||||
if ($this->request->getGet("q")) {
|
||||
@ -1417,13 +1463,13 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
/**
|
||||
* Duplica un presupuesto dado por su ID.
|
||||
*
|
||||
* Esta función duplica un presupuesto y todas sus entidades relacionadas como acabados, encuadernaciones, manipulados,
|
||||
* preimpresiones, direcciones y lineas. El presupuesto duplicado se marca como tal y a su título se le añade
|
||||
* Esta función duplica un presupuesto y todas sus entidades relacionadas como acabados, encuadernaciones, manipulados,
|
||||
* preimpresiones, direcciones y lineas. El presupuesto duplicado se marca como tal y a su título se le añade
|
||||
* una cadena 'duplicado'. La función devuelve un array con un estado de éxito y el ID del nuevo presupuesto.
|
||||
*
|
||||
* @param int $id El ID del presupuesto a duplicar.
|
||||
* @return array Un array asociativo que contiene una clave 'success' que indica el estado de éxito de la operación,
|
||||
* y una clave 'id' que contiene el ID del nuevo presupuesto si la operación fue exitosa.
|
||||
* @return array Un array asociativo que contiene una clave 'success' que indica el estado de éxito de la operación,
|
||||
* y una clave 'id' que contiene el ID del nuevo presupuesto si la operación fue exitosa.
|
||||
* Si ocurre una excepción, la clave 'success' será false y una clave 'message' contendrá el mensaje de la excepción.
|
||||
* @throws \Exception Si ocurre un error durante la operación.
|
||||
*/
|
||||
@ -1553,7 +1599,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
$gramaje = $reqData['gramaje'] ?? null;
|
||||
$tipoLinea = $reqData['tipoLinea'] ?? null;
|
||||
// En este caso contiene el nombre del papel generico
|
||||
// Uso: negro, negrohq, color, colorhq, rot_bn, rot_color,
|
||||
// Uso: negro, negrohq, color, colorhq, rot_bn, rot_color,
|
||||
$model = new PapelImpresionModel();
|
||||
$menu = $model->getPapelesImpresionForMenu($datos, $gramaje, $tipoLinea, $uso);
|
||||
|
||||
@ -1568,7 +1614,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
$ancho = $reqData['ancho'] ?? null;
|
||||
$alto = $reqData['alto'] ?? null;
|
||||
// Datos contiene la tirada
|
||||
// uso: negro, negrohq, color, colorhq,
|
||||
// uso: negro, negrohq, color, colorhq,
|
||||
$uso_tarifa = $reqData['uso_tarifa'] ?? 'interior';
|
||||
$model = new MaquinaModel();
|
||||
$maquinas = $model->getMaquinaImpresionForPresupuesto($is_rotativa, $uso, $uso_tarifa, $datos, $papel_impresion);
|
||||
|
||||
@ -12,9 +12,11 @@
|
||||
data-bs-parent="#accordionDatosServicios">
|
||||
<div class="accordion-body">
|
||||
<div class="row">
|
||||
<?php /* ?>
|
||||
<div class="col-md-12 col-lg-4 py-4">
|
||||
<button id="serv_default" type="button" class="btn btn-secondary waves-effect waves-light float-start"><?= lang("Presupuestos.serviciosDefault")?></button>
|
||||
</div>
|
||||
<?php */ ?>
|
||||
</div>
|
||||
<div class="nav-align-top mb-4">
|
||||
<ul class="nav nav-pills mb-3 nav-servicios" role="tablist">
|
||||
@ -111,7 +113,7 @@
|
||||
<div class="col-md-12 col-lg-4 px-2 py-4">
|
||||
<button id="insertar_serv_acabado" type="button" class="btn btn-secondary waves-effect waves-light float-start tiradas-alternativas"><?= lang("Presupuestos.insertar")?></button>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -143,7 +145,7 @@
|
||||
<div class="col-md-12 col-lg-4 px-2 py-4">
|
||||
<button id="insertar_serv_preimpresion" type="button" class="btn btn-secondary waves-effect waves-light float-start tiradas-alternativas"><?= lang("Presupuestos.insertar")?></button>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -152,7 +154,7 @@
|
||||
</div>
|
||||
<div id="serv-enc-error">
|
||||
</div>
|
||||
|
||||
|
||||
<table id="tableOfServiciosEncuadernacion" class="table dt-responsive dataTable tiradas-alternativas update-resumen-presupuesto" style="width: 100%;">
|
||||
<thead>
|
||||
<tr>
|
||||
@ -168,7 +170,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="row mb-3 px-4">
|
||||
@ -179,9 +181,9 @@
|
||||
<div class="col-md-12 col-lg-4 px-2 py-4">
|
||||
<button id="insertar_serv_enc" type="button" class="btn btn-secondary waves-effect waves-light float-start tiradas-alternativas"><?= lang("Presupuestos.insertar")?></button>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade" id="servicios-manipulado" role="tabpanel">
|
||||
@ -211,7 +213,7 @@
|
||||
<div class="col-md-12 col-lg-4 px-2 py-4">
|
||||
<button id="insertar_serv_manipulado" type="button" class="btn btn-secondary waves-effect waves-light float-start tiradas-alternativas"><?= lang("Presupuestos.insertar")?></button>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -243,7 +245,7 @@
|
||||
<div class="col-md-12 col-lg-4 px-2 py-4">
|
||||
<button id="insertar_serv_extra" type="button" class="btn btn-secondary waves-effect waves-light float-start tiradas-alternativas"><?= lang("Presupuestos.insertar")?></button>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ class Servicios {
|
||||
this.ServiciosManipulado = new ServiciosManipulado(this.csrf_token, this.csrf_hash);
|
||||
this.serviciosExtra = new ServiciosExtra(this.csrf_token, this.csrf_hash);
|
||||
|
||||
this.serviciosDefecto = $('#serv_default');
|
||||
//this.serviciosDefecto = $('#serv_default');
|
||||
}
|
||||
|
||||
init() {
|
||||
@ -28,21 +28,22 @@ class Servicios {
|
||||
this.ServiciosManipulado.init();
|
||||
this.serviciosExtra.init();
|
||||
|
||||
/*
|
||||
this.serviciosDefecto.on('click', function () {
|
||||
|
||||
$('#loader').modal('show');
|
||||
try {
|
||||
self.ServiciosEncuadernacion.getServiciosDefecto().then(function (response) {
|
||||
self.ServiciosManipulado.getServiciosDefecto().then(function (response) {
|
||||
//self.ServiciosManipulado.getServiciosDefecto().then(function (response) {
|
||||
$('#loader').modal('hide');
|
||||
});
|
||||
//});
|
||||
});
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
$('#loader').modal('hide');
|
||||
}
|
||||
});
|
||||
});*/
|
||||
|
||||
$('.nav-servicios button').on('shown.bs.tab', function () {
|
||||
$("#tableOfServiciosAcabado").DataTable().columns.adjust();
|
||||
@ -73,7 +74,7 @@ class Servicios {
|
||||
|
||||
$(document).on('update-servicios', async function(){
|
||||
await self.updateServicios()
|
||||
|
||||
|
||||
$(document).trigger('update-servicios-completed');
|
||||
});
|
||||
}
|
||||
@ -382,7 +383,7 @@ class ServiciosAcabado {
|
||||
{
|
||||
data: 'precio_total', render: function (data, type, row) {
|
||||
let total = 0;
|
||||
if(data !==undefined)
|
||||
if(data !==undefined)
|
||||
total = parseFloat(data).toLocaleString('es-ES', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
|
||||
return `
|
||||
<input class="update-totales-servicios form-control" id="precio_acabado_${row.tarifa_id}" value="${total}"></input>`;
|
||||
@ -453,7 +454,7 @@ class ServiciosAcabado {
|
||||
update_resumen: true,
|
||||
update_tiradas_alternativas: true
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@ -531,7 +532,7 @@ class ServiciosAcabado {
|
||||
uso = 'faja';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
this.getPresupuestoAcabado(tarifa_id, uso, null);
|
||||
}
|
||||
@ -722,7 +723,7 @@ class ServiciosPreimpresion {
|
||||
data: 'precio', render: function (data, type, row) {
|
||||
|
||||
let total = 0;
|
||||
if(data !==undefined)
|
||||
if(data !==undefined)
|
||||
total = parseFloat(data).toLocaleString('es-ES', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
|
||||
return `
|
||||
<input class="update-totales-servicios totales-preimpresion form-control" id="precio_preimpresion_${row.tarifa_id}" value="${total}"></input>`;
|
||||
@ -757,15 +758,15 @@ class ServiciosPreimpresion {
|
||||
$('#tableOfServiciosPreimpresion tbody').on('change', '.totales-preimpresion', function () {
|
||||
|
||||
let input = $(this);
|
||||
let tarifa_id = input.attr('id').replace('precio_preimpresion_', '');
|
||||
let newValue = parseFloat(input.val().replace(/\./g, '').replace(',', '.')) || 0;
|
||||
|
||||
let tarifa_id = input.attr('id').replace('precio_preimpresion_', '');
|
||||
let newValue = parseFloat(input.val().replace(/\./g, '').replace(',', '.')) || 0;
|
||||
|
||||
let table = $('#tableOfServiciosPreimpresion').DataTable();
|
||||
let row = table.rows().data().toArray().find(r => r.tarifa_id == tarifa_id);
|
||||
|
||||
|
||||
if (row) {
|
||||
row.precio = newValue;
|
||||
table.row($(this).closest('tr')).data(row).draw(false);
|
||||
row.precio = newValue;
|
||||
table.row($(this).closest('tr')).data(row).draw(false);
|
||||
self.check_serv_preimpresion_error();
|
||||
}
|
||||
});
|
||||
@ -862,7 +863,7 @@ class ServiciosPreimpresion {
|
||||
}
|
||||
|
||||
async guardarServiciosPreimpresion() {
|
||||
|
||||
|
||||
let datos = [];
|
||||
this.table.rows().every(function () {
|
||||
datos.push(this.data());
|
||||
@ -956,7 +957,7 @@ class ServiciosEncuadernacion {
|
||||
{
|
||||
data: 'precio_total', render: function (data, type, row) {
|
||||
let total = 0;
|
||||
if(data !==undefined)
|
||||
if(data !==undefined)
|
||||
total = parseFloat(data).toLocaleString('es-ES', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
|
||||
return `
|
||||
<input class="update-totales-servicios form-control" id="precio_enc_${row.tarifa_id}" value="${total}"></input>`;
|
||||
@ -1246,7 +1247,7 @@ class ServiciosEncuadernacion {
|
||||
}
|
||||
|
||||
async guardarServiciosEncuadernacion() {
|
||||
|
||||
|
||||
let datos = [];
|
||||
this.table.rows().every(function () {
|
||||
datos.push(this.data());
|
||||
@ -1385,7 +1386,7 @@ class ServiciosManipulado {
|
||||
{
|
||||
data: 'precio_total', render: function (data, type, row) {
|
||||
let total = 0;
|
||||
if(data !==undefined)
|
||||
if(data !==undefined)
|
||||
total = parseFloat(data).toLocaleString('es-ES', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
|
||||
else
|
||||
data = 0;
|
||||
@ -1418,15 +1419,15 @@ class ServiciosManipulado {
|
||||
|
||||
$('#tableOfServiciosManipulado tbody').on('change', '.totales-manipulado', function () {
|
||||
let input = $(this);
|
||||
let tarifa_id = input.attr('id').replace('precio_manipulado_', '');
|
||||
let newValue = parseFloat(input.val().replace(/\./g, '').replace(',', '.')) || 0;
|
||||
|
||||
let tarifa_id = input.attr('id').replace('precio_manipulado_', '');
|
||||
let newValue = parseFloat(input.val().replace(/\./g, '').replace(',', '.')) || 0;
|
||||
|
||||
let table = $('#tableOfServiciosManipulado').DataTable();
|
||||
let row = table.rows().data().toArray().find(r => r.tarifa_id == tarifa_id);
|
||||
|
||||
|
||||
if (row) {
|
||||
row.precio_total = newValue;
|
||||
table.row($(this).closest('tr')).data(row).draw(false);
|
||||
row.precio_total = newValue;
|
||||
table.row($(this).closest('tr')).data(row).draw(false);
|
||||
self.check_serv_manipulado_error();
|
||||
}
|
||||
});
|
||||
@ -1490,7 +1491,7 @@ class ServiciosManipulado {
|
||||
showBreadCrumbSaveButton(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
updateServicios() {
|
||||
|
||||
const self = this;
|
||||
@ -1651,7 +1652,7 @@ class ServiciosExtra {
|
||||
data: 'precio', render: function (data, type, row) {
|
||||
|
||||
let total = 0;
|
||||
if(data !==undefined)
|
||||
if(data !==undefined)
|
||||
total = parseFloat(data).toLocaleString('es-ES', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
|
||||
return `
|
||||
<input class="update-totales-servicios totales-extra form-control" id="precio_extra_${row.tarifa_id}" value="${total}"></input>`;
|
||||
@ -1684,19 +1685,19 @@ class ServiciosExtra {
|
||||
$('#tableOfServiciosExtra tbody').on('change', '.totales-extra', function () {
|
||||
|
||||
let input = $(this);
|
||||
let tarifa_id = input.attr('id').replace('precio_extra_', '');
|
||||
let newValue = parseFloat(input.val().replace(/\./g, '').replace(',', '.')) || 0;
|
||||
|
||||
let tarifa_id = input.attr('id').replace('precio_extra_', '');
|
||||
let newValue = parseFloat(input.val().replace(/\./g, '').replace(',', '.')) || 0;
|
||||
|
||||
let table = $('#tableOfServiciosExtra').DataTable();
|
||||
let row = table.rows().data().toArray().find(r => r.tarifa_id == tarifa_id);
|
||||
|
||||
|
||||
if (row) {
|
||||
row.precio = newValue;
|
||||
table.row($(this).closest('tr')).data(row).draw(false);
|
||||
row.precio = newValue;
|
||||
table.row($(this).closest('tr')).data(row).draw(false);
|
||||
self.check_serv_extra_error();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$(document).on('click', '.btn-delete-servextra', function () {
|
||||
const rowId = $(this).closest('td').parent()[0].sectionRowIndex;
|
||||
self.table.row(rowId).remove().draw();
|
||||
@ -1733,7 +1734,7 @@ class ServiciosExtra {
|
||||
}
|
||||
|
||||
async guardarServiciosExtra() {
|
||||
|
||||
|
||||
let datos = [];
|
||||
this.table.rows().every(function () {
|
||||
datos.push(this.data());
|
||||
|
||||
Reference in New Issue
Block a user