mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
trabajando en generar la tabla bn interior
This commit is contained in:
@ -3,13 +3,19 @@
|
||||
namespace App\Controllers\Presupuestos;
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
|
||||
use App\Entities\Configuracion\Maquina;
|
||||
use App\Models\Collection;
|
||||
|
||||
use App\Entities\Presupuestos\PresupuestoEntity;
|
||||
use App\Models\Configuracion\PapelGenericoModel;
|
||||
use App\Models\Presupuestos\PresupuestoModel;
|
||||
|
||||
use App\Services\PresupuestoService;
|
||||
use App\Models\Configuracion\PapelImpresionModel;
|
||||
use App\Models\Configuracion\MaquinaModel;
|
||||
use App\Models\Configuracion\MaquinasTarifasImpresionModel;
|
||||
|
||||
|
||||
class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
|
||||
{
|
||||
|
||||
@ -397,43 +403,34 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
|
||||
$order = PresupuestoModel::SORTABLE[$requestedOrder >= 0 ? $requestedOrder : 0];
|
||||
$dir = $reqData['order']['0']['dir'] ?? 'asc';
|
||||
|
||||
$resourceData = $this->model->getResource($search)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject();
|
||||
foreach ($resourceData as $item) :
|
||||
if (isset($item->comentarios_pdf) && strlen($item->comentarios_pdf) > 100) :
|
||||
$item->comentarios_pdf = character_limiter($item->comentarios_pdf, 100);
|
||||
endif;
|
||||
if (isset($item->causa_cancelacion) && strlen($item->causa_cancelacion) > 100) :
|
||||
$item->causa_cancelacion = character_limiter($item->causa_cancelacion, 100);
|
||||
endif;
|
||||
if (isset($item->comentarios) && strlen($item->comentarios) > 100) :
|
||||
$item->comentarios = character_limiter($item->comentarios, 100);
|
||||
endif;
|
||||
if (isset($item->comentarios_safekat) && strlen($item->comentarios_safekat) > 100) :
|
||||
$item->comentarios_safekat = character_limiter($item->comentarios_safekat, 100);
|
||||
endif;
|
||||
if (isset($item->comentarios_tarifa) && strlen($item->comentarios_tarifa) > 100) :
|
||||
$item->comentarios_tarifa = character_limiter($item->comentarios_tarifa, 100);
|
||||
endif;
|
||||
if (isset($item->tirada_alternativa_json_data) && strlen($item->tirada_alternativa_json_data) > 100) :
|
||||
$item->tirada_alternativa_json_data = character_limiter($item->tirada_alternativa_json_data, 100);
|
||||
endif;
|
||||
if (isset($item->titulo) && strlen($item->titulo) > 100) :
|
||||
$item->titulo = character_limiter($item->titulo, 100);
|
||||
endif;
|
||||
if (isset($item->paginas_color_posicion) && strlen($item->paginas_color_posicion) > 100) :
|
||||
$item->paginas_color_posicion = character_limiter($item->paginas_color_posicion, 100);
|
||||
endif;
|
||||
if (isset($item->aprobado_json_data) && strlen($item->aprobado_json_data) > 100) :
|
||||
$item->aprobado_json_data = character_limiter($item->aprobado_json_data, 100);
|
||||
endif;
|
||||
if (isset($item->comparador_json_data) && strlen($item->comparador_json_data) > 100) :
|
||||
$item->comparador_json_data = character_limiter($item->comparador_json_data, 100);
|
||||
endif;
|
||||
if (isset($item->ws_externo_json_data) && strlen($item->ws_externo_json_data) > 100) :
|
||||
$item->ws_externo_json_data = character_limiter($item->ws_externo_json_data, 100);
|
||||
endif;
|
||||
endforeach;
|
||||
$table_type = $reqData['table_type'] ?? null;
|
||||
|
||||
if (is_null($table_type)){
|
||||
return $this->failNotFound('Table type not found', 404);
|
||||
}
|
||||
|
||||
switch($table_type){
|
||||
case 'comp_int_bn':
|
||||
|
||||
$datosPedido = (object)array(
|
||||
'paginas' => $reqData['paginas'] ?? 0,
|
||||
'tirada' => $reqData['tirada'] ?? 0,
|
||||
'merma' => $reqData['merma'] ?? 0,
|
||||
'ancho' => $reqData['alto'] ?? 100000,
|
||||
'alto' => $reqData['ancho'] ?? 100000,
|
||||
'isCosido' => true, // JJO esto es custom por cada tipo de presupuesto
|
||||
);
|
||||
|
||||
$papel_generico_id = $reqData['papel_generico_id'] ?? 0;
|
||||
$gramaje = $reqData['gramaje'] ?? 0;
|
||||
|
||||
$resourceData = $this->getCompBnData($datosPedido, $papel_generico_id, $gramaje);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return $this->respond(Collection::datatable(
|
||||
$resourceData,
|
||||
$this->model->getResource()->countAllResults(),
|
||||
@ -444,6 +441,51 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
|
||||
}
|
||||
}
|
||||
|
||||
private function getCompBnData($datosPedido, $papel_generico_id, $gramaje){
|
||||
$uso = 'interior';
|
||||
$tipo = 'negro';
|
||||
|
||||
$opciones_papel = array(
|
||||
'bn' => 1,
|
||||
'cubierta' => 0,
|
||||
'sobrecubierta' => 0,
|
||||
'rotativa' => 0,
|
||||
);
|
||||
|
||||
// Se obtienen los papeles disponibles
|
||||
$papelimpresionmodel = new PapelImpresionModel();
|
||||
$papeles = $papelimpresionmodel->getIdPapelesImpresionForPresupuesto(
|
||||
papel_generico_id: $papel_generico_id,
|
||||
gramaje: $gramaje,
|
||||
options: $opciones_papel
|
||||
);
|
||||
|
||||
$resultado = json_encode(
|
||||
array('data' => array())
|
||||
);
|
||||
|
||||
// Para cada papel, se obtienen las maquinas disponibles
|
||||
foreach ($papeles as $papel) {
|
||||
$maquinamodel = new MaquinaModel();
|
||||
$maquinas = $maquinamodel->getMaquinaImpresionForPresupuesto(
|
||||
is_rotativa: $papel->rotativa,
|
||||
tarifa_tipo: $tipo,
|
||||
tirada: $datosPedido->tirada + $datosPedido->merma,
|
||||
papel_impresion_id: $papel->id,
|
||||
);
|
||||
|
||||
// Se recorren las máquinas y se calcula el coste de linea por cada una
|
||||
foreach ($maquinas as $maquina) {
|
||||
$tarifamodel = new MaquinasTarifasImpresionModel();
|
||||
$tarifa = $tarifamodel->getTarifa($maquina->maquina_id, $uso, $tipo);
|
||||
$linea = PresupuestoService::getCostesLinea($uso, $tipo, $datosPedido, $maquina, $papel, $opciones_papel, $tarifa);
|
||||
}
|
||||
}
|
||||
|
||||
return $resultado;
|
||||
|
||||
}
|
||||
|
||||
public function allItemsSelect()
|
||||
{
|
||||
if ($this->request->isAJAX()) {
|
||||
|
||||
Reference in New Issue
Block a user