realizados cambios para que se calcule el tiempo estimado

This commit is contained in:
2025-06-05 23:48:21 +02:00
parent 760144b5fc
commit 06ba0c0500
2 changed files with 22 additions and 3 deletions

View File

@ -116,6 +116,8 @@ class Ordentrabajo extends BaseController
$bodyData = $this->request->getPost();
$validated = $this->validation->run($bodyData, "orden_trabajo_tarea");
if ($validated) {
$tareaEntity = $this->otTarea->find($bodyData["orden_trabajo_tarea_id"]);
$this->produccionService->init($tareaEntity->orden_trabajo_id);
$r = $this->produccionService->updateOrdenTrabajoTarea($bodyData["orden_trabajo_tarea_id"], $bodyData);
$tareaEntity = $this->otTarea->find($bodyData["orden_trabajo_tarea_id"]);
return $this->response->setJSON(["message" => lang("App.global_alert_save_success"), "status" => $r, "data" => $tareaEntity]);

View File

@ -450,7 +450,7 @@ class ProductionService extends BaseService
'nombre' => lang('Produccion.end_cut'),
'maquina_id' => $maquina_id,
'orden' => $maquinaCorteEntity->orden_planning,
'tiempo_estimado' => $this->tiempoCorteFinalEstimado($maquinaCorteEntity),
'tiempo_estimado' => $this->tiempoEstimadoPorUnidad($maquinaCorteEntity),
'tiempo_real' => 0,
'is_corte' => true,
'tipo_corte' => "bobina",
@ -546,12 +546,14 @@ class ProductionService extends BaseService
$ot_tareas = [];
if (count($p_linea_maquinas) > 0) {
$linea_maquina = $p_linea_maquinas[0]; //Se obtiene la primera máquina aunque tenga varias
$maquinaEntity = $this->maquinaModel->find($linea_maquina->id);
$ot_tareas["orden_trabajo_id"] = $this->ot->id;
$ot_tareas["presupuesto_acabado_id"] = $p_linea->id;
$ot_tareas["nombre"] = $p_linea->tarifa()->nombre;
$ot_tareas["orden"] = $linea_maquina->orden_planning ?? 100;
$ot_tareas["maquina_id"] = $linea_maquina->id;
$ot_tareas["imposicion_id"] = null;
$ot_tareas['tiempo_estimado'] = $this->tiempoEstimadoPorUnidad($maquinaEntity);
$this->otTarea->insert($ot_tareas);
$ot_tareas = [];
} else {
@ -577,12 +579,14 @@ class ProductionService extends BaseService
$ot_tareas = [];
if (count($p_linea_maquinas) > 0) {
$linea_maquina = $p_linea_maquinas[0]; //Se obtiene la primera máquina aunque tenga varias
$maquinaEntity = $this->maquinaModel->find($linea_maquina->id);
$ot_tareas["orden_trabajo_id"] = $this->ot->id;
$ot_tareas["presupuesto_manipulado_id"] = $p_linea->id;
$ot_tareas["nombre"] = $p_linea->tarifa()->nombre;
$ot_tareas["orden"] = $linea_maquina->orden_planning ?? 100;
$ot_tareas["maquina_id"] = $linea_maquina->id;
$ot_tareas["imposicion_id"] = null;
$ot_tareas['tiempo_estimado'] = $this->tiempoEstimadoPorUnidad($maquinaEntity);
$this->otTarea->insert($ot_tareas);
$ot_tareas = [];
} else {
@ -608,12 +612,14 @@ class ProductionService extends BaseService
$ot_tareas = [];
if (count($p_linea_maquinas) > 0) {
$linea_maquina = $p_linea_maquinas[0]; //Se obtiene la primera máquina aunque tenga varias
$maquinaEntity = $this->maquinaModel->find($linea_maquina->id);
$ot_tareas["orden_trabajo_id"] = $this->ot->id;
$ot_tareas["presupuesto_preimpresion_id"] = $p_linea->id;
$ot_tareas["nombre"] = $p_linea->tarifa()->nombre;
$ot_tareas["orden"] = $linea_maquina->orden_planning ?? 100;
$ot_tareas["maquina_id"] = $linea_maquina->id;
$ot_tareas["imposicion_id"] = null;
$ot_tareas['tiempo_estimado'] = $this->tiempoEstimadoPorUnidad($maquinaEntity);
$this->otTarea->insert($ot_tareas);
$ot_tareas = [];
} else {
@ -639,12 +645,18 @@ class ProductionService extends BaseService
$ot_tareas = [];
if (count($p_linea_maquinas) > 0) {
$linea_maquina = $p_linea_maquinas[0]; //Se obtiene la primera máquina aunque tenga varias
$maquinaEntity = $this->maquinaModel->find($linea_maquina->id);
$ot_tareas["orden_trabajo_id"] = $this->ot->id;
$ot_tareas["presupuesto_encuadernado_id"] = $p_linea->id;
$ot_tareas["nombre"] = $p_linea->tarifa()->nombre;
$ot_tareas["orden"] = $linea_maquina->orden_planning ?? 110;
$ot_tareas["maquina_id"] = $linea_maquina->id;
$ot_tareas["tiempo_estimado"] = $p_linea->tiempo;
if($p_linea->tiempo <= 0){
$ot_tareas["tiempo_estimado"] = $this->tiempoEstimadoPorUnidad($maquinaEntity);
}
else{
$ot_tareas["tiempo_estimado"] = $p_linea->tiempo*3600; // El manipulado viene en horas
}
$ot_tareas["tiempo_real"] = $p_linea->tiempo;
$ot_tareas["imposicion_id"] = null;
$this->otTarea->insert($ot_tareas);
@ -1115,6 +1127,11 @@ class ProductionService extends BaseService
public function updateOrdenTrabajoTarea($tarea_id, $data): bool
{
$tareaEntity = $this->otTarea->find($tarea_id);
if(isset($data['maquina_id']) && $tareaEntity->maquina_id != $data['maquina_id']) {
$maquinaEntity = $this->maquinaModel->find($data['maquina_id']);
$data['tiempo_estimado'] = $this->tiempoEstimadoPorUnidad($maquinaEntity);
}
if (isset($data['maquina_id'])) {
$maquina = model(MaquinaModel::class)->find($data['maquina_id']);
$data['orden'] = $maquina->orden_planning;
@ -2424,7 +2441,7 @@ class ProductionService extends BaseService
* @param MaquinaEntity $maquina
* @return float $seconds
*/
public function tiempoCorteFinalEstimado(MaquinaEntity $maquina): float
public function tiempoEstimadoPorUnidad(MaquinaEntity $maquina): float
{
$seconds = 0;
if ($this->presupuesto->tirada > 0) {