falta update servicios

This commit is contained in:
2025-01-12 21:47:39 +01:00
parent f93251b7bf
commit c6d1d06d8a
24 changed files with 1395 additions and 669 deletions

View File

@ -1,4 +1,5 @@
<?php namespace App\Controllers\Presupuestos;
<?php
namespace App\Controllers\Presupuestos;
use App\Controllers\BaseResourceController;
@ -9,7 +10,7 @@ use App\Models\Presupuestos\PresupuestoEncuadernacionesModel;
use DataTables\Editor;
use DataTables\Editor\Field;
use DataTables\Editor\Validate;
class Presupuestoencuadernaciones extends \App\Controllers\BaseResourceController
{
@ -25,7 +26,7 @@ class Presupuestoencuadernaciones extends \App\Controllers\BaseResourceControlle
protected static $viewPath = 'themes/vuexy/form/presupuestos/';
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger)
{
parent::initController($request, $response, $logger);
@ -35,20 +36,19 @@ class Presupuestoencuadernaciones extends \App\Controllers\BaseResourceControlle
public function edit($requestedId = null)
{
if ($requestedId == null) :
if ($requestedId == null):
return;
endif;
$postData = $this->request->getJSON();
$tarifas = array_column($postData->datos, 'tarifa_id');
if(count($tarifas)>0){
if (count($tarifas) > 0) {
$this->model->deleteServiciosNotInArray($requestedId, $tarifas);
}
else{
} else {
$this->model->deleteAllServicios($requestedId);
}
if(count($tarifas)>0){
if (count($tarifas) > 0) {
$this->model->updateTarifas($requestedId, $postData->datos);
}
@ -57,7 +57,7 @@ class Presupuestoencuadernaciones extends \App\Controllers\BaseResourceControlle
$data = [
$csrfTokenName => $newTokenHash
];
return $this->respond($data);
}
@ -65,7 +65,7 @@ class Presupuestoencuadernaciones extends \App\Controllers\BaseResourceControlle
{
$tarifaModel = model('App\Models\Tarifas\TarifaEncuadernacionModel');
if ($requestedId == null) :
if ($requestedId == null):
return;
endif;
@ -78,24 +78,24 @@ class Presupuestoencuadernaciones extends \App\Controllers\BaseResourceControlle
$alto = $postData->alto ?? 0;
$result = [];
if(count($tarifas)>0){
foreach ($tarifas as $tarifa){
if($tarifaModel->isTarifaPorHoras($tarifa)){
if (count($tarifas) > 0) {
foreach ($tarifas as $tarifa) {
if ($tarifaModel->isTarifaPorHoras($tarifa)) {
$values = $this->model->getPrecioTarifaHoras($tarifa, $paginas, $tirada, -1, $POD);
}else{
} else {
$values = $this->model->getPrecioTarifa($tarifa, $paginas, $tirada, $ancho, $alto, -1, $POD);
}
array_push($result, $values);
}
}
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$data = [
'lines' => $result,
$csrfTokenName => $newTokenHash
];
return $this->respond($data);
}
@ -105,96 +105,127 @@ class Presupuestoencuadernaciones extends \App\Controllers\BaseResourceControlle
if ($this->request->isAJAX()) {
$reqData = $this->request->getPost();
$tipo = $reqData['tipo'] ?? null;
if(is_null($tipo) || $tipo=='tarifa'){
if (is_null($tipo) || $tipo == 'tarifa') {
$tarifa_encuadernacion_id = $reqData['tarifa_encuadernacion_id'] ?? 0;
$proveedor_id = $reqData['proveedor_id'] ?? 0;
}
else{
} else {
$solapas = $reqData['solapas'] ?? 0;
}
$paginas = $reqData['paginas'] ?? 0;
$tirada = $reqData['tirada'] ?? 0;
$ancho = $reqData['ancho'] ?? 0;
$alto = $reqData['alto'] ?? 0;
$POD = $reqData['POD'] ?? 0;
$paginas_cuadernillo = $reqData['paginas_por_cuadernillo'] ?? null;
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$tarifaModel = model('App\Models\Tarifas\TarifaEncuadernacionModel');
if(is_null($tipo)){
if($tarifaModel->isTarifaPorHoras($tarifa_encuadernacion_id)){
if (is_null($tipo)) {
if ($tarifaModel->isTarifaPorHoras($tarifa_encuadernacion_id)) {
$values = $this->model->getPrecioTarifaHoras($tarifa_encuadernacion_id, $paginas, $tirada, $proveedor_id, $POD, $paginas_cuadernillo);
}else{
} else {
$values = $this->model->getPrecioTarifa($tarifa_encuadernacion_id, $paginas, $tirada, $ancho, $alto, $proveedor_id, $POD);
}
}
else if($tipo=='tarifa'){
if($tarifaModel->isTarifaPorHoras($tarifa_encuadernacion_id)){
} else if ($tipo == 'tarifa') {
if ($tarifaModel->isTarifaPorHoras($tarifa_encuadernacion_id)) {
$values = $this->model->getPrecioTarifaHoras($tarifa_encuadernacion_id, $paginas, $tirada, -1, $POD);
}
else{
} else {
$values = $this->model->getPrecioTarifa($tarifa_encuadernacion_id, $paginas, $tirada, $ancho, $alto, -1, $POD);
}
}
else{
} else {
$tipo_impresion_id = $reqData['tipo_impresion_id'] ?? 4;
$values = $this->model->initPresupuesto($tipo_impresion_id, $solapas, $tirada, $paginas, $ancho, $alto, $POD);
}
$data = [
'values' => $values,
$csrfTokenName => $newTokenHash
];
return $this->respond($data);
} else {
return $this->failUnauthorized('Invalid request', 403);
}
}
public function getRowValues()
{
if ($this->request->isAJAX()) {
$tarifaModel = model('App\Models\Tarifas\TarifaEncuadernacionModel');
$reqData = $this->request->getPost();
$tarifa_enc_id = $reqData['tarifa_enc_id'] ?? 0;
$tirada = $reqData['tirada'] ?? 0;
$paginas = $reqData['paginas'] ?? 0;
$ancho = $reqData['ancho'] ?? 0;
$alto = $reqData['alto'] ?? 0;
$proveedor_id = $reqData['proveedor_id'] ?? -1;
$paginas_cuadernillo = $reqData['paginas_por_cuadernillo'] ?? 32;
$POD = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
if ($tarifaModel->isTarifaPorHoras($tarifa_enc_id)) {
$values = $this->model->getPrecioTarifaHoras($tarifa_enc_id, $paginas, $tirada, $proveedor_id, $POD, $paginas_cuadernillo);
} else {
$values = $this->model->getPrecioTarifa($tarifa_enc_id, $paginas, $tirada, $ancho, $alto, $proveedor_id, $POD);
}
$data = [
'values' => $values,
$csrfTokenName => $newTokenHash
];
return $this->respond($data);
} else {
return $this->failUnauthorized('Invalid request', 403);
}
}
public function menuItems()
{
if ($this->request->isAJAX()) {
$reqData = $this->request->getPost();
try{
try {
$tarifa_id = $reqData['tarifa_id'] ?? -1;
$paginas = $reqData['paginas'] ?? 0;
$tirada = $reqData['tirada'] ?? 0;
$ancho = $reqData['ancho'] ?? 0;
$alto = $reqData['alto'] ?? 0;
//$searchStr = goSanitize($this->request->getPost('searchTerm'))[0];
$paginas_cuadernillo = $reqData['paginas_por_cuadernillo'] ?? 32;
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$menu = $this->model->getProveedoresForSelector($tarifa_id, $paginas, $tirada, $ancho, $alto);
$menu = $this->model->getProveedoresForSelector($tarifa_id, $paginas, $tirada, $ancho, $alto, $paginas_cuadernillo);
$data = [
'menu' => $menu,
$csrfTokenName => $newTokenHash
];
}
catch(Exception $e){
} catch (Exception $e) {
$data = [
'error' => $e,
$csrfTokenName => $newTokenHash
];
}
finally{
} finally {
return $this->respond($data);
}
} else {
return $this->failUnauthorized('Invalid request', 403);
}