diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index 92c10179..63aa1623 100644 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -1015,6 +1015,7 @@ $routes->group('produccion', ['namespace' => 'App\Controllers\Produccion'], func $routes->get('select/maquina/rotativa','Ordentrabajo::select_maquina_planning_rot'); $routes->get('select/papel/rotativa','Ordentrabajo::select_papel_planning_rot'); $routes->get('select/maquina/plana','Ordentrabajo::select_maquina_planning_plana'); + $routes->get('select/maquina/padre/plana','Ordentrabajo::select_maquina_padre_planning_plana'); $routes->get('select/papel/plana','Ordentrabajo::select_papel_planning_plana'); $routes->get('rotativa', 'Ordentrabajo::index_planning_rotativa'); $routes->get('papel/datatable', 'Ordentrabajo::papel_gramaje_datatable'); diff --git a/ci4/app/Controllers/Produccion/Ordentrabajo.php b/ci4/app/Controllers/Produccion/Ordentrabajo.php index 3238788b..24d9cf75 100755 --- a/ci4/app/Controllers/Produccion/Ordentrabajo.php +++ b/ci4/app/Controllers/Produccion/Ordentrabajo.php @@ -301,6 +301,10 @@ class Ordentrabajo extends BaseController public function planning_plana_datatable() { $q = $this->produccionService->planningPlanaQueryDatatable(); + $padreId = $this->request->getGet('padre_id'); + if($padreId){ + $q->where('lg_maquinas.padre_id',$padreId); + } return DataTable::of($q) ->edit("tiempo_real_sum", fn($q) => $q->tiempo_real_sum) ->edit("fecha_entrega_real_at", fn($q) => $q->fecha_entrega_real_at ? Time::createFromFormat("Y-m-d", $q->fecha_entrega_real_at)->format("d/m/Y") : "") @@ -326,6 +330,12 @@ class Ordentrabajo extends BaseController $result = $this->produccionService->querySelectMaquinaPlanningPlana($q); return $this->response->setJSON($result); } + public function select_maquina_padre_planning_plana() + { + $q = $this->request->getGet('q'); + $result = $this->produccionService->querySelectMaquinaPadrePlanningPlana($q); + return $this->response->setJSON($result); + } public function select_papel_planning_plana() { $q = $this->request->getGet('q'); diff --git a/ci4/app/Services/ProductionService.php b/ci4/app/Services/ProductionService.php index f758c344..bbe61afb 100644 --- a/ci4/app/Services/ProductionService.php +++ b/ci4/app/Services/ProductionService.php @@ -486,6 +486,7 @@ class ProductionService extends BaseService "presupuestos.titulo as presupuesto_titulo", "orden_trabajo_tareas.maquina_id", "lg_maquinas.nombre as maquina_planning_nombre", + "lg_maquinas.padre_id as padre_id", "ordenes_trabajo.total_tirada as ot_tirada", "lg_papel_formato.ancho as papel_ancho", "lg_papel_formato.alto as papel_alto", @@ -859,7 +860,6 @@ class ProductionService extends BaseService "lg_maquinas.nombre as name", ]) ->join("orden_trabajo_tareas", "orden_trabajo_tareas.orden_trabajo_id = ordenes_trabajo.id", "left") - ->join("orden_trabajo_dates", "orden_trabajo_dates.orden_trabajo_id = ordenes_trabajo.id", "left") ->join("presupuesto_linea", "presupuesto_linea.id = orden_trabajo_tareas.presupuesto_linea_id", "left") ->join("lg_maquinas", "lg_maquinas.id = orden_trabajo_tareas.maquina_id", "left") ->whereIn("presupuesto_linea.tipo", $this->TIPOS_PLANA) @@ -871,6 +871,26 @@ class ProductionService extends BaseService } return $query->get()->getResultArray(); } + public function querySelectMaquinaPadrePlanningPlana($q) + { + $query = $this->otModel->builder()->select([ + "mp.id as id", + "mp.nombre as name", + ]) + ->join("orden_trabajo_tareas", "orden_trabajo_tareas.orden_trabajo_id = ordenes_trabajo.id", "left") + ->join("presupuesto_linea", "presupuesto_linea.id = orden_trabajo_tareas.presupuesto_linea_id", "left") + ->join("lg_maquinas", "lg_maquinas.id = orden_trabajo_tareas.maquina_id", "left") + ->join("lg_maquinas mp", "mp.id = lg_maquinas.padre_id", "left") + ->whereIn("presupuesto_linea.tipo", $this->TIPOS_PLANA) + ->where('lg_maquinas.is_rotativa', false) + ->where('mp.is_padre', 0) + ->where("orden_trabajo_tareas.deleted_at", null) + ->groupBy("mp.id"); + if ($q) { + $query->like('lg_maquinas.nombre', $q); + } + return $query->get()->getResultArray(); + } public function querySelectPapelPlanningRot(string $q) { $query = $this->otModel->builder()->select([ diff --git a/ci4/app/Views/themes/vuexy/components/tables/planning_plana_table.php b/ci4/app/Views/themes/vuexy/components/tables/planning_plana_table.php index 4a95b44b..ab28244c 100644 --- a/ci4/app/Views/themes/vuexy/components/tables/planning_plana_table.php +++ b/ci4/app/Views/themes/vuexy/components/tables/planning_plana_table.php @@ -7,6 +7,7 @@