trabajando en resumen

This commit is contained in:
Jaime Jiménez
2023-12-13 15:33:56 +01:00
parent 9b2aa65c36
commit 3a43f90ef9
5 changed files with 87 additions and 18 deletions

View File

@ -21,7 +21,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
4 => "t1.precio_total"
];
protected $allowedFields = ["presupuesto_id", "tarifa_encuadernado_id", "nombre", "precio_total", "precio_unidad"];
protected $allowedFields = ["presupuesto_id", "tarifa_encuadernado_id", "nombre", "precio_total", "precio_unidad", "margen"];
protected $returnType = "App\Entities\Presupuestos\PresupuestoEncuadernacionesEntity";
protected $useTimestamps = true;
@ -66,17 +66,22 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
$tarifa_value = $modelTarifa->getTarifaPresupuestoEncuadernacionHoras($tarifa['tarifa_id'], $tiempo, $tirada);
if (count($tarifa_value)>0) {
$result_data[0] = floatval(1.0* $tarifa_value[0]->precio_hora* $tiempo / $tirada);
$result_data[1] = floatval(1.0* $tarifa_value[0]->precio_hora* $tiempo) ;
$precio_total = floatval(1.0* $tarifa_value[0]->precio_hora* $tiempo) * (1+$tarifa_value[0]->margen/100.0);
if (!$POD){
$result_data[1] += floatval($tarifa_value[0]->tarifa_importe_fijo);
$precio_total += floatval($tarifa_value[0]->tarifa_importe_fijo);
}
$result_data[0] = floatval($precio_total / $tirada); // Precio/unidad
$result_data[1] = $precio_total;
$result_data[2] = $precio_total * ($tarifa_value[0]->margen/100.0) ; // margen
array_push($tarifas,
(object)[
'tarifa_id'=> $tarifa['tarifa_id'],
'tarifa_nombre'=> $tarifa_value[0]->tarifa_enc_nombre,
'precio_unidad'=> $result_data[0],
'total'=> $result_data[1],
'margen' => $result_data[2],
'proveedor' => $tarifa_value[0]->proveedor_nombre,
'proveedor_id' => $tarifa_value[0]->proveedor_id,
]);
@ -89,6 +94,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
'proveedor' => lang('Presupuestos.no_disponible'),
'precio_unidad'=> 0,
'total'=> 0,
'margen' => 0,
]);
}
}
@ -102,6 +108,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
'tarifa_nombre'=> $tarifa_value[0]->tarifa_enc_nombre,
'precio_unidad'=> $result_data[0],
'total'=> $result_data[1],
'margen'=> $result_data[2],
'proveedor' => $tarifa_value[0]->proveedor_nombre,
'proveedor_id' => $tarifa_value[0]->proveedor_id,
]);
@ -114,6 +121,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
'proveedor' => lang('Presupuestos.no_disponible'),
'precio_unidad'=> 0,
'total'=> 0,
'margen' => 0,
]);
}
}
@ -162,6 +170,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
'tarifa_nombre'=> $tarifa_value[0]->tarifa_enc_nombre,
'precio_unidad'=> $result_data[0],
'total'=> $result_data[1],
'margen'=> $result_data[2],
'proveedor' => $tarifa_value[0]->proveedor_nombre,
'proveedor_id' => $tarifa_value[0]->proveedor_id,
];
@ -174,6 +183,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
'proveedor' => lang('Presupuestos.no_disponible'),
'precio_unidad'=> 0,
'total'=> 0,
'marge'=> 0,
];
return $ret_array;
}
@ -189,16 +199,21 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
$tarifa_value = $modelTarifa->getTarifaPresupuestoEncuadernacionHoras($tarifa_encuadernacion_id, $tiempo, $tirada, $proveedor_id);
if (count($tarifa_value)>0) {
$result_data[0] = floatval(1.0* $tarifa_value[0]->precio_hora* $tiempo / $tirada);
$result_data[1] = floatval(1.0* $tarifa_value[0]->precio_hora* $tiempo) ;
$precio_total = floatval(1.0* $tarifa_value[0]->precio_hora* $tiempo) * (1+$tarifa_value[0]->margen/100.0);
if (!$POD){
$result_data[1] += floatval($tarifa_value[0]->tarifa_importe_fijo);
$precio_total += floatval($tarifa_value[0]->tarifa_importe_fijo);
}
$result_data[0] = floatval($precio_total / $tirada); // Precio/unidad
$result_data[1] = $precio_total;
$result_data[2] = $precio_total * ($tarifa_value[0]->margen/100.0) ; // margen
$ret_array[] = (object)[
'tarifa_id'=> $tarifa_encuadernacion_id,
'tarifa_nombre'=> $tarifa_value[0]->tarifa_enc_nombre,
'precio_unidad'=> $result_data[0],
'total'=> $result_data[1],
'margen' => $result_data[2],
'proveedor' => $tarifa_value[0]->proveedor_nombre,
'proveedor_id' => $tarifa_value[0]->proveedor_id,
];
@ -211,6 +226,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
'proveedor' => lang('Presupuestos.no_disponible'),
'precio_unidad'=> 0,
'total'=> 0,
'margen' => 0,
];
return $ret_array;
}
@ -226,12 +242,13 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
$precio_unidad = $precio_unidad* (1+ floatval($tarifa->margen)/100.0);
$total = $precio_unidad * $paginas;
$margen = $total * (floatval($tarifa->margen)/100.0);
if (!$is_POD){
$total += floatval($tarifa->tarifa_importe_fijo);
}
return [$precio_unidad, $total];
return [$precio_unidad, $total, $margen];
}
@ -285,6 +302,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
->set('proveedor_id', $proveedor, false)
->set('precio_unidad', $tarifa->precio_unidad)
->set('precio_total', $tarifa->precio_total)
->set('margen', $tarifa->margen)
->update();
@ -297,6 +315,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
->set('proveedor_id', $proveedor, false)
->set('precio_unidad', $tarifa->precio_unidad)
->set('precio_total', $tarifa->precio_total)
->set('margen', $tarifa->margen)
->insert();
}
}
@ -315,7 +334,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
->table($this->table . " t1")
->select(
"t1.id AS id, t1.tarifa_encuadernado_id AS tarifa_encuadernado_id, t1.precio_unidad AS precio_unidad,
t1.precio_total AS precio_total, t2.nombre AS nombre, t1.proveedor_id AS proveedor_id, t3.nombre AS proveedor"
t1.precio_total AS precio_total, t1.margen AS margen, t2.nombre AS nombre, t1.proveedor_id AS proveedor_id, t3.nombre AS proveedor"
);
$builder->where('t1.presupuesto_id', $presupuesto_id);