Parcourir la source

Arreglo de la funcion de nomina, toma en cuenta el descuento

Jogibeda il y a 7 mois
Parent
commit
032e9b3fb6
1 fichiers modifiés avec 14 ajouts et 5 suppressions
  1. 14 5
      modules/v1/controllers/ObraController.php

+ 14 - 5
modules/v1/controllers/ObraController.php

@@ -179,16 +179,25 @@ class ObraController extends AuthController {
   }
 
   public function actionTotalNomina($id){
+    try {
     $TotalNomina= 0;
-    $q=(new Query())->select(['{{Nomina}}.[[montoPagado]]'])
+    $NominaDescuento=0;
+    $q=(new Query())->select(['{{Nomina}}.[[montoPagado]]','{{Nomina}}.[[descuento]]'])
     ->from('Nomina') 
     ->innerJoin('Obra', '{{Obra}}.[[id]] = {{Nomina}}.[[idObra]]') 
     ->andWhere(['{{Nomina}}.[[idObra]]' => $id]) 
-    ->andWhere(['{{Nomina}}.[[eliminado]]'=>null]) 
-    ->column();
+    ->andWhere(['{{Nomina}}.[[eliminado]]'=>null])
+    ->all();
     foreach($q as $cantidad){
-      $TotalNomina=$TotalNomina+$cantidad;
+      $montoPagado= $cantidad['montoPagado'];
+      $descuento= $cantidad['descuento'];
+      $NominaDescuento= $montoPagado-($montoPagado*($descuento/100));
+      $TotalNomina=$TotalNomina+$NominaDescuento;
     }
     return $TotalNomina;
-  }
+  } catch (\Exception $e) {
+    Yii::error("Error en actionTotalNomina: " . $e->getMessage());
+    return ['error' => 'Error al calcular la nómina. Verifique el log para más detalles.'];
+}
+}
 }