FCLT#76850 Automatisch opruimen backupfiles van imports
svn path=/Website/trunk/; revision=71064
This commit is contained in:
@@ -402,10 +402,11 @@ function impProcessStream(import_key, params)
|
||||
oRs.Close();
|
||||
|
||||
var sql = "SELECT ia.fac_import_app_key"
|
||||
+ ", fac_import_app_code"
|
||||
+ ", fac_import_app_prefix"
|
||||
+ ", fac_import_app_folder"
|
||||
+ ", fac_import_filenaam"
|
||||
+ ", ia.fac_import_app_code"
|
||||
+ ", ia.fac_import_app_prefix"
|
||||
+ ", ia.fac_import_app_folder"
|
||||
+ ", i.fac_import_filenaam"
|
||||
+ ", i.fac_import_backupdir"
|
||||
+ " FROM fac_import_app ia"
|
||||
+ ", fac_import i"
|
||||
+ " WHERE ia.fac_import_app_key = i.fac_import_app_key"
|
||||
@@ -416,6 +417,7 @@ function impProcessStream(import_key, params)
|
||||
var prefix = oRs("fac_import_app_prefix").Value||"FAC";
|
||||
var filenaam = oRs("fac_import_filenaam").Value;
|
||||
var folder = oRs("fac_import_app_folder").Value;
|
||||
var backupDir = oRs("fac_import_backupdir").Value;
|
||||
oRs.Close();
|
||||
|
||||
// Start de UPDATE procedure om de database aan te passen
|
||||
@@ -465,7 +467,7 @@ function impProcessStream(import_key, params)
|
||||
flexcode = oRs("fac_result_waarde").Value;
|
||||
}
|
||||
oRs.Close();
|
||||
//flexcode = "MLD:995837:544:M";
|
||||
//flexcode = "MLD:995837:544:M";
|
||||
if (flexcode) // FIN:12345:18:F (12345=factuurkey, 18=kenmerkkey, F=factuur (versus R=regels)
|
||||
{
|
||||
if (!folder)
|
||||
@@ -476,43 +478,93 @@ function impProcessStream(import_key, params)
|
||||
|
||||
var backDir = backupfolder(impcode, folder, import_key);
|
||||
var res = extractAttachments(backDir + safe.filename(filenaam) + ".zip", safe.filename(filenaam), flexcode);
|
||||
if (!res.success)
|
||||
return res;
|
||||
|
||||
result.success = res.success;
|
||||
}
|
||||
else
|
||||
{
|
||||
result.success = true;
|
||||
}
|
||||
|
||||
sql = "UPDATE fac_import"
|
||||
+ " SET fac_import_datum_verwerkt = SYSDATE"
|
||||
+ (params.user_key > 0 ? ", prs_perslid_key = " + params.user_key : "")
|
||||
+ " WHERE fac_import_key = " + import_key
|
||||
+ " AND fac_import_datum_verwerkt IS NULL";
|
||||
Oracle.Execute(sql);
|
||||
if (result.success)
|
||||
{
|
||||
sql = "UPDATE fac_import"
|
||||
+ " SET fac_import_datum_verwerkt = SYSDATE"
|
||||
+ (params.user_key > 0 ? ", prs_perslid_key = " + params.user_key : "")
|
||||
+ " WHERE fac_import_key = " + import_key
|
||||
+ " AND fac_import_datum_verwerkt IS NULL";
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// Verder opruimen van oude data doen we in fac.fac_cleanup die elke dag uitgevoerd wordt dmv fac.fac_daily
|
||||
// Verder opruimen van oude data doen we in fac.fac_cleanup die elke dag uitgevoerd wordt dmv fac.fac_daily
|
||||
|
||||
result.message = (typeof L != "undefined"?L("lcl_imp_inf_processed"):"Ingelezen gegevens zijn verwerkt"); // Geen L vanuit gen_import.wsf!
|
||||
result.success = true;
|
||||
result.message = (typeof L != "undefined"?L("lcl_imp_inf_processed"):"Ingelezen gegevens zijn verwerkt"); // Geen L vanuit gen_import.wsf!
|
||||
|
||||
var sql = "SELECT COUNT(*)"
|
||||
+ " FROM imp_log"
|
||||
+ " WHERE imp_log_status = 'W'"
|
||||
+ " AND imp_log_key > " + last_imp_log_key
|
||||
+ " AND fac_import_key = " + import_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var cntW = oRs(0).Value;
|
||||
oRs.Close();
|
||||
if (cntW > 0) {
|
||||
result.message += "\n" + (typeof L != "undefined" ? L("lcl_imp_rap_w") : "Waarschuwingen") + ": " + cntW;
|
||||
var sql = "SELECT COUNT(*)"
|
||||
+ " FROM imp_log"
|
||||
+ " WHERE imp_log_status = 'W'"
|
||||
+ " AND imp_log_key > " + last_imp_log_key
|
||||
+ " AND fac_import_key = " + import_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var cntW = oRs(0).Value;
|
||||
oRs.Close();
|
||||
if (cntW > 0) {
|
||||
result.message += "\n" + (typeof L != "undefined" ? L("lcl_imp_rap_w") : "Waarschuwingen") + ": " + cntW;
|
||||
}
|
||||
var sql = "SELECT COUNT(*)"
|
||||
+ " FROM imp_log"
|
||||
+ " WHERE imp_log_status = 'E'"
|
||||
+ " AND imp_log_key > " + last_imp_log_key
|
||||
+ " AND fac_import_key = " + import_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var cntE = oRs(0).Value;
|
||||
oRs.Close();
|
||||
if (cntE > 0) {
|
||||
result.message += "\n" + (typeof L != "undefined" ? L("lcl_imp_rap_e") : "Fouten") + ": " + cntE;
|
||||
}
|
||||
}
|
||||
var sql = "SELECT COUNT(*)"
|
||||
+ " FROM imp_log"
|
||||
+ " WHERE imp_log_status = 'E'"
|
||||
+ " AND imp_log_key > " + last_imp_log_key
|
||||
+ " AND fac_import_key = " + import_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var cntE = oRs(0).Value;
|
||||
oRs.Close();
|
||||
if (cntE > 0) {
|
||||
result.message += "\n" + (typeof L != "undefined" ? L("lcl_imp_rap_e") : "Fouten") + ": " + cntE;
|
||||
|
||||
// Opruimen backupdir:
|
||||
// - params.clear_backup: Gezet vanuit api_gen_import.inc. Met handmatig inlezen wordt dit niet meegegeven dus bestanden blijven staan.
|
||||
// - __Logging > 0: Als logging aan staat worden de bestanden nooit verwijderd.
|
||||
if (backupDir && params.clear_backup && (__Logging == 0))
|
||||
{
|
||||
var fso = Server.CreateObject("Scripting.FileSystemObject");
|
||||
backupDir = backupDir.replace(/[\\\/]$/, ""); // Verwijder een eventuele (back)slash aan het einde.
|
||||
if (fso.FolderExists(backupDir))
|
||||
{
|
||||
__Log("Scanning {0} for files".format(backupDir));
|
||||
var fm = fso.GetFolder(backupDir);
|
||||
var fc = new Enumerator(fm.files);
|
||||
var filesDeleted = true;
|
||||
var cnt = 0;
|
||||
for (; !fc.atEnd(); fc.moveNext())
|
||||
{
|
||||
var ff = fc.item();
|
||||
try
|
||||
{
|
||||
fso.DeleteFile(backupDir +"/"+ ff.Name, true);
|
||||
cnt++;
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
filesDeleted = false;
|
||||
__DoLog("Failed to remove {0}: {1}".format(ff.Name, e.description), "#FFFF00");
|
||||
}
|
||||
}
|
||||
__Log("{0} files deleted".format(cnt));
|
||||
|
||||
if (filesDeleted)
|
||||
{
|
||||
try
|
||||
{
|
||||
fso.DeleteFolder(backupDir);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
__DoLog("Failed to remove {0}: {1}".format(backupDir, e.description), "#FFFF00");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user