añadida funcionalidad tipo papel generico

This commit is contained in:
2025-07-15 11:00:44 +02:00
parent 6a3a825b26
commit e69503c273
9 changed files with 125 additions and 19 deletions

View File

@ -11,6 +11,7 @@ use App\Services\PapelImpresionService;
use CodeIgniter\Config\BaseService;
use App\Services\ProductionService;
use App\Services\TarifaMaquinaService;
use App\Services\PapelService;
use CodeIgniter\Email\Email;
/**
@ -39,6 +40,9 @@ class Services extends BaseService
* }
*/
public static function papel(){
return new PapelService();
}
public static function production(){
return new ProductionService();
}

View File

@ -40,6 +40,8 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController
// Se indica el flag para los ficheros borrados
$this->delete_flag = 1;
$this->papelService = service('papel');
// Breadcrumbs (IMN)
$this->viewData['breadcrumb'] = [
['title' => lang("App.menu_configuration"), 'route' => "javascript:void(0);", 'active' => false],
@ -70,10 +72,6 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController
public function add()
{
if ($this->request->getPost()):
$nullIfEmpty = true; // !(phpversion() >= '8.1');
@ -123,6 +121,8 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController
$this->viewData['papelGenerico'] = isset($sanitizedData) ? new PapelGenerico($sanitizedData) : new PapelGenerico();
$this->viewData['tipoPapelGenericoList'] = $this->papelService->getTipoPapelGenerico();
$this->viewData['formAction'] = route_to('createPapelGenerico');
$this->viewData['boxTitle'] = lang('Basic.global.addNew') . ' ' . lang('PapelGenerico.moduleTitle') . ' ' . lang('Basic.global.addNewSuffix');
@ -145,7 +145,6 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController
endif;
if ($this->request->getPost()):
$nullIfEmpty = true; // !(phpversion() >= '8.1');
@ -211,6 +210,8 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController
$this->viewData['papelGenerico'] = $papelGenerico;
$this->viewData['tipoPapelGenericoList'] = $this->papelService->getTipoPapelGenerico();
$this->viewData['formAction'] = route_to('updatePapelGenerico', $id);
$this->viewData['boxTitle'] = lang('Basic.global.edit2') . ' ' . lang('PapelGenerico.moduleTitle') . ' ' . lang('Basic.global.edit3');

View File

@ -16,11 +16,13 @@ class PapelGenerico extends \CodeIgniter\Entity\Entity
"activo" => false,
"created_at" => null,
"updated_at" => null,
"tipo_papel_generico_id" => null,
];
protected $casts = [
"show_in_client" => "boolean",
"activo" => "boolean",
"show_in_client_special" => "boolean",
"is_deleted" => "int",
"tipo_papel_generico_id" => "int",
];
}

View File

@ -0,0 +1,11 @@
<?php
namespace App\Entities\Configuracion;
use CodeIgniter\Entity;
class TipoPapelGenerico extends \CodeIgniter\Entity\Entity
{
protected $attributes = [
"clave" => null,
];
}

View File

@ -6,6 +6,7 @@ return [
'code' => 'Código',
'codeOt' => 'Código Ot',
'createdAt' => 'Creado el',
'tipo_papel_generico_id' => 'Tipo Papel Genérico',
'deletedAt' => 'Deleted At',
'id' => 'ID',
'activo' => 'Activo',
@ -21,6 +22,16 @@ return [
'updatedAt' => 'Actualizado el',
'form_acordion_title' => 'Propiedades Papel Genérico',
// Tipos de papel genérico
'offset_blanco' => 'Offset Blanco',
'offset_ahuesado' => 'Offset Ahuesado',
'estucados' => 'Estucados',
'volumen' => 'Volumen',
'especiales' => 'Especiales',
'reciclados' => 'Reciclados',
'cartulinas' => 'Cartulinas',
'verdujados' => 'Verdujados',
'validation' => [
'code' => [
'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.',

View File

@ -22,7 +22,18 @@ class PapelGenericoModel extends \App\Models\BaseModel
4 => "t1.show_in_client_special",
];
protected $allowedFields = ["nombre", "code", "code_ot", "show_in_client", "show_in_client_special", "deleted_at", "is_deleted", "activo"];
protected $allowedFields =
[
"nombre",
"code",
"code_ot",
"show_in_client",
"show_in_client_special",
"deleted_at",
"is_deleted",
"activo",
"tipo_papel_generico_id",
];
protected $returnType = "App\Entities\Configuracion\PapelGenerico";
protected $useTimestamps = true;
@ -132,16 +143,16 @@ class PapelGenericoModel extends \App\Models\BaseModel
return empty($search)
? $builder
: $builder
->groupStart()
->like("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->orLike("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->groupEnd();
->groupStart()
->like("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->orLike("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->groupEnd();
}

View File

@ -0,0 +1,22 @@
<?php
namespace App\Models\Configuracion;
class TipoPapelGenericoModel extends \App\Models\BaseModel
{
protected $table = "tipos_papel_generico";
/**
* Whether primary key uses auto increment.
*
* @var bool
*/
protected $useAutoIncrement = true;
protected $allowedFields = [
"clave",
];
protected $returnType = "App\Entities\Configuracion\TipoPapelGenerico";
}

View File

@ -0,0 +1,27 @@
<?php
namespace App\Services;
use CodeIgniter\Config\BaseService;
use App\Models\Configuracion\TipoPapelGenericoModel;
class PapelService extends BaseService
{
protected TipoPapelGenericoModel $tipoPapelGenericoModel;
public function __construct()
{
$this->tipoPapelGenericoModel = model(TipoPapelGenericoModel::class);
}
public function getTipoPapelGenerico()
{
$values = $this->tipoPapelGenericoModel->findAll();
$tipoPapelGenericoList = [];
foreach ($values as $value) {
$tipoPapelGenericoList[$value->id] = lang('PapelGenerico.' . $value->clave);
}
return $tipoPapelGenericoList;
}
}

View File

@ -8,6 +8,23 @@
value="<?= old('nombre', $papelGenerico->nombre) ?>">
</div><!--//.mb-3 -->
<div class="mb-3">
<label for="tipo_papel_generico_id" class="form-label">
<?= lang('PapelGenerico.tipo_papel_generico_id') ?>
</label>
<select id="tipo_papel_generico_id" name="tipo_papel_generico_id" class="form-control select2" data-placeholder="">
<option value="" <?= is_null($papelGenerico->tipo_papel_generico_id) ? 'selected' : '' ?>></option>
<?php if (isset($tipoPapelGenericoList) && is_array($tipoPapelGenericoList) && !empty($tipoPapelGenericoList)):
foreach ($tipoPapelGenericoList as $k => $v): ?>
<option value="<?= $k ?>" <?= $k == $papelGenerico->tipo_papel_generico_id ? 'selected' : '' ?>>
<?= esc($v) ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div><!--//.mb-3 -->
<div class="mb-3">
<label for="code" class="form-label">
<?= lang('PapelGenerico.code') ?>
@ -28,8 +45,8 @@
<label for="activo_papel_generico" class="form-check-label">
<?= lang('PapelGenerico.activo') ?>
</label>
<input type="checkbox" id="activo_papel_generico" name="activo" value="1"
class="form-check-input" <?= $papelGenerico->activo == true ? 'checked' : ''; ?>>
<input type="checkbox" id="activo_papel_generico" name="activo" value="1" class="form-check-input"
<?= $papelGenerico->activo == true ? 'checked' : ''; ?>>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
<div class="mb-3">