Merge branch 'fix/planning-plana-select-maquina-papel' into feat/maquinas-corte-ot

This commit is contained in:
amazuecos
2025-05-31 08:35:50 +02:00
7 changed files with 58 additions and 29 deletions

View File

@ -375,7 +375,11 @@ class Ordentrabajo extends BaseController
public function maquina_plana_datatable()
{
// return $this->response->setStatusCode(400);
$padreId = $this->request->getGet('padre_id');
$q = $this->produccionService->maquinaPlanaDatatableQuery();
if ($padreId) {
$q->where('lg_maquinas.padre_id', $padreId);
}
return DataTable::of($q)
->edit("tiempoReal", fn($q) => $q->tiempoReal)
->add("action", fn($q) => ["title" => lang('Produccion.datatable.filter_by_machine'), 'data' => $q])
@ -496,10 +500,7 @@ class Ordentrabajo extends BaseController
public function planning_plana_datatable()
{
$query = $this->produccionService->planningPlanaQueryDatatable();
$padreId = $this->request->getGet('padre_id');
if ($padreId) {
$query->where('lg_maquinas.padre_id', $padreId);
}
return DataTable::of($query)
->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") : "")
@ -523,7 +524,7 @@ class Ordentrabajo extends BaseController
{
$q = $this->request->getGet('q');
$padreId = $this->request->getGet('padre_id');
$result = $this->produccionService->querySelectMaquinaPlanningPlana($q,$padreId);
$result = $this->produccionService->querySelectMaquinaPlanningPlana($q, $padreId);
return $this->response->setJSON($result);
}
public function select_maquina_padre_planning_plana()
@ -535,7 +536,8 @@ class Ordentrabajo extends BaseController
public function select_papel_planning_plana()
{
$q = $this->request->getGet('q');
$result = $this->produccionService->querySelectPapelPlanningPlana($q);
$maquinaId = $this->request->getGet('maquina_id');
$result = $this->produccionService->querySelectPapelPlanningPlana($q,$maquinaId);
return $this->response->setJSON($result);
}
public function tarea_toggle_corte($orden_trabajo_id)

View File

@ -145,6 +145,7 @@ return [
],
"maquinas_planas" => "Máquinas planas",
"select_maquina_padre" => "Seleccione una máquina",
"progress_ferro" => "Ferro",
"progress_preimpresion" => "Preimpresión",
"progress_logistica" => "Logística",

View File

@ -2131,7 +2131,17 @@ class PresupuestoService extends BaseService
if($pedido_linea){
$text = "REIMPRESION [" . date('Y-m-d H:i:s') . "] - PEDIDO: " . $pedido_linea->pedido_id .
"\n================================================\n";
$presupuesto->comentarios_safekat = $presupuesto->comentarios_safekat . $text;
$presupuesto->comentarios_safekat = $text . $presupuesto->comentarios_safekat ;
}
}
else if($is_reimpresion){
$presupuesto->inc_rei = null;
$modelPedidoLinea = model('App\Models\Pedidos\PedidoLineaModel');
$pedido_linea = $modelPedidoLinea->where('presupuesto_id', $id)->first();
if($pedido_linea){
$text = "DUPLICADO [" . date('Y-m-d H:i:s') . "] - PEDIDO: " . $pedido_linea->pedido_id .
"\n================================================\n";
$presupuesto->comentarios_safekat = $text . $presupuesto->comentarios_safekat;
}
}
else{

View File

@ -212,6 +212,7 @@ class ProductionService extends BaseService
public function __construct()
{
$this->otModel = model(OrdenTrabajoModel::class);
$this->maquinaModel = model(MaquinaModel::class);
$this->otDate = model(OrdenTrabajoDate::class);
$this->otTarea = model(OrdenTrabajoTarea::class);
$this->otUser = model(OrdenTrabajoUser::class);
@ -245,8 +246,6 @@ class ProductionService extends BaseService
public function init(int $orden_trabajo_id): self
{
try {
$this->maquinaModel = model(MaquinaModel::class);
$this->otModel = model(OrdenTrabajoModel::class);
$ot = $this->otModel->find($orden_trabajo_id);
if ($ot == null) {
throw new Exception(lang('Produccion.errors.ot_not_found', ['ot_id' => $orden_trabajo_id]));
@ -802,6 +801,7 @@ class ProductionService extends BaseService
->join("lg_imposiciones", "lg_imposiciones.id = orden_trabajo_tareas.imposicion_id", "left")
->whereIn("presupuesto_linea.tipo", $this->TIPOS_ROTATIVA)
->where('lg_maquinas.is_rotativa', true)
->where('lg_maquinas.tipo', 'impresion')
->where("orden_trabajo_tareas.deleted_at", null)
->orderBy("orden_trabajo_tareas.orden", "ASC")
->groupBy('ordenes_trabajo.id');
@ -844,6 +844,7 @@ class ProductionService extends BaseService
// ->where("orden_trabajo_tareas.orden_trabajo_id", $this->ot->id)
->whereIn("presupuesto_linea.tipo", $this->TIPOS_PLANA)
->where('lg_maquinas.is_rotativa', false)
->where('lg_maquinas.tipo', 'impresion')
->where("orden_trabajo_tareas.deleted_at", null)
->orderBy("orden_trabajo_tareas.orden", "ASC")
->groupBy('ordenes_trabajo.id');
@ -957,6 +958,8 @@ class ProductionService extends BaseService
->where("orden_trabajo_tareas.deleted_at", null)
->where("orden_trabajo_tareas.presupuesto_linea_id IS NOT NULL", NULL, FALSE)
->whereIn("presupuesto_linea.tipo", $this->TIPOS_PLANA)
->where('lg_maquinas.tipo', 'impresion')
// ->where('lg_maquinas.padre_id', 0)
->groupBy('lg_maquinas.id');
@ -1410,10 +1413,8 @@ class ProductionService extends BaseService
->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)
->where('lg_maquinas.is_padre !=', 0)
->groupBy("mp.id");
if ($q) {
$query->like('lg_maquinas.nombre', $q);
@ -1440,7 +1441,7 @@ class ProductionService extends BaseService
}
return $query->get()->getResultArray();
}
public function querySelectPapelPlanningPlana($q)
public function querySelectPapelPlanningPlana($q, ?string $maquinaId)
{
$query = $this->otModel->builder()->select([
"lg_papel_impresion.id",
@ -1458,6 +1459,9 @@ class ProductionService extends BaseService
if ($q) {
$query->like('lg_papel_impresion.nombre', $q);
}
if ($maquinaId) {
$query->where('orden_trabajo_tareas.maquina_id', $maquinaId);
}
return $query->get()->getResultArray();
}
public function tareaUpdateMaquinaCorte($orden_trabajo_id): bool

View File

@ -24,7 +24,6 @@
<th><input type="text" class="form-control planning-filter" name="presupuesto_titulo" placeholder="Titulo"></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>

View File

@ -29,7 +29,7 @@
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade show active" id="prot-datatables-container-rot" role="tabpanel">
<div class="tab-pane fade show active" id="prot-datatables-container-rot" role="tabpanel">
<div class="accordion accordion-bordered mt-3" id="accordionPapelGramaje">
<div class="card accordion-item active">
<h2 class="accordion-header" id="headingOne">
@ -86,7 +86,13 @@
<div class="d-none">
<?= view("themes/vuexy/components/tables/planning_papel_pliego_table.php", ["id" => "planning-pliego-datatable"]) ?>
</div>
<?= view("themes/vuexy/components/tables/planning_maquina_table.php", ["id" => "planning-maquina-datatable"]) ?>
<div class="row">
<div class="col-md-12 mb-2">
<label for="select-planning-maquina-padre"><?= lang('Produccion.select_maquina_padre') ?></label>
<select class="select2 form-select-sm planning-maquina-padre-select" id="select-planning-maquina-padre" name="lg_maquinas.padre_id"></select>
</div>
<?= view("themes/vuexy/components/tables/planning_maquina_table.php", ["id" => "planning-maquina-datatable"]) ?>
</div>
</div>
</div>
</div>