From 90a47aa6bb944d8cc003edac09c14f47fbe15f91 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sat, 10 May 2025 09:23:59 +0200 Subject: [PATCH 1/3] add datatable ot filters --- .../vuexy/components/tables/ot_table.php | 16 ++- .../components/datatables/otDatatable.js | 126 +++++++++--------- 2 files changed, 81 insertions(+), 61 deletions(-) diff --git a/ci4/app/Views/themes/vuexy/components/tables/ot_table.php b/ci4/app/Views/themes/vuexy/components/tables/ot_table.php index ad280f80..c42bccec 100755 --- a/ci4/app/Views/themes/vuexy/components/tables/ot_table.php +++ b/ci4/app/Views/themes/vuexy/components/tables/ot_table.php @@ -4,7 +4,7 @@ - + @@ -16,6 +16,20 @@ + + + + + + + + + + + + + + diff --git a/httpdocs/assets/js/safekat/components/datatables/otDatatable.js b/httpdocs/assets/js/safekat/components/datatables/otDatatable.js index 527f15f1..47a9652e 100644 --- a/httpdocs/assets/js/safekat/components/datatables/otDatatable.js +++ b/httpdocs/assets/js/safekat/components/datatables/otDatatable.js @@ -11,19 +11,18 @@ class OrdenTrabajoDatatable { this.datatableWaiting = this.item.find("#ot-datatable-waiting") this.datatableRevisionComerical = this.item.find("#ot-datatable-revision-com") - this.columnIdIndex = 1; - + this.tableLayout = "lrtip" this.datatableColumns = [ { data: 'pdf_check', searchable: false, sortable: false, render: d => `` }, - { data: 'id', searchable: true, sortable: true }, + { data: 'id', searchable: true, sortable: true}, { data: 'pedido_id', searchable: true, sortable: true }, - { data: 'fecha_encuadernado_at',name:"pedidos.fecha_encuadernado", searchable: true, sortable: true }, - { data: 'cliente_nombre', name:"clientes.nombre", searchable: true, sortable: false }, - { data: 'presupuesto_titulo', name:"presupuestos.titulo", searchable: true, sortable: true }, - { data: 'ubicacion_nombre', name:"ubicaciones.nombre", searchable: true, sortable: true }, - { data: 'total_tirada', name:"pedidos.total_tirada",searchable: true, sortable: true, render: (d) => `${d}` }, - { data: 'tipo_presupuesto_impresion', name:"tipos_presupuestos.codigo", searchable: true, sortable: true }, + { data: 'fecha_encuadernado_at', name: "pedidos.fecha_encuadernado", searchable: true, sortable: true }, + { data: 'cliente_nombre', name: "clientes.nombre", searchable: true, sortable: false }, + { data: 'presupuesto_titulo', name: "presupuestos.titulo", searchable: true, sortable: true }, + { data: 'ubicacion_nombre', name: "ubicaciones.nombre", searchable: true, sortable: true }, + { data: 'total_tirada', name: "pedidos.total_tirada", searchable: true, sortable: true, render: (d) => `${d}` }, + { data: 'tipo_presupuesto_impresion', name: "tipos_presupuestos.codigo", searchable: true, sortable: true }, { data: 'logo', searchable: false, sortable: false, render: (d, t) => { return `
@@ -33,7 +32,7 @@ class OrdenTrabajoDatatable { } }, { - data: 'progreso',name:"ordenes_trabajo.progreso", searchable: false, sortable: true, render: (d, t) => { + data: 'progreso', name: "ordenes_trabajo.progreso", searchable: false, sortable: true, render: (d, t) => { return `
${d}%
@@ -57,7 +56,7 @@ class OrdenTrabajoDatatable { console.log(order) this.focusDatatable = this.datatableOrder[order] } - events(){ + events() { this.datatableOrder = [ this.datatableN, this.datatableP, @@ -74,12 +73,8 @@ class OrdenTrabajoDatatable { init() { this.datatable = this.datatableItem.DataTable({ processing: true, - layout: { - topStart: 'pageLength', - topEnd: 'search', - bottomStart: 'info', - bottomEnd: 'paging' - }, + dom: this.tableLayout, + orderCellsTop: true, order: [[this.columnIdIndex, 'desc']], columnDefs: [ { className: 'dt-center', targets: '_all' }, @@ -97,16 +92,17 @@ class OrdenTrabajoDatatable { $(row).css("border-right", `10px solid ${data.logo.color}`) } }); + this.datatableItem.on("change", ".ot-filter", (event) => { + console.log(this.datatable.column($(event.currentTarget).attr("name"))) + let columnIndex = this.datatableColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name")) + this.datatable.column(columnIndex).search($(event.currentTarget).val()).draw() + }) } initPendientes() { this.datatableP = this.datatablePendientesItem.DataTable({ processing: true, - layout: { - topStart: 'pageLength', - topEnd: 'search', - bottomStart: 'info', - bottomEnd: 'paging' - }, + dom: this.tableLayout, + orderCellsTop: true, order: [[this.columnIdIndex, 'desc']], columnDefs: [ { className: 'dt-center', targets: '_all' }, @@ -125,16 +121,17 @@ class OrdenTrabajoDatatable { } }); + this.datatablePendientesItem.on("change", ".ot-filter", (event) => { + console.log(this.datatableP.column($(event.currentTarget).attr("name"))) + let columnIndex = this.datatableColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name")) + this.datatableP.column(columnIndex).search($(event.currentTarget).val()).draw() + }) } initFerroPendiente() { this.datatableFP = this.datatableFerroPendienteItem.DataTable({ processing: true, - layout: { - topStart: 'pageLength', - topEnd: 'search', - bottomStart: 'info', - bottomEnd: 'paging' - }, + dom: this.tableLayout, + orderCellsTop: true, serverSide: true, pageLength: 25, order: [[this.columnIdIndex, 'desc']], @@ -152,16 +149,17 @@ class OrdenTrabajoDatatable { $(row).css("border-right", `20px solid ${data.logo.color}`) } }); + this.datatableFerroPendienteItem.on("change", ".ot-filter", (event) => { + console.log(this.datatableFP.column($(event.currentTarget).attr("name"))) + let columnIndex = this.datatableColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name")) + this.datatableFP.column(columnIndex).search($(event.currentTarget).val()).draw() + }) } initFerroOk() { this.datatableFO = this.datatableFerroOkItem.DataTable({ processing: true, - layout: { - topStart: 'pageLength', - topEnd: 'search', - bottomStart: 'info', - bottomEnd: 'paging' - }, + dom: this.tableLayout, + orderCellsTop: true, serverSide: true, order: [[this.columnIdIndex, 'desc']], columnDefs: [ @@ -179,16 +177,17 @@ class OrdenTrabajoDatatable { $(row).css("border-right", `20px solid ${data.logo.color}`) } }); + this.datatableFerroOkItem.on("change", ".ot-filter", (event) => { + console.log(this.datatableFO.column($(event.currentTarget).attr("name"))) + let columnIndex = this.datatableColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name")) + this.datatableFO.column(columnIndex).search($(event.currentTarget).val()).draw() + }) } initNews() { this.datatableN = this.datatableNews.DataTable({ processing: true, - layout: { - topStart: 'pageLength', - topEnd: 'search', - bottomStart: 'info', - bottomEnd: 'paging' - }, + dom: this.tableLayout, + orderCellsTop: true, serverSide: true, order: [[this.columnIdIndex, 'desc']], columnDefs: [ @@ -207,17 +206,17 @@ class OrdenTrabajoDatatable { } }); this.focusDatatable = this.datatableN - + this.datatableNews.on("change", ".ot-filter", (event) => { + console.log(this.datatableN.column($(event.currentTarget).attr("name"))) + let columnIndex = this.datatableColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name")) + this.datatableN.column(columnIndex).search($(event.currentTarget).val()).draw() + }) } initWaiting() { this.datatableW = this.datatableWaiting.DataTable({ processing: true, - layout: { - topStart: 'pageLength', - topEnd: 'search', - bottomStart: 'info', - bottomEnd: 'paging' - }, + dom: this.tableLayout, + orderCellsTop: true, serverSide: true, order: [[this.columnIdIndex, 'desc']], columnDefs: [ @@ -235,16 +234,17 @@ class OrdenTrabajoDatatable { $(row).css("border-right", `20px solid ${data.logo.color}`) } }); + this.datatableWaiting.on("change", ".ot-filter", (event) => { + console.log(this.datatableW.column($(event.currentTarget).attr("name"))) + let columnIndex = this.datatableColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name")) + this.datatableW.column(columnIndex).search($(event.currentTarget).val()).draw() + }) } initProd() { this.datatableProduccion = this.datatableProd.DataTable({ processing: true, - layout: { - topStart: 'pageLength', - topEnd: 'search', - bottomStart: 'info', - bottomEnd: 'paging' - }, + dom: this.tableLayout, + orderCellsTop: true, serverSide: true, order: [[this.columnIdIndex, 'desc']], columnDefs: [ @@ -262,16 +262,17 @@ class OrdenTrabajoDatatable { $(row).css("border-right", `20px solid ${data.logo.color}`) } }); + this.datatableProd.on("change", ".ot-filter", (event) => { + console.log(this.datatableProduccion.column($(event.currentTarget).attr("name"))) + let columnIndex = this.datatableColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name")) + this.datatableProduccion.column(columnIndex).search($(event.currentTarget).val()).draw() + }) } initRevisionComercial() { this.datatableRC = this.datatableRevisionComerical.DataTable({ processing: true, - layout: { - topStart: 'pageLength', - topEnd: 'search', - bottomStart: 'info', - bottomEnd: 'paging' - }, + dom: this.tableLayout, + orderCellsTop: true, serverSide: true, order: [[this.columnIdIndex, 'desc']], columnDefs: [ @@ -289,6 +290,11 @@ class OrdenTrabajoDatatable { $(row).css("border-right", `20px solid ${data.logo.color}`) } }); + this.datatableRevisionComerical.on("change", ".ot-filter", (event) => { + console.log(this.datatableRC.column($(event.currentTarget).attr("name"))) + let columnIndex = this.datatableColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name")) + this.datatableRC.column(columnIndex).search($(event.currentTarget).val()).draw() + }) } getSelectIDs() { return this.focusDatatable.rows((idx, data, node) => { From bbea2229d7ca34766933494ec7c6c4667fb0af44 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sat, 10 May 2025 09:25:32 +0200 Subject: [PATCH 2/3] remove preimpresion check default when create an ot --- ci4/app/Services/PresupuestoService.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci4/app/Services/PresupuestoService.php b/ci4/app/Services/PresupuestoService.php index a6a80356..877daad2 100755 --- a/ci4/app/Services/PresupuestoService.php +++ b/ci4/app/Services/PresupuestoService.php @@ -1911,7 +1911,7 @@ class PresupuestoService extends BaseService $serviceProduction->setPedido($pedido); if (!$pedido->orden_trabajo()) { - $r = $serviceProduction->createOrdenTrabajo(true); + $r = $serviceProduction->createOrdenTrabajo(); $modelPedido->set(['estado' => 'produccion'])->where('id', $pedido_id)->update(); } } From 836ace0e4291388e8016193c3560434d4217f32a Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sat, 10 May 2025 09:27:40 +0200 Subject: [PATCH 3/3] add check preimpresion when imported from Bubok or Catalogo --- ci4/app/Controllers/Importadores/ImportadorBubok.php | 2 +- ci4/app/Controllers/Importadores/ImportadorCatalogo.php | 2 +- ci4/app/Services/PresupuestoService.php | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ci4/app/Controllers/Importadores/ImportadorBubok.php b/ci4/app/Controllers/Importadores/ImportadorBubok.php index 02a8e2a4..c8955350 100644 --- a/ci4/app/Controllers/Importadores/ImportadorBubok.php +++ b/ci4/app/Controllers/Importadores/ImportadorBubok.php @@ -361,7 +361,7 @@ class ImportadorBubok extends BaseResourceController // confirmar y crear pedido y ot $presupuestoModel->confirmarPresupuesto($response['sk_id']); - PresupuestoService::crearPedido($response['sk_id']); + PresupuestoService::crearPedido($response['sk_id'],isImported:true); if (!isset($response['sk_id'])) { diff --git a/ci4/app/Controllers/Importadores/ImportadorCatalogo.php b/ci4/app/Controllers/Importadores/ImportadorCatalogo.php index ca13df60..d3797f3e 100644 --- a/ci4/app/Controllers/Importadores/ImportadorCatalogo.php +++ b/ci4/app/Controllers/Importadores/ImportadorCatalogo.php @@ -359,7 +359,7 @@ class ImportadorCatalogo extends BaseResourceController // confirmar y crear pedido y ot model('App\Models\Presupuestos\PresupuestoModel')->confirmarPresupuesto($response['data']['sk_id']); - PresupuestoService::crearPedido($response['data']['sk_id']); + PresupuestoService::crearPedido($response['data']['sk_id'],isImported:true); return $this->respond($response); diff --git a/ci4/app/Services/PresupuestoService.php b/ci4/app/Services/PresupuestoService.php index 877daad2..687dfc2a 100755 --- a/ci4/app/Services/PresupuestoService.php +++ b/ci4/app/Services/PresupuestoService.php @@ -1867,7 +1867,7 @@ class PresupuestoService extends BaseService - public static function crearPedido($presupuesto_id) + public static function crearPedido($presupuesto_id,?bool $isImported = false) { $model_pedido = model('App\Models\Pedidos\PedidoModel'); $model_pedido_linea = model('App\Models\Pedidos\PedidoLineaModel'); @@ -1911,7 +1911,7 @@ class PresupuestoService extends BaseService $serviceProduction->setPedido($pedido); if (!$pedido->orden_trabajo()) { - $r = $serviceProduction->createOrdenTrabajo(); + $r = $serviceProduction->createOrdenTrabajo($isImported); $modelPedido->set(['estado' => 'produccion'])->where('id', $pedido_id)->update(); } }