From 2de72e4278f25ab7cb3a25f8b56fbca8e023e572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Sun, 6 Apr 2025 19:35:39 +0200 Subject: [PATCH 1/2] =?UTF-8?q?a=C3=B1adidos=20totales=20a=20tarifas=20de?= =?UTF-8?q?=20clientes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ci4/app/Language/es/ClientePrecios.php | 1 + .../ClientePlantillaPreciosLineasModel.php | 2 +- .../form/clientes/cliente/_clienteFormItems.php | 5 +++-- .../viewClienteplantillapreciosForm.php | 5 +++-- .../js/safekat/pages/cliente/tarifasCliente.js | 17 +++++++++++++---- .../pages/plantillasTarifasCliente/edit.js | 16 ++++++++++++---- 6 files changed, 33 insertions(+), 13 deletions(-) diff --git a/ci4/app/Language/es/ClientePrecios.php b/ci4/app/Language/es/ClientePrecios.php index b54205e1..061e0eac 100755 --- a/ci4/app/Language/es/ClientePrecios.php +++ b/ci4/app/Language/es/ClientePrecios.php @@ -20,6 +20,7 @@ return [ 'tiempo_max' => 'Tiempo Máx.', 'precio_hora' => 'Precio hora', 'margen' => 'Margen', + 'total_precio_hora' => 'Total precio h.', 'cliente_id' => 'Cliente', 'user_updated_id' => 'Usuario edición', 'updated_at' => 'Fecha edición', diff --git a/ci4/app/Models/Clientes/ClientePlantillaPreciosLineasModel.php b/ci4/app/Models/Clientes/ClientePlantillaPreciosLineasModel.php index 9e1b6852..8b6562e3 100755 --- a/ci4/app/Models/Clientes/ClientePlantillaPreciosLineasModel.php +++ b/ci4/app/Models/Clientes/ClientePlantillaPreciosLineasModel.php @@ -147,7 +147,7 @@ class ClientePlantillaPreciosLineasModel extends \App\Models\BaseModel "t1.id as id, t1.tipo AS tipo, t1.tipo_maquina AS tipo_maquina, t1.tipo_impresion AS tipo_impresion, t1.tiempo_min AS tiempo_min, t1.tiempo_max AS tiempo_max, t1.precio_hora AS precio_hora, t1.margen AS margen, t1.user_updated_id AS user_updated_id, t1.updated_at AS updated_at, CONCAT(t2.first_name, ' ', t2.last_name) AS user_updated, - t1.id AS DT_RowId" + t1.id AS DT_RowId, t1.precio_hora*(1+t1.margen/100.0) as total_precio_hora" ); $builder->join("users t2", "t1.user_updated_id = t2.id", "left"); diff --git a/ci4/app/Views/themes/vuexy/form/clientes/cliente/_clienteFormItems.php b/ci4/app/Views/themes/vuexy/form/clientes/cliente/_clienteFormItems.php index 56654f74..6a237646 100644 --- a/ci4/app/Views/themes/vuexy/form/clientes/cliente/_clienteFormItems.php +++ b/ci4/app/Views/themes/vuexy/form/clientes/cliente/_clienteFormItems.php @@ -601,8 +601,9 @@ - - + + + plantilla_id diff --git a/ci4/app/Views/themes/vuexy/form/clientes/plantillaprecios/viewClienteplantillapreciosForm.php b/ci4/app/Views/themes/vuexy/form/clientes/plantillaprecios/viewClienteplantillapreciosForm.php index 4b5541b8..9358b782 100644 --- a/ci4/app/Views/themes/vuexy/form/clientes/plantillaprecios/viewClienteplantillapreciosForm.php +++ b/ci4/app/Views/themes/vuexy/form/clientes/plantillaprecios/viewClienteplantillapreciosForm.php @@ -62,8 +62,9 @@ - - + + + diff --git a/httpdocs/assets/js/safekat/pages/cliente/tarifasCliente.js b/httpdocs/assets/js/safekat/pages/cliente/tarifasCliente.js index 1bc83c7b..a0276268 100644 --- a/httpdocs/assets/js/safekat/pages/cliente/tarifasCliente.js +++ b/httpdocs/assets/js/safekat/pages/cliente/tarifasCliente.js @@ -141,10 +141,12 @@ class tarifasClienteView { name: "precio_hora" }, { name: "margen" + }, { + name: "total_precio_hora", + type: 'hidden', }, { name: "user_updated_id", type: 'hidden', - }, { name: "updated_at", type: 'hidden', @@ -365,10 +367,17 @@ class tarifasClienteView { return window.language.ClientePrecios.colorhq; } }, - { 'data': 'tiempo_min' }, - { 'data': 'tiempo_max' }, - { 'data': 'precio_hora' }, + { 'data': 'tiempo_min', render: (d) => `${d}`}, + { 'data': 'tiempo_max', render: (d) => `${d}`}, + { 'data': 'precio_hora', render: (d) => `${d}`}, { 'data': 'margen' }, + { + 'data': 'total_precio_hora', + 'render': function (data, type, row, meta) { + const value = row.precio_hora*(1+row.margen/100.0); + return `${value}`; + } + }, { 'data': 'user_updated' }, { 'data': 'updated_at' }, { diff --git a/httpdocs/assets/js/safekat/pages/plantillasTarifasCliente/edit.js b/httpdocs/assets/js/safekat/pages/plantillasTarifasCliente/edit.js index 81d5952f..071e158b 100644 --- a/httpdocs/assets/js/safekat/pages/plantillasTarifasCliente/edit.js +++ b/httpdocs/assets/js/safekat/pages/plantillasTarifasCliente/edit.js @@ -192,7 +192,11 @@ class PlantillasTarifasClienteForm { name: "precio_hora" }, { name: "margen" - }, { + },{ + name: "total_precio_hora", + type: "hidden" + }, + { name: "user_updated", type: "hidden", def: '' @@ -560,10 +564,14 @@ class PlantillasTarifasClienteForm { return window.language.ClientePrecios.colorhq; } }, - { 'data': 'tiempo_min' }, - { 'data': 'tiempo_max' }, - { 'data': 'precio_hora' }, + { 'data': 'tiempo_min', render: (d) => `${d}` }, + { 'data': 'tiempo_max', render: (d) => `${d}` }, + { 'data': 'precio_hora', render: (d) => `${d}` }, { 'data': 'margen' }, + { 'data': 'total_precio_hora', render: (d, t, r) => { + const value = r.precio_hora*(1+r.margen/100.0); + return `${value}`; + }}, { 'data': 'user_updated' }, { 'data': 'updated_at' }, From 78584f22c3ca132586a3b4a88fe6c9eda204a51f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Mon, 7 Apr 2025 07:10:17 +0200 Subject: [PATCH 2/2] =?UTF-8?q?cambiado=20a=20papel=20generico=20la=20desc?= =?UTF-8?q?ripci=C3=B3n=20del=20pedido=20(y=20de=20facturas=20por=20tanto)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ci4/app/Config/RBAC/permissionMatrix.php | 59 +++++++++++++++++-- ci4/app/Config/RBAC/permissions.php | 1 + .../Configuracion/PapelImpresionModel.php | 18 ++++++ .../Models/Presupuestos/PresupuestoModel.php | 18 ++++-- 4 files changed, 85 insertions(+), 11 deletions(-) diff --git a/ci4/app/Config/RBAC/permissionMatrix.php b/ci4/app/Config/RBAC/permissionMatrix.php index 9baeb81d..c78c032c 100644 --- a/ci4/app/Config/RBAC/permissionMatrix.php +++ b/ci4/app/Config/RBAC/permissionMatrix.php @@ -97,8 +97,13 @@ const SK_PERMISSION_MATRIX = [ "roles-permisos.edit", "roles-permisos.delete", "roles-permisos.menu", + "tickets.create", "tickets.edit", "tickets.menu", + "facturas.create", + "facturas.edit", + "facturas.vencimientos", + "facturas.menu", ], "cliente-admin" => [ "presupuesto-cliente.create", @@ -150,15 +155,29 @@ const SK_PERMISSION_MATRIX = [ "pedidos-todos.menu", ], "produccion" => [ - "clientes.create", - "clientes.edit", - "clientes.menu", "direcciones.create", "direcciones.edit", "direcciones.menu", "presupuesto.create", "presupuesto.edit", "presupuesto.menu", + "presupuesto-cliente.create", + "presupuesto-cliente.edit", + "presupuesto-cliente.menu", + "pedidos-validacion.view", + "pedidos-validacion.menu", + "pedidos-activos.view", + "pedidos-activos.menu", + "pedidos-finalizados.view", + "pedidos-finalizados.menu", + "pedidos-cancelados.view", + "pedidos-cancelados.menu", + "pedidos-todos.view", + "pedidos-todos.menu", + "pedidos-gestion.toprod", + "pedidos-gestion.menu", + "tickets.edit", + "tickets.menu", ], "maquina" => [ "token.token", @@ -226,8 +245,34 @@ const SK_PERMISSION_MATRIX = [ "facturas.menu", ], "contabilidad" => [ - "token.token", - "token.menu", + "clientes.create", + "clientes.edit", + "clientes.menu", + "direcciones.create", + "direcciones.edit", + "direcciones.menu", + "presupuesto.create", + "presupuesto.edit", + "presupuesto.menu", + "pedidos-validacion.view", + "pedidos-validacion.menu", + "pedidos-activos.view", + "pedidos-activos.menu", + "pedidos-finalizados.view", + "pedidos-finalizados.menu", + "pedidos-cancelados.view", + "pedidos-cancelados.menu", + "pedidos-todos.view", + "pedidos-todos.menu", + "proveedores.create", + "proveedores.edit", + "proveedores.menu", + "tickets.edit", + "tickets.menu", + "facturas.create", + "facturas.edit", + "facturas.vencimientos", + "facturas.menu", ], "editor" => [ "token.token", @@ -334,5 +379,9 @@ const SK_PERMISSION_MATRIX = [ "roles-permisos.menu", "tickets.edit", "tickets.menu", + "facturas.create", + "facturas.edit", + "facturas.vencimientos", + "facturas.menu", ], ]; diff --git a/ci4/app/Config/RBAC/permissions.php b/ci4/app/Config/RBAC/permissions.php index 60a7ee8e..9bb8fcb3 100644 --- a/ci4/app/Config/RBAC/permissions.php +++ b/ci4/app/Config/RBAC/permissions.php @@ -101,6 +101,7 @@ const SK_PERMISSIONS = [ 'roles-permisos.edit' => 'Can edit', 'roles-permisos.delete' => 'Can delete', 'roles-permisos.menu' => 'Menu shall be visualize', + 'tickets.create' => 'Can create', 'tickets.edit' => 'Can edit', 'tickets.menu' => 'Menu shall be visualize', 'facturas.create' => 'Can create', diff --git a/ci4/app/Models/Configuracion/PapelImpresionModel.php b/ci4/app/Models/Configuracion/PapelImpresionModel.php index 914a315e..0ab2ac45 100755 --- a/ci4/app/Models/Configuracion/PapelImpresionModel.php +++ b/ci4/app/Models/Configuracion/PapelImpresionModel.php @@ -369,6 +369,24 @@ class PapelImpresionModel extends \App\Models\BaseModel return ""; } + public function getPapelGenericoNombre($papel_id = 0) + { + $builder = $this->db + ->table($this->table . " t1") + ->select("t2.nombre AS nombre") + ->join("lg_papel_generico t2", "t1.papel_generico_id = t2.id", "left") + ->where("t1.id", $papel_id) + ->where("t1.is_deleted", 0) + ->where("t1.isActivo", 1) + ->where("t2.is_deleted", 0); + + $result = $builder->get()->getResultObject(); + if (count($result) > 0) { + return $result[0]->nombre; + } else + return ""; + } + public function querySelect(?string $query) { $q = $this->builder()->select([ diff --git a/ci4/app/Models/Presupuestos/PresupuestoModel.php b/ci4/app/Models/Presupuestos/PresupuestoModel.php index 676e78b8..61823feb 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoModel.php @@ -760,7 +760,8 @@ class PresupuestoModel extends \App\Models\BaseModel $lp_bn_lines = array_values($lp_bn_lines)[0]; $paginas_negro = $lp_bn_lines->paginas; $gramaje_negro = $lp_bn_lines->gramaje; - $papel_negro = $model_papel->where('id', $lp_bn_lines->papel_impresion_id)->first()->nombre; + //$papel_negro = $model_papel->where('id', $lp_bn_lines->papel_impresion_id)->first()->nombre; + $papel_negro = $model_papel->getPapelGenericoNombre($lp_bn_lines->papel_impresion_id); $description_interior .= sprintf( lang('Pedidos.lineasTemplates.libro_linea_interior'), strval($paginas_negro), @@ -772,7 +773,8 @@ class PresupuestoModel extends \App\Models\BaseModel $lp_color_lines = array_values($lp_color_lines)[0]; $paginas_color = $lp_color_lines->paginas; $gramaje_color = $lp_color_lines->gramaje; - $papel_color = $model_papel->where('id', $lp_color_lines->papel_impresion_id)->first()->nombre; + //$papel_color = $model_papel->where('id', $lp_color_lines->papel_impresion_id)->first()->nombre; + $papel_color = $model_papel->getPapelGenericoNombre($lp_color_lines->papel_impresion_id); $description_interior .= sprintf( lang('Pedidos.lineasTemplates.libro_linea_interior'), strval($paginas_color), @@ -785,7 +787,8 @@ class PresupuestoModel extends \App\Models\BaseModel $lp_rot_bn = array_values($lp_rot_bn)[0]; $paginas_negro = $lp_rot_bn->paginas; $gramaje_negro = $lp_rot_bn->gramaje; - $papel_negro = $model_papel->where('id', $lp_rot_bn->papel_impresion_id)->first()->nombre; + $papel_negro = $model_papel->getPapelGenericoNombre($lp_rot_bn->papel_impresion_id); + //$papel_negro = $model_papel->where('id', $lp_rot_bn->papel_impresion_id)->first()->nombre; $description_interior .= sprintf( lang('Pedidos.lineasTemplates.libro_linea_interior'), strval($paginas_negro), @@ -798,7 +801,8 @@ class PresupuestoModel extends \App\Models\BaseModel $lp_rot_color = array_values($lp_rot_color)[0]; $paginas_negro = intval($lp_rot_color->paginas) - intval($lp_rot_color->rotativa_pag_color); $gramaje = $lp_rot_color->gramaje; - $papel = $model_papel->where('id', $lp_rot_color->papel_impresion_id)->first()->nombre; + //$papel = $model_papel->where('id', $lp_rot_color->papel_impresion_id)->first()->nombre; + $papel = $model_papel->getPapelGenericoNombre($lp_rot_color->papel_impresion_id); if ($paginas_negro > 0) { $description_interior .= sprintf( lang('Pedidos.lineasTemplates.libro_linea_interior'), @@ -833,7 +837,8 @@ class PresupuestoModel extends \App\Models\BaseModel $description_cubierta = sprintf( lang('Pedidos.lineasTemplates.libro_linea_cubierta'), $lp_cubierta->caras, - $model_papel->where('id', $lp_cubierta->papel_impresion_id)->first()->nombre, + //$model_papel->where('id', $lp_cubierta->papel_impresion_id)->first()->nombre, + $model_papel->getPapelGenericoNombre($lp_cubierta->papel_impresion_id), strval($lp_cubierta->gramaje) ); $description_cubierta .= ($presupuesto->solapas_cubierta == 1 ? sprintf(lang('Pedidos.lineasTemplates.libro_solapas'), $presupuesto->solapas_ancho_cubierta) : ". "); @@ -842,7 +847,8 @@ class PresupuestoModel extends \App\Models\BaseModel $lp_sobrecubierta = array_values($lp_sobrecubierta)[0]; $description_sobrecubierta = sprintf( lang('Pedidos.lineasTemplates.libro_linea_sobrecubierta'), - $model_papel->where('id', $lp_sobrecubierta->papel_impresion_id)->first()->nombre, + //$model_papel->where('id', $lp_sobrecubierta->papel_impresion_id)->first()->nombre, + $model_papel->getPapelGenericoNombre($lp_sobrecubierta->papel_impresion_id), strval($lp_sobrecubierta->gramaje) ); $description_sobrecubierta .= ($presupuesto->solapas_sobrecubierta == 1 ? sprintf(lang('Pedidos.lineasTemplates.libro_solapas'), $presupuesto->solapas_ancho_sobrecubierta) : ". ");