STAM#50227 foto's meenemen bij personenimport
svn path=/Website/branches/v2017.2/; revision=35971
This commit is contained in:
127
CUST/STAM/import/smoelen.js
Normal file
127
CUST/STAM/import/smoelen.js
Normal 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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user