quitado el botón de servicios defecto. Se añaden automaticamente cuando se crea

This commit is contained in:
jaimejimenezortega
2025-02-22 19:25:19 +01:00
parent def7539710
commit 73980295da
3 changed files with 118 additions and 69 deletions

View File

@ -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);