/** * *Registra un nuevo concepto de gasto *Update : En la respuesta basta con solo indicar success : true | false, y en caso de fallo indicar el por que. * * @param id_cuenta_contable int El id de la cuenta contable a la que se registraran los gastos de este concepto * @param nombre string la justificacion que aparecera despues de la leyenda "gasto por concepto de" * @param descripcion string Descripcion larga del concepto de gasto * @return id_concepto_gasto int Id autogenerado por la insercin del nuevo gasto **/ public static function NuevoConceptoGasto($id_cuenta_contable, $nombre, $descripcion = null) { Logger::log("Creando concepto de gasto"); //valida los parametros de gasto $validar = self::validarParametrosConceptoGasto(null, $nombre, $descripcion, $id_cuenta_contable); if (is_string($validar)) { Logger::error($validar); throw new Exception($validar); } //se inicializa el registro de concepto gasto $concepto_gasto = new ConceptoGasto(); $concepto_gasto->setNombre(trim($nombre)); $concepto_gasto->setDescripcion($descripcion); $concepto_gasto->setIdCuentaContable($id_cuenta_contable); $concepto_gasto->setActivo(1); DAO::transBegin(); try { ConceptoGastoDAO::save($concepto_gasto); } catch (Exception $e) { DAO::transRollback(); Logger::error("No se pudo crear el concepto de gasto: " . $e); throw new Exception("No se pudo crear el concepto de gasto"); } DAO::transEnd(); Logger::log("Gasto creado exitosamente"); $cuenta_padre = CuentaContableDAO::getByPK($id_cuenta_contable); ContabilidadController::NuevaCuenta($cuenta_padre->getAbonosAumentan(), $cuenta_padre->getCargosAumentan(), $cuenta_padre->getClasificacion(), $cuenta_padre->getEsCuentaMayor(), $cuenta_padre->getEsCuentaOrden(), $cuenta_padre->getIdCatalogoCuentas(), $cuenta_padre->getNaturaleza(), $nombre, $cuenta_padre->getTipoCuenta(), $id_cuenta_contable); return array("id_concepto_gasto" => $concepto_gasto->getIdConceptoGasto()); }