mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Merge branch 'feat/sk-34/filter-maquina-padre' into 'main'
Feat/sk 34/filter maquina padre See merge request jjimenez/safekat!663
This commit is contained in:
@ -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');
|
||||
|
||||
@ -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');
|
||||
|
||||
@ -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([
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
<th><?= lang('Produccion.datatable.fecha_entrega_at') ?></th>
|
||||
<th><?= lang('Produccion.datatable.titulo') ?></th>
|
||||
<th><?= lang('Produccion.datatable.maquina') ?></th>
|
||||
<!-- <th><?= lang('Produccion.datatable.maquina_padre') ?></th> -->
|
||||
<th><?= lang('Produccion.datatable.tirada') ?></th>
|
||||
<th><?= lang('Produccion.datatable.ancho') ?></th>
|
||||
<th><?= lang('Produccion.datatable.alto') ?></th>
|
||||
@ -21,7 +22,12 @@
|
||||
<th><input type="text" class="form-control planning-filter" name="otId" placeholder="ID"></th>
|
||||
<th></th>
|
||||
<th><input type="text" class="form-control planning-filter" name="presupuesto_titulo" placeholder="Titulo"></th>
|
||||
<th><select class="select2 form-select-sm planning-maquina-select" name="maquina_planning_nombre"></select></th>
|
||||
<th>
|
||||
<div class="d-flex flex-column gap-2">
|
||||
<select class="select2 form-select-sm planning-maquina-padre-select" name="lg_maquinas.padre_id"></select>
|
||||
<select class="select2 form-select-sm planning-maquina-select" name="maquina_planning_nombre"></select>
|
||||
</div>
|
||||
</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
|
||||
@ -90,6 +90,7 @@ class PlanningRotativa {
|
||||
}, $('body'));
|
||||
this.papelImpresionFilter = new ClassSelect(this.tablePlanningRot.find(".planning-papel-select"), `/produccion/ordentrabajo/planning/select/papel/rotativa`, "Seleccione un papel", true, {}, $('body'));
|
||||
this.maquinaSelectFilterPlana = new ClassSelect(this.tablePlanningPlana.find(".planning-maquina-select"), `/produccion/ordentrabajo/planning/select/maquina/plana`, "Seleccione una maquina", true, {}, $('body'));
|
||||
this.maquinaPadreSelectFilterPlana = new ClassSelect(this.tablePlanningPlana.find(".planning-maquina-padre-select"), `/produccion/ordentrabajo/planning/select/maquina/padre/plana`, "Máquina padre", true, {}, $('body'));
|
||||
this.papelImpresionFilterPlana = new ClassSelect(this.tablePlanningPlana.find(".planning-papel-select"), `/produccion/ordentrabajo/planning/select/papel/plana`, "Seleccione un papel", true, {}, $('body'));
|
||||
this.maquinaSelectFilter.config.dropdownParent = this.item
|
||||
}
|
||||
@ -121,6 +122,7 @@ class PlanningRotativa {
|
||||
this.papelImpresionFilter.init()
|
||||
this.maquinaSelectFilterPlana.init()
|
||||
this.papelImpresionFilterPlana.init()
|
||||
this.maquinaPadreSelectFilterPlana.init();
|
||||
this.checkAllMetros.on('change', () => {
|
||||
let isChecked = this.checkAllMetros.prop('checked')
|
||||
this.item.find(".metros-check").prop('checked', isChecked).trigger("change")
|
||||
@ -163,7 +165,15 @@ class PlanningRotativa {
|
||||
url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
|
||||
},
|
||||
columns: this.datatablePlanaColumns,
|
||||
ajax: '/produccion/ordentrabajo/planning/plana/datatable'
|
||||
|
||||
ajax: {
|
||||
url : '/produccion/ordentrabajo/planning/plana/datatable',
|
||||
data : d => {
|
||||
if(this.maquinaPadreSelectFilterPlana.getVal()){
|
||||
d.padre_id = this.maquinaPadreSelectFilterPlana.getVal()
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
this.papelGramajeDatatable = this.papelGramajeTablePlanning.DataTable({
|
||||
processing: true,
|
||||
@ -223,9 +233,12 @@ class PlanningRotativa {
|
||||
let columnIndex = this.datatablePlanaColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name"))
|
||||
this.datatablePlanningPlana.column(columnIndex).search(this.maquinaSelectFilterPlana.getText()).draw()
|
||||
})
|
||||
this.tablePlanningPlana.on("change", ".planning-papel-select", (event) => {
|
||||
this.tablePlanningPlana.on("change", ".planning-maquina-select", (event) => {
|
||||
let columnIndex = this.datatablePlanaColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name"))
|
||||
this.datatablePlanningPlana.column(columnIndex).search(this.papelImpresionFilterPlana.getText()).draw()
|
||||
this.datatablePlanningPlana.column(columnIndex).search(this.maquinaSelectFilterPlana.getText()).draw()
|
||||
})
|
||||
this.tablePlanningPlana.on("change", ".planning-maquina-padre-select", (event) => {
|
||||
this.datatablePlanningPlana.ajax.reload();
|
||||
})
|
||||
this.papelPliegoDatatable.on('draw', this.addTotalFooterPliego.bind(this))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user