mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
440 lines
15 KiB
PHP
Executable File
440 lines
15 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use App\Controllers\BaseController;
|
|
use App\Models\Configuracion\MaquinasTarifasImpresionModel;
|
|
use App\Models\Configuracion\PapelGenericoModel;
|
|
use App\Models\Configuracion\MaquinaModel;
|
|
use App\Services\PresupuestoService;
|
|
|
|
class Test extends BaseController
|
|
{
|
|
function __construct()
|
|
{
|
|
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
|
|
echo '<pre>';
|
|
$this->testLineasIntRotativa();
|
|
echo '</pre>';
|
|
}
|
|
|
|
|
|
public function init_presupuesto_encuadernacion($tipo_presupuesto, $solapas, $paginas, $tirada, $ancho, $alto, $POD){
|
|
$model = model('App\Models\Presupuestos\PresupuestoEncuadernacionesModel');
|
|
return $model->initPresupuesto($tipo_presupuesto, $solapas, $paginas, $tirada, $ancho, $alto, $POD);
|
|
}
|
|
|
|
public function get_precio_tarifa($tarifa_encuadernacion_id, $paginas, $tirada, $ancho, $alto, $proveedor_id, $POD){
|
|
$model = model('App\Models\Presupuestos\PresupuestoEncuadernacionesModel');
|
|
return $model->getPrecioTarifa($tarifa_encuadernacion_id, $paginas, $tirada, $ancho, $alto, $proveedor_id, $POD);
|
|
}
|
|
|
|
public function get_precio_tarifa_acabado($tarifa_id, $tirada, $POD){
|
|
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
|
return $model->getPrecioTarifa($tarifa_id, $tirada, $POD);
|
|
}
|
|
|
|
public function get_precio_tarifa_horas($tarifa_encuadernacion_id, $paginas, $tirada, $proveedor_id, $POD){
|
|
$model = model('App\Models\Presupuestos\PresupuestoEncuadernacionesModel');
|
|
return $model->getPrecioTarifaHoras($tarifa_encuadernacion_id, $paginas, $tirada, $proveedor_id, $POD);
|
|
}
|
|
|
|
|
|
public function get_tarifa_enc($tarifa_id, $paginas, $tirada, $ancho, $alto){
|
|
$model = model('App\Models\Tarifas\TarifaEncuadernacionModel');
|
|
return $model->getTarifaPresupuestoEncuadernacion($tarifa_id, $paginas, $tirada, $ancho, $alto);
|
|
}
|
|
|
|
public function getProveedoresForSelector_enc($tarifa_id, $paginas, $tirada, $ancho, $alto){
|
|
$model = model('App\Models\Presupuestos\PresupuestoEncuadernacionesModel');
|
|
return $model->getProveedoresForSelector($tarifa_id, $paginas, $tirada, $ancho, $alto);
|
|
}
|
|
|
|
public function get_dimensiones_enc(){
|
|
$dimensionModel = model('App\Models\Tarifas\TarifaEncuadernacionDimensionesModel');
|
|
|
|
$dimensiones = $dimensionModel->getDimensiones();
|
|
var_dump($dimensiones);
|
|
foreach($dimensiones as $dim){
|
|
$dim->label= lang("TarifaEncuadernacionLineas." . $dim->label);
|
|
}
|
|
var_dump($dimensiones);
|
|
}
|
|
|
|
|
|
public function get_tarifas_encuadernacion($tipo_presupuesto, $solapas){
|
|
$model = model('App\Models\Presupuestos\TipoPresupuestoTarifaEncuadernacionModel');
|
|
return $model->get_tarifas($tipo_presupuesto,$solapas);
|
|
}
|
|
|
|
public function timeToSeconds(){
|
|
$time = '99:59:59';
|
|
|
|
$time_parts = explode(":", $time);
|
|
$seconds = $time_parts[2] + $time_parts[1] * 60 + $time_parts[0] * 3600;
|
|
echo "Time in seconds: " . $seconds;
|
|
}
|
|
|
|
public function getLP(){
|
|
$lp_model = model('App\Models\Presupuestos\PresupuestoLineaModel');
|
|
$data = $lp_model->getLineasPresupuesto(8);
|
|
$papel_imp_model = model('App\Models\Configuracion\PapelImpresionModel');
|
|
$maquina_model = model('App\Models\Configuracion\MaquinaModel');
|
|
foreach($data as $linea){
|
|
//$linea->papel_impresion_id = $papel_imp_model->getValue_Nombre($linea->papel_impresion_id)[0];
|
|
//$linea->maquina_id = $maquina_model->getValue_Nombre($linea->maquina_id)[0];
|
|
var_dump($linea->papel_impresion_id);
|
|
var_dump($linea->maquina_id);
|
|
}
|
|
|
|
}
|
|
|
|
public function createLP(){
|
|
$lp_model = model('App\Models\Presupuestos\PresupuestoLineaModel');
|
|
$lp_model->createForPresupuesto(8);
|
|
}
|
|
|
|
public function getPapelesHQ(){
|
|
$model = model('App\Models\Configuracion\PapelGenericoModel');
|
|
$data = $model->getPapelForComparador('colorhq', false, false);
|
|
|
|
var_dump($data);
|
|
}
|
|
|
|
public function getGramaje(){
|
|
$model = new PapelGenericoModel();
|
|
$data = $model->getGramajeComparador("AHUESADO OFFSET", "bnhq" );
|
|
|
|
var_dump($data);
|
|
}
|
|
|
|
public function testGetPrecioPliegoRotativa()
|
|
{
|
|
$paginas=240;
|
|
|
|
$papel_impresion = (object)array(
|
|
'id' => 198,
|
|
'gramaje' => 90,
|
|
'precio_tonelada'=> 1600
|
|
);
|
|
|
|
|
|
$maquina = (object)array(
|
|
//'id' => 48,
|
|
'alto' => 800,
|
|
'ancho' => 520,
|
|
);
|
|
|
|
$precio = PresupuestoService::getPrecioPliego($maquina, $papel_impresion, $paginas);
|
|
|
|
var_dump($precio);
|
|
|
|
}
|
|
|
|
public function testGetMaquinasFromTarifas()
|
|
{
|
|
$maquinamodel = new MaquinaModel();
|
|
|
|
//$tarifa_tipo = ['negro', 'color'];
|
|
//$tarifa_tipo = 'color';
|
|
$tarifa_tipo = 'negro';
|
|
$papel_impresion_id = 5;
|
|
$maquina = $maquinamodel->getMaquinaImpresionForPresupuesto(1, $tarifa_tipo, 100, $papel_impresion_id);
|
|
echo '<pre>';
|
|
var_dump($maquina);
|
|
echo '</pre>';
|
|
}
|
|
|
|
public static function testLineasIntPlana()
|
|
{
|
|
$uso = 'interior';
|
|
$tipo = 'colorhq';
|
|
$datosPedido = (object)array(
|
|
'paginas' => 200,
|
|
'tirada' => 500,
|
|
'merma' => 10,
|
|
'merma_portada' => 10,
|
|
'ancho' => 165,
|
|
'alto' => 148,
|
|
'isCosido' => true,
|
|
);
|
|
|
|
$maquina_model = new \App\Models\Configuracion\MaquinaModel();
|
|
|
|
$opciones_papel = array(
|
|
'color' => 1,
|
|
'cubierta' => 0,
|
|
'sobrecubierta' => 0,
|
|
'rotativa' => 0,
|
|
);
|
|
$papelimpresionmodel = new \App\Models\Configuracion\PapelImpresionModel();
|
|
$papeles = $papelimpresionmodel->getIdPapelesImpresionForPresupuesto(
|
|
papel_generico_id: 4,
|
|
gramaje: 90,
|
|
options: $opciones_papel
|
|
);
|
|
foreach ($papeles as $papel) {
|
|
echo '-------------------------------';
|
|
$maquinas = $maquina_model->getMaquinaImpresionForPresupuesto(
|
|
is_rotativa: $papel->rotativa,
|
|
tarifa_tipo: 'colorhq',
|
|
tirada: $datosPedido->tirada + $datosPedido->merma,
|
|
papel_impresion_id: $papel->id,
|
|
);
|
|
|
|
foreach ($maquinas as $maquina) {
|
|
|
|
echo '----------------------------<br>';
|
|
var_dump($maquina->maquina);
|
|
var_dump($papel->nombre);
|
|
$tarifa = (new \App\Models\Configuracion\MaquinasTarifasImpresionModel())->getTarifa($maquina->maquina_id, $uso, $tipo);
|
|
$linea = PresupuestoService::getCostesLinea($uso, $datosPedido, $maquina, $papel, $opciones_papel, $tarifa);
|
|
echo '<pre>';
|
|
var_dump($linea);
|
|
echo '</pre>';
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public static function testLineasIntPlanaCubierta()
|
|
{
|
|
echo '<pre>';
|
|
$uso = 'cubierta';
|
|
$tipo = 'color';
|
|
$datosPedido = (object)array(
|
|
'paginas' => 200,
|
|
'tirada' => 500,
|
|
'merma' => 10,
|
|
'merma_portada' => 10,
|
|
'ancho' => 165,
|
|
'alto' => 148,
|
|
'isCosido' => true,
|
|
'solapas' => 0,
|
|
'solapas_ancho' => 0,
|
|
);
|
|
|
|
$maquina_model = new \App\Models\Configuracion\MaquinaModel();
|
|
|
|
$opciones_papel = array(
|
|
'color' => 1,
|
|
'cubierta' => 1,
|
|
'sobrecubierta' => 0,
|
|
'rotativa' => 0,
|
|
);
|
|
$papelimpresionmodel = new \App\Models\Configuracion\PapelImpresionModel();
|
|
$papeles = $papelimpresionmodel->getIdPapelesImpresionForPresupuesto(
|
|
papel_generico_id: 3,
|
|
gramaje: 100,
|
|
options: $opciones_papel
|
|
);
|
|
foreach ($papeles as $papel) {
|
|
echo '-------------------------------';
|
|
var_dump($papel);
|
|
$maquinas = $maquina_model->getMaquinaImpresionForPresupuesto(
|
|
is_rotativa: $papel->rotativa,
|
|
tarifa_tipo: 'color',
|
|
tirada: $datosPedido->tirada + $datosPedido->merma_portada,
|
|
papel_impresion_id: $papel->id,
|
|
);
|
|
|
|
foreach ($maquinas as $maquina) {
|
|
|
|
echo '----------------------------<br>';
|
|
var_dump($maquina->maquina);
|
|
var_dump($papel->nombre);
|
|
$tarifa = (new \App\Models\Configuracion\MaquinasTarifasImpresionModel())->getTarifa($maquina->maquina_id, $uso, $tipo);
|
|
$linea = PresupuestoService::getCostesLinea($uso, $datosPedido, $maquina, $papel, $opciones_papel, $tarifa);
|
|
|
|
var_dump($linea);
|
|
|
|
}
|
|
}
|
|
echo '</pre>';
|
|
}
|
|
|
|
|
|
|
|
public static function testLineasIntRotativa()
|
|
{
|
|
|
|
$uso = 'interior';
|
|
$tipo = 'negro';
|
|
|
|
|
|
|
|
$datosPedido = (object)array(
|
|
'paginas' => 240,
|
|
'tirada' => 100,
|
|
'merma' => 10,
|
|
'merma_portada' => 10,
|
|
'ancho' => 150,
|
|
'alto' => 210,
|
|
'isCosido' => true,
|
|
);
|
|
|
|
$parametrosRotativa = (object)array(
|
|
'a_favor_fibra' => 0,
|
|
'bnPages' => 240,
|
|
'colorPages' => 0,
|
|
'rotativa_gota_negro' => 0,
|
|
'rotativa_gota_color' => 0,
|
|
);
|
|
|
|
$maquina_model = new \App\Models\Configuracion\MaquinaModel();
|
|
|
|
$opciones_papel = array(
|
|
'bn' => 1,
|
|
'cubierta' => 0,
|
|
'sobrecubierta' => 0,
|
|
'rotativa' => 1,
|
|
);
|
|
$papelimpresionmodel = new \App\Models\Configuracion\PapelImpresionModel();
|
|
$papeles = $papelimpresionmodel->getIdPapelesImpresionForPresupuesto(
|
|
papel_generico_id: 4,
|
|
gramaje: 90,
|
|
options: $opciones_papel
|
|
);
|
|
|
|
|
|
foreach ($papeles as $papel) {
|
|
|
|
$papelImpresionTipologiaModel = new \App\Models\Configuracion\PapelImpresionTipologiaModel();
|
|
$datosTipologias = $papelImpresionTipologiaModel
|
|
->findTipologiasForPapelImpresion($papel->id, $parametrosRotativa->colorPages>0?'color':'negro')
|
|
->get()->getResultObject();
|
|
echo '<pre>';
|
|
var_dump($papel->id);
|
|
var_dump($datosTipologias);
|
|
echo '</pre>';
|
|
|
|
$parametrosRotativa->rotativa_gota_negro = $datosTipologias[0]->gota_negro;
|
|
$parametrosRotativa->rotativa_gota_color = $datosTipologias[0]->gota_color;
|
|
$parametrosRotativa->rotativa_negro = $datosTipologias[0]->negro;
|
|
$parametrosRotativa->rotativa_cyan = $datosTipologias[0]->cyan;
|
|
$parametrosRotativa->rotativa_magenta = $datosTipologias[0]->magenta;
|
|
$parametrosRotativa->rotativa_amarillo = $datosTipologias[0]->amarillo;
|
|
|
|
echo '-------------------------------';
|
|
$maquinas = $maquina_model->getMaquinaImpresionForPresupuesto(
|
|
is_rotativa: $papel->rotativa,
|
|
tarifa_tipo: 'negro',
|
|
uso_tarifa: 'interiro',
|
|
tirada: $datosPedido->tirada + $datosPedido->merma,
|
|
papel_impresion_id: $papel->id,
|
|
);
|
|
|
|
|
|
|
|
foreach ($maquinas as $maquina) {
|
|
|
|
echo '----------------------------<br>';
|
|
var_dump($maquina->maquina);
|
|
var_dump($papel->nombre);
|
|
|
|
$linea = PresupuestoService::getCostesLineaRotativa($maquina, $datosPedido, $parametrosRotativa);
|
|
echo '<pre>';
|
|
var_dump($linea);
|
|
echo '</pre>';
|
|
}
|
|
}
|
|
}
|
|
|
|
public static function testLineasCubierta()
|
|
{
|
|
$uso = 'cubierta';
|
|
$tipo = 'color';
|
|
|
|
$datosPedido = (object)array(
|
|
'paginas' => 240,
|
|
'tirada' => 100,
|
|
'merma' => 10,
|
|
'merma_portada' => 10,
|
|
'ancho' => 150,
|
|
'alto' => 210,
|
|
'isCosido' => true,
|
|
'solapas' => false,
|
|
);
|
|
|
|
$opciones_papel = array(
|
|
'color' => 1,
|
|
'cubierta' => 1,
|
|
);
|
|
|
|
|
|
// Se obtienen los papeles disponibles
|
|
$papelimpresionmodel = new \App\Models\Configuracion\PapelImpresionModel();
|
|
$papeles = $papelimpresionmodel->getIdPapelesImpresionForPresupuesto(
|
|
papel_generico_id: 3, // Blanco offset
|
|
gramaje: 100,
|
|
options: $opciones_papel
|
|
);
|
|
|
|
echo '<pre>';
|
|
var_dump($papeles);
|
|
echo '</pre>';
|
|
|
|
$lineas = array();
|
|
// Para cada papel, se obtienen las maquinas disponibles
|
|
foreach ($papeles as $papel) {
|
|
|
|
$maquinamodel = new \App\Models\Configuracion\MaquinaModel();
|
|
$maquinas = $maquinamodel->getMaquinaImpresionForPresupuesto(
|
|
is_rotativa: 0,
|
|
tarifa_tipo: $tipo,
|
|
tirada: $datosPedido->tirada + $datosPedido->merma,
|
|
papel_impresion_id: $papel->id,
|
|
);
|
|
|
|
echo '<pre>';
|
|
echo '-------------------------------';
|
|
echo '</pre>';
|
|
|
|
echo '<pre>';
|
|
var_dump($maquinas);
|
|
echo '</pre>';
|
|
|
|
// Se recorren las máquinas y se calcula el coste de linea por cada una
|
|
foreach ($maquinas as $maquina) {
|
|
|
|
echo '<pre>';
|
|
echo '$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$';
|
|
echo '</pre>';
|
|
|
|
$tarifamodel = new \App\Models\Configuracion\MaquinasTarifasImpresionModel();
|
|
$tarifa = $tarifamodel->getTarifa($maquina->maquina_id, $uso, $tipo);
|
|
|
|
echo '<pre>';
|
|
var_dump($tarifa);
|
|
echo '</pre>';
|
|
|
|
if(!is_float($tarifa)){
|
|
continue;
|
|
}
|
|
$linea = PresupuestoService::getCostesLinea($uso, $datosPedido, $maquina, $papel, $opciones_papel, $tarifa);
|
|
$linea['fields']['maquina'] = $maquina->maquina;
|
|
$linea['fields']['maquina_id'] = $maquina->maquina_id;
|
|
$linea['fields']['papel_impresion'] = $papel->nombre;
|
|
$linea['fields']['papel_impresion_id'] = $papel->id;
|
|
$linea['fields']['paginas'] = $datosPedido->paginas;
|
|
$linea['fields']['gramaje'] = 100;
|
|
$linea['fields']['papel_generico_id'] = 3;
|
|
$linea['fields']['papel_generico'] = 'Blanco offset';
|
|
|
|
array_push($lineas, $linea);
|
|
}
|
|
}
|
|
|
|
echo '<pre>';
|
|
var_dump($lineas);
|
|
echo '</pre>';
|
|
|
|
|
|
}
|
|
}
|
|
|