Exemplo n.º 1
0
 public function guardarMovimiento()
 {
     require_once 'lib/model/base/Presupuesto.class.php';
     require_once 'lib/model/base/Proyecto.class.php';
     $idProyecto = $_POST['id_proyecto'];
     $presupuesto = new Presupuesto();
     $presupuesto->setValores($_POST);
     $proyecto = new Proyecto(Proyecto::find($idProyecto));
     $montoTotal = $proyecto->montoTotal;
     $anoInicio = new DateTime($proyecto->fechaInicio);
     $anoTermino = new DateTime($proyecto->fechaTermino);
     $anoInicio = $anoInicio->format('Y');
     $anoTermino = $anoTermino->format('Y');
     if (isset($_POST['eliminar']) && $_POST['eliminar'] == 1) {
         $presupuesto->deleteRegistros();
     } else {
         $errores = array();
         if (empty($presupuesto->nombreCuenta)) {
             $errores['errores']['cuenta'] = 'Debe ingresar Cuenta';
         }
         if ($presupuesto->cuentaRepetida() > 0) {
             $errores['errores']['cuenta'] = 'cuenta repetida';
         }
         if ($presupuesto->idTipoMovimiento == 2) {
             $sumEgresos1 = Presupuesto::getSumEgresos($idProyecto, $presupuesto->idPresupuesto);
             $sumEgresos = $sumEgresos1 + $presupuesto->enero + $presupuesto->febrero + $presupuesto->marzo + $presupuesto->abril + $presupuesto->mayo + $presupuesto->junio + $presupuesto->julio + $presupuesto->agosto + $presupuesto->septiembre + $presupuesto->octubre + $presupuesto->noviembre + $presupuesto->diciembre;
             if ($sumEgresos > $montoTotal) {
                 $errores['errores']['monto'] = 'La suma de los egresos no puede superar el monto total del proyecto.';
             }
         }
         if ($presupuesto->periodo < $anoInicio || $presupuesto->periodo > $anoTermino) {
             $errores['errores']['fecha'] = 'Debe ingresar un periodo dentro del rango de fecha inicio y fecha termino del proyecto';
         }
         if (!empty($errores)) {
             echo json_encode($errores);
         } else {
             $presupuesto->save();
         }
     }
 }