STAM#50227 foto's meenemen bij personenimport

svn path=/Website/branches/v2017.2/; revision=35971
This commit is contained in:
Suzan Wiegerinck
2017-11-13 09:33:35 +00:00
parent 006b2d27e1
commit 45736e44da

127
CUST/STAM/import/smoelen.js Normal file
View File

@@ -0,0 +1,127 @@
// Smoelen.js
// Importeer foto's en plaats ze in de flexfiles in de smoelen folderstructuur
//
// $Revision$
// $Id$
//
// Smoelen import
//
// Opzet in kader van GRKL#33013 hergebruikt voor STAM
// Twee parameters: UDL voor database connectie en pad naar import(webdav) folder
var str = WScript.Arguments(0); // udlpath
var imppad = WScript.Arguments(1); // pad naar import(webdav) folder
var smlpath = "../flexfiles/PRS/P0000___/P"; // + pKey + "/SML/";
var smlpath = "../flexfiles/PRS/"
var udlstr = 'File Name='+str;
var Oracle = new ActiveXObject("ADODB.Connection");
WScript.Echo(new Date());
WScript.Echo(udlstr);
Oracle.Open(udlstr);
var sql = "ALTER SESSION SET nls_territory='AMERICA'";
var oRs = Oracle.Execute(sql)
fso = new ActiveXObject("Scripting.FileSystemObject")
startFolder = fso.GetFolder(imppad)
var fc1 = new Enumerator(startFolder.Files);
for (; !fc1.atEnd(); fc1.moveNext())
{
fil = fc1.item();
WScript.Echo("File: " + fil);
filename = fil.Name.toUpperCase();
if (filename.match(/.*\.jpg$/i))
{
// filenames Foto_S0072.jpg
fname = filename.substring(0, filename.length-4).toUpperCase();
sql = "select prs_perslid_key, prs_perslid_voornaam, prs_perslid_naam"
+ " from prs_perslid"
+ " where prs_perslid_nr = '"+fname.replace(/\'/g,"''")+"'";
oRs = Oracle.Execute(sql)
if (!oRs.Eof)
{
WScript.Echo("Foto " + fil.name + " hoort bij key " + oRs("prs_perslid_key").Value + ": " + oRs("prs_perslid_voornaam").Value + " " + oRs("prs_perslid_naam").Value);
var AttachPath = smlpath + subfolderKey("P", oRs("prs_perslid_key").Value) + "/SML/";
CreateFullPath(AttachPath);
WScript.Echo(" verplaatsen naar " + AttachPath);
if (fso.FileExists(AttachPath + filename))
{
WScript.Echo(" deleting previous file");
fso.DeleteFile(AttachPath + filename);
}
fso.MoveFile (fil, AttachPath);
// Thumb maken
var thumbpath = AttachPath + "thumb/";
var oIMG = new ActiveXObject("SLNKDWF.ImageConvert");
oIMG.Open(AttachPath + filename);
// WScript.Echo("w=" + oIMG.Width + " h=" + oIMG.Height)
maxPhotoW = 150;
maxPhotoH = 200;
if (oIMG.Width > maxPhotoW || oIMG.Height > maxPhotoH)
{
if (oIMG.Width / oIMG.Height > maxPhotoW / maxPhotoH)
{
oIMG.Height = oIMG.Height / oIMG.Width * maxPhotoW;
oIMG.Width = maxPhotoW;
}
else
{
oIMG.Width = oIMG.Width / oIMG.Height * maxPhotoH;
oIMG.Height = maxPhotoH;
}
oIMG.SaveAs(AttachPath + filename);
}
// Thumb altijd
maxThumbW = 60;
maxThumbH = 80;
if (oIMG.Width / oIMG.Height > maxThumbW / maxThumbH)
{
oIMG.Height = oIMG.Height / oIMG.Width * maxThumbW;
oIMG.Width = maxThumbW;
}
else
{
oIMG.Width = oIMG.Width / oIMG.Height * maxThumbH;
oIMG.Height = maxThumbH;
}
CreateFullPath(AttachPath + "thumb/");
oIMG.SaveAs(AttachPath + "thumb/" + filename);
}
}
else
WScript.Echo(" skipping");
}
function CreateFullPath(sPath)
{
var oFS = new ActiveXObject("Scripting.FileSystemObject");
if (!oFS.FolderExists(sPath))
{
while (!oFS.FolderExists(sPath))
{
var sParent =sPath;
while (!oFS.FolderExists(sParent))
{
var sChild = sParent;
var sParent = oFS.GetParentFolderName(sChild);
}
oFolder = oFS.CreateFolder(sChild)
}
}
}
function subfolderKey(pNiveau, pKey)
{
var keyStr = "0000000" + pKey;
var subfolder = pNiveau + keyStr.substr(keyStr.length-7,4) + "___/" + pNiveau + pKey;
return subfolder;
}