*/
public class ControlUtils {
// MESSAGES
+
public static final String MGENPJ02 = "Tous les champs obligatoires ne sont pas valorisés";
public static final String MGENPJ04 = "Le format du codique n'est pas correct (6 caract sans espace)";
public static final String MGENPJ05 = "Les 3 premiers chiffres du codique ne sont pas cohérent avec la table de référencement";
public static final String MGENPJ09 = "Le code budget n'est pas au format attendu (2 caractères num. sans espace)";
public static final String MGENPJ10 = "Le FINESS n'est pas au format attendu (9 caractères num.)";
public static final String MGENPJ11 = "Le libellé de la collectivité est trop long (<= 38 caractères)";
+ public static final String MGENPJ111 = "Le libellé de la collectivité est obligatoire";
public static final String MGENPJ12 = "Le nom de la PJ est trop long (<= 100 caractères)";
+ public static final String MGENPJ121 = "Le nom de la PJ doit se terminer par une extension de fichier";
public static final String MGENPJ13 = "L'IdUnique est trop long (<= 50 caractères)";
public static final String MGENPJ14 = "L'exercice n'est pas au format attendu (AAAA)";
public static final String MGENPJ15 = "Tous les champs de le réf compta doivent être valorisés";
public static final String MGENPJ20 = "La valeur du N° de ligne de mandat saisie n'est pas conforme au format attendu (20 car alphanum)";
public static final String MGENPJ21 = "Les champs N° de mandat et N° de ligne doivent être renseignés";
public static final String MGENPJ22 = "La valeur du N° de décision saisie n'est pas conforme au format attendu (10 car alphanum)";
-
public static final String OBLIGATOIRE_NOM_PJ = "Le nom de la pj est obligatoire";
public static final String OBLIGATOIRE_ID_UNIQUE = "L'identifiant unique est obligatoire";
public static final String OBLIGATOIRE_FICHIER = "Le fichier est obligatoire";
-
// PATERNS
public static final String PATERN_ID_POST_LENGTH = "^[a-zA-Z0-9]{6}$";
public static final String PATERN_ID_POST_END = "^[a-zA-Z0-9]{3}[0-9]{3}$";
public static final String PATERN_CODE_COLL = "^[a-zA-Z0-9]{3}$";
public static final String PATERN_CODE_BUDG = "^[0-9]{2}$";
public static final String PATERN_FINESS = "^[0-9]{9}$";
-
public static final String PATERN_EXERCICE = "^[0-9]{4}$";
public static final String PATERN_NUM_PIECE = "^[a-zA-Z0-9]*$";
public static final String PATERN_NUM_LIGNE_PIECE = "^[a-zA-Z0-9]*$";
-
+ public static final String PATERN_NOM_PJ = ".+\\.[A-Za-z0-9]{2,4}";
// VARIABLES
public static final String DOMAINE_DEPENSE = "01";
public static final String DOMAINE_RECETTE = "02";
public static final String DOMAINE_BUDGET = "04";
-
+
public static String validateAccueilStep(ConfigHandler config, String idPost, String idColl, String codeColl, String codeBudg,
String finess, String libelleBudgetCollectivite) {
StringBuilder retour = new StringBuilder("");
StringUtils.ammend(retour, MGENPJ10);
}
- // TODO: A terme, il faudra rechercher dans le referentiel collectivite
- // pour verifier la cohhérence de la saisie du siret
- if (!libelleBudgetCollectivite.isEmpty() && libelleBudgetCollectivite.length() > 38) {
+ if (libelleBudgetCollectivite.isEmpty()) {
+ StringUtils.ammend(retour, MGENPJ111);
+ } else if (libelleBudgetCollectivite.length() > 38) {
StringUtils.ammend(retour, MGENPJ11);
}
public static String validatePJ(String typePjCode, String nomPj, String idUnique, String fichier) {
StringBuilder retour = new StringBuilder("");
-
+
if (fichier.isEmpty()) {
- StringUtils.ammend(retour, OBLIGATOIRE_FICHIER);
+ StringUtils.ammend(retour, OBLIGATOIRE_FICHIER);
}
+
+ if(!nomPj.isEmpty() && !nomPj.matches(PATERN_NOM_PJ)){
+ StringUtils.ammend(retour, MGENPJ121);
+ }
- if (!GeneratorUtils.isFacture(typePjCode)) {
- if (nomPj.length() > 100) {
- StringUtils.ammend(retour, MGENPJ12);
- } else if (nomPj.length() == 0) {
- StringUtils.ammend(retour, OBLIGATOIRE_NOM_PJ);
- }
-
- if (idUnique.length() > 50) {
- StringUtils.ammend(retour, MGENPJ13);
- } else if (idUnique.length() == 0) {
- StringUtils.ammend(retour, OBLIGATOIRE_ID_UNIQUE);
- }
+ if (nomPj.length() > 100) {
+ StringUtils.ammend(retour, MGENPJ12);
+ } else if (nomPj.length() == 0) {
+ StringUtils.ammend(retour, OBLIGATOIRE_NOM_PJ);
+ }
-
+ if (idUnique.length() > 50) {
+ StringUtils.ammend(retour, MGENPJ13);
+ } else if (idUnique.length() == 0) {
+ StringUtils.ammend(retour, OBLIGATOIRE_ID_UNIQUE);
}
return retour.toString();
}
-
+
public static String validateRefCompta(Pair domaine, String exercice, String numPiece, String numLignePiece) {
StringBuilder retour = new StringBuilder("");
if (exercice.isEmpty() && numPiece.isEmpty() && numLignePiece.isEmpty()) {
StringUtils.ammend(retour, MGENPJ15);
} else {
- if(!exercice.matches(PATERN_EXERCICE)){
+ if (!exercice.matches(PATERN_EXERCICE)) {
StringUtils.ammend(retour, MGENPJ14);
}
- if(isDomaineDepense(domaine.key)){
+ if (isDomaineDepense(domaine.key)) {
validateRefComptaDomaineDepense(retour, numPiece, numLignePiece);
- } else if(isDomaineRecette(domaine.key)){
+ } else if (isDomaineRecette(domaine.key)) {
validateRefComptaDomaineRecette(retour, numPiece, numLignePiece);
- } else if(isDomaineBudget(domaine.key)){
+ } else if (isDomaineBudget(domaine.key)) {
validateRefComptaDomaineBudget(retour, numPiece, numLignePiece);
}
}
return retour.toString();
}
-
- private static void validateRefComptaDomaineRecette(StringBuilder retour, String numPiece, String numLignePiece){
- if((!numPiece.isEmpty() && numPiece.length() > 20) || !numPiece.matches(PATERN_NUM_PIECE)){
+ private static void validateRefComptaDomaineRecette(StringBuilder retour, String numPiece, String numLignePiece) {
+ if ((!numPiece.isEmpty() && numPiece.length() > 20) || !numPiece.matches(PATERN_NUM_PIECE)) {
StringUtils.ammend(retour, MGENPJ16);
}
if ((!numLignePiece.isEmpty() && numLignePiece.length() > 20) || !numLignePiece.matches(PATERN_NUM_LIGNE_PIECE)) {
StringUtils.ammend(retour, MGENPJ18);
}
}
-
- private static void validateRefComptaDomaineDepense(StringBuilder retour, String numPiece, String numLignePiece){
- if((!numPiece.isEmpty() && numPiece.length() > 20) || !numPiece.matches(PATERN_NUM_PIECE)){
+
+ private static void validateRefComptaDomaineDepense(StringBuilder retour, String numPiece, String numLignePiece) {
+ if ((!numPiece.isEmpty() && numPiece.length() > 20) || !numPiece.matches(PATERN_NUM_PIECE)) {
StringUtils.ammend(retour, MGENPJ19);
}
if ((!numLignePiece.isEmpty() && numLignePiece.length() > 20) || !numLignePiece.matches(PATERN_NUM_LIGNE_PIECE)) {
StringUtils.ammend(retour, MGENPJ21);
}
}
-
- private static void validateRefComptaDomaineBudget(StringBuilder retour, String numPiece, String numLignePiece){
- if((!numPiece.isEmpty() && numPiece.length() > 10) || !numPiece.matches(PATERN_NUM_PIECE)){
+
+ private static void validateRefComptaDomaineBudget(StringBuilder retour, String numPiece, String numLignePiece) {
+ if ((!numPiece.isEmpty() && numPiece.length() > 10) || !numPiece.matches(PATERN_NUM_PIECE)) {
StringUtils.ammend(retour, MGENPJ22);
}
}
-
- private static boolean isDomaineDepense(String domaine){
- if(DOMAINE_DEPENSE.equals(domaine)){
+
+ private static boolean isDomaineDepense(String domaine) {
+ if (DOMAINE_DEPENSE.equals(domaine)) {
return true;
}
return false;
}
- private static boolean isDomaineRecette(String domaine){
- if(DOMAINE_RECETTE.equals(domaine)){
+
+ private static boolean isDomaineRecette(String domaine) {
+ if (DOMAINE_RECETTE.equals(domaine)) {
return true;
}
return false;
}
- private static boolean isDomaineBudget(String domaine){
- if(DOMAINE_BUDGET.equals(domaine)){
+
+ private static boolean isDomaineBudget(String domaine) {
+ if (DOMAINE_BUDGET.equals(domaine)) {
return true;
}
return false;
}
-
+
public static String validateIdUniquePJ(String idUnique) {
StringBuilder retour = new StringBuilder();
if (idUnique.length() > 50) {
}
return retour.toString();
}
-
+
public static boolean verifPremiersCaracteresIdPost(ConfigHandler config, String idpost) {
return config.getCodiquesPremiersCaracteres().contains(idpost.substring(0, 3));
}