mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
terminado
This commit is contained in:
@ -134,6 +134,87 @@ class ImpresoraEtiquetaService extends BaseService
|
||||
return $xml->saveXML();
|
||||
}
|
||||
|
||||
public function generateEtiquetasEmbalaje($ot_id, $ejemplares_caja, $printer)
|
||||
{
|
||||
$data = [
|
||||
"printer" => $printer->name,
|
||||
"header" => [
|
||||
"_FORMAT" => "E:PEDIDO.ZPL",
|
||||
"_QUANTITY" => 1,
|
||||
"_PRINBTERNAME" => $printer->name,
|
||||
"_JOBNAME" => "LBL101"
|
||||
],
|
||||
];
|
||||
|
||||
$ot_model = model('App\Models\OrdenTrabajo\OrdenTrabajoModel');
|
||||
$datos = $ot_model->select('
|
||||
ordenes_trabajo.total_tirada as unidades,
|
||||
clientes.nombre as cliente,
|
||||
presupuestos.titulo as titulo,
|
||||
presupuestos.isbn as isbn,
|
||||
presupuestos.referencia_cliente as referencia_cliente,
|
||||
pedidos.id as pedido
|
||||
')
|
||||
->join('pedidos', 'ordenes_trabajo.pedido_id = pedidos.id')
|
||||
->join('pedidos_linea', 'pedidos.id = pedidos_linea.pedido_id')
|
||||
->join('presupuestos', 'pedidos_linea.presupuesto_id = presupuestos.id')
|
||||
->join('clientes', 'presupuestos.cliente_id = clientes.id')
|
||||
->where('ordenes_trabajo.id', $ot_id)
|
||||
->first();
|
||||
$cajas = ceil($datos->unidades / $ejemplares_caja);
|
||||
$cantidad = 0;
|
||||
|
||||
for( $i = 1; $i <= $cajas; $i++) {
|
||||
$data["labels"][] = [
|
||||
"cliente" => $datos->cliente,
|
||||
"titulo" => $datos->titulo,
|
||||
"cantidad" => $cantidad + $ejemplares_caja <= $datos->unidades ? $ejemplares_caja : $datos->unidades-$cantidad,
|
||||
"tirada" => $datos->unidades,
|
||||
"cajas" => $cajas,
|
||||
"ean" => str_replace("-", "", $datos->isbn),
|
||||
"nombre" => null,
|
||||
"direccion" => null,
|
||||
"notas" => "",
|
||||
"refcliente" => $datos->referencia_cliente,
|
||||
"npedido" => $datos->pedido
|
||||
];
|
||||
|
||||
$cantidad += $ejemplares_caja;
|
||||
}
|
||||
|
||||
$servicioImpresora = new ImpresoraEtiquetaService();
|
||||
$xml = $servicioImpresora->createEtiqueta($data);
|
||||
if ($xml == null) {
|
||||
return [
|
||||
'status' => false,
|
||||
'message' => lang('Logistica.errors.noEtiquetas'),
|
||||
];
|
||||
}
|
||||
$sk_environment = getenv('SK_ENVIRONMENT');
|
||||
if ($sk_environment == 'production') {
|
||||
|
||||
$status = $servicioImpresora->sendToImpresoraEtiqueta("ETIQUETA", $xml, $printer);
|
||||
if ($status) {
|
||||
return [
|
||||
'status' => true,
|
||||
'message' => lang('Logistica.success.imprimirEtiquetas'),
|
||||
'data' => $xml
|
||||
];
|
||||
} else {
|
||||
return [
|
||||
'status' => false,
|
||||
'message' => lang('Logistica.errors.noEtiquetas'),
|
||||
];
|
||||
}
|
||||
|
||||
} else {
|
||||
return [
|
||||
'status' => true,
|
||||
'message' => lang('Logistica.success.imprimirEtiquetas'),
|
||||
'data' => $xml
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function sendToImpresoraEtiqueta(string $name, string $content, ImpresoraEtiquetaEntity $impresoraEtiqueta): bool
|
||||
|
||||
Reference in New Issue
Block a user