public static function updateGasto($gasto, $id) { $connection = Connection::getConnection(); $sql = "UPDATE TF_gastos SET tipo='{$gasto->tipo}', TF_usuarios_id='{$gasto->TF_usuarios_id}', valor='{$gasto->valor}', local='{$gasto->local}', TF_contas_id='{$gasto->TF_contas_id}', descricao='{$gasto->descricao}', data='{$gasto->data}', TF_categorias_id='{$gasto->TF_categorias_id}' WHERE id={$id}"; $result = mysqli_query($connection, $sql); $gastoAtualizado = GastoDAO::getGastoByID($gasto->id); return $gastoAtualizado; }
/** * *Ver los detalles de una orden de servicio. Puede ordenarse por sus atributos. Los detalles de la orden de servicio son los seguimientos que tiene esa orden as? como el estado y sus fechas de orden y de entrega. * * @param id_orden int Id de la orden a revisar * @return detalle_orden json Objeto que contendra el detalle de la orden **/ public static function DetalleOrden($id_orden) { //Se valida que exista la orden de servicio $orden = OrdenDeServicioDAO::getByPK($id_orden); if (is_null($orden)) { Logger::error("La orden de servicio " . $id_orden . " no existe"); throw new Exception("La orden de servicio " . $id_orden . " no existe"); } $detalle_orden = $orden->asArray(); $detalle_orden["segumientos"] = SeguimientoDeServicioDAO::search(new SeguimientoDeServicio(array("id_orden_de_servicio" => $id_orden))); $detalle_orden["gastos"] = GastoDAO::search(new Gasto(array("id_orden_de_servicio" => $id_orden))); return $detalle_orden; }
/** * *Editar los detalles de un gasto. <br/><br/><b>Update : </b> Tambien se deberia de tomar de la sesion el id del usuario qeu hiso al ultima modificacion y una fecha de ultima modificacion. * * @param id_gasto int Id que hace referencia a este gasto * @param fecha_gasto string Fecha que el usuario selecciona en el sistema, a la cual le quiere asignar el gasto. * @param monto float Monto a gastar * @param id_concepto_gasto int Id del concepto del gasto * @param descripcion string Descripcion del gasto en caso de que no este en la lista de conceptos. * @param nota string Informacion adicinal sobre el gasto * @param folio string Folio de la factura de ese gasto **/ public static function EditarGasto($id_gasto, $descripcion = null, $fecha_gasto = null, $folio = null, $id_concepto_gasto = null, $nota = null) { Logger::log("Editando gasto"); //valida si se recibieron parametros a editar o no if (!$fecha_gasto && !$id_concepto_gasto && !$descripcion && !$nota && !$folio) { Logger::warn("No se recibieron parametros para editar, no hay nada que editar"); throw new Exception("No se recibieron parametros para editar, no hay nada que editar"); } //valida los parametros obtenidos $validar = self::validarParametrosGasto($id_concepto_gasto, null, null, null, $fecha_gasto, null, null, $nota, $descripcion, $folio); if (is_string($validar)) { Logger::error($validar); throw new Exception($validar); } $gasto = GastoDAO::getByPK($id_gasto); //Los parametros que no sean null seran tomados como actualizacion if (!is_null($fecha_gasto)) { $gasto->setFechaDelGasto($fecha_gasto); } if (!is_null($id_concepto_gasto)) { $gasto->setIdConceptoGasto($id_concepto_gasto); } if (!is_null($descripcion)) { $gasto->setDescripcion($descripcion); } if (!is_null($nota)) { $gasto->setNota($nota); } if (!is_null($folio)) { $gasto->setFolio($folio); } DAO::transBegin(); try { GastoDAO::save($gasto); } catch (Exception $e) { DAO::transRollBack(); Logger::error("No se pudo editar el gasto: " . $e); throw new Exception("No se pudo editar el gasto"); } DAO::transEnd(); Logger::log("Gasto editado exitosamente"); }