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(); } } }