- DMS API key to change
- DMS ID to change
- Find the document on the DMS via the document’s Metadata ID number 11350Type ***** (enter the correct ID)
- Comparison of the Account and the amount found on the DMS doc. Metadata ID 11349 and 11355, respectively
/*--------------- DMS CONNEXION ------------------*/
var portal_api_key = "5c62623b0f63**********262475fc9dff10a1ee252a74959a068d26d***************6c1ddcf14a171591f45b85";
var pHeader = {};
pHeader["Authorization"] = "Key "+portal_api_key;
var ws = new JSE_WebService("127.0.0.1", "http", 8000);
/*--------------- FUNCTIONS ----------------------*/
var getIDDMSFromNumBL = function(pNumBL){
var pQueryParams = {};
pQueryParams["metadatas[11350]"] = pNumBL;
pQueryParams["documentType"] = "****";
pQueryParams["itemPerPage"] = 1;
pQueryParams["page"] = 0;
pQueryParams["includeFolders"] = "false";
var res = ws.send("/ws/v2/search", "GET", pHeader, 60000, true, pQueryParams);
if(res == null)
return "";
var jsonResponse = JSON.parse(res.StringResponse);
if(jsonResponse != null && jsonResponse.documents != null && jsonResponse.documents.length > 0)
return jsonResponse.documents[0].document.idDocument;
return "";
}
/*--------------- MAIN CODE ----------------------*/
var numBL = getTextFromIndexInfo(getFirstIndexFromID(pParameters,"NUM_BL_INDEX"));
var montant = getTextFromIndexInfo(getFirstIndexFromID(pParameters,"AMOUNT_INCLUDING_VAT_INDEX"));
var compteTF = THIRDPART.personalAccount.personalAccountNumber;
var gap_montant = 0.02;
var result = new JSE_Result();
result.values = ["BL COHERENT","PETIT ECART","ECART CONSEQUENT","PAS DE COHERENCE"];
result.calculatedValue = "PAS DE COHERENCE";
if(numBL != null && numBL != "" && montant != null && montant != ""){
var idDMSBL = getIDDMSFromNumBL(numBL);
if(idDMSBL == "" || idDMSBL == null)
return result;
var res = ws.send("/ws/v2/document/"+idDMSBL, "GET", pHeader, 60000);
if(res == null)
return result;
var jsonResponse = JSON.parse(res.StringResponse);
if(jsonResponse == null || jsonResponse.metadatas == null || jsonResponse.metadatas.length == 0)
return result;
var metadatas = jsonResponse.metadatas;
var montantF = Math.abs(parseFloat(montant.replace(',', '.')));
var montantBL = 0;
var compteTBL = "";
for(var i =0; i< metadatas.length;i++){
if(metadatas[i].metadata.idMetadata == "11349")
compteTBL = metadatas[i].metadata.value;
if(metadatas[i].metadata.idMetadata == "11355" && metadatas[i].metadata.value != "")
montantBL = Math.abs(parseFloat(metadatas[i].metadata.value.replace(',', '.')));
}
if(compteTF == compteTBL){
if(montantF == montantBL)
result.calculatedValue = "BL COHERENT";
else if(Math.abs(montantF - montantBL) <= gap_montant)
result.calculatedValue = "PETIT ECART";
else if(Math.abs(montantF - montantBL) > gap_montant)
result.calculatedValue = "ECART CONSEQUENT";
}
}
return result;