añadido margen a tarifas impresion

This commit is contained in:
Jaime Jiménez
2024-02-24 14:05:01 +01:00
parent c6b7a1712b
commit a44ee4e4ed
9 changed files with 71 additions and 31 deletions

View File

@ -234,6 +234,13 @@ class Maquinastarifasimpresion extends \App\Controllers\GoBaseResourceController
->validator('Validate::notEmpty', array(
'message' => lang('MaquinasTarifasImpresions.validation.tipo.required'))
),
Field::inst('margen')
->validator('Validate::numeric', array(
'message' => lang('MaquinasTarifasImpresions.validation.precio.decimal'))
)
->validator('Validate::notEmpty', array(
'message' => lang('MaquinasTarifasImpresions.validation.tipo.required'))
),
Field::inst('maquina_id'),
Field::inst('user_created_id'),
Field::inst('created_at'),
@ -260,9 +267,11 @@ class Maquinastarifasimpresion extends \App\Controllers\GoBaseResourceController
'uso' => $values['uso'],
'is_deleted' => 0));
$id = $builder->get()->getFirstRow()->id;
// No se pueden duplicar valores al crear o al editar
if ($builder->countAllResults() >= 1) {
if (($action === Editor::ACTION_EDIT && $builder->get()->getFirstRow()->id != $pkey)
if (($action === Editor::ACTION_EDIT && $id != $pkey)
|| $action === Editor::ACTION_CREATE) {
return lang('MaquinasTarifasImpresions.validation.duplicated_uso_tipo');

View File

@ -791,7 +791,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
}
$tarifamodel = new MaquinasTarifasImpresionModel();
[$tarifaId, $tarifa] = $tarifamodel->getTarifa($maquina->maquina_id, ($uso=='guardas')?'interior':$uso, $tipo);
[$tarifaId, $tarifa, $tarifa_margen] = $tarifamodel->getTarifa($maquina->maquina_id, ($uso=='guardas')?'interior':$uso, $tipo);
// Generates a message like: User 123 logged into the system from 127.0.0.1
if(!is_float($tarifa)){
@ -799,10 +799,10 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
}
if($maquina->is_inkjet){
$linea = PresupuestoService::getCostesLinea($uso, $datosPedido, $maquina, $papel, $opciones_papel, $tarifa, $parametrosInkjet->a_favor_fibra);
$linea = PresupuestoService::getCostesLinea($uso, $datosPedido, $maquina, $papel, $opciones_papel, $tarifa, $tarifa_margen, $parametrosInkjet->a_favor_fibra);
}
else{
$linea = PresupuestoService::getCostesLinea($uso, $datosPedido, $maquina, $papel, $opciones_papel, $tarifa);
$linea = PresupuestoService::getCostesLinea($uso, $datosPedido, $maquina, $papel, $opciones_papel, $tarifa, $tarifa_margen);
}
if(array_key_exists('error', $linea)){
@ -842,6 +842,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$linea['fields']['precio_click'],
$maquina->velocidad);
[$precio_hora, $margen_precio_hora] = $clientePreciosModel->get_precio_hora($cliente_id, $config, $tiempo);
if(is_null($precio_hora)){
continue;
@ -849,10 +850,10 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$linea['fields']['tipo_maquina'] = $maquina->is_inkjet?'inkjet':'toner';
$linea['fields']['precio_hora'] = $precio_hora*(1+$margen_precio_hora/100.0);
$linea['fields']['precio_hora_margen'] = $margen_precio_hora;
$linea['fields']['precio_hora_margen'] = $precio_hora*($margen_precio_hora/100.0);
$linea['fields']['horas_maquina'] = $tiempo;
$linea['fields']['precio_impresion_horas'] = $precio_hora*(1+$margen_precio_hora/100.0)*$tiempo;
$linea['fields']['margen_impresion_horas'] = $precio_hora*($margen_precio_hora/100.0)*$tiempo;
$linea['fields']['precio_impresion_horas'] = $linea['fields']['precio_hora']*$tiempo;
$linea['fields']['margen_impresion_horas'] = $linea['fields']['precio_hora_margen']*$tiempo;
// para guardas
if(\property_exists($datosPedido, 'paginas_impresion')){
@ -979,7 +980,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
foreach ($maquinas as $maquina) {
$tarifamodel = new MaquinasTarifasImpresionModel();
[$tarifaId, $tarifa] = $tarifamodel->getTarifa($maquina->maquina_id, $uso, is_array($tipo)?'color':$tipo);
[$tarifaId, $tarifa, $tarifa_margen] = $tarifamodel->getTarifa($maquina->maquina_id, $uso, is_array($tipo)?'color':$tipo);
if(!is_float($tarifa)){
continue;
}
@ -991,7 +992,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$linea['fields']['tarifa_impresion_id'] = $tarifaId;
$linea['fields']['precios_pliegos'] = $precio_pliego_impresion;
$linea['fields']['precios_pliegos'] = $precio_pliego_impresion+$margen_pliego_impresion;
$linea['fields']['precio_libro'] = $linea['fields']['pliegos_libro'] * $precio_pliego_impresion;
// Precio papel pedido
@ -1020,8 +1021,10 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$linea['fields']['datosTipologias'] = $datosTipologias[0];
// impresion
$linea['fields']['precio_click'] = $tarifa;
$linea['fields']['precio_click'] = $tarifa *(1+ $tarifa_margen/100.0);
$linea['fields']['precio_click_margen'] = $tarifa *($tarifa_margen/100.0);
$linea['fields']['precio_click_pedido'] = $linea['fields']['clicks_pedido'] * $linea['fields']['precio_click'];
$linea['fields']['margen_click_pedido'] = $linea['fields']['clicks_pedido'] * $linea['fields']['precio_click_margen'];
$linea['fields']['tiempo_maquina'] = PresupuestoService::getTiempoMaquina(
$linea['fields']['precio_click_pedido'],
@ -1046,10 +1049,10 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
}
$linea['fields']['precio_hora'] = $precio_hora*(1+$margen_precio_hora/100.0);
$linea['fields']['precio_hora_margen'] = $margen_precio_hora;
$linea['fields']['precio_hora_margen'] = $precio_hora*($margen_precio_hora/100.0);
$linea['fields']['horas_maquina'] = $tiempo;
$linea['fields']['precio_impresion_horas'] = $precio_hora*(1+$margen_precio_hora/100.0)*$tiempo;
$linea['fields']['margen_impresion_horas'] = $precio_hora*($margen_precio_hora/100.0)*$tiempo;
$linea['fields']['precio_impresion_horas'] = $linea['fields']['precio_hora']*$tiempo;
$linea['fields']['margen_impresion_horas'] = $linea['fields']['precio_hora_margen']*$tiempo;
// total linea rotativa
//$linea['fields']['total_impresion'] = $linea['fields']['precio_pedido'] + $linea['fields']['precio_click_pedido'] + $linea['fields']['precio_tinta'] +