Merge branch 'main' into add/view_logistica_principal

This commit is contained in:
2025-04-21 21:09:00 +02:00
545 changed files with 2025 additions and 715 deletions

0
ci4/app/Config/Auth.php Normal file → Executable file
View File

0
ci4/app/Config/AuthGroups.php Normal file → Executable file
View File

0
ci4/app/Config/AuthJWT.php Normal file → Executable file
View File

0
ci4/app/Config/AuthToken.php Normal file → Executable file
View File

0
ci4/app/Config/CURLRequest.php Normal file → Executable file
View File

0
ci4/app/Config/Feature.php Normal file → Executable file
View File

0
ci4/app/Config/Kint.php Normal file → Executable file
View File

0
ci4/app/Config/LogoImpresion.php Normal file → Executable file
View File

0
ci4/app/Config/OrdenTrabajo.php Normal file → Executable file
View File

0
ci4/app/Config/PedidoXML.php Normal file → Executable file
View File

0
ci4/app/Config/Publisher.php Normal file → Executable file
View File

0
ci4/app/Config/RBAC/.gitkeep Normal file → Executable file
View File

27
ci4/app/Config/Routes.php Normal file → Executable file
View File

@ -32,7 +32,7 @@ $routes->group('activity', ['namespace' => 'App\Controllers\Sistema'], function
* -------------------------------------------------------------------- * --------------------------------------------------------------------
*/ */
// Carga archivos de rutas por dominio // Carga archivos de rutas por dominio
foreach (glob(APPPATH . 'Config/Routes/*Routes.php') as $routeFile) { foreach (glob(APPPATH . 'Config/Routes/*Routes.php') as $routeFile) {
require $routeFile; require $routeFile;
} }
@ -146,17 +146,24 @@ $routes->group('tipologiaslibros', ['namespace' => 'App\Controllers\Configuracio
$routes->group('imposiciones', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { $routes->group('imposiciones', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) {
$routes->get('', 'Imposiciones::index', ['as' => 'imposicionList']); $routes->get('', 'Imposiciones::index', ['as' => 'imposicionList']);
$routes->get('add', 'Imposiciones::add', ['as' => 'newImposicion']); $routes->get('add', 'Imposiciones::add', ['as' => 'newImposicion']);
$routes->post('add', 'Imposiciones::add', ['as' => 'createImposicion']); $routes->get('add/esquema', 'Imposiciones::add_esquema', ['as' => 'newImposicionEsquema']);
$routes->get('find/(:num)', 'Imposiciones::find_imposicion/$1', ['as' => 'findImposicion']);
$routes->get('esquema/find/(:num)', 'Imposiciones::find_imposicion_esquema/$1', ['as' => 'findImposicionEsquema']);
$routes->post('create', 'Imposiciones::create', ['as' => 'ajaxCreateImposicion']); $routes->post('create', 'Imposiciones::create', ['as' => 'ajaxCreateImposicion']);
$routes->put('(:num)/update', 'Imposiciones::update/$1', ['as' => 'ajaxUpdateImposicion']); $routes->post('esquema/create', 'Imposiciones::create_imposicion_esquema', ['as' => 'ajaxCreateImposicionEsquema']);
$routes->post('(:num)/edit', 'Imposiciones::edit/$1', ['as' => 'updateImposicion']); $routes->post('(:num)', 'Imposiciones::update/$1', ['as' => 'ajaxUpdateImposicion']);
$routes->post('datatable', 'Imposiciones::datatable', ['as' => 'dataTableOfImposiciones']); $routes->post('esquema/(:num)', 'Imposiciones::update_imposicion_esquema/$1', ['as' => 'ajaxUpdateImposicionEsquema']);
$routes->delete('(:num)', 'Imposiciones::delete/$1', ['as' => 'deleteImposicion']);
$routes->delete('esquema/(:num)', 'Imposiciones::delete_imposicion_esquema/$1', ['as' => 'deleteImposicionEsquema']);
$routes->get('edit/(:num)', 'Imposiciones::edit/$1', ['as' => 'updateImposicionForm']);
$routes->get('esquema/edit/(:num)', 'Imposiciones::edit_imposicion_esquema/$1', ['as' => 'updateImposicionEsquemaForm']);
$routes->get('datatable', 'Imposiciones::datatable', ['as' => 'dataTableOfImposiciones']);
$routes->get('esquema/datatable', 'Imposiciones::datatable_imposicion_esquema', ['as' => 'dataTableOfEsquemaImposiciones']);
$routes->post('allmenuitems', 'Imposiciones::allItemsSelect', ['as' => 'select2ItemsOfImposiciones']); $routes->post('allmenuitems', 'Imposiciones::allItemsSelect', ['as' => 'select2ItemsOfImposiciones']);
$routes->post('menuitems', 'Imposiciones::menuItems', ['as' => 'menuItemsOfImposiciones']); $routes->post('menuitems', 'Imposiciones::menuItems', ['as' => 'menuItemsOfImposiciones']);
$routes->get('select', 'Imposiciones::selectImposicion', ['as' => 'selectImposicion']); $routes->get('select', 'Imposiciones::selectImposicion', ['as' => 'selectImposicion']);
$routes->get('esquema/select', 'Imposiciones::selectImposicionEsquema', ['as' => 'selectImposicionEsquema']);
}); });
$routes->resource('imposiciones', ['namespace' => 'App\Controllers\Configuracion', 'controller' => 'Imposiciones', 'except' => 'show,new,create,update']);
$routes->group('papelimpresiontipologias', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { $routes->group('papelimpresiontipologias', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) {
$routes->get('add', 'Papelimpresiontipologias::add', ['as' => 'newPapelImpresionTipologia']); $routes->get('add', 'Papelimpresiontipologias::add', ['as' => 'newPapelImpresionTipologia']);
@ -751,6 +758,7 @@ $routes->group('produccion', ['namespace' => 'App\Controllers\Produccion'], func
*========================**/ *========================**/
$routes->post('get_files', 'Ordentrabajo::get_files'); $routes->post('get_files', 'Ordentrabajo::get_files');
$routes->post('upload_files', 'Ordentrabajo::upload_files'); $routes->post('upload_files', 'Ordentrabajo::upload_files');
$routes->get('barcode/(:num)', 'Ordentrabajo::imprimir_codigo_safekat/$1',['as' => "getOrdenTrabajoBarCode"]);
/**====================== /**======================
* PDF * PDF
*========================**/ *========================**/
@ -768,8 +776,11 @@ $routes->group('produccion', ['namespace' => 'App\Controllers\Produccion'], func
$routes->get('rotativa/datatable', 'Ordentrabajo::planning_rotativa_datatable'); $routes->get('rotativa/datatable', 'Ordentrabajo::planning_rotativa_datatable');
$routes->get('plana/datatable', 'Ordentrabajo::planning_plana_datatable'); $routes->get('plana/datatable', 'Ordentrabajo::planning_plana_datatable');
$routes->post('tarea/toggle/corte/(:num)', 'Ordentrabajo::tarea_toggle_corte/$1'); $routes->post('tarea/toggle/corte/(:num)', 'Ordentrabajo::tarea_toggle_corte/$1');
});
$routes->group('maquinista', ['namespace' => 'App\Controllers\Produccion'], function ($routes) {
$routes->get('maquinas/view', 'Ordentrabajo::maquinista_maquinas_view', ['as' => 'viewProduccionMaquinistaMaquinas']);
$routes->get('colas/view', 'Ordentrabajo::maquinista_colas_view', ['as' => 'viewProduccionMaquinistaColas']);
}); });
}); });
}); });

0
ci4/app/Config/Routes/ApiRoutes.php Normal file → Executable file
View File

0
ci4/app/Config/Routes/ComprasRoutes.php Normal file → Executable file
View File

0
ci4/app/Config/Routes/ConfiguracionRoutes.php Normal file → Executable file
View File

0
ci4/app/Config/Routes/PresupuestosRoutes.php Normal file → Executable file
View File

0
ci4/app/Config/Routes/TarifasRoutes.php Normal file → Executable file
View File

0
ci4/app/Config/Routing.php Normal file → Executable file
View File

0
ci4/app/Config/Safekat.php Normal file → Executable file
View File

0
ci4/app/Config/Session.php Normal file → Executable file
View File

0
ci4/app/Config/Toolbar.php Normal file → Executable file
View File

0
ci4/app/Config/Wiki/WikiRoutes.php Normal file → Executable file
View File

0
ci4/app/Controllers/API/ImprimelibrosApi.php Normal file → Executable file
View File

0
ci4/app/Controllers/Albaranes/Albaran.php Normal file → Executable file
View File

0
ci4/app/Controllers/BaseResourceController.php Normal file → Executable file
View File

0
ci4/app/Controllers/Chat/ChatController.php Normal file → Executable file
View File

View File

@ -154,7 +154,6 @@ class Clienteplantillaprecioslineas extends \App\Controllers\BaseResourceControl
Field::inst( 'tipo_maquina' ), Field::inst( 'tipo_maquina' ),
Field::inst( 'tipo_impresion' ), Field::inst( 'tipo_impresion' ),
Field::inst( 'user_updated_id' ), Field::inst( 'user_updated_id' ),
Field::inst( 'deleted_at' ),
Field::inst( 'updated_at' ), Field::inst( 'updated_at' ),
Field::inst( 'tiempo_min' ) Field::inst( 'tiempo_min' )
->getFormatter( 'Format::toDecimalChar')->setFormatter( 'Format::fromDecimalChar') ->getFormatter( 'Format::toDecimalChar')->setFormatter( 'Format::fromDecimalChar')

0
ci4/app/Controllers/Clientes/Clienteusuarios.php Normal file → Executable file
View File

0
ci4/app/Controllers/Configuracion/ConfigErrores.php Normal file → Executable file
View File

0
ci4/app/Controllers/Configuracion/ConfigVariables.php Normal file → Executable file
View File

0
ci4/app/Controllers/Configuracion/FormasPago.php Normal file → Executable file
View File

View File

@ -2,37 +2,41 @@
namespace App\Controllers\Configuracion; namespace App\Controllers\Configuracion;
use App\Controllers\BaseController;
use App\Controllers\BaseResourceController; use App\Controllers\BaseResourceController;
use App\Models\Collection; use App\Models\Collection;
use App\Entities\Configuracion\Imposicion; use App\Entities\Configuracion\Imposicion;
use App\Models\Configuracion\ImposicionEsquemaModel;
use App\Models\Configuracion\ImposicionModel; use App\Models\Configuracion\ImposicionModel;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use CodeIgniter\Validation\Validation;
use Hermawan\DataTables\DataTable;
use Psr\Log\LoggerInterface;
class Imposiciones extends \App\Controllers\BaseResourceController class Imposiciones extends BaseController
{ {
protected $modelName = ImposicionModel::class; protected $modelName = ImposicionModel::class;
protected $format = 'json'; protected ImposicionModel $model;
protected ImposicionEsquemaModel $imposicionEsquemaModel;
protected static $singularObjectName = 'Imposicion';
protected static $singularObjectNameCc = 'imposicion';
protected static $pluralObjectName = 'Imposiciones';
protected static $pluralObjectNameCc = 'imposiciones';
protected static $controllerSlug = 'imposiciones'; protected static $controllerSlug = 'imposiciones';
protected $format = 'json';
protected static $viewPath = 'themes/vuexy/form/configuracion/imposiciones/'; protected static $viewPath = 'themes/vuexy/form/configuracion/imposiciones/';
protected $indexRoute = 'imposicionList'; protected $indexRoute = 'imposicionList';
protected array $viewData = [];
protected Validation $validation;
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger)
{ {
$this->viewData['pageTitle'] = lang('Imposiciones.moduleTitle'); $this->viewData['pageTitle'] = lang('Imposiciones.moduleTitle');
$this->viewData['usingSweetAlert'] = true; $this->viewData['usingSweetAlert'] = true;
$this->model = model($this->modelName);
$this->validation = service("validation");
$this->imposicionEsquemaModel = model(ImposicionEsquemaModel::class);
parent::initController($request, $response, $logger); parent::initController($request, $response, $logger);
} }
@ -47,7 +51,10 @@ class Imposiciones extends \App\Controllers\BaseResourceController
'usingServerSideDataTable' => true, 'usingServerSideDataTable' => true,
]; ];
$this->viewData['breadcrumb'] = [
['title' => lang("App.menu_imposiciones"), 'route' => route_to("imposicionList"), 'active' => true],
];
$viewData = array_merge($this->viewData, $viewData); // merge any possible values from the parent controller class $viewData = array_merge($this->viewData, $viewData); // merge any possible values from the parent controller class
return view(static::$viewPath . 'viewImposicionList', $viewData); return view(static::$viewPath . 'viewImposicionList', $viewData);
@ -56,234 +63,153 @@ class Imposiciones extends \App\Controllers\BaseResourceController
public function add() public function add()
{ {
$this->viewData['breadcrumb'] = [
['title' => lang("App.menu_imposiciones"), 'route' => route_to("imposicionList"), 'active' => true],
];
return view(static::$viewPath . 'viewImposicionNewForm', $this->viewData);
}
if ($this->request->getPost()) : public function add_esquema()
$nullIfEmpty = true; // !(phpversion() >= '8.1');
$postData = $this->request->getPost();
$sanitizedData = $this->sanitized($postData, $nullIfEmpty);
$noException = true;
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
if ($this->canValidate()) :
try {
$successfulResult = $this->model->skipValidation(true)->save($sanitizedData);
} catch (\Exception $e) {
$noException = false;
$this->dealWithException($e);
}
else:
$this->viewData['errorMessage'] = lang('Basic.global.formErr1', [lang('Basic.global.record')]);
$this->session->setFlashdata('formErrors', $this->model->errors());
endif;
$thenRedirect = true; // Change this to false if you want your user to stay on the form after submission
endif;
if ($noException && $successfulResult) :
$id = $this->model->db->insertID();
$message = lang('Basic.global.saveSuccess', [lang('Basic.global.record')]) . '.';
if ($thenRedirect) :
if (!empty($this->indexRoute)) :
return redirect()->to(route_to($this->indexRoute))->with('sweet-success', $message);
else:
return $this->redirect2listView('sweet-success', $message);
endif;
else:
$this->session->setFlashData('sweet-success', $message);
endif;
endif; // $noException && $successfulResult
endif; // ($requestMethod === 'post')
$this->viewData['imposicion'] = isset($sanitizedData) ? new Imposicion($sanitizedData) : new Imposicion();
$this->viewData['orientacionList'] = $this->getOrientacionOptions();
$this->viewData['formAction'] = route_to('createImposicion');
$this->viewData['boxTitle'] = lang('Basic.global.addNew') . ' ' . lang('Imposiciones.moduleTitle') . ' ' . lang('Basic.global.addNewSuffix');
return $this->displayForm(__METHOD__);
} // end function add()
public function edit($requestedId = null)
{ {
$this->viewData['breadcrumb'] = [
['title' => lang("App.menu_imposiciones"), 'route' => route_to("imposicionList"), 'active' => true],
];
$this->viewData["imposicion_esquema"] = null;
if ($requestedId == null) : return view(static::$viewPath . 'viewImposicionEsquemaForm', $this->viewData);
return $this->redirect2listView(); }
endif; public function edit($imposicion_id = null)
$id = filter_var($requestedId, FILTER_SANITIZE_URL); {
$imposicion = $this->model->find($id); if ($imposicion_id) {
$this->viewData["imposicion"] = $this->model->find($imposicion_id);
$this->viewData['breadcrumb'] = [
['title' => lang("App.menu_imposiciones"), 'route' => route_to("imposicionList"), 'active' => false],
['title' => $this->viewData["imposicion"]->full_name, 'route' => route_to("updateImposicionForm", $imposicion_id), 'active' => true],
if ($imposicion == false) : ];
$message = lang('Basic.global.notFoundWithIdErr', [mb_strtolower(lang('Imposiciones.imposicion')), $id]); }
return $this->redirect2listView('sweet-error', $message); return view(static::$viewPath . 'viewImposicionForm', $this->viewData);
endif; }
public function edit_imposicion_esquema($imposicion_esquema_id = null)
{
if ($imposicion_esquema_id) {
$this->viewData["imposicion_esquema"] = $this->imposicionEsquemaModel->find($imposicion_esquema_id);
$this->viewData['breadcrumb'] = [
['title' => lang("App.menu_imposiciones"), 'route' => route_to("imposicionList"), 'active' => false],
['title' => $this->viewData["imposicion_esquema"]->name, 'route' => route_to("updateImposicionEsquemaForm", $imposicion_esquema_id), 'active' => true],
];
}
if ($this->request->getPost()) : return view(static::$viewPath . 'viewImposicionEsquemaForm', $this->viewData);
}
$nullIfEmpty = true; // !(phpversion() >= '8.1'); public function update($imposicion_id = null)
{
$postData = $this->request->getPost(); if ($imposicion_id) {
$bodyData = $this->request->getPost();
$sanitizedData = $this->sanitized($postData, $nullIfEmpty); if(isset($bodyData["imposicion_esquema_id"])){
if($bodyData["imposicion_esquema_id"] == ""){
$bodyData["imposicion_esquema_id"] = null;
$noException = true; }
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) : }
$status = $this->model->update($imposicion_id, $bodyData);
if ($status) {
if ($this->canValidate()) : $imposicionEntity = $this->model->find($imposicion_id);
try { } else {
$successfulResult = $this->model->skipValidation(true)->update($id, $sanitizedData); return $this->response->setJSON(["message" => lang("App.global_alert_save_error"), "errors" => $this->model->errors(), "status" => true])->setStatusCode(400);
} catch (\Exception $e) { }
$noException = false; return $this->response->setJSON(["message" => lang("App.global_alert_save_success"), "status" => $status, "data" => $imposicionEntity]);
$this->dealWithException($e); } else {
} return $this->response->setJSON(["message" => lang("App.global_alert_save_error"), "message" => "", "status" => false])->setStatusCode(400);
else: }
$this->viewData['warningMessage'] = lang('Basic.global.formErr1', [mb_strtolower(lang('Imposiciones.imposicion'))]); }
$this->session->setFlashdata('formErrors', $this->model->errors()); public function update_imposicion_esquema($imposicion_esquema_id = null)
{
endif; if ($imposicion_esquema_id) {
$bodyData = $this->request->getPost();
$imposicion->fill($sanitizedData); $status = $this->imposicionEsquemaModel->update($imposicion_esquema_id, $bodyData);
if ($status) {
$thenRedirect = false; $imposicionEsquemaEntity = $this->imposicionEsquemaModel->find($imposicion_esquema_id);
endif; } else {
if ($noException && $successfulResult) : return $this->response->setJSON(["message" => lang("App.global_alert_save_error"), "errors" => $this->imposicionEsquemaModel->errors(), "status" => true])->setStatusCode(400);
$id = $imposicion->id ?? $id; }
$message = lang('Basic.global.updateSuccess', [lang('Basic.global.record')]) . '.'; return $this->response->setJSON(["message" => lang("App.global_alert_save_success"), "status" => $status, "data" => $imposicionEsquemaEntity]);
} else {
if ($thenRedirect) : return $this->response->setJSON(["message" => lang("App.global_alert_save_error"), "message" => "", "status" => false])->setStatusCode(400);
if (!empty($this->indexRoute)) : }
return redirect()->to(route_to($this->indexRoute))->with('sweet-success', $message); }
else: public function delete($imposicion_id = null)
return $this->redirect2listView('sweet-success', $message); {
endif; $status = $this->model->delete($imposicion_id);
else: return $this->response->setJSON(["message" => lang("App.user_alert_delete"), "status" => true]);
$this->session->setFlashData('sweet-success', $message); }
endif; public function delete_imposicion_esquema($imposicion_esquema_id = null)
{
endif; // $noException && $successfulResult $status = $this->imposicionEsquemaModel->delete($imposicion_esquema_id);
endif; // ($requestMethod === 'post') return $this->response->setJSON(["message" => lang("App.user_alert_delete"), "status" => $status]);
}
$this->viewData['imposicion'] = $imposicion;
$this->viewData['orientacionList'] = $this->getOrientacionOptions();
$this->viewData['formAction'] = route_to('updateImposicion', $id);
$this->viewData['boxTitle'] = lang('Basic.global.edit2') . ' ' . lang('Imposiciones.moduleTitle') . ' ' . lang('Basic.global.edit3');
return $this->displayForm(__METHOD__, $id);
} // end function edit(...)
public function datatable() public function datatable()
{ {
if ($this->request->isAJAX()) { $q = $this->model->queryDatatable();
$reqData = $this->request->getPost(); return DataTable::of($q)
if (!isset($reqData['draw']) || !isset($reqData['columns'])) { ->add('esquema', fn($q) => ["imposicionId" => $q->id,"esquemaId" => $q->esquemaId, "esquemaName" => $q->esquemaName])
$errstr = 'No data available in response to this specific request.'; ->add(
$response = $this->respond(Collection::datatable([], 0, 0, $errstr), 400, $errstr); 'action',
return $response; fn($q) => "<div class='btn-group btn-group-md gap-2 w-100 d-flex justify-space-between'>" . ImposicionModel::datatable_buttons($q->id) . "</div>"
} )
$start = $reqData['start'] ?? 0; ->toJson(true);
$length = $reqData['length'] ?? 5;
$search = $reqData['search']['value'];
$requestedOrder = $reqData['order']['0']['column'] ?? 1;
$order = ImposicionModel::SORTABLE[$requestedOrder > 0 ? $requestedOrder : 1];
$dir = $reqData['order']['0']['dir'] ?? 'asc';
$resourceData = $this->model->getResource($search)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject();
return $this->respond(Collection::datatable(
$resourceData,
$this->model->getResource()->countAllResults(),
$this->model->getResource($search)->countAllResults()
));
} else {
return $this->failUnauthorized('Invalid request', 403);
}
} }
public function datatable_imposicion_esquema()
public function allItemsSelect()
{ {
if ($this->request->isAJAX()) { $q = $this->imposicionEsquemaModel->queryDatatable();
$onlyActiveOnes = true; return DataTable::of($q)
$reqVal = $this->request->getPost('val') ?? 'id'; ->add(
$menu = $this->model->getAllForMenu($reqVal . ', ancho', 'ancho', $onlyActiveOnes, false); 'action',
$nonItem = new \stdClass; fn($q) => "<div class='btn-group btn-group-md gap-2'>" . ImposicionEsquemaModel::datatable_buttons($q->id) . "</div>"
$nonItem->id = ''; )
$nonItem->ancho = '- ' . lang('Basic.global.None') . ' -'; ->toJson(true);
array_unshift($menu, $nonItem);
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$data = [
'menu' => $menu,
$csrfTokenName => $newTokenHash
];
return $this->respond($data);
} else {
return $this->failUnauthorized('Invalid request', 403);
}
}
public function menuItems()
{
if ($this->request->isAJAX()) {
$searchStr = goSanitize($this->request->getPost('searchTerm'))[0];
$reqId = goSanitize($this->request->getPost('id'))[0];
$reqText = goSanitize($this->request->getPost('text'))[0];
$onlyActiveOnes = false;
$columns2select = [$reqId ?? 'id', $reqText ?? 'ancho'];
$onlyActiveOnes = false;
$menu = $this->model->getSelect2MenuItems($columns2select, $columns2select[1], $onlyActiveOnes, $searchStr);
$nonItem = new \stdClass;
$nonItem->id = '';
$nonItem->text = '- ' . lang('Basic.global.None') . ' -';
array_unshift($menu, $nonItem);
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$data = [
'menu' => $menu,
$csrfTokenName => $newTokenHash
];
return $this->respond($data);
} else {
return $this->failUnauthorized('Invalid request', 403);
}
} }
protected function getOrientacionOptions()
{
$orientacionOptions = [
'' => lang('Basic.global.pleaseSelect'),
'H' => 'H',
'V' => 'V',
];
return $orientacionOptions;
}
public function selectImposicion() public function selectImposicion()
{ {
$data = $this->model->querySelect($this->request->getGet('q')); $data = $this->model->querySelect($this->request->getGet('q'));
return $this->response->setJSON($data); return $this->response->setJSON($data);
} }
public function selectImposicionEsquema()
{
$data = $this->imposicionEsquemaModel->querySelect($this->request->getGet('q'));
return $this->response->setJSON($data);
}
public function find_imposicion(int $imposicion_id)
{
$imposicionEntity = $this->model->find($imposicion_id)->withImposicionEsquema();
return $this->response->setJSON($imposicionEntity);
}
public function find_imposicion_esquema(int $imposicion_esquema_id)
{
$imposicionEsquemaEntity = $this->imposicionEsquemaModel->find($imposicion_esquema_id);
return $this->response->setJSON($imposicionEsquemaEntity);
}
public function create()
{
$bodyData = $this->request->getPost();
$createdId = $this->model->insert($bodyData);
if ($createdId) {
return $this->response->setJSON(["message" => lang("App.global_alert_save_success"), "status" => true]);
} else {
return $this->response->setJSON(["message" => lang("App.global_alert_save_error"), "errors" => $this->model->errors(), "status" => true])->setStatusCode(400);
}
}
public function create_imposicion_esquema()
{
$bodyData = $this->request->getPost();
$createdId = $this->imposicionEsquemaModel->insert($bodyData);
if ($createdId) {
return $this->response->setJSON(["message" => lang("App.global_alert_save_success"), "status" => true]);
} else {
return $this->response->setJSON(["message" => lang("App.global_alert_save_error"), "errors" => $this->imposicionEsquemaModel->errors(), "status" => true])->setStatusCode(400);
}
}
} }

0
ci4/app/Controllers/Configuracion/MaquinaTarea.php Normal file → Executable file
View File

0
ci4/app/Controllers/Configuracion/SeriesFacturas.php Normal file → Executable file
View File

0
ci4/app/Controllers/Configuracion/Ubicaciones.php Normal file → Executable file
View File

0
ci4/app/Controllers/Excel/PrintGiros.php Normal file → Executable file
View File

0
ci4/app/Controllers/Excel/PrintLineas.php Normal file → Executable file
View File

0
ci4/app/Controllers/Facturacion/FacturasLineas.php Normal file → Executable file
View File

0
ci4/app/Controllers/Facturacion/FacturasPagos.php Normal file → Executable file
View File

0
ci4/app/Controllers/Logistica/LogisticaController.php Normal file → Executable file
View File

0
ci4/app/Controllers/Mensajeria/MensajesDirectos.php Normal file → Executable file
View File

0
ci4/app/Controllers/Pdf/PrintAlbaranes.php Normal file → Executable file
View File

0
ci4/app/Controllers/Pdf/PrintFacturas.php Normal file → Executable file
View File

0
ci4/app/Controllers/Presupuestos/Buscador.php Normal file → Executable file
View File

View File

0
ci4/app/Controllers/Presupuestos/Presupuestoadmin.php Normal file → Executable file
View File

View File

View File

@ -443,4 +443,16 @@ class Ordentrabajo extends BaseController
$color = $this->produccionService->init($orden_trabajo_id)->getOtColorStatus(); $color = $this->produccionService->init($orden_trabajo_id)->getOtColorStatus();
return $this->response->setJSON(["color" => $color]); 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(){}
} }

0
ci4/app/Controllers/Sistema/Actividad.php Normal file → Executable file
View File

0
ci4/app/Controllers/Sistema/AuthAPIController.php Normal file → Executable file
View File

0
ci4/app/Controllers/Sistema/Intranet.php Normal file → Executable file
View File

0
ci4/app/Controllers/Soporte/Ticketcontroller.php Normal file → Executable file
View File

View File

View File

View File

View File

0
ci4/app/Controllers/Utiles.php Normal file → Executable file
View File

0
ci4/app/Controllers/Wiki/WikiController.php Normal file → Executable file
View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

Some files were not shown because too many files have changed in this diff Show More