mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
ot dev
This commit is contained in:
@ -2,6 +2,9 @@
|
||||
|
||||
namespace App\Models\Pedidos;
|
||||
|
||||
use App\Entities\Presupuestos\OrdenTrabajoEntity;
|
||||
use App\Models\OrdenTrabajo\OrdenTrabajoModel;
|
||||
|
||||
use function PHPSTORM_META\map;
|
||||
|
||||
class PedidoModel extends \App\Models\BaseModel
|
||||
@ -90,7 +93,7 @@ class PedidoModel extends \App\Models\BaseModel
|
||||
|
||||
return $lineasPresupuesto;
|
||||
}
|
||||
public function getPedidoPresupuestoTipoImpresion(int $presupuesto_id) : array|object|null
|
||||
public function getPedidoPresupuestoTipoImpresion(int $presupuesto_id): array|object|null
|
||||
{
|
||||
$q = $this->db->table($this->table)
|
||||
->select(
|
||||
@ -185,15 +188,51 @@ class PedidoModel extends \App\Models\BaseModel
|
||||
public function getPedidoPresupuestoFicheros($pedido_id)
|
||||
{
|
||||
$query = $this->db->table($this->table)
|
||||
->select([
|
||||
'presupuesto_ficheros.nombre as fileName',
|
||||
'presupuesto_ficheros.file_path as filePath'
|
||||
])
|
||||
->join('pedidos_linea', 'pedidos_linea.id = pedidos.id', 'left')
|
||||
->join('presupuestos', 'presupuestos.id = pedidos_linea.presupuesto_id', 'left')
|
||||
->join('presupuesto_ficheros', 'presupuesto_ficheros.presupuesto_id = presupuestos.id', 'left')
|
||||
->where('pedidos.id', $pedido_id);
|
||||
$presupuesto_ficheros = $query->get()->getFirstRow();
|
||||
return $presupuesto_ficheros;
|
||||
->select([
|
||||
'presupuesto_ficheros.nombre as fileName',
|
||||
'presupuesto_ficheros.file_path as filePath'
|
||||
])
|
||||
->join('pedidos_linea', 'pedidos_linea.id = pedidos.id', 'left')
|
||||
->join('presupuestos', 'presupuestos.id = pedidos_linea.presupuesto_id', 'left')
|
||||
->join('presupuesto_ficheros', 'presupuesto_ficheros.presupuesto_id = presupuestos.id', 'left')
|
||||
->where('pedidos.id', $pedido_id);
|
||||
$presupuesto_ficheros = $query->get()->getFirstRow();
|
||||
return $presupuesto_ficheros;
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea una orden de trabajo asociada al pedido
|
||||
*
|
||||
* @param integer $pedido_id
|
||||
* @return void
|
||||
*/
|
||||
public function createOrdenTrabajo(int $pedido_id)
|
||||
{
|
||||
$otModel = model(OrdenTrabajoModel::class);
|
||||
$ot = new OrdenTrabajoEntity(["pedido_id" => $pedido_id]);
|
||||
$existOt = $this->hasOrdenTrabajo($pedido_id);
|
||||
if ($existOt) {
|
||||
$ot = $otModel->find($pedido_id);
|
||||
return $ot;
|
||||
}
|
||||
$otModel->updateMaquinas($ot);
|
||||
}
|
||||
|
||||
/**
|
||||
* Comprueba si el pedido tiene ya una orden de trabajo asociada
|
||||
*
|
||||
* @param integer $pedido_id
|
||||
* @return boolean
|
||||
*/
|
||||
public function hasOrdenTrabajo(int $pedido_id): bool
|
||||
{
|
||||
$hasOrdenTrabajo = false;
|
||||
$q = $this->builder()->select("orden_trabajo.pedido_id")
|
||||
->join("ordenes_trabajo", "ordenes_trabajo.pedido_id = pedidos.id", "left")
|
||||
->where("ordenes_trabajo.pedido_id", $pedido_id)->countAllResults();
|
||||
if ($q > 0) {
|
||||
$hasOrdenTrabajo = true;
|
||||
}
|
||||
return $hasOrdenTrabajo;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user