mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
ot pliegos
This commit is contained in:
@ -744,8 +744,8 @@ $routes->group('produccion', ['namespace' => 'App\Controllers\Produccion'], func
|
||||
$routes->get('datatable_ferro_pendiente', 'Ordentrabajo::datatable_ferro_pendiente');
|
||||
$routes->get('datatable_ferro_ok', 'Ordentrabajo::datatable_ferro_ok');
|
||||
$routes->get('tareas/datatable/(:num)', 'Ordentrabajo::tareas_datatable/$1', ['as' => 'datatableTareasOrdenTrabajo']);
|
||||
$routes->get("tarea/progress/(:num)","Ordentrabajo::get_orden_trabajo_progress_date/$1");
|
||||
|
||||
$routes->get("tarea/progress/(:num)", "Ordentrabajo::get_orden_trabajo_progress_date/$1");
|
||||
$routes->get('tarea/(:num)', 'Ordentrabajo::find_tarea/$1');
|
||||
/**======================
|
||||
* UPDATES
|
||||
*========================**/
|
||||
@ -760,15 +760,16 @@ $routes->group('produccion', ['namespace' => 'App\Controllers\Produccion'], func
|
||||
$routes->post("upload/portada", 'Ordentrabajo::upload_orden_trabajo_portada');
|
||||
$routes->delete("portada/(:num)", 'Ordentrabajo::delete_orden_trabajo_portada/$1');
|
||||
$routes->get("color/(:num)", 'Ordentrabajo::get_orden_trabajo_color_status/$1');
|
||||
$routes->post("update/tarea/progress","Ordentrabajo::store_orden_trabajo_progress_date");
|
||||
$routes->delete("tarea/progress/(:num)","Ordentrabajo::delete_orden_trabajo_progress_date/$1");
|
||||
$routes->post("update/tarea/progress", "Ordentrabajo::store_orden_trabajo_progress_date");
|
||||
$routes->post("update/tarea/pliegos", "Ordentrabajo::update_orden_trabajo_pliegos");
|
||||
$routes->delete("tarea/progress/(:num)", "Ordentrabajo::delete_orden_trabajo_progress_date/$1");
|
||||
|
||||
/**======================
|
||||
* FILES
|
||||
*========================**/
|
||||
$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"]);
|
||||
$routes->get('barcode/(:num)', 'Ordentrabajo::imprimir_codigo_safekat/$1', ['as' => "getOrdenTrabajoBarCode"]);
|
||||
/**======================
|
||||
* PDF
|
||||
*========================**/
|
||||
@ -818,7 +819,7 @@ $routes->group('logistica', ['namespace' => 'App\Controllers\Logistica'], functi
|
||||
$routes->post('finalizarEnvio', 'LogisticaController::finalizarEnvio');
|
||||
$routes->post('generateEnvio', 'LogisticaController::generarEnvio');
|
||||
$routes->get('selectForNewEnvio', 'LogisticaController::findForNewEnvio');
|
||||
$routes->get('selectDireccionForEnvio', 'LogisticaController::selectDireccionForEnvio');
|
||||
$routes->get('selectDireccionForEnvio', 'LogisticaController::selectDireccionForEnvio');
|
||||
$routes->post('imprimirEtiquetas', 'LogisticaController::imprimirEtiquetas');
|
||||
});
|
||||
|
||||
|
||||
@ -70,6 +70,11 @@ class Ordentrabajo extends BaseController
|
||||
}
|
||||
|
||||
|
||||
public function find_tarea($orden_trabajo_tarea_id)
|
||||
{
|
||||
$t = $this->otTarea->find($orden_trabajo_tarea_id);
|
||||
return $this->response->setJSON($t);
|
||||
}
|
||||
public function get_orden_trabajo_summary($orden_trabajo_id)
|
||||
{
|
||||
try {
|
||||
@ -100,7 +105,7 @@ class Ordentrabajo extends BaseController
|
||||
public function update_orden_trabajo_tarea()
|
||||
{
|
||||
$bodyData = $this->request->getPost();
|
||||
// return $this->response->setJSON(["message" => lang("App.global_alert_save_success"), "data" => $bodyData]);
|
||||
return $this->response->setJSON(["message" => lang("App.global_alert_save_success"), "data" => $bodyData]);
|
||||
$validated = $this->validation->run($bodyData, "orden_trabajo_tarea");
|
||||
if ($validated) {
|
||||
$r = $this->produccionService->updateOrdenTrabajoTarea($bodyData["orden_trabajo_tarea_id"], $bodyData);
|
||||
@ -109,6 +114,18 @@ class Ordentrabajo extends BaseController
|
||||
return $this->response->setJSON(["errors" => $this->validation->getErrors()])->setStatusCode(400);
|
||||
}
|
||||
}
|
||||
public function update_orden_trabajo_pliegos()
|
||||
{
|
||||
$bodyData = $this->request->getPost();
|
||||
// return $this->response->setJSON(["message" => lang("App.global_alert_save_success"), "data" => $bodyData]);
|
||||
$validated = $this->validation->run($bodyData, "orden_trabajo");
|
||||
if ($validated) {
|
||||
$r = $this->produccionService->init($bodyData["orden_trabajo_id"])->updateOrdenTrabajoTareaPliegos($bodyData);
|
||||
return $this->response->setJSON(["message" => lang("App.global_alert_save_success"), "status" => $r, "data" => $bodyData]);
|
||||
} else {
|
||||
return $this->response->setJSON(["errors" => $this->validation->getErrors()])->setStatusCode(400);
|
||||
}
|
||||
}
|
||||
public function update_orden_trabajo_date()
|
||||
{
|
||||
$bodyData = $this->request->getPost();
|
||||
@ -128,7 +145,7 @@ class Ordentrabajo extends BaseController
|
||||
$validated = $this->validation->run($bodyData, "orden_trabajo_date");
|
||||
if ($validated) {
|
||||
$validatedData = $bodyData;
|
||||
$r = $this->produccionService->emptyOrdenTrabajoDate($validatedData['orden_trabajo_id'],$validatedData['name']);
|
||||
$r = $this->produccionService->emptyOrdenTrabajoDate($validatedData['orden_trabajo_id'], $validatedData['name']);
|
||||
return $this->response->setJSON(["message" => lang("App.global_alert_save_success"), "status" => $r, "user" => auth()->user(), "data" => $bodyData]);
|
||||
} else {
|
||||
return $this->response->setJSON(["errors" => $this->validation->getErrors()])->setStatusCode(400);
|
||||
@ -524,10 +541,10 @@ class Ordentrabajo extends BaseController
|
||||
{
|
||||
return view(static::$viewPath . '/maquinista/viewMaquinistaPlanningList', $this->viewData);
|
||||
}
|
||||
public function maquinista_maquina_tareas_datatable(string $content , int $maquina_id)
|
||||
public function maquinista_maquina_tareas_datatable(string $content, int $maquina_id)
|
||||
{
|
||||
$pm = $this->produccionService->getMaquinaImpresionTareasList($maquina_id);
|
||||
if($content == 'today'){
|
||||
if ($content == 'today') {
|
||||
$pm->like('pedidos.fecha_impresion', Time::now()->format('Y-m-d'));
|
||||
}
|
||||
return DataTable::of($pm)
|
||||
|
||||
@ -80,7 +80,7 @@ class CreateCatalogoLibros extends Migration
|
||||
$this->forge->addUniqueKey('isk');
|
||||
$this->forge->addForeignKey('cliente_id', 'clientes', 'id');
|
||||
|
||||
$this->forge->createTable('catalogo_libros');
|
||||
$this->forge->createTable('catalogo_libros',true);
|
||||
|
||||
$this->db->query('SET foreign_key_checks = 1');
|
||||
}
|
||||
|
||||
@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace App\Database\Migrations;
|
||||
|
||||
use CodeIgniter\Database\Migration;
|
||||
|
||||
class AddPliegoColumnOrdenTrabajoTarea extends Migration
|
||||
{
|
||||
|
||||
protected array $COLUMNS = [
|
||||
"pliego_1" => [
|
||||
"type" => "INT",
|
||||
"unsigned" => true,
|
||||
"default" => 0,
|
||||
],
|
||||
"pliego_1_total" => [
|
||||
"type" => "INT",
|
||||
"unsigned" => true,
|
||||
"default" => 0,
|
||||
],
|
||||
"pliego_2" => [
|
||||
"type" => "INT",
|
||||
"unsigned" => true,
|
||||
"default" => 0,
|
||||
],
|
||||
"pliego_2_total" => [
|
||||
"type" => "INT",
|
||||
"unsigned" => true,
|
||||
"default" => 0,
|
||||
],
|
||||
];
|
||||
public function up()
|
||||
{
|
||||
$this->forge->addColumn('orden_trabajo_tareas', $this->COLUMNS);
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$this->forge->dropColumn('orden_trabajo_tareas', array_keys($this->COLUMNS));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Database\Migrations;
|
||||
|
||||
use CodeIgniter\Database\Migration;
|
||||
|
||||
class AddPliegoColumnOrdenTrabajoTarea extends Migration
|
||||
{
|
||||
|
||||
|
||||
public function up()
|
||||
{
|
||||
$this->forge->dropForeignKey('orden_trabajo_tarea_progress_dates','orden_trabajo_tarea_progress_dates_ot_tarea_id_foreign');
|
||||
$this->forge->addForeignKey("ot_tarea_id","orden_trabajo_tareas","id",'CASCADE','CASCADE');
|
||||
$this->forge->processIndexes('orden_trabajo_tarea_progress_dates');
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$this->forge->dropForeignKey('orden_trabajo_tarea_progress_dates','orden_trabajo_tarea_progress_dates_ot_tarea_id_foreign');
|
||||
$this->forge->addForeignKey("ot_tarea_id","orden_trabajo_tareas","id");
|
||||
$this->forge->processIndexes('orden_trabajo_tarea_progress_dates');
|
||||
}
|
||||
}
|
||||
@ -68,7 +68,7 @@ class OrdenTrabajoEntity extends Entity
|
||||
/**
|
||||
* Devuelve las tareas de la orden de trabajo.
|
||||
*
|
||||
* @return array<OrdenTrabajoTarea>
|
||||
* @return array<OrdenTrabajoTareaEntity>
|
||||
*/
|
||||
public function tareas(): array
|
||||
{
|
||||
|
||||
@ -34,8 +34,11 @@ class OrdenTrabajoTareaEntity extends Entity
|
||||
"comment" => null,
|
||||
"click_init" => null,
|
||||
"click_end" => null,
|
||||
"pliego_1" => null,
|
||||
"pliego_1_total" => null,
|
||||
"pliego_2" => null,
|
||||
"pliego_2_total" => null,
|
||||
];
|
||||
protected $datamap = [];
|
||||
protected $dates = ['created_at', 'updated_at', 'deleted_at'];
|
||||
protected $casts = [
|
||||
"id" => "integer",
|
||||
@ -52,6 +55,10 @@ class OrdenTrabajoTareaEntity extends Entity
|
||||
"comment" => "?string",
|
||||
"click_init" => "integer",
|
||||
"click_end" => "integer",
|
||||
"pliego_1" => "integer",
|
||||
"pliego_1_total" => "integer",
|
||||
"pliego_2" => "integer",
|
||||
"pliego_2_total" => "integer",
|
||||
];
|
||||
|
||||
/**
|
||||
@ -113,6 +120,20 @@ class OrdenTrabajoTareaEntity extends Entity
|
||||
$m = model(PresupuestoAcabadosModel::class);
|
||||
return $m->find($this->attributes["presupuesto_linea_id"]);
|
||||
}
|
||||
/**
|
||||
* Devuelve el presupuesto acabado origen de esta tarea
|
||||
*
|
||||
* @return ?PresupuestoManipuladosEntity
|
||||
*/
|
||||
public function presupuesto_manipulado(): ?PresupuestoManipuladosEntity
|
||||
{
|
||||
$m = model(PresupuestoManipuladosModel::class);
|
||||
$p = null;
|
||||
if ($this->attributes['presupuesto_manipulado_id']) {
|
||||
$p = $m->find($this->attributes["presupuesto_manipulado_id"]);
|
||||
}
|
||||
return $p;
|
||||
}
|
||||
public function imposicion(): ?Imposicion
|
||||
{
|
||||
$m = model(ImposicionModel::class);
|
||||
@ -152,5 +173,13 @@ class OrdenTrabajoTareaEntity extends Entity
|
||||
{
|
||||
return $this->attributes['click_end'] - $this->attributes['click_init'];
|
||||
}
|
||||
|
||||
public function isCosido(): bool
|
||||
{
|
||||
$isTareaCosido = false;
|
||||
$pm = $this->presupuesto_manipulado();
|
||||
if ($pm) {
|
||||
$isTareaCosido = $pm->tarifa()->isCosido();
|
||||
}
|
||||
return $isTareaCosido;
|
||||
}
|
||||
}
|
||||
|
||||
@ -33,4 +33,9 @@ class TarifaManipuladoEntity extends \CodeIgniter\Entity\Entity
|
||||
"user_updated_id" => "int",
|
||||
"is_deleted" => "int",
|
||||
];
|
||||
|
||||
public function isCosido(): bool
|
||||
{
|
||||
return in_array($this->attributes['id'], [3, 17]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -50,6 +50,7 @@ return [
|
||||
"pendientes" => "Pendientes",
|
||||
"ferro_ok" => "Ferro ok",
|
||||
"envio" => "Envío",
|
||||
"ferro" => "Ferro",
|
||||
"ot" => "Orden trabajo",
|
||||
"ots" => "Órdenes trabajo",
|
||||
"tiempo_procesamiento" => "Tiempo procesamiento",
|
||||
@ -121,8 +122,9 @@ return [
|
||||
|
||||
],
|
||||
|
||||
"progress_ferro" => "Ferro",
|
||||
"progress_preimpresion" => "Preimpresión",
|
||||
"progress_logistica" => "Ferro/Logística",
|
||||
"progress_logistica" => "Logística",
|
||||
"progress_impresion" => "Impresión",
|
||||
"progress_manipulado" => "Manipulado/Acabado",
|
||||
|
||||
|
||||
@ -32,7 +32,11 @@ class OrdenTrabajoTarea extends Model
|
||||
"tipo_corte",
|
||||
"comment",
|
||||
"click_init",
|
||||
"click_end"
|
||||
"click_end",
|
||||
"pliego_1",
|
||||
"pliego_1_total",
|
||||
"pliego_2",
|
||||
"pliego_2_total"
|
||||
];
|
||||
|
||||
protected bool $allowEmptyInserts = false;
|
||||
|
||||
@ -98,6 +98,13 @@ class ProductionService extends BaseService
|
||||
* @var boolean
|
||||
*/
|
||||
public bool $isGofrado = false; //* CHECK DONE
|
||||
|
||||
/**
|
||||
* Indica si la orden de trabajo contiene cosido
|
||||
* Se usa para mostrar la fecha correspondiente en la vista y pliegos
|
||||
* @var boolean
|
||||
*/
|
||||
public bool $isCosido = false; //* CHECK DONE
|
||||
/**
|
||||
* Indica si la orden de trabajo contiene gofrado
|
||||
* Se usa para mostrar la fecha correspondiente en la vista
|
||||
@ -222,7 +229,6 @@ class ProductionService extends BaseService
|
||||
{
|
||||
return $this->ot;
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea una instancia de la orden de trabajo
|
||||
*
|
||||
@ -814,6 +820,7 @@ class ProductionService extends BaseService
|
||||
"tareas_impresion" => $this->tareas_impresion(),
|
||||
"tiempo_procesamiento" => $this->getTiempoProcesamientoHHMM(),
|
||||
"statusColor" => $this->getOtColorStatus(),
|
||||
"tareaCosido" => $this->getTareaCosido(),
|
||||
];
|
||||
return $summary;
|
||||
}
|
||||
@ -842,8 +849,8 @@ class ProductionService extends BaseService
|
||||
"tiempo_impresion" => $this->getTiempoTareasImpresionHHMM(),
|
||||
"colors" => $this->getPdfColors(),
|
||||
"isPOD" => $this->isPOD,
|
||||
"uvi" => $this->getUVI()
|
||||
|
||||
"uvi" => $this->getUVI(),
|
||||
"tareaCosido" => $this->getTareaCosido(),
|
||||
];
|
||||
}
|
||||
public function getImposicionTareaImpresion(): ?Imposicion
|
||||
@ -894,27 +901,27 @@ class ProductionService extends BaseService
|
||||
public function getPresupuestoLineaImpresion() {}
|
||||
public function tareas_acabado(): array
|
||||
{
|
||||
$q = $this->otTarea->where("presupuesto_acabado_id IS NOT NULL", NULL, FALSE)->findAll();
|
||||
$q = $this->otTarea->where('orden_trabajo_id', $this->ot->id)->where("presupuesto_acabado_id IS NOT NULL", NULL, FALSE)->findAll();
|
||||
return $q;
|
||||
}
|
||||
public function tareas_impresion(): array
|
||||
{
|
||||
$q = $this->otTarea->where("presupuesto_linea_id IS NOT NULL", NULL, FALSE)->findAll();
|
||||
$q = $this->otTarea->where('orden_trabajo_id', $this->ot->id)->where("presupuesto_linea_id IS NOT NULL", NULL, FALSE)->findAll();
|
||||
return $q;
|
||||
}
|
||||
public function tareas_encuadernacion(): array
|
||||
{
|
||||
$q = $this->otTarea->where("presupuesto_encuadernado_id IS NOT NULL", NULL, FALSE)->findAll();
|
||||
$q = $this->otTarea->where('orden_trabajo_id', $this->ot->id)->where("presupuesto_encuadernado_id IS NOT NULL", NULL, FALSE)->findAll();
|
||||
return $q;
|
||||
}
|
||||
public function tareas_preimpresion(): array
|
||||
{
|
||||
$q = $this->otTarea->where("presupuesto_preimpresion_id IS NOT NULL", NULL, FALSE)->findAll();
|
||||
$q = $this->otTarea->where('orden_trabajo_id', $this->ot->id)->where("presupuesto_preimpresion_id IS NOT NULL", NULL, FALSE)->findAll();
|
||||
return $q;
|
||||
}
|
||||
public function tareas_manipulado(): array
|
||||
{
|
||||
$q = $this->otTarea->where("presupuesto_manipulado_id IS NOT NULL", NULL, FALSE)->findAll();
|
||||
$q = $this->otTarea->where('orden_trabajo_id', $this->ot->id)->where("presupuesto_manipulado_id IS NOT NULL", NULL, FALSE)->findAll();
|
||||
return $q;
|
||||
}
|
||||
/**========================================================================
|
||||
@ -929,6 +936,18 @@ class ProductionService extends BaseService
|
||||
}
|
||||
return $this->otTarea->update($tarea_id, $data);
|
||||
}
|
||||
public function updateOrdenTrabajoTareaPliegos($data_pliegos): bool
|
||||
{
|
||||
$flag = false;
|
||||
$tareas = $this->ot->tareas();
|
||||
foreach ($tareas as $key => $tarea) {
|
||||
if ($tarea->isCosido()) {
|
||||
$flag = $this->otTarea->update($tarea->id, $data_pliegos);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return $flag;
|
||||
}
|
||||
public function storeOrdenTrabajoTareaProgressDate($data): bool
|
||||
{
|
||||
$data["action_at"] = Time::now()->format('Y-m-d H:i:s');
|
||||
@ -1618,7 +1637,8 @@ class ProductionService extends BaseService
|
||||
"isColor" => $this->isColor,
|
||||
"isBN" => $this->isBN,
|
||||
"isCorte" => $this->corte(),
|
||||
"isGrapado" => $this->isGrapado
|
||||
"isGrapado" => $this->isGrapado,
|
||||
"isCosido" => $this->cosido(),
|
||||
];
|
||||
}
|
||||
public function gofrado(): bool
|
||||
@ -1638,6 +1658,20 @@ class ProductionService extends BaseService
|
||||
$this->isGofrado = $flag;
|
||||
return $this->isGofrado;
|
||||
}
|
||||
public function cosido(): bool
|
||||
{
|
||||
$flag = false;
|
||||
$manipulados = $this->presupuesto->manipulados();
|
||||
foreach ($manipulados as $key => $manipulado) {
|
||||
$tarifa_manipulado = $manipulado->tarifa();
|
||||
if ($tarifa_manipulado->isCosido()) {
|
||||
$flag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
$this->isCosido = $flag;
|
||||
return $this->isCosido;
|
||||
}
|
||||
public function uvi(): bool
|
||||
{
|
||||
$flag = false;
|
||||
@ -1737,4 +1771,16 @@ class ProductionService extends BaseService
|
||||
$url = route_to("viewProduccionMaquinistaTareaView", $id);
|
||||
return "<a type='button' href='$url' class='maquina-btn btn btn-primary btn-md'><span class='ti ti-arrow-big-right'></span></a>";
|
||||
}
|
||||
public function getTareaCosido(): ?OrdenTrabajoTareaEntity
|
||||
{
|
||||
$tareaCosido = null;
|
||||
$tareas = $this->ot->tareas();
|
||||
foreach ($tareas as $key => $tarea) {
|
||||
if ($tarea->isCosido()) {
|
||||
$tareaCosido = $tarea;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return $tareaCosido;
|
||||
}
|
||||
}
|
||||
|
||||
@ -21,7 +21,95 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3 <?= $user_dates["pre_formato_at"]||$user_dates["pre_lomo_at"]||$user_dates["pre_solapa_at"]||$user_dates["pre_codbarras_at"]||$user_dates["pre_imposicion_at"] ? "" : "d-none" ?>">
|
||||
<!-- PREIMPRESION -->
|
||||
<!-- Preformato -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100">
|
||||
<h4><?= lang("Produccion.progress_preimpresion") ?></h4>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $ot->revisar_formato ? "" : "d-none" ?>">
|
||||
<label for="ot-preformato-btn" class="form-label"><?= @lang("Produccion.pre_formato") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" placeholder="DD/MM/YYYY" name="pre_formato_at" id="ot-preformato-date" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["pre_formato_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
</div>
|
||||
<!-- Prelomo -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $ot->revisar_lomo ? "" : "d-none" ?>">
|
||||
<label for="ot-prelomo-btn" class="form-label"><?= @lang("Produccion.pre_lomo") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" placeholder="DD/MM/YYYY" name="pre_lomo_at" id="ot-prelomo-date" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["pre_lomo_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
|
||||
</div>
|
||||
<!-- Presolapa -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $ot->revisar_solapa ? "" : "d-none" ?>">
|
||||
<label for="ot-presolapa-btn" class="form-label"><?= @lang("Produccion.pre_solapa") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" placeholder="DD/MM/YYYY" name="pre_solapa_at" id="ot-presolapa-date" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["pre_solapa_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
|
||||
</div>
|
||||
<!-- Precodbarras -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $ot->revisar_codigo_barras ? "" : "d-none" ?>">
|
||||
<label for="ot-precodbarras-btn" class="form-label"><?= @lang("Produccion.pre_codbarras") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" placeholder="DD/MM/YYYY" name="pre_codbarras_at" id="ot-precodbarras-date" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["pre_codbarras_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
|
||||
</div>
|
||||
<!-- Preimposicion -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $ot->realizar_imposicion ? "" : "d-none" ?>">
|
||||
<label for="ot-preimposicion-btn" class="form-label"><?= @lang("Produccion.pre_imposicion") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" placeholder="DD/MM/YYYY" name="pre_imposicion_at" id="ot-preimposicion-date" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["pre_imposicion_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 <?= $presupuesto->ferro ? "" : "d-none" ?>">
|
||||
<!-- Progress -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100">
|
||||
<h4><?= lang("Produccion.progress_ferro") ?></h4>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $presupuesto->ferro ? "" : "d-none" ?>">
|
||||
<label for="ot-pendiente-ferro" class="form-label"><?= @lang("Produccion.pendiente_ferro") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" name="pendiente_ferro_at" placeholder="DD/MM/YYYY" id="ot-pendiente-ferro" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["pendiente_ferro_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
|
||||
</div>
|
||||
<!-- Progress -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $presupuesto->ferro ? "" : "d-none" ?>">
|
||||
<label for="ot-ferro-cliente" class="form-label"><?= @lang("Produccion.ferro_cliente") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" name="ferro_en_cliente_at" placeholder="DD/MM/YYYY" id="ot-ferro-cliente" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["ferro_en_cliente_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
</div>
|
||||
<!-- Progress -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $presupuesto->ferro ? "" : "d-none" ?>">
|
||||
<label for="ot-ferro-ok" class="form-label"><?= @lang("Produccion.ferro_ok") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" name="ferro_ok_at" placeholder="DD/MM/YYYY" id="ot-ferro-ok" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["ferro_ok_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<!-- Progress -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100">
|
||||
@ -164,34 +252,7 @@
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100">
|
||||
<h4><?= lang("Produccion.progress_logistica") ?></h4>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $presupuesto->ferro ? "" : "d-none" ?>">
|
||||
<label for="ot-pendiente-ferro" class="form-label"><?= @lang("Produccion.pendiente_ferro") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" name="pendiente_ferro_at" placeholder="DD/MM/YYYY" id="ot-pendiente-ferro" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["pendiente_ferro_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
|
||||
</div>
|
||||
<!-- Progress -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $presupuesto->ferro ? "" : "d-none" ?>">
|
||||
<label for="ot-ferro-cliente" class="form-label"><?= @lang("Produccion.ferro_cliente") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" name="ferro_en_cliente_at" placeholder="DD/MM/YYYY" id="ot-ferro-cliente" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["ferro_en_cliente_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
</div>
|
||||
<!-- Progress -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $presupuesto->ferro ? "" : "d-none" ?>">
|
||||
<label for="ot-ferro-ok" class="form-label"><?= @lang("Produccion.ferro_ok") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" name="ferro_ok_at" placeholder="DD/MM/YYYY" id="ot-ferro-ok" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["ferro_ok_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
|
||||
</div>
|
||||
<!-- Progress -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100">
|
||||
<label for="ot-embalaje" class="form-label"><?= @lang("Produccion.embalaje") ?></label>
|
||||
@ -214,61 +275,7 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<!-- PREIMPRESION -->
|
||||
<!-- Preformato -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100">
|
||||
<h4><?= lang("Produccion.progress_preimpresion") ?></h4>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $ot->revisar_formato ? "" : "d-none" ?>">
|
||||
<label for="ot-preformato-btn" class="form-label"><?= @lang("Produccion.pre_formato") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" placeholder="DD/MM/YYYY" name="pre_formato_at" id="ot-preformato-date" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["pre_formato_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
</div>
|
||||
<!-- Prelomo -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $ot->revisar_lomo ? "" : "d-none" ?>">
|
||||
<label for="ot-prelomo-btn" class="form-label"><?= @lang("Produccion.pre_lomo") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" placeholder="DD/MM/YYYY" name="pre_lomo_at" id="ot-prelomo-date" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["pre_lomo_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
|
||||
</div>
|
||||
<!-- Presolapa -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $ot->revisar_solapa ? "" : "d-none" ?>">
|
||||
<label for="ot-presolapa-btn" class="form-label"><?= @lang("Produccion.pre_solapa") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" placeholder="DD/MM/YYYY" name="pre_solapa_at" id="ot-presolapa-date" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["pre_solapa_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
|
||||
</div>
|
||||
<!-- Precodbarras -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $ot->revisar_codigo_barras ? "" : "d-none" ?>">
|
||||
<label for="ot-precodbarras-btn" class="form-label"><?= @lang("Produccion.pre_codbarras") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" placeholder="DD/MM/YYYY" name="pre_codbarras_at" id="ot-precodbarras-date" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["pre_codbarras_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
|
||||
</div>
|
||||
<!-- Preimposicion -->
|
||||
<div class="col-xs-12 col-md-4 col-lg-4 mb-2 w-100 <?= $ot->realizar_imposicion ? "" : "d-none" ?>">
|
||||
<label for="ot-preimposicion-btn" class="form-label"><?= @lang("Produccion.pre_imposicion") ?></label>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control ot-date" placeholder="DD/MM/YYYY" name="pre_imposicion_at" id="ot-preimposicion-date" data-input <?= $is_finalizada ? "disabled" : "" ?>>
|
||||
<button class="btn btn-outline-danger btn-erase-date" type="button"><i class="ti-eraser ti"></i></button>
|
||||
</div>
|
||||
<div class="form-text"><?= $user_dates["pre_imposicion_at"] ?? "<span class='ti-sm ti ti-alert-triangle me-1'></span>" ?></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
|
||||
@ -34,7 +34,23 @@
|
||||
<div class="tab-content p-0">
|
||||
<!-- TAREAS -->
|
||||
<div class="tab-pane fade show active" id="nav-ot-task-general" role="tabpanel">
|
||||
<div class="row text-start">
|
||||
<div class="row justify-content-end">
|
||||
<div class="col-md-4">
|
||||
<?php if ($flags["isCosido"] && $tareaCosido): ?>
|
||||
<div class="form-group text-start">
|
||||
<label for="">Pliegos</label>
|
||||
<div class="d-flex flex-row justify-content-start align-items-center gap-2">
|
||||
<input type="text" id="pliegos-1" class="form-control ot-pliegos" name="pliego_1" value="<?= $tareaCosido->pliego_1 ?>">
|
||||
<span>de</span>
|
||||
<input type="text" id="pliegos-1-total" class="form-control ot-pliegos" name="pliego_1_total" value="<?= $tareaCosido->pliego_1_total ?>">
|
||||
<input type="text" id="pliegos-2" class="form-control ot-pliegos" name="pliego_2" value="<?= $tareaCosido->pliego_2 ?>">
|
||||
<span>de</span>
|
||||
<input type="text" id="pliegos-2-total" class="form-control ot-pliegos" name="pliego_2_total" value="<?= $tareaCosido->pliego_2_total ?>">
|
||||
<button type="button" id="btn-update-pliegos" class="btn btn-primary"><span class="ti ti-device-floppy"></span></button>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
|
||||
<?= view("themes/vuexy/components/tables/ot_task_table", ["id" => "ot-task-table"]) ?>
|
||||
@ -43,6 +59,7 @@
|
||||
|
||||
<div class="row d-flex flex-row justify-content-between align-items-center mt-2 gap-2">
|
||||
<div class="col-md-3 text-start">
|
||||
|
||||
<!-- <button type="button" class="btn btn-primary btn-md align-items-center" id="btn-add-tarea"><span class="ti ti-plus ti-sm me-1"></span> Insertar tarea</button> -->
|
||||
</div>
|
||||
<div class="col-md-3 gap-2 text-end">
|
||||
|
||||
@ -13,8 +13,8 @@
|
||||
<?php foreach ($encuadernaciones as $key => $value): ?>
|
||||
<tr style="color: red;">
|
||||
<td><?= $value->tarifa()->nombre ?></td>
|
||||
<td><?=$linea_impresion->pliegos?></td>
|
||||
<td><?=$linea_impresion->pliegos?></td>
|
||||
<td><?=$tareaCosido->pliego_1." de ".$tareaCosido->pliego_1_total?></td>
|
||||
<td><?=$tareaCosido->pliego_2." de ".$tareaCosido->pliego_2_total?></td>
|
||||
<td></td>
|
||||
<td><?= $presupuesto->hasSobrecubierta() ? "SI" : "NO" ?></td>
|
||||
<td><?= $presupuesto->guardas ? "SI" : "NO" ?></td>
|
||||
|
||||
@ -13,8 +13,8 @@
|
||||
<?php foreach ($encuadernaciones as $key => $value): ?>
|
||||
<tr style="color: red;">
|
||||
<td><?= $value->tarifa()->nombre ?></td>
|
||||
<td><?=$linea_impresion->pliegos?></td>
|
||||
<td><?=$linea_impresion->pliegos?></td>
|
||||
<td><?=$tareaCosido->pliego_1." de ".$tareaCosido->pliego_1_total?></td>
|
||||
<td><?=$tareaCosido->pliego_2." de ".$tareaCosido->pliego_2_total?></td>
|
||||
<td><?= $presupuesto->solapas ? "SI ($presupuesto->solapas_ancho mm.)" : "NO" ?></td>
|
||||
<td><?= $presupuesto->hasSobrecubierta() ? "SI" : "NO" ?></td>
|
||||
<td><?= $presupuesto->guardas ? "SI" : "NO" ?></td>
|
||||
|
||||
@ -12,8 +12,8 @@
|
||||
<?php foreach ($encuadernaciones as $key => $value): ?>
|
||||
<tr style="color: red;">
|
||||
<td><?= $value->tarifa()->nombre ?></td>
|
||||
<td><?= $linea_impresion->pliegos ?></td>
|
||||
<td><?= $linea_impresion->pliegos ?></td>
|
||||
<td><?=$tareaCosido->pliego_1." de ".$tareaCosido->pliego_1_total?></td>
|
||||
<td><?=$tareaCosido->pliego_2." de ".$tareaCosido->pliego_2_total?></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>Color/NO</td>
|
||||
|
||||
@ -154,6 +154,7 @@ class OrdenTrabajo {
|
||||
this.otForm.on("click", ".ot-tarea-comment", this.handleNoteTarea.bind(this))
|
||||
$("#btn-update-tarea-comment").on("click", this.handleTareaNoteSubmit.bind(this))
|
||||
this.otForm.on("change", "#ot-comment", this.handleOtComment.bind(this))
|
||||
$("#btn-update-pliegos").on('click', this.handleUpdatePliegos.bind(this))
|
||||
|
||||
this._handleGetData()
|
||||
this.handleGetPortada()
|
||||
@ -162,14 +163,9 @@ class OrdenTrabajo {
|
||||
this.datatableTareas = this.tareasTableItem.DataTable({
|
||||
processing: true,
|
||||
paging: false,
|
||||
layout: {
|
||||
topStart: 'pageLength',
|
||||
topEnd: 'search',
|
||||
bottomStart: 'info',
|
||||
bottomEnd: 'paging'
|
||||
},
|
||||
serverSide: true,
|
||||
responsive: true,
|
||||
bFilter: false,
|
||||
createdRow: this.filterCreatedRow.bind(this),
|
||||
pageLength: 10,
|
||||
language: {
|
||||
@ -236,7 +232,7 @@ class OrdenTrabajo {
|
||||
}
|
||||
createSelectMaquinaTarea() {
|
||||
try {
|
||||
this.summaryData.tasks.forEach(element => {
|
||||
this.summaryData.tasks.forEach(async (element) => {
|
||||
let selectItem = this.item.find("#select-maquina-tarea-" + element.id);
|
||||
if (element.presupuesto_linea_id && element.is_corte == false) this.createSelectMaquinaImpresion(selectItem)
|
||||
if (element.presupuesto_acabado_id) this.createSelectMaquinaAcabado(selectItem)
|
||||
@ -322,7 +318,7 @@ class OrdenTrabajo {
|
||||
maquinaSelects.reset()
|
||||
}
|
||||
}
|
||||
createSelectImposicion(selectItem) {
|
||||
async createSelectImposicion(selectItem) {
|
||||
let imposicionId = selectItem.data("imposicion-id")
|
||||
let imposicionSelect = new ClassSelect(selectItem, `/imposiciones/select`, "Seleccione una imposición", true);
|
||||
|
||||
@ -359,9 +355,11 @@ class OrdenTrabajo {
|
||||
this.otForm.off("change", ".ot-pedido")
|
||||
this.otForm.off("change", ".ot-pedido-check")
|
||||
this.otForm.off("change", ".ot-preview")
|
||||
|
||||
this.fillOtDetails()
|
||||
this.fillOtDates()
|
||||
this.fillPreimpresionReview()
|
||||
this.fillPliegos()
|
||||
this.isOtFinalizada = this.summaryData.ot.estado == "F";
|
||||
this.datatableTareas.ajax.reload()
|
||||
} catch (error) {
|
||||
@ -393,6 +391,15 @@ class OrdenTrabajo {
|
||||
|
||||
|
||||
|
||||
}
|
||||
fillPliegos() {
|
||||
// if (this.summaryData.tareaCosido) {
|
||||
// const tareaCosido = this.summaryData.tareaCosido
|
||||
// this.otForm.find('input[name=pliego_1]').val(tareaCosido.pliego_1)
|
||||
// this.otForm.find('input[name=pliego_1_total]').val(tareaCosido.pliego_1_total)
|
||||
// this.otForm.find('input[name=pliego_2]').val(tareaCosido.pliego_2)
|
||||
// this.otForm.find('input[name=pliego_2_total]').val(tareaCosido.pliego_2_total)
|
||||
// }
|
||||
}
|
||||
fillOtDetails() {
|
||||
const progreso = this.summaryData.ot.progreso
|
||||
@ -823,6 +830,40 @@ class OrdenTrabajo {
|
||||
this._handleGetData()
|
||||
}
|
||||
|
||||
getTarea(tarea_id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
let ajax = new Ajax(`/produccion/ordentrabajo/tarea/${tarea_id}`, null, null, (response) => {
|
||||
resolve(response)
|
||||
},
|
||||
(error) => {
|
||||
resolve(error)
|
||||
})
|
||||
ajax.get()
|
||||
})
|
||||
}
|
||||
getDataPliegos() {
|
||||
return {
|
||||
orden_trabajo_id: this.modelId,
|
||||
pliego_1: $("#pliegos-1").val(),
|
||||
pliego_1_total: $("#pliegos-1-total").val(),
|
||||
pliego_2: $("#pliegos-2").val(),
|
||||
pliego_2_total: $("#pliegos-2-total").val(),
|
||||
}
|
||||
}
|
||||
handleUpdatePliegos() {
|
||||
|
||||
let ajax = new Ajax(`/produccion/ordentrabajo/update/tarea/pliegos`,
|
||||
this.getDataPliegos(),
|
||||
null,
|
||||
(response) => {
|
||||
alertSuccess(response.message).fire()
|
||||
},
|
||||
(error) => {
|
||||
alertError(error.message).fire()
|
||||
})
|
||||
ajax.post()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user