void FormFacturacionEmitida::imprimirListadoGeneral() { // Busco el id que está del servicio EReporte *rep = new EReporte( 0 ); ParameterList lista; lista.append( "id_servicio", CBServicio->idActual() ); if( ERegistroPlugins::getInstancia()->existePluginExterno( "hicomp" ) ) { rep->especial( "ListaDeudoresServicioHC", lista ); } else { rep->especial( "ListaDeudoresServicio", lista ); } rep->hacer(); delete rep; }
void FormFacturacionEmitida::imprimirListadoGeneralPDF() { // Busco el id que está del servicio EReporte *rep = new EReporte( 0 ); ParameterList lista; int id_servicio = CBServicio->idActual(); lista.append( "id_servicio", id_servicio ); if( ERegistroPlugins::getInstancia()->existePluginExterno( "hicomp" ) ) { rep->especial( "ListaDeudoresServicioHC", lista ); } else { rep->especial( "ListaDeudoresServicio", lista ); } rep->hacerPDF( lista, QString( "Lista Deudores del servicio %1 al %2" ).arg( MServicios::getNombreServicio( id_servicio ) ).arg( QDate::currentDate().toString( Qt::SystemLocaleShortDate ) ) ); delete rep; }
/*! * \fn VCuentaCorriente::listadoDeudorPDF() * Pasa a PDF el listado de cuentas corrientes deudoras */ void VCuentaCorriente::listadoDeudorPDF() { EReporte *rep = new EReporte( 0 ); rep->especial( "ListadoCtaCteSaldo", ParameterList() ); rep->hacerPDF( ParameterList(), QString( "Listado de Cuenta Corriente con saldo al %1" ).arg( QDate::currentDate().toString( Qt::SystemLocaleShortDate ) ) ); delete rep; }
/*! * \fn VCuentaCorriente::listadoDeudor() * Imprime el listado de cuentas corrientes deudoras */ void VCuentaCorriente::listadoDeudor() { EReporte *rep = new EReporte( 0 ); rep->especial( "ListadoCtaCteSaldo", ParameterList() ); rep->hacer(); delete rep; }
/*! \fn FormResumenCtaCte::imprimir() */ void FormResumenCtaCte::imprimir() { if( modeloItem->rowCount() <= 0 ) { QMessageBox::warning( this, "Error", "No hay ningun movimiento para la cuenta corriente. No se imprimira nada" ); return; } // Busco la cuenta? ParameterList lista; lista.append( Parameter( "ctacte", CBClienteCtaCte->itemData( CBClienteCtaCte->currentIndex(), Qt::UserRole ).toString() ) ); lista.append( Parameter( "filtro", this->_filtro ) ); EReporte *rep = new EReporte( 0 ); rep->especial( "ResumenCtaCte", lista ); if( ! rep->hacer() ) { QMessageBox::warning( this, "Error", "No se pudo imprimir el resumen de cuenta corriente" ); } delete rep; rep = 0; }
/*! \fn FormResumenCtaCte::pdf() */ void FormResumenCtaCte::aPdf() { if( modeloItem->rowCount() <= 0 ) { QMessageBox::warning( this, "Error", "No hay ningun movimiento para la cuenta corriente. No se imprimira nada" ); return; } // Parametros para el nombre QString nombre = QString( "%1 - Resumen de cuenta corriente.pdf").arg( CBClienteCtaCte->currentText() ); ParameterList lista; lista.append( Parameter( "ctacte", CBClienteCtaCte->itemData( CBClienteCtaCte->currentIndex(), Qt::UserRole ).toString() ) ); lista.append( Parameter( "filtro", this->_filtro ) ); EReporte *rep = new EReporte( 0 ); rep->especial( "ResumenCtaCte", lista ); if( ! rep->hacerPDF( lista, nombre ) ) { QMessageBox::warning( this, "Error", "No se pudo generar como pdf el resumen de cuenta corriente" ); } delete rep; rep = 0; }
/*! * @fn MClientesServicios::darDeBaja( int id_cliente, int id_servicio, QString razon ) * Da de baja al cliente seleccionado segun la razon espcificada * Si no se especifica una razon, se coloca una predeterminada. * La fecha de baja es cuando se realiza la operación. * Si la baja se realizo correctamente, se imprime el comprobante de baja. El no imprimirlo, no modifica el resultado. * \param id_cliente Identificador del cliente. * \param id_servicio Identificador del servicio. * \param razon Texto de por que da de baja el servicio. * \return Verdadero se pudo realizar la baja. */ bool MClientesServicios::darDeBaja( int id_cliente, int id_servicio, QString razon ) { // Verificar existencia de la asociacion QSqlQuery cola; if( !cola.exec( QString( "SELECT COUNT(id_cliente) FROM servicios_clientes WHERE id_cliente = %1 AND id_servicio = %2" ).arg( id_cliente ).arg( id_servicio ) ) ) { qDebug( "Error al ejecutar la cola de obtencion de lciente servicio." ); qDebug( cola.lastError().text().toLocal8Bit() ); qDebug( cola.lastQuery().toLocal8Bit() ); } else { if( !cola.next() ) { qDebug( "Error al hacer next en la cola de obtencion del cliente servicio" ); qDebug( cola.lastError().text().toLocal8Bit() ); qDebug( cola.lastQuery().toLocal8Bit() ); return false; } else { if( cola.record().value(0).toInt() <= 0 ) { qWarning( "El cliente seleccionado no esta adherido al servicio especificado" ); qDebug( cola.lastError().text().toLocal8Bit() ); qDebug( cola.lastQuery().toLocal8Bit() ); return false; } } } // Existe // verificar deudas existentes respecto a servicios if( MCobroServicioClientePeriodo::esDeudor( id_cliente, id_servicio ) ) { QMessageBox::warning( 0, "Saldo incompleto", "El cliente todavía tiene cuotas pendientes de pago. <br/> No se podrá realizar la baja hasta que se paguen las deudas pendientes" ); return false; } // verificar fecha respecto al periodo del servicio y facturar lo que falte ? ( ya esta echo por el punto anterior ) // Verificar la razon if( razon.isEmpty() ) { qDebug( "Razon de baja de adhesion desconocida. Colocando la default." ); razon = "Desconocida - No Especificada."; } // Ingresar baja QSqlQuery cola2; if( !cola2.prepare( QString( "UPDATE servicios_clientes SET fecha_baja = :fecha, razon = :razon WHERE id_cliente = %1 AND id_servicio = %2" ) .arg( id_cliente ).arg( id_servicio ) ) ) { qDebug( "Error al preparar la cola" ); qDebug( cola2.lastError().text().toLocal8Bit() ); qDebug( cola2.lastQuery().toLocal8Bit() ); return false; } cola2.bindValue( ":fecha" , QDate::currentDate() ); cola2.bindValue( ":razon", razon ); /*cola2.bindValue( ":id_cliente", id_cliente ); cola2.bindValue( ":id_servicio", id_servicio );*/ if( !cola2.exec() ) { qDebug( "Error al ejecutar la cola de insercion de fecha de baja y razon en la tabla de servicios_clientes" ); qDebug( cola2.lastError().text().toLocal8Bit() ); qDebug( cola2.lastQuery().toLocal8Bit() ); return false; } else { qDebug( cola2.lastError().text().toLocal8Bit() ); qDebug( cola2.lastQuery().toLocal8Bit() ); } // Imprimir comprobante de baja EReporte *rep = new EReporte( 0 ); ParameterList parametros; parametros.append( Parameter( "id_cliente", id_cliente ) ); parametros.append( Parameter( "id_servicio", id_servicio ) ); parametros.append( Parameter( "razon", razon ) ); parametros.append( Parameter( "fecha", QDate::currentDate() ) ); rep->especial( "baja-servicio", parametros ); rep->hacer(); delete rep; return true; }