4 Commits

Author SHA1 Message Date
ee594effcf Merge branch 'main' into 'mod/permisos_admin'
Main

See merge request jjimenez/safekat!890
2025-07-21 13:44:12 +00:00
e0190fa03c Añadidos permisos 2025-07-21 15:43:10 +02:00
41ac08fcd8 Merge branch 'fix/production_environment_calcular_pre_cliente' into 'main'
arreglado que el presupuesto de cliente en produccion añada precios de todo

See merge request jjimenez/safekat!889
2025-07-21 11:53:56 +00:00
709a802db4 arreglado que el presupuesto de cliente en produccion añada precios de todo 2025-07-21 13:53:32 +02:00
10 changed files with 200 additions and 195 deletions

View File

@ -38,6 +38,7 @@ class ConfigVariables extends BaseResourceController
public function index()
{
checkPermission('variables-sistema.menu');
$viewData = [
'currentModule' => static::$controllerSlug,
@ -60,6 +61,8 @@ class ConfigVariables extends BaseResourceController
}
public function updateVariable(int $config_variable_id)
{
checkPermission('variables-sistema.edit');
$reqData = [];
if ($this->request->isAJAX()) {
$reqData = $this->request->getPost();

View File

@ -42,11 +42,16 @@ class FestivoController extends BaseController
public function index()
{
checkPermission('festivos.menu');
return view($this->viewPath . $this->indexRoute);
}
public function store_festivo_date()
{
checkPermission('festivos.edit');
$bodyData = $this->request->getPost();
$date = $bodyData['date'];
$count = $this->model->where('date',$date)->countAllResults();

View File

@ -100,6 +100,7 @@ class Maquinaspapelesimpresion extends \App\Controllers\BaseResourceController {
$resourceData = $this->model->getResource($search, $isRotativa, $tarifas, $maquina_id)
->orderBy($order, $dir)->orderBy($order2, $dir2)->orderBy($order3, $dir3)->orderBy($order4, $dir4)->limit($length, $start)->get()->getResultObject();
$query =$this->model->getLastQuery();
return $this->respond(Collection::datatable(
$resourceData,
$this->model->getResource("", $isRotativa, $tarifas, $maquina_id)->countAllResults(),

View File

@ -2203,7 +2203,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$lomo += floatval($linea['mano']);
$info['lomo_interior'] += floatval($linea['mano']);
}
if ($extra_info) {
$this->calcular_coste_linea(
$linea,
$totalPapel,
@ -2212,7 +2212,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$totalImpresion,
$margenImpresion
);
}
}
}
@ -2251,13 +2251,12 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$costeInterior = 0.0;
$peso_interior = 0.0;
$lomo = 0;
if ($extra_info) {
$totalPapel = 0.0;
$margenPapel = 0.0;
$sumForFactor = 0.0;
$totalImpresion = 0.0;
$margenImpresion = 0.0;
}
foreach ($interior as $linea) {
if (count($linea) > 0) {
$costeInterior += round(floatval($linea['total_impresion']), 2);
@ -2266,7 +2265,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$lomo += floatval($linea['mano']);
}
$peso_interior += floatval($linea['peso']);
if ($extra_info) {
$this->calcular_coste_linea(
$linea,
@ -2276,7 +2274,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$totalImpresion,
$margenImpresion
);
}
}
}
}
@ -2321,8 +2319,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$lomo += floatval($cubierta['mano']);
}
if ($extra_info) {
$this->calcular_coste_linea(
$cubierta,
$totalPapel,
@ -2332,7 +2328,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$margenImpresion
);
}
}
if ($coste_cubierta <= 0) {
$errorModel = new ErrorPresupuesto();
@ -2382,7 +2377,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
return $return_data;
}
$coste_servicios += round(floatval($acabadoCubierta[0]->total), 2);
if ($extra_info) {
//$totalServicios += round(floatval($acabadoCubierta[0]->total), 2);
$base = round(floatval($acabadoCubierta[0]->total / (1 + $acabadoCubierta[0]->margen / 100.0)), 2);
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
@ -2390,7 +2385,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$margenServicios += round(floatval($acabadoCubierta[0]->total - $base), 2);
}
}
}
}
@ -2422,13 +2416,12 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
return $return_data;
}
$coste_servicios += round(floatval($resultado[0]->total), 2);
if ($extra_info) {
//$totalServicios += round(floatval($resultado[0]->total), 2);
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
$totalServicios += $base;
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
}
}
}
@ -2458,7 +2451,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
if (count($linea_sobrecubierta) > 0) {
$coste_sobrecubierta += round(floatval($linea_sobrecubierta['total_impresion']), 2);
$peso_sobrecubierta += round(floatval($linea_sobrecubierta['peso']), 2);
if ($extra_info) {
$this->calcular_coste_linea(
$linea_sobrecubierta,
@ -2468,7 +2460,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$totalImpresion,
$margenImpresion
);
}
}
if ($coste_sobrecubierta <= 0) {
@ -2519,7 +2511,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
$coste_servicios += round(floatval($acabadoSobrecubierta[0]->total), 2);
if ($extra_info) {
//$totalServicios += round(floatval($acabadoSobrecubierta[0]->total), 2);
$base = round(floatval($acabadoSobrecubierta[0]->total / (1 + $acabadoSobrecubierta[0]->margen / 100.0)), 2);
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
@ -2529,7 +2521,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
}
}
}
//Guardas
$guardas = [];
@ -2567,7 +2558,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
if (intval($tirada[$t]) == intval($selected_tirada)) {
$lomo += floatval($guardas['mano']);
}
if ($extra_info) {
$this->calcular_coste_linea(
$guardas,
@ -2578,7 +2568,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$margenImpresion
);
}
}
if ($coste_guardas <= 0) {
$errorModel = new ErrorPresupuesto();
$errorModel->insertError(
@ -2621,7 +2610,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$linea_faja['tipo_linea'] = 'lp_faja';
$coste_faja += round(floatval($linea_faja['total_impresion']), 2);
$peso_faja += floatval($linea_faja['peso']);
if ($extra_info) {
$this->calcular_coste_linea(
$linea_faja,
@ -2632,7 +2620,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$margenImpresion
);
}
}
if ($coste_faja <= 0) {
$errorModel = new ErrorPresupuesto();
@ -2681,13 +2668,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
$coste_servicios += round(floatval($acabadoFaja[0]->total), 2);
if ($extra_info) {
//$totalServicios += round(floatval($acabadoFaja[0]->total), 2);
$base = round(floatval($acabadoFaja[0]->total / (1 + $acabadoFaja[0]->margen / 100.0)), 2);
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
$totalServicios += $base;
$margenServicios += round(floatval($acabadoFaja[0]->total - $base), 2);
}
}
}
}
@ -2736,13 +2723,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$costeServiciosDefecto += round(floatval($servicio->total), 2);
if ($extra_info) {
//$totalServicios += round(floatval($servicio->total), 2);
$base = round(floatval($servicio->total / (1 + $servicio->margen / 100.0)), 2);
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
$totalServicios += $base;
$margenServicios += round(floatval($servicio->total - $base), 2);
}
}
$servDefectoMan = PresupuestoCLienteService::getServiciosManipuladoDefault([
@ -2774,14 +2761,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$costeServiciosDefecto += round(floatval($servicio->total), 2);
if ($extra_info) {
//$totalServicios += round(floatval($servicio->total), 2);
$base = round(floatval($servicio->total / (1 + $servicio->margen / 100.0)), 2);
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
$totalServicios += $base;
$margenServicios += round(floatval($servicio->total - $base), 2);
}
}
if ($extra_info) {
$sumForFactorPonderado = $sumForFactor;
@ -2880,13 +2866,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
$coste_servicios += round(floatval($resultado[0]->total), 2);
if ($extra_info) {
//$totalServicios += round(floatval($resultado[0]->total), 2);
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
$totalServicios += $base;
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
}
} else if ($servicio->nombre == "ferro" || $servicio->nombre == "prototipo") {
// Extra
$resultado = PresupuestoCLienteService::getServiciosExtra([
@ -2913,13 +2899,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
array_push($serviciosAutomaticos, $resultado[0]);
$coste_servicios += round(floatval($resultado[0]->precio), 2);
if ($extra_info) {
//$totalServicios += round(floatval($resultado[0]->precio), 2);
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
$totalServicios += $base;
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
}
} else if ($servicio->nombre == 'solapas_cubierta' || $servicio->nombre == 'solapas_sobrecubierta' || $servicio->nombre == 'solapas_faja') {
// Servicios manipulado
$resultado = PresupuestoCLienteService::getServiciosManipulado([
@ -2948,7 +2934,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
$coste_servicios += round(floatval($resultado[0]->total), 2);
if ($extra_info) {
//$totalServicios += round(floatval($resultado[0]->total), 2);
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
@ -2956,7 +2942,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
}
}
}
$serviciosExtra = [];
// funcionalidad para los servicios extra añadidos por el usuario
@ -2990,14 +2975,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
array_push($serviciosExtra, $resultado[0]);
$coste_servicios += round(floatval($resultado[0]->precio), 2);
if ($extra_info) {
//$totalServicios += round(floatval($resultado[0]->precio), 2);
$base = round(floatval($resultado[0]->precio / (1 + $resultado[0]->margen / 100.0)), 2);
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
$totalServicios += $base;
$margenServicios += round(floatval($resultado[0]->precio - $base), 2);
}
}
}
@ -3030,14 +3014,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
$coste_servicios += round(floatval($resultado[0]->total), 2);
if ($extra_info) {
//$totalServicios += round(floatval($resultado[0]->total), 2);
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
$totalServicios += $base;
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
}
}
if (is_array($sobreCubierta) && ($sobreCubierta['solapas'] > 0 && intval($linea_sobrecubierta['dimension_desarrollo']['ancho']) > 630)) {
@ -3068,14 +3051,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
$coste_servicios += round(floatval($resultado[0]->total), 2);
if ($extra_info) {
//$totalServicios += round(floatval($resultado[0]->total), 2);
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
$totalServicios += $base;
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
}
}
if (is_array($faja) && $faja !== [] && ($faja['solapas'] > 0 && intval($linea_faja['dimension_desarrollo']['ancho']) > 630)) {
@ -3106,14 +3088,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
$coste_servicios += round(floatval($resultado[0]->total), 2);
if ($extra_info) {
//$totalServicios += round(floatval($resultado[0]->total), 2);
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
$base = round(floatval($base / $cantidad_total), 2) * $cantidad_total;
$totalServicios += $base;
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
}
}
/*$total_por_tirada = $costeInterior +
$coste_cubierta +

View File

@ -30,7 +30,7 @@ return [
'especiales' => 'Especiales',
'reciclados' => 'Reciclados',
'cartulinas' => 'Cartulinas',
'verdujados' => 'Verdujados',
'verjurados' => 'Verjurados',
'validation' => [
'code' => [

View File

@ -58,8 +58,12 @@ return [
'papelImpresionSection' => 'Papel impresión',
'usuariosSection' => 'Usuarios',
'rolesPermisosSection' => 'Roles y permisos',
'tareasMaquinaSection' => 'Tareas de Máquina',
'imposicionesSection' => 'Imposiciones',
'ubicacionesSection' => 'Ubicaciones',
'seriesFacturasSection' => 'Series facturas',
'variablesSistemaSection' => 'Variables de sistema',
'festivosSection' => 'Días Festivos',
'ajustesSection' => 'Ajustes',
'actividadSection' => 'Accesos',
'backupSection' => 'Backups',

View File

@ -113,6 +113,7 @@
</div><!-- //.card -->
</div><!--//.col -->
</div><!--//.row -->
<?= $this->endSection() ?>
<?= $this->section('additionalInlineJs') ?>

View File

@ -11,6 +11,7 @@
<div class="container-xxl flex-grow-1 container-p-y">
<!-- Role cards -->
<div class="row g-4">
<?php if (auth()->user()->can('roles-permisos.create')): ?>
<div class="col-xl-4 col-lg-6 col-md-6">
<div class="card h-100">
<div class="row h-100">
@ -32,6 +33,7 @@
</div>
</div>
</div>
<?php endif; ?>
<?php foreach ($userGroupList as $item): ?>
<?php $item->users = $model->getUsersByRol($item->keyword); ?>
@ -45,7 +47,8 @@
</h6>
<ul class="list-unstyled d-flex align-items-center avatar-group mb-0">
<?php foreach ($item->users as $user): ?>
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top"
<li data-bs-toggle="tooltip" data-popup="tooltip-custom"
data-bs-placement="top"
title="<?= esc($user->first_name . ' ' . $user->last_name) ?>"
class="avatar avatar-sm pull-up">
<img class="rounded-circle" src="<?= gravatar_url($user->email, 30) ?>"
@ -57,12 +60,15 @@
<div class="d-flex justify-content-between align-items-end mt-1">
<div class="role-heading">
<h4 class="mb-1"><?= esc($item->title) ?></h4>
<?php if (auth()->user()->can('roles-permisos.edit')): ?>
<a href="<?= route_to('editGroup', $item->id) ?>">
<span><?= lang('Basic.global.edit') ?></span>
</a>
<?php endif; ?>
</div>
<?=
anchor(
<?php
if (auth()->user()->can('roles-permisos.delete')) {
echo anchor(
'#confirm2delete',
"<i class='ti ti-trash ti-md'></i>",
[
@ -72,6 +78,7 @@
'data-bs-target' => '#confirm2delete'
]
);
}
?>
</div>
</div>

View File

@ -14,7 +14,10 @@ if (
auth()->user()->can('roles-permisos.menu') ||
auth()->user()->can('proveedores.menu') ||
auth()->user()->can('ubicaciones.menu') ||
auth()->user()->can('series-facturas.menu')
auth()->user()->can('series-facturas.menu') ||
auth()->user()->can('tareas-maquina.menu') ||
auth()->user()->can('festivos.menu') ||
auth()->user()->can('variables-sistema.menu')
) {
?>
<li class="menu-item">
@ -66,14 +69,14 @@ if (
</a>
</li>
<?php } ?>
<?php if (auth()->user()->inGroup('root')) { ?>
<?php if (auth()->user()->can('tareas-maquina.menu')) { ?>
<li class="menu-item">
<a href="<?= route_to("maquinaTareaList") ?>" class="menu-link">
<div> <?= lang("App.menu_maquina_tareas") ?></div>
</a>
</li>
<?php } ?>
<?php if (auth()->user()->inGroup('root')) { ?>
<?php if (auth()->user()->can('imposiciones.menu')) { ?>
<li class="menu-item">
<a href="<?= route_to("imposicionList") ?>" class="menu-link">
<div> <?= lang("App.menu_imposiciones") ?></div>
@ -122,7 +125,7 @@ if (
</a>
</li>
<?php } ?>
<?php if (auth()->user()->inGroup('root')) { ?>
<?php if (auth()->user()->can('variables-sistema.menu')) { ?>
<li class="menu-item">
<a href="<?= route_to('variablesIndex') ?>" class="menu-link">
<div> <?= lang("App.menu_variables") ?></div>
@ -136,7 +139,7 @@ if (
</a>
</li>
<?php } ?>
<?php if (auth()->user()->inGroup('root')) { ?>
<?php if (auth()->user()->can('festivos.menu')) { ?>
<li class="menu-item">
<a href="<?= route_to('festivosList') ?>" class="menu-link">
<div> <?= lang("App.menu_config_holidays") ?></div>