« Module:IdentifierRACJ » : différence entre les versions

De alcolois
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Modification pour capturer les numéros de décisions qui ont la forme xx-500-xxxx ex. 40-5001234
Ligne 1 : Ligne 1 :
local p = {}
local p = {}


-- Extrait un identifiant de la forme : 2 chiffres - 7 chiffres (ex: 40-0009775)
-- Extrait d'abord un identifiant de type dd-500xxxx, sinon dd-ddddddd-ddd
function p.extraireNoDeDecision(frame)
function p.extraireNoDeDecision(frame)
     local texte = frame.args[1] or ""
     local texte = frame.args[1] or ""
     -- Match un identifiant de type 40-0009775
 
     local identifiant = string.match(texte, "(%d%d%-%d%d%d%d%d%d%d)")
     -- 1. Priorité à ceux dont les 3 premiers chiffres après le tiret sont 500 (ex: 40-5001234)
    local identifiant = string.match(texte, "(%d%d%-500%d%d%d%d)")
    if identifiant then
        return identifiant
    end
 
    -- 2. Sinon, chercher un identifiant de type dd-ddddddd (ex: 40-0733535)
     identifiant = string.match(texte, "(%d%d%-%d%d%d%d%d%d%d%)")
     return identifiant or ""
     return identifiant or ""
end
end


-- Extrait un identifiant de la forme : 2 chiffres - 7 chiffres - 3 chiffres (ex: 40-0733535-004)
-- Extrait un identifiant de la forme : dd-ddddddd-ddd (ex: 40-0733535-004)
function p.extraireNoDeDossier(frame)
function p.extraireNoDeDossier(frame)
     local texte = frame.args[1] or ""
     local texte = frame.args[1] or ""
    -- Match un identifiant de type 40-0733535-004
     local identifiant = string.match(texte, "(%d%d%-%d%d%d%d%d%d%d%-%d%d%d)")
     local identifiant = string.match(texte, "(%d%d%-%d%d%d%d%d%d%d%-%d%d%d)")
     return identifiant or ""
     return identifiant or ""

Version du 2 juin 2025 à 17:17


local p = {}

-- Extrait d'abord un identifiant de type dd-500xxxx, sinon dd-ddddddd-ddd
function p.extraireNoDeDecision(frame)
    local texte = frame.args[1] or ""

    -- 1. Priorité à ceux dont les 3 premiers chiffres après le tiret sont 500 (ex: 40-5001234)
    local identifiant = string.match(texte, "(%d%d%-500%d%d%d%d)")
    if identifiant then
        return identifiant
    end

    -- 2. Sinon, chercher un identifiant de type dd-ddddddd (ex: 40-0733535)
    identifiant = string.match(texte, "(%d%d%-%d%d%d%d%d%d%d%)")
    return identifiant or ""
end

-- Extrait un identifiant de la forme : dd-ddddddd-ddd (ex: 40-0733535-004)
function p.extraireNoDeDossier(frame)
    local texte = frame.args[1] or ""
    local identifiant = string.match(texte, "(%d%d%-%d%d%d%d%d%d%d%-%d%d%d)")
    return identifiant or ""
end

return p