FSN#29184 Nieuwe gen_export problemen

svn path=/Website/branches/v5.4.1/; revision=21193
This commit is contained in:
Erik Groener
2014-04-02 07:56:06 +00:00
parent 610cf2059b
commit b1646fa25f
2 changed files with 91 additions and 29 deletions

View File

@@ -14,8 +14,8 @@
EN: Geen Server.CreateObject maar new ActiveXObject
========= LET OP LET OP =========
gen_export_flags: 00001 (1) zip het resultaat
00010 (2)
gen_export_app_flags: 00001 (1) zip het resultaat
00010 (2) manual
*/
// fileStream moet onze data bevatten
@@ -72,6 +72,8 @@ function getSettings(app_key)
oRs.Close();
if (settings.flags & 1)
settings.compress = true;
if (settings.flags & 2)
settings.manual = true;
return settings;
}
@@ -229,6 +231,7 @@ function formatDate(datum, format)
, "s" : datum.getMilliseconds() //millisecond
, "w+" : Math.ceil((((datum - onejan) / 86400000) + onejan.getDay()+1)/7) // weeknumber
};
format = format.replace('hhmm', 'HHMM');
if (/(y+)/.test(format))
format = format.replace(RegExp.$1, (datum.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)

View File

@@ -41,7 +41,9 @@
oRs.Close();
alterDB();
convertIni();
app_key = getAppKey(export_app_id);
if (app_key == -1)
WScript.Quit();
@@ -52,43 +54,50 @@
ini.applrun = new Date;
ini.custid = customerId.toUpperCase();
__Log("Start gen_import.wsf");
__Log("Start gen_export.wsf");
//
var streamParams = {streamwrite: 2};
var exportFile = getFileName(ini.prefix, ini.postfix, ini.applrun, ini.timestamp);
var expPath = checkDestination(ini.folder, exportFile, streamParams);
if (expPath.success)
if (taskScheduled(ini))
{
preExport(ini);
var streamData = exportToStream(ini, exportFile);
if (streamData)
{
//
var streamParams = {streamwrite: 2};
var exportFile = getFileName(ini.prefix, ini.postfix, ini.applrun, ini.timestamp);
var expPath = checkDestination(ini.folder, exportFile, streamParams);
if (expPath.success)
{
preExport(ini);
var streamData = exportToStream(ini, exportFile);
if (streamData)
{
if (ini.compress)
expPath.destination += '.zip';
__Log("Writing: " + expPath.destination + " (" + streamData.Size + " bytes)");
streamData.SaveToFile(expPath.destination, streamParams.streamwrite);
streamData.Close();
}
postExport(ini);
}
else
{
}
postExport(ini);
}
else
{
__Log(expPath.message);
}
// Nu de logfile schrijven
//
var logFile = getFileName(ini.prefix, ini.logpostfix, ini.applrun, ini.timestamp);
var logPath = checkDestination(ini.folder, logFile, streamParams);
if (logPath.success)
{
}
//
// Nu de logfile schrijven
//
var logFile = getFileName(ini.prefix, ini.logpostfix, ini.applrun, ini.timestamp);
var logPath = checkDestination(ini.folder, logFile, streamParams);
if (logPath.success)
{
logErrors(logPath.destination, ini, {streamwrite: 2});
}
else
{
}
else
{
__Log(logPath.message);
}
//
// Datum in imp_schedule zetten
//
scheduledDone(ini);
}
__Log("End gen_export.wsf");
@@ -106,6 +115,13 @@
return s;
}
function alterDB()
{
// Tijdelijke oplossing om de kolom fac_export_app_prefix 60 tekens lang te maken.
var sql = "ALTER TABLE fac_export_app MODIFY fac_export_app_prefix VARCHAR2(60)";
Oracle.Execute(sql);
}
function convertIni()
{
// Als er nog geen instellingen in de database zijn, kopieer dan de instellingen naar de database.
@@ -141,6 +157,7 @@
var ExportStyleSheet = "";
var LogPostfix = "";
var BackupTimestamp = "";
var Manual = 0;
for (var l in lines)
{
@@ -174,7 +191,10 @@
LogPostfix = vl;
break;
case "backupfiletimestamp":
BackupTimestamp = vl;
BackupTimestamp = vl.replace("hhmm", "HHMM");
break;
case "manual":
Manual = ((parseInt(vl) > 0) ? 2 : 0);
break;
}
}
@@ -194,6 +214,8 @@
if (!oRs.Eof)
{
__Log("Reuse key " + oRs("fac_export_app_key").Value);
var flags_old = oRs("fac_export_app_flags").Value;
var Zip = ((flags_old & 1) === 1 ? 1 : 0);
sql = "UPDATE fac_export_app"
+ " SET fac_export_app_charset = " + safe.quoted_sql(ExportCharset)
+ " , fac_export_app_folder = " + safe.quoted_sql(ExportFolder)
@@ -202,6 +224,7 @@
+ " , fac_export_app_xsl = " + safe.quoted_sql(ExportStyleSheet)
+ " , fac_export_app_log_postfix = " + safe.quoted_sql(LogPostfix)
+ " , fac_export_app_timestamp = " + safe.quoted_sql(BackupTimestamp)
+ " , fac_export_app_flags = " + (Manual | Zip)
+ " WHERE fac_export_app_key = " + oRs("fac_export_app_key").Value
//__Log(sql);
Oracle.Execute(sql);
@@ -220,6 +243,7 @@
+ ", fac_functie_key"
+ ", fac_export_app_log_postfix"
+ ", fac_export_app_timestamp"
+ ", fac_export_app_flags"
+ ") "
+ "SELECT " + safe.quoted_sql(sectienaam)
+ " , 'From gen_export.ini '||" + safe.quoted_sql(sectienaam)
@@ -231,6 +255,7 @@
+ " , fac_functie_key"
+ " , " + safe.quoted_sql(LogPostfix)
+ " , " + safe.quoted_sql(BackupTimestamp)
+ " , " + Manual
+ " FROM fac_functie"
+ " WHERE fac_functie_code = 'WEB_PRSSYS'"; // veilig
//__Log(sql);
@@ -347,5 +372,39 @@
return result;
}
function taskScheduled(params)
{
// Look if there is a task in the table IMP_SCHEDULE if Manual = 1
var result = true;
if (params.manual)
{
var sql = "SELECT imp_schedule_key FROM imp_schedule"
+ " WHERE imp_schedule_done IS NULL"
+ " AND imp_schedule_name = " + save.quoted_sql(params.code)
__Log2File("SQL: " + sql);
var oRs = Oracle.Execute(sql);
if (oRs.eof)
result = false;
oRs.Close();
}
return result;
}
function scheduledDone(params)
{
if (params.manual)
{
var sql = "UPDATE imp_schedule"
+ " SET imp_schedule_done = SYSDATE"
+ " WHERE imp_schedule_done IS NULL"
+ " AND imp_schedule_name = " + save.quoted_sql(params.code);
__Log2File("SQL: " + sql);
var oRs = Oracle.Execute(sql);
oRs.Close();
}
}
</script>
</job>