Index: Consistency of Invoice Amount vs. Multiple Orders

var mtcapture= parseFloat(getTextFromIndexInfo(getFirstIndexFromID(pParameters, "AMOUNT_EX_VAT_INDEX")).replace(',', '.'));
var database = new JSE_Database("DSN=OBExample");

var getNumCommandes = function(pParameters){
    var result = [];
    var articles = getArticleLines(pParameters, "COMMANDE_INDEX");
    if(articles == null)
        return result;

    for(var i=0;i< articles.length; i++){
        var numCde = getTextFromIndexInfo(getIndexFromArticleLine(articles[i], "NUM_REF_COMMANDE_INDEX"));
        if(numCde != null && result.indexOf(numCde) === -1)
            result.push(numCde);
    }

    return result;
};

var getCdeAmount = function(nCommande, database){
    var res = database.executeRequest("SELECT cdeAmount AS \"MTCDE\" "
    + "FROM tableCde "
    + "WHERE numCde LIKE '%"+nCommande+"%'");

    if(res != null && res.length > 0 && res[0]["MTCDE"] != null)
        return res[0]["MTCDE"];
    return 0;
};
  

var sumAmountCde = 0;
var numCdeList = getNumCommandes(pParameters);

for(var i=0;i< numCdeList.length;i++)
    sumAmountCde += getCdeAmount(numCdeList[i], database);

if(sumAmountCde == mtcapture)
    return 'Conforme';

return 'Non Conforme, montant cde = '+sumAmountCde.toFixed(2);