button imprimir code safekat

This commit is contained in:
amazuecos
2025-04-21 00:12:51 +02:00
parent a137ede1a7
commit b318721b90
6 changed files with 35 additions and 6 deletions

View File

@ -760,6 +760,7 @@ $routes->group('produccion', ['namespace' => 'App\Controllers\Produccion'], func
*========================**/
$routes->post('get_files', 'Ordentrabajo::get_files');
$routes->post('upload_files', 'Ordentrabajo::upload_files');
$routes->get('barcode/(:num)', 'Ordentrabajo::imprimir_codigo_safekat/$1',['as' => "getOrdenTrabajoBarCode"]);
/**======================
* PDF
*========================**/

View File

@ -443,6 +443,15 @@ class Ordentrabajo extends BaseController
$color = $this->produccionService->init($orden_trabajo_id)->getOtColorStatus();
return $this->response->setJSON(["color" => $color]);
}
public function imprimir_codigo_safekat(int $orden_trabajo_id)
{
helper('file');
$barcode = $this->produccionService->init($orden_trabajo_id)->getFileBarCode();
return $this->response
->setHeader('Content-Type', 'image/png')
->setHeader('Content-Disposition', "attachment; filename=CodigoBarrasOT_{$orden_trabajo_id}.png")
->setBody($barcode);
}
public function maquinista_maquinas_view(){}
public function maquinista_colas_view(){}

View File

@ -121,6 +121,14 @@ class OrdenTrabajoEntity extends Entity
$barcodeData = $barcode->getBarcode($this->pedido()->presupuesto()->id);
return base64_encode($renderer->render($barcodeData, 200, 50));
}
public function getBarCodeFile()
{
$barcode = new TypeCode128();
$renderer = new PngRenderer();
$renderer->setBackgroundColor([255, 255, 255]); // Give a color blue for the background, default is transparent. Give it as 3 times 0-255 values for red, green and blue.
$barcodeData = $barcode->getBarcode($this->pedido()->presupuesto()->id);
return ($renderer->render($barcodeData, 200, 50));
}
public function files(): array
{
$m = model(OrdenTrabajoFileModel::class);

View File

@ -1617,4 +1617,7 @@ class ProductionService extends BaseService
}
return $this->isCorte;
}
public function getFileBarCode(){
return $this->ot->getBarCodeFile();
}
}

View File

@ -19,10 +19,16 @@
<h3 class="card-title mb-3" style="color: <?= $colors["general"]["color"] ?>;">OT : <?= $ot->id ?></h3>
<div class="d-flex align-items-center">
<div class="card-info" style="color: <?= $colors["general"]["color"] ?>;">
<h3 class="mb-0" style="color: <?= $colors["general"]["color"] ?>;"><?= $ot->progreso ?> %</h3>
<span class="fx-large">Progreso</span>
<h3 class="mb-0" style="color: <?= $colors["general"]["color"] ?>;"><?= $ot->progreso ?> %</h3>
</div>
</div>
<div class="mt-2">
<div>
<span class="fx-large">Código safekat</span>
</div>
<img class="img-fluid" src="data:image/png;base64,<?= $ot->bar_code ?>" alt="barcode" />
</div>
</div>
</div>
<div class="col-md-2">
@ -39,6 +45,9 @@
<a type="button" class="btn btn-danger btn-block mb-1" target="__blank" href="<?= "/produccion/ordentrabajo/pdf/" . $modelId ?>">
<span class="ti-sm ti ti-file me-1"></span>
PDF</a>
<a type="button" href="<?= route_to('getOrdenTrabajoBarCode', $modelId) ?>" class="btn btn-secondary btn-block mb-1" download><span class="ti-sm ti ti-barcode me-1"></span><?= @lang("Produccion.imprimir_codigo_safekat") ?></a>
</div>
</div>
</div>

View File

@ -33,9 +33,6 @@
<div class="col-md-12 section-block">
<?= view("themes/vuexy/form/produccion/ot/otFiles") ?>
</div>
<div class="col-md-12 section-block">
<?= view("themes/vuexy/form/produccion/ot/otCosts") ?>
</div>
<div class="col-md-12 section-block">
<?= view("themes/vuexy/form/produccion/ot/otComments") ?>
</div>
@ -45,8 +42,10 @@
<a type="button" class="btn btn-outline-danger btn-block mb-1" target="__blank" href="<?= "/produccion/ordentrabajo/pdf/" . $modelId ?>">
<span class="ti-sm ti ti-eye me-1"></span>
<?= @lang("Produccion.preview_pdf") ?></a>
<button type="button" class="btn btn-primary btn-block mb-1"><?= @lang("Produccion.imprimir_ferro") ?></button>
<button type="button" class="btn btn-secondary btn-block mb-1"><?= @lang("Produccion.imprimir_codigo_safekat") ?></button>
<?php if ($presupuesto->prototipo): ?>
<button type="button" class="btn btn-primary btn-block mb-1 beta"><?= @lang("Produccion.imprimir_ferro") ?></button>
<? endif; ?>
<a type="button" href="<?= route_to('getOrdenTrabajoBarCode', $modelId) ?>" class="btn btn-secondary btn-block mb-1" download><?= @lang("Produccion.imprimir_codigo_safekat") ?></a>
</div>
</div>