|
@@ -205,15 +205,21 @@ class ObraController extends AuthController {
|
|
|
public function actionTotalRubro($id){
|
|
|
try {
|
|
|
$TotalRubro= 0;
|
|
|
- $q=(new Query())->select(['{{ObraRubro}}.[[cantidad]]'])
|
|
|
+ $q=(new Query())->select(['{{ObraRubro}}.[[cantidad]]', '{{ObraRubro}}.[[descuento]]'])
|
|
|
->from('ObraRubro')
|
|
|
->rightJoin('Obra', '{{Obra}}.[[id]] = {{ObraRubro}}.[[idObra]]')
|
|
|
->andWhere(['{{ObraRubro}}.[[idObra]]' => $id])
|
|
|
->andWhere(['{{ObraRubro}}.[[eliminado]]'=>null])
|
|
|
- ->column();
|
|
|
- foreach($q as $cantidad){
|
|
|
- $TotalRubro=$TotalRubro+$cantidad;
|
|
|
- }
|
|
|
+ ->all();
|
|
|
+ foreach ($q as $rubro) {
|
|
|
+ $cantidad = $rubro['cantidad'];
|
|
|
+ $descuento = $rubro['descuento'] ?? 0;
|
|
|
+
|
|
|
+ $cantidadConDescuento = $cantidad * (1 - $descuento / 100);
|
|
|
+
|
|
|
+ // Suma al total
|
|
|
+ $TotalRubro += $cantidadConDescuento;
|
|
|
+}
|
|
|
return $TotalRubro;
|
|
|
} catch (\Exception $e) {
|
|
|
Yii::error("Error en actionRubro: " . $e->getMessage());
|
|
@@ -233,9 +239,15 @@ public function actionSaldo($gasto, $nomina, $pago){
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-public function actionEjercidoObra($gasto, $rubro){
|
|
|
+public function actionEjercidoObra($ejercer, $rubro){
|
|
|
try{
|
|
|
- $TotalEjercido = ($rubro != 0) ? ($gasto * 100) / $rubro : 0;
|
|
|
+ if (($ejercer - $rubro) != 0) {
|
|
|
+ $TotalEjercido = ($rubro / ($ejercer - $rubro)) * 100;
|
|
|
+ $TotalEjercido = round($TotalEjercido, 2);
|
|
|
+
|
|
|
+ } else {
|
|
|
+ $TotalEjercido = 0; // Evita dividir por cero
|
|
|
+ }
|
|
|
|
|
|
return $TotalEjercido;
|
|
|
|
|
@@ -244,9 +256,9 @@ public function actionEjercidoObra($gasto, $rubro){
|
|
|
return ['error' => 'Error al calcular el Ejercido. Verifique el log para más detalles.'];
|
|
|
}
|
|
|
}
|
|
|
- public function actionEjercer($rubro, $pago){
|
|
|
+ public function actionEjercer($gasto, $nomina, $rubro){
|
|
|
try{
|
|
|
- $TotalEjercer=$rubro-$pago;
|
|
|
+ $TotalEjercer=($gasto+$nomina)-$rubro;
|
|
|
return $TotalEjercer;
|
|
|
|
|
|
}catch(\Exception $e){
|