mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
797 lines
28 KiB
PHP
Executable File
797 lines
28 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\Models\Presupuestos\PresupuestoModel;
|
|
use App\Models\Usuarios\GroupModel;
|
|
use App\Models\Usuarios\PermisosModel;
|
|
use App\Services\PresupuestoService;
|
|
use CodeIgniter\Shield\Entities\User;
|
|
|
|
class Test extends BaseController
|
|
{
|
|
function __construct()
|
|
{
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
/*
|
|
$model = model("\App\Models\Pedidos\PedidoLineaModel");
|
|
$data = $model->obtenerLineasPedidoSinFacturar(999);
|
|
*/
|
|
|
|
xdebug_info();
|
|
|
|
|
|
|
|
}
|
|
|
|
private function clonar_tarifa_encuadernacion($teOrigen, $teDestino){
|
|
|
|
$tet_model = model('App\Models\Tarifas\TarifaEncuadernacionTiradaModel');
|
|
$tel_model = model('App\Models\Tarifas\TarifaEncuadernacionLineaModel');
|
|
|
|
$tarifasTiradas = $tet_model->asObject()->where('tarifa_encuadernacion_id',$teOrigen)->findAll();
|
|
|
|
foreach ($tarifasTiradas as $tarifasTirada){
|
|
|
|
echo "--->" . $tarifasTirada->id . "<br>";
|
|
|
|
$tarifasLineas = $tel_model->asObject()->where('tirada_encuadernacion_id',$tarifasTirada->id)->findAll();
|
|
|
|
// Prepare the data
|
|
unset($tarifasTirada->id);
|
|
$tarifasTirada->tarifa_encuadernacion_id = $teDestino;
|
|
$tarifasTirada->created_at = date('Y-m-d H:i:s');
|
|
$tarifasTirada->updated_at = date('Y-m-d H:i:s');
|
|
//var_dump($tarifasTirada);
|
|
|
|
// Insert it
|
|
$tet_model->insert($tarifasTirada);
|
|
$inserted_id = $tet_model->insertID();
|
|
|
|
foreach ($tarifasLineas as $tarifasLinea){
|
|
|
|
echo "------>" . $tarifasLinea->id . "<br>";
|
|
|
|
// Prepare the data
|
|
unset($tarifasLinea->id);
|
|
$tarifasLinea->tirada_encuadernacion_id = $inserted_id;
|
|
$tarifasLinea->created_at = date('Y-m-d H:i:s');
|
|
$tarifasLinea->updated_at = date('Y-m-d H:i:s');
|
|
//var_dump($tarifasLinea);
|
|
|
|
// Insert it
|
|
$tel_model->insert($tarifasLinea);
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private function test_get_tirada_alt($tirada, $merma, $tipo_impresion_id,
|
|
$json_data, $cliente_id, $ancho, $alto,
|
|
$solapas_cubierta, $solapas_ancho_cubierta, $solapas_sobrecubierta, $solapas_ancho_sobrecubierta, $lomo)
|
|
{
|
|
$values = [];
|
|
|
|
if ($json_data) {
|
|
|
|
$data = json_decode($json_data, true);
|
|
|
|
foreach ($data as $linea) {
|
|
echo '------------------------------------<br>';
|
|
var_dump($linea);
|
|
// Se obtienen los valores de cada linea para el calculo del precio
|
|
$datosPedido = (object)array(
|
|
'paginas' => intval($linea['paginas']) ?? 0,
|
|
'tirada' => intval($tirada) ?? 0,
|
|
'merma' => intval($merma) ?? 0,
|
|
'ancho' => intval($ancho) ?? 100000,
|
|
'alto' => intval($alto) ?? 100000,
|
|
'a_favor_fibra' => $linea['aFavorFibra'] ?? 1,
|
|
'isCosido' => (new \App\Models\Configuracion\TipoPresupuestoModel())->get_isCosido($tipo_impresion_id), // JJO esto es custom por cada tipo de presupuesto
|
|
);
|
|
|
|
if ($linea['row_id'] == 'lp_guardas') {
|
|
$datosPedido->paginas_impresion = intval($linea['paginas_impresion']) ?? 0;
|
|
// Para el caso de Fresado y Cosido tapa dura, las guardas son un diptico
|
|
// y hay que imprimirlas como "cosido" (dos hojas pegadas). En el caso de espiral
|
|
// o wire-o tapa dura, las guardas se imprimen como hojas sueltas
|
|
if ($tipo_impresion_id == 1 || $tipo_impresion_id == 3) {
|
|
$datosPedido->isCosido = true;
|
|
} else if ($tipo_impresion_id == 5 || $tipo_impresion_id == 7) {
|
|
$datosPedido->isCosido = false;
|
|
}
|
|
} else if ($linea['row_id'] == 'lp_sobrecubierta' || $linea['row_id'] == 'lp_cubierta') {
|
|
$datosPedido->solapas =
|
|
$linea['row_id'] == 'lp_cubierta' ? $solapas_cubierta : $solapas_sobrecubierta;
|
|
$datosPedido->solapas_ancho =
|
|
$linea['row_id'] == 'lp_cubierta' ? $solapas_ancho_cubierta : $solapas_ancho_sobrecubierta;
|
|
$datosPedido->lomo = $lomo;
|
|
|
|
$type = $linea['row_id'] == 'lp_cubierta' ? 'cubierta' : 'sobrecubierta';
|
|
|
|
$datosPedido->anchoExteriores = PresupuestoService::getAnchoTotalExteriores($type, $tipo_impresion_id, $datosPedido);
|
|
$datosPedido->altoExteriores = PresupuestoService::getAltoTotalExteriores($type, $tipo_impresion_id, $datosPedido);
|
|
}
|
|
|
|
$maquina = (new \App\Models\Configuracion\MaquinaModel())->find($linea['maquina_id']);
|
|
$papel = (new \App\Models\Configuracion\PapelImpresionModel())->find($linea['papel_impresion_id']);
|
|
$pg = (new \App\Models\Configuracion\PapelGenericoModel())->find($linea['papel']);
|
|
$papel_generico['id'] = $pg->id;
|
|
$papel_generico['nombre'] = $pg->nombre;
|
|
|
|
$maquina->maquina_id = $maquina->id;
|
|
unset($maquina->id);
|
|
|
|
switch ($linea['row_id']) {
|
|
case 'lp_rot_bn':
|
|
case 'lp_rot_color':
|
|
$uso = 'rotativa';
|
|
$tipo = strpos($linea['row_id'], "_bn") !== false ? 'negro' : 'color';
|
|
break;
|
|
case 'lp_cubierta':
|
|
$uso = 'cubierta';
|
|
break;
|
|
case 'lp_sobrecubierta':
|
|
$uso = 'sobrecubierta';
|
|
break;
|
|
case 'lp_guardas':
|
|
$uso = 'guardas';
|
|
break;
|
|
default:
|
|
$uso = 'interior';
|
|
$isHq = strpos($linea['row_id'], "hq") !== false ? true : false;
|
|
$isColor = strpos($linea['row_id'], "_color") !== false ? true : false;
|
|
$tipo = $isColor ? ($isHq ? 'colorhq' : 'color') : ($isHq ? 'negrohq' : 'negro');
|
|
break;
|
|
}
|
|
|
|
if ($uso == 'cubierta' || $uso == 'sobrecubierta' || $uso == 'guardas') {
|
|
$isColor = true;
|
|
$isHq = true;
|
|
$tipo = 'colorhq';
|
|
}
|
|
|
|
|
|
|
|
$opciones_papel = PresupuestoService::get_opciones_papel($uso, $isColor);
|
|
|
|
$datosTipolog = $linea['gotaNegro'] ?? null;
|
|
if (!is_null($datosTipolog)) {
|
|
$datosTipolog = [];
|
|
$data = (object)array(
|
|
'negro' => intval($linea['cobNegro']) ?? 0,
|
|
'cyan' => intval($linea['cobCyan']) ?? 0,
|
|
'magenta' => intval($linea['cobMagenta']) ?? 0,
|
|
'amarillo' => intval($linea['cobAmarillo']) ?? 0,
|
|
'cg' => intval($linea['cobCG']) ?? 0,
|
|
'gota_negro' => intval($linea['gotaNegro']) ?? 0,
|
|
'gota_color' => intval($linea['gotaColor']) ?? 0,
|
|
);
|
|
array_push($datosTipolog, $data);
|
|
}
|
|
|
|
$data['uso'] = $uso;
|
|
$data['tipo'] = $tipo;
|
|
$data['datosPedido'] = $datosPedido;
|
|
$data['cliente_id'] = $cliente_id;
|
|
$data['papel'] = $papel;
|
|
$data['opciones_papel'] = $opciones_papel;
|
|
$data['maquina'] = $maquina;
|
|
$data['papel_generico'] = (array)$papel_generico;
|
|
$data['isColor'] = $isColor;
|
|
$data['a_favor_fibra'] = $linea['aFavorFibra'] ?? null;
|
|
$data['datosTipolog'] = $datosTipolog;
|
|
$data['gramaje'] = $linea['gramaje'] ?? 0;
|
|
|
|
|
|
if ($linea['row_id'] != 'lp_rot_bn' && $linea['row_id'] != 'lp_rot_color') {
|
|
$linea_coste = PresupuestoService::getLineaPresupuestoPlana($data);
|
|
var_dump($linea_coste);
|
|
}
|
|
|
|
if (empty($linea))
|
|
continue;
|
|
|
|
array_push($values, $linea_coste);
|
|
}
|
|
} else {
|
|
$values = [];
|
|
}
|
|
|
|
}
|
|
|
|
|
|
private function asignar_tarifa_defecto_todos_usuarios()
|
|
{
|
|
|
|
// Previo a ejecutar, vaciar la tabla clientes_precios (ojo si hay customizaciones)
|
|
|
|
$db = \Config\Database::connect();
|
|
$builder = $db->table('cliente_precios');
|
|
|
|
$plantillaDefectoId = 5;
|
|
$clienteModel = model('App\Models\Clientes\ClienteModel');
|
|
$platillaModel = model('App\Models\Clientes\ClientePlantillaPreciosLineasModel');
|
|
|
|
$plantillaDefecto = $platillaModel->getResource($plantillaDefectoId)->get()->getResultObject();
|
|
|
|
$clientes = $clienteModel->getResource()->get()->getResultObject();
|
|
|
|
foreach ($clientes as $cliente) {
|
|
|
|
foreach ($plantillaDefecto as $plantillaDefectoLinea) {
|
|
|
|
$data = [
|
|
'plantilla_id' => $plantillaDefectoId,
|
|
'cliente_id' => $cliente->id,
|
|
'tipo' => $plantillaDefectoLinea->tipo,
|
|
'tipo_maquina' => $plantillaDefectoLinea->tipo_maquina,
|
|
'tipo_impresion' => $plantillaDefectoLinea->tipo_impresion,
|
|
'tiempo_min' => $plantillaDefectoLinea->tiempo_min,
|
|
'tiempo_max' => $plantillaDefectoLinea->tiempo_max,
|
|
'precio_hora' => $plantillaDefectoLinea->precio_hora,
|
|
'margen' => $plantillaDefectoLinea->margen,
|
|
'user_created_id' => 2,
|
|
'created_at' => date('Y-m-d H:i:s'),
|
|
'updated_at' => date('Y-m-d H:i:s'),
|
|
];
|
|
|
|
/*echo '<pre>';
|
|
var_dump($data);
|
|
echo '</pre>';*/
|
|
|
|
$builder->insert($data);
|
|
}
|
|
|
|
//break;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
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 getPapelesCubierta()
|
|
{
|
|
$model = model('App\Models\Configuracion\PapelGenericoModel');
|
|
$data = $model->getPapelForComparador('colorhq', true, false);
|
|
|
|
var_dump($data);
|
|
}
|
|
|
|
public function getPapelesSobrecubierta()
|
|
{
|
|
$model = model('App\Models\Configuracion\PapelGenericoModel');
|
|
$data = $model->getPapelForComparador('colorhq', false, true, false);
|
|
|
|
var_dump($data);
|
|
}
|
|
|
|
public function getPapelesGuardas()
|
|
{
|
|
$model = model('App\Models\Configuracion\PapelGenericoModel');
|
|
$data = $model->getPapelForComparador('color', false, false, false, true);
|
|
|
|
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 = 'negro';
|
|
$datosPedido = (object)array(
|
|
'paginas' => 200,
|
|
'tirada' => 500,
|
|
'merma' => 10,
|
|
'merma_portada' => 10,
|
|
'ancho' => 150,
|
|
'alto' => 210,
|
|
'isCosido' => true,
|
|
);
|
|
|
|
$maquina_model = new \App\Models\Configuracion\MaquinaModel();
|
|
|
|
$opciones_papel = array(
|
|
'bn' => 1,
|
|
'rotativa' => 0,
|
|
);
|
|
$papelimpresionmodel = new \App\Models\Configuracion\PapelImpresionModel();
|
|
$papeles = $papelimpresionmodel->getIdPapelesImpresionForPresupuesto(
|
|
papel_generico_id: 4,
|
|
gramaje: 80,
|
|
options: $opciones_papel
|
|
);
|
|
foreach ($papeles as $papel) {
|
|
echo '-------------------------------';
|
|
$maquinas = $maquina_model->getMaquinaImpresionForPresupuesto(
|
|
is_rotativa: $papel->rotativa,
|
|
tarifa_tipo: 'negro',
|
|
uso_tarifa: 'interior',
|
|
tirada: $datosPedido->tirada + $datosPedido->merma,
|
|
papel_impresion_id: $papel->id,
|
|
);
|
|
|
|
foreach ($maquinas as $maquina) {
|
|
|
|
echo '----------------------------<br>';
|
|
var_dump($maquina->maquina);
|
|
var_dump($papel->nombre);
|
|
[$tarifaId, $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>';
|
|
}
|
|
|
|
public static function testLineasSobrecubierta()
|
|
{
|
|
$uso = 'sobrecubierta';
|
|
$tipo = 'colorhq';
|
|
|
|
$datosPedido = (object)array(
|
|
'paginas' => 240,
|
|
'tirada' => 100,
|
|
'merma' => 10,
|
|
'merma_portada' => 10,
|
|
'ancho' => 150,
|
|
'alto' => 210,
|
|
'isCosido' => true,
|
|
'solapas' => false,
|
|
);
|
|
|
|
$opciones_papel = array(
|
|
'sobrecubierta' => 1,
|
|
'rotativa' => 0,
|
|
);
|
|
|
|
|
|
// Se obtienen los papeles disponibles
|
|
$papelimpresionmodel = new \App\Models\Configuracion\PapelImpresionModel();
|
|
$papeles = $papelimpresionmodel->getIdPapelesImpresionForPresupuesto(
|
|
papel_generico_id: 1, // Blanco offset
|
|
gramaje: 200,
|
|
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,
|
|
uso_tarifa: 'sobrecubierta',
|
|
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>';
|
|
}
|
|
}
|