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/maquina/rotativa','Ordentrabajo::select_maquina_planning_rot');
|
||||||
$routes->get('select/papel/rotativa','Ordentrabajo::select_papel_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/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('select/papel/plana','Ordentrabajo::select_papel_planning_plana');
|
||||||
$routes->get('rotativa', 'Ordentrabajo::index_planning_rotativa');
|
$routes->get('rotativa', 'Ordentrabajo::index_planning_rotativa');
|
||||||
$routes->get('papel/datatable', 'Ordentrabajo::papel_gramaje_datatable');
|
$routes->get('papel/datatable', 'Ordentrabajo::papel_gramaje_datatable');
|
||||||
|
|||||||
@ -301,6 +301,10 @@ class Ordentrabajo extends BaseController
|
|||||||
public function planning_plana_datatable()
|
public function planning_plana_datatable()
|
||||||
{
|
{
|
||||||
$q = $this->produccionService->planningPlanaQueryDatatable();
|
$q = $this->produccionService->planningPlanaQueryDatatable();
|
||||||
|
$padreId = $this->request->getGet('padre_id');
|
||||||
|
if($padreId){
|
||||||
|
$q->where('lg_maquinas.padre_id',$padreId);
|
||||||
|
}
|
||||||
return DataTable::of($q)
|
return DataTable::of($q)
|
||||||
->edit("tiempo_real_sum", fn($q) => $q->tiempo_real_sum)
|
->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") : "")
|
->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);
|
$result = $this->produccionService->querySelectMaquinaPlanningPlana($q);
|
||||||
return $this->response->setJSON($result);
|
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()
|
public function select_papel_planning_plana()
|
||||||
{
|
{
|
||||||
$q = $this->request->getGet('q');
|
$q = $this->request->getGet('q');
|
||||||
|
|||||||
@ -486,6 +486,7 @@ class ProductionService extends BaseService
|
|||||||
"presupuestos.titulo as presupuesto_titulo",
|
"presupuestos.titulo as presupuesto_titulo",
|
||||||
"orden_trabajo_tareas.maquina_id",
|
"orden_trabajo_tareas.maquina_id",
|
||||||
"lg_maquinas.nombre as maquina_planning_nombre",
|
"lg_maquinas.nombre as maquina_planning_nombre",
|
||||||
|
"lg_maquinas.padre_id as padre_id",
|
||||||
"ordenes_trabajo.total_tirada as ot_tirada",
|
"ordenes_trabajo.total_tirada as ot_tirada",
|
||||||
"lg_papel_formato.ancho as papel_ancho",
|
"lg_papel_formato.ancho as papel_ancho",
|
||||||
"lg_papel_formato.alto as papel_alto",
|
"lg_papel_formato.alto as papel_alto",
|
||||||
@ -859,7 +860,6 @@ class ProductionService extends BaseService
|
|||||||
"lg_maquinas.nombre as name",
|
"lg_maquinas.nombre as name",
|
||||||
])
|
])
|
||||||
->join("orden_trabajo_tareas", "orden_trabajo_tareas.orden_trabajo_id = ordenes_trabajo.id", "left")
|
->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("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", "lg_maquinas.id = orden_trabajo_tareas.maquina_id", "left")
|
||||||
->whereIn("presupuesto_linea.tipo", $this->TIPOS_PLANA)
|
->whereIn("presupuesto_linea.tipo", $this->TIPOS_PLANA)
|
||||||
@ -871,6 +871,26 @@ class ProductionService extends BaseService
|
|||||||
}
|
}
|
||||||
return $query->get()->getResultArray();
|
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)
|
public function querySelectPapelPlanningRot(string $q)
|
||||||
{
|
{
|
||||||
$query = $this->otModel->builder()->select([
|
$query = $this->otModel->builder()->select([
|
||||||
|
|||||||
@ -7,6 +7,7 @@
|
|||||||
<th><?= lang('Produccion.datatable.fecha_entrega_at') ?></th>
|
<th><?= lang('Produccion.datatable.fecha_entrega_at') ?></th>
|
||||||
<th><?= lang('Produccion.datatable.titulo') ?></th>
|
<th><?= lang('Produccion.datatable.titulo') ?></th>
|
||||||
<th><?= lang('Produccion.datatable.maquina') ?></th>
|
<th><?= lang('Produccion.datatable.maquina') ?></th>
|
||||||
|
<!-- <th><?= lang('Produccion.datatable.maquina_padre') ?></th> -->
|
||||||
<th><?= lang('Produccion.datatable.tirada') ?></th>
|
<th><?= lang('Produccion.datatable.tirada') ?></th>
|
||||||
<th><?= lang('Produccion.datatable.ancho') ?></th>
|
<th><?= lang('Produccion.datatable.ancho') ?></th>
|
||||||
<th><?= lang('Produccion.datatable.alto') ?></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><input type="text" class="form-control planning-filter" name="otId" placeholder="ID"></th>
|
||||||
<th></th>
|
<th></th>
|
||||||
<th><input type="text" class="form-control planning-filter" name="presupuesto_titulo" placeholder="Titulo"></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>
|
<th></th>
|
||||||
<th></th>
|
<th></th>
|
||||||
|
|||||||
@ -90,6 +90,7 @@ class PlanningRotativa {
|
|||||||
}, $('body'));
|
}, $('body'));
|
||||||
this.papelImpresionFilter = new ClassSelect(this.tablePlanningRot.find(".planning-papel-select"), `/produccion/ordentrabajo/planning/select/papel/rotativa`, "Seleccione un papel", true, {}, $('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.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.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
|
this.maquinaSelectFilter.config.dropdownParent = this.item
|
||||||
}
|
}
|
||||||
@ -121,6 +122,7 @@ class PlanningRotativa {
|
|||||||
this.papelImpresionFilter.init()
|
this.papelImpresionFilter.init()
|
||||||
this.maquinaSelectFilterPlana.init()
|
this.maquinaSelectFilterPlana.init()
|
||||||
this.papelImpresionFilterPlana.init()
|
this.papelImpresionFilterPlana.init()
|
||||||
|
this.maquinaPadreSelectFilterPlana.init();
|
||||||
this.checkAllMetros.on('change', () => {
|
this.checkAllMetros.on('change', () => {
|
||||||
let isChecked = this.checkAllMetros.prop('checked')
|
let isChecked = this.checkAllMetros.prop('checked')
|
||||||
this.item.find(".metros-check").prop('checked', isChecked).trigger("change")
|
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"
|
url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
|
||||||
},
|
},
|
||||||
columns: this.datatablePlanaColumns,
|
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({
|
this.papelGramajeDatatable = this.papelGramajeTablePlanning.DataTable({
|
||||||
processing: true,
|
processing: true,
|
||||||
@ -223,9 +233,12 @@ class PlanningRotativa {
|
|||||||
let columnIndex = this.datatablePlanaColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name"))
|
let columnIndex = this.datatablePlanaColumns.findIndex((element) => element.data == $(event.currentTarget).attr("name"))
|
||||||
this.datatablePlanningPlana.column(columnIndex).search(this.maquinaSelectFilterPlana.getText()).draw()
|
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"))
|
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))
|
this.papelPliegoDatatable.on('draw', this.addTotalFooterPliego.bind(this))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user