2014-10-24 Fred Gleason <fredg@paravelsystems.com>

* Added 'REPORTS.POST_EXPORT_CMD' and 'REPORTS.WIN_POST_EXPORT_CMD'
	fields to the database.
	* Incremented the database version to 242.
	* Added 'RDReport::postExportCommand()' and
	'RDReport::setPostExportCommand()' methods in 'lib/rdreport.cpp' and
	'lib/rdreport.h'.
	* Added 'Linux Post Export Cmd' and 'Windows Post Export Cmd' controls
	to the 'Edit Report' dialog in 'rdadmin/edit_report.cpp' and
	'rdadmin/edit_report.h'.
	* Implemented post export commands in 'lib/rdreport.cpp'.
This commit is contained in:
Fred Gleason
2014-10-24 15:35:20 -04:00
parent 0e927a1ba0
commit 4e48c93cb0
17 changed files with 244 additions and 80 deletions

View File

@@ -26,7 +26,7 @@
/*
* Current Database Version
*/
#define RD_VERSION_DATABASE 241
#define RD_VERSION_DATABASE 242
#endif // DBVERSION_H

View File

@@ -20,6 +20,8 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include <stdlib.h>
#include <qfile.h>
#include <qobject.h>
@@ -87,14 +89,27 @@ void RDReport::setFilter(ExportFilter filter) const
QString RDReport::exportPath(ExportOs ostype) const
{
return RDGetSqlValue("REPORTS","NAME",report_name,OsFieldName(ostype)).
toString();
return RDGetSqlValue("REPORTS","NAME",report_name,
OsFieldName(ostype)+"EXPORT_PATH").toString();
}
void RDReport::setExportPath(ExportOs ostype,const QString &path) const
{
SetRow(OsFieldName(ostype),path);
SetRow(OsFieldName(ostype)+"EXPORT_PATH",path);
}
QString RDReport::postExportCommand(ExportOs ostype) const
{
return RDGetSqlValue("REPORTS","NAME",report_name,
OsFieldName(ostype)+"POST_EXPORT_CMD").toString();
}
void RDReport::setPostExportCommand(ExportOs ostype,const QString &cmd) const
{
SetRow(OsFieldName(ostype)+"POST_EXPORT_CMD",cmd);
}
@@ -549,69 +564,72 @@ bool RDReport::generateReport(const QDate &startdate,const QDate &enddate,
bool ret=false;
switch(filter()) {
case RDReport::CbsiDeltaFlex:
ret=ExportDeltaflex(startdate,enddate,mixname);
break;
case RDReport::CbsiDeltaFlex:
ret=ExportDeltaflex(startdate,enddate,mixname);
break;
case RDReport::TextLog:
ret=ExportTextLog(startdate,enddate,mixname);
break;
case RDReport::TextLog:
ret=ExportTextLog(startdate,enddate,mixname);
break;
case RDReport::BmiEmr:
ret=ExportBmiEmr(startdate,enddate,mixname);
break;
case RDReport::BmiEmr:
ret=ExportBmiEmr(startdate,enddate,mixname);
break;
case RDReport::NaturalLog:
case RDReport::Technical:
ret=ExportTechnical(startdate,enddate,mixname);
break;
case RDReport::NaturalLog:
case RDReport::Technical:
ret=ExportTechnical(startdate,enddate,mixname);
break;
case RDReport::SoundExchange:
ret=ExportSoundEx(startdate,enddate,mixname);
break;
case RDReport::SoundExchange:
ret=ExportSoundEx(startdate,enddate,mixname);
break;
case RDReport::NprSoundExchange:
ret=ExportNprSoundEx(startdate,enddate,mixname);
break;
case RDReport::NprSoundExchange:
ret=ExportNprSoundEx(startdate,enddate,mixname);
break;
case RDReport::RadioTraffic:
ret=ExportRadioTraffic(startdate,enddate,mixname);
break;
case RDReport::RadioTraffic:
ret=ExportRadioTraffic(startdate,enddate,mixname);
break;
case RDReport::VisualTraffic:
ret=ExportDeltaflex(startdate,enddate,mixname);
break;
case RDReport::VisualTraffic:
ret=ExportDeltaflex(startdate,enddate,mixname);
break;
case RDReport::CounterPoint:
case RDReport::WideOrbit:
ret=ExportRadioTraffic(startdate,enddate,mixname);
break;
case RDReport::CounterPoint:
case RDReport::WideOrbit:
ret=ExportRadioTraffic(startdate,enddate,mixname);
break;
case RDReport::Music1:
ret=ExportRadioTraffic(startdate,enddate,mixname);
break;
case RDReport::Music1:
ret=ExportRadioTraffic(startdate,enddate,mixname);
break;
case RDReport::MusicClassical:
ret=ExportMusicClassical(startdate,enddate,mixname);
break;
case RDReport::MusicClassical:
ret=ExportMusicClassical(startdate,enddate,mixname);
break;
case RDReport::MusicPlayout:
ret=ExportMusicPlayout(startdate,enddate,mixname);
break;
case RDReport::MusicPlayout:
ret=ExportMusicPlayout(startdate,enddate,mixname);
break;
case RDReport::MusicSummary:
ret=ExportMusicSummary(startdate,enddate,mixname);
break;
case RDReport::MusicSummary:
ret=ExportMusicSummary(startdate,enddate,mixname);
break;
default:
return false;
break;
default:
return false;
break;
}
#ifdef WIN32
*out_path=RDDateDecode(exportPath(RDReport::Windows),startdate);
QString post_cmd=RDDateDecode(postExportCommand(RDReport::Windows),startdate);
#else
*out_path=RDDateDecode(exportPath(RDReport::Linux),startdate);
QString post_cmd=RDDateDecode(postExportCommand(RDReport::Linux),startdate);
#endif
system(post_cmd);
// printf("MIXDOWN TABLE: %s_SRT\n",(const char *)mixname);
sql=QString().sprintf("drop table `%s_SRT`",(const char *)mixname);
q=new RDSqlQuery(sql);
@@ -866,10 +884,10 @@ QString RDReport::OsFieldName(ExportOs os) const
{
switch(os) {
case RDReport::Linux:
return QString("EXPORT_PATH");
return QString("");
case RDReport::Windows:
return QString("WIN_EXPORT_PATH");
return QString("WIN_");
}
return QString();
}

View File

@@ -51,6 +51,8 @@ class RDReport
void setFilter(ExportFilter filter) const;
QString exportPath(ExportOs ostype) const;
void setExportPath(ExportOs ostype,const QString &path) const;
QString postExportCommand(ExportOs ostype) const;
void setPostExportCommand(ExportOs ostype,const QString &cmd) const;
bool exportTypeEnabled(ExportType type) const;
void setExportTypeEnabled(ExportType type,bool state) const;
bool exportTypeForced(ExportType type) const;