void ListReports::generateData() { QString report; switch(list_reports_box->currentItem()) { case 0: // Cart Report GenerateCartReport(&report); break; case 1: // Cut Report GenerateCutReport(&report); break; case 2: // Cart Data Dump (fixed) GenerateCartDumpFixed(&report,list_fieldnames_check->isChecked()); break; case 3: // Cart Data Dump (CSV) GenerateCartDumpCsv(&report,list_fieldnames_check->isChecked()); break; default: return; } RDTextFile(report); }
void GenerateLog::trafficData() { RDSvc *svc=new RDSvc(gen_service_box->currentText(),this); QString logname=RDDateDecode(svc->nameTemplate(),gen_date_edit->date()); RDLog *log=new RDLog(logname); if((log->linkState(RDLog::SourceTraffic)==RDLog::LinkDone)) { QString str1=QString(tr("The log for")); QString str2=QString(tr("already contains merged traffic data. Remerging it\nwill remove this data. Remerge?")); if(QMessageBox::question(this,tr("Traffic Exists"), QString().sprintf("%s %s %s",(const char *)str1, (const char *)gen_date_edit->date().toString("MM/dd/yyyy"), (const char *)str2), QMessageBox::Yes,QMessageBox::No)!= QMessageBox::Yes) { delete log; delete svc; return; } svc->clearLogLinks(RDSvc::Traffic,gen_date_edit->date(),logname); } connect(svc,SIGNAL(generationProgress(int)), gen_progress_dialog,SLOT(setProgress(int))); QString report; svc->linkLog(RDSvc::Traffic,gen_date_edit->date(),logname,&report); delete log; delete svc; if(!report.isEmpty()) { RDTextFile(report); } UpdateControls(); }
void GenerateLog::musicData() { unsigned tracks=0; RDSvc *svc=new RDSvc(gen_service_box->currentText(),this); QString logname=RDDateDecode(svc->nameTemplate(),gen_date_edit->date()); RDLog *log=new RDLog(logname); if(((log->linkState(RDLog::SourceMusic)==RDLog::LinkDone)|| (log->linkState(RDLog::SourceTraffic)==RDLog::LinkDone))) { QString str1=QString(tr("The log for")); QString str2=QString(tr("already contains merged music and/or traffic data.\nRemerging it will remove this data. Remerge?")); if(QMessageBox::question(this,tr("Music Exists"), QString().sprintf("%s %s %s",(const char *)str1, (const char *)gen_date_edit->date().toString("MM/dd/yyyy"), (const char *)str2), QMessageBox::Yes,QMessageBox::No)!= QMessageBox::Yes) { delete log; delete svc; return; } if((tracks=log->completedTracks())>0) { str1=QString(tr("This will also delete the")); str2=QString(tr("voice tracks associated with this log.\nContinue?")); if(QMessageBox::warning(this,tr("Tracks Exist"), QString().sprintf("%s %u %s", (const char *)str1, tracks, (const char *)str2), QMessageBox::Yes,QMessageBox::No)!= QMessageBox::Yes) { delete log; delete svc; return; } } log->removeTracks(rda->station(),rda->user(),rda->config()); svc->clearLogLinks(RDSvc::Traffic,gen_date_edit->date(),logname); svc->clearLogLinks(RDSvc::Music,gen_date_edit->date(),logname); } connect(svc,SIGNAL(generationProgress(int)), gen_progress_dialog,SLOT(setProgress(int))); QString report; svc->linkLog(RDSvc::Music,gen_date_edit->date(),logname,&report); delete log; delete svc; if(!report.isEmpty()) { RDTextFile(report); } UpdateControls(); }
void ListReports::generateData() { QString report; switch(list_reports_box->currentItem()) { case 0: // Event Report GenerateEventReport(&report); break; case 1: // XLoad Report GenerateXloadReport(&report); break; default: return; } RDTextFile(report); }
void MainWidget::eventsReportData() { QString report; QString sql; RDSqlQuery *q; report=" Rivendell GPIO Event Report\n"; report+=" Date: "+gpi_events_date_edit->date().toString("MM/dd/yyyy")+ " Station/Matrix: "+rda->station()->name()+":"+ QString().sprintf("%d ",gpi_matrix_box->currentItem())+ " State Filter: "+gpi_events_state_box->currentText()+"\n"; report+="\n"; sql=QString("select EVENT_DATETIME,NUMBER,EDGE from GPIO_EVENTS where ")+ "(STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\")&&"+ QString().sprintf("(MATRIX=%d)&&",gpi_matrix_box->currentItem())+ QString().sprintf("(TYPE=%d)&&",gpi_type_box->currentItem())+ "(EVENT_DATETIME>=\""+gpi_events_date_edit->date().toString("yyyy-MM-dd")+ " 00:00:00\")&&"+ "(EVENT_DATETIME<\""+gpi_events_date_edit->date().addDays(1). toString("yyyy-MM-dd")+" 00:00:00\")"; if(gpi_events_state_box->currentItem()==0) { sql+="&&(EDGE=1)"; } if(gpi_events_state_box->currentItem()==1) { sql+="&&(EDGE=0)"; } report+=" -- Time -- - Line - - State -\n"; q=new RDSqlQuery(sql); while(q->next()) { report+=" "; report+=q->value(0).toDateTime().toString("hh:mm:ss")+" "; report+=QString().sprintf(" %5d ",q->value(1).toInt()); if(q->value(2).toInt()==0) { report+=tr("OFF"); } else { report+=tr("ON "); } report+="\n"; } delete q; RDTextFile(report); }
void ListReports::generateData() { QString report; switch(list_reports_box->currentItem()) { case 0: // Event Report GenerateLogReport(&report); break; case 1: // XLoad Report GenerateExceptionReport(&report,list_date_edit->date()); break; default: return; } if(!report.isEmpty()) { RDTextFile(report); } }
void GenerateLog::createData() { QString report; QString unused_report; QString str1; QString str2; unsigned tracks=0; // // Generate Log // RDSvc *svc=new RDSvc(gen_service_box->currentText(),this); QString logname=RDDateDecode(svc->nameTemplate(),gen_date_edit->date()); RDLog *log=new RDLog(logname); if(log->exists()) { str1=QString(tr("The log for")); str2=QString(tr("already exists. Recreating it\nwill remove any merged Music or Traffic events.\n\nRecreate?")); if(QMessageBox::question(this,tr("Log Exists"), QString().sprintf("%s %s %s",(const char *)str1, (const char *)gen_date_edit->date().toString("MM/dd/yyyy"), (const char *)str2), QMessageBox::Yes,QMessageBox::No)!= QMessageBox::Yes) { delete log; delete svc; return; } if((tracks=log->completedTracks())>0) { str1=QString(tr("This will also delete the")); str2=QString(tr("voice tracks associated with this log.\nContinue?")); if(QMessageBox::warning(this,tr("Tracks Exist"), QString().sprintf("%s %u %s", (const char *)str1, tracks, (const char *)str2), QMessageBox::Yes,QMessageBox::No)!= QMessageBox::Yes) { delete log; delete svc; return; } } } log->removeTracks(rda->station(),rda->user(),rda->config()); // // Scheduler // QString sql; RDSqlQuery *q; srand(QTime::currentTime().msec()); sql=RDCreateStackTableSql(gen_service_box->currentText().replace(" ","_")); q=new RDSqlQuery(sql); if(!q->isActive()) { fprintf(stderr,"SQL: %s\n",(const char *)sql); fprintf(stderr,"SQL Error: %s\n", (const char *)q->lastError().databaseText()); delete q; } delete q; connect(svc,SIGNAL(generationProgress(int)), gen_progress_dialog,SLOT(setProgress(int))); svc->generateLog(gen_date_edit->date(), RDDateDecode(svc->nameTemplate(),gen_date_edit->date()), RDDateDecode(svc->nameTemplate(),gen_date_edit->date(). addDays(1)),&unused_report); log->updateTracks(); delete log; delete svc; // // Generate Exception Report // RDLogEvent *event= new RDLogEvent(QString().sprintf("%s_LOG",(const char *)logname)); event->load(); if((event->validate(&report,gen_date_edit->date())==0)&& unused_report.isEmpty()) { QMessageBox::information(this,tr("No Errors"),tr("No exceptions found.")); } else { RDTextFile(report+"\n\n"+unused_report); } delete event; UpdateControls(); }
void ListGroups::reportData() { QString sql; RDSqlQuery *q; QString report; // // Generate Header // report=" Rivendell Group Report\n"; report+=QString().sprintf("Generated: %s\n", (const char *)QDateTime(QDate::currentDate(), QTime::currentTime()). toString("MM/dd/yyyy - hh:mm:ss")); report+="\n"; report+="-Name----- -Description-------------------------------- -Cart Range---- Enf DefType Mus Tfc N&N\n"; // // Generate Body // sql="select NAME,DESCRIPTION,DEFAULT_LOW_CART,DEFAULT_HIGH_CART,\ ENFORCE_CART_RANGE,DEFAULT_CART_TYPE,REPORT_MUS,REPORT_TFC,\ ENABLE_NOW_NEXT from GROUPS order by NAME"; q=new RDSqlQuery(sql); while(q->next()) { // // Group Name // report+=QString().sprintf("%-10s ",(const char *)q->value(0).toString()); // // Group Description // report+=QString().sprintf("%-44s ",(const char *)q->value(1).toString()); // // Cart Range // if((q->value(2).isNull())||(q->value(2).toUInt()==0)) { report+=" [none] "; } else { report+=QString().sprintf("%06u - %06u ",q->value(2).toUInt(), q->value(3).toUInt()); } // // Enforce Range // report+=QString().sprintf(" %s ",(const char *)q->value(4).toString()); // // Default Cart Type // switch((RDCart::Type)q->value(5).toInt()) { case RDCart::Audio: report+="Audio "; break; case RDCart::Macro: report+="Macro "; break; default: report+="Unknown "; break; } // // Music Reports // report+=QString().sprintf(" %s ",(const char *)q->value(6).toString()); // // Traffic Reports // report+=QString().sprintf(" %s ",(const char *)q->value(7).toString()); // // Now & Next // report+=QString().sprintf(" %s",(const char *)q->value(8).toString()); // // End of Line // report+="\n"; } delete q; // // Display Report // RDTextFile(report); }
void MainWidget::reportData() { QString report; QString sql; RDSqlQuery *q; // // Generate Header // report=" Rivendell Log Listing\n"; report+=QString(). sprintf("Generated: %s\n", (const char *)QDateTime(QDate::currentDate(),QTime::currentTime()). toString("MM/dd/yyyy - hh:mm:ss")); report+="\n"; report+="Rdy -Log Name-------------------- -Description----------------- -Service------------ Mus Tfc Tracks- Start Date -End Date- -Mod Date-\n"; // // Report Body // sql=QString("select ")+ "NAME,"+ // 00 "DESCRIPTION,"+ // 01 "SERVICE,"+ // 02 "MUSIC_LINKS,"+ // 03 "MUSIC_LINKED,"+ // 04 "TRAFFIC_LINKS,"+ // 05 "TRAFFIC_LINKED,"+ // 06 "COMPLETED_TRACKS,"+ // 07 "SCHEDULED_TRACKS,"+ // 08 "START_DATE,"+ // 09 "END_DATE,"+ // 10 "MODIFIED_DATETIME "+ // 11 "from LOGS order by NAME"; q=new RDSqlQuery(sql); while(q->next()) { // // Summary Status // if(((q->value(3).toInt()==0)||(q->value(4).toString()=="Y"))&& ((q->value(5).toInt()==0)||(q->value(6).toString()=="Y"))&& (q->value(7).toUInt()==q->value(8).toUInt())) { report+=" Y "; } else { report+=" N "; } // // Log Name // report+=QString().sprintf("%-29s ", (const char *)q->value(0).toString().left(29)); // // Description // report+=QString().sprintf("%-29s ", (const char *)q->value(1).toString().left(29)); // // Service // report+=QString().sprintf("%-20s ", (const char *)q->value(2).toString().left(20)); // // Music Linked // if(q->value(3).toInt()>0) { report+=QString().sprintf(" %s ", (const char *)q->value(4).toString()); } else { report+="n/a "; } // // Traffic Linked // if(q->value(5).toInt()>0) { report+=QString().sprintf(" %s ", (const char *)q->value(6).toString()); } else { report+="n/a "; } // // Voice Tracks // report+= QString().sprintf("%3u/%3u ",q->value(8).toUInt(),q->value(7).toUInt()); // // Start Date // if(q->value(9).toDate().isNull()) { report+="[none] "; } else { report+=QString().sprintf("%s ", (const char *)q->value(9).toDate().toString("MM/dd/yyyy")); } // // End Date // if(q->value(10).toDate().isNull()) { report+="[none] "; } else { report+=QString().sprintf("%s ", (const char *)q->value(10).toDate().toString("MM/dd/yyyy")); } // // Last Modified Date // report+=QString().sprintf("%s", (const char *)q->value(11).toDate().toString("MM/dd/yyyy")); // // End of Line // report+="\n"; } delete q; RDTextFile(report); }