1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
| private Object getValeurPrecedente(Long forId, ChampContribution champ) throws KUserException, KSystemException {
Object valeurPrecedente = null;
final HistoValeurChampSimple derniereMofication;
Long critereVerticalFermeId = null;
Long critereVerticalOuvertId = null;
Long critereHorizontalId = null;
if (champ.isDansTableau()) {
final Critere critereVertical = champ.getCritereVertical();
if (critereVertical.getSiFerme()) {
critereVerticalFermeId = critereVertical.getCritereId();
} else {
critereVerticalOuvertId = critereVertical.getCritereId();
}
final Critere critereHorizontal = champ.getCritereHorizontal();
if (critereHorizontal != null) {
critereHorizontalId = critereHorizontal.getCritereId();
}
}
final CodeTypeChamp typeChamp = CodeTypeChamp.valueOf(champ.getType());
switch (typeChamp) {
case BOOL:
// On récupère la dernière modification du champ dans la table d'historique
derniereMofication = CONTRIBUTION_DAO.derniereModificationChampSimple(forId, champ.getChampId(), critereVerticalFermeId, critereVerticalOuvertId, critereHorizontalId);
// Si le champ a déjà été modifié
// Alors on récupère la dernière valeur saisie
if (derniereMofication != null) {
valeurPrecedente = derniereMofication.getHvaNouvelleValeurBooleen();
}
break;
case TXT:
// On récupère la dernière modification du champ dans la table d'historique
derniereMofication = CONTRIBUTION_DAO.derniereModificationChampSimple(forId, champ.getChampId(), critereVerticalFermeId, critereVerticalOuvertId, critereHorizontalId);
// Si le champ a déjà été modifié
// Alors on récupère la dernière valeur saisie
if (derniereMofication != null) {
valeurPrecedente = derniereMofication.getHvaNouvelleValeurChaine();
}
break;
case NUM:
// On récupère la dernière modification du champ dans la table d'historique
derniereMofication = CONTRIBUTION_DAO.derniereModificationChampSimple(forId, champ.getChampId(), critereVerticalFermeId, critereVerticalOuvertId, critereHorizontalId);
// Si le champ a déjà été modifié
// Alors on récupère la dernière valeur saisie
if (derniereMofication != null) {
valeurPrecedente = derniereMofication.getHvaNouvelleValeurNombre();
}
break;
case DATE:
// On récupère la dernière modification du champ dans la table d'historique
derniereMofication = CONTRIBUTION_DAO.derniereModificationChampSimple(forId, champ.getChampId(), critereVerticalFermeId, critereVerticalOuvertId, critereHorizontalId);
// Si le champ a déjà été modifié
// Alors on récupère la dernière valeur saisie
if (derniereMofication != null) {
valeurPrecedente = derniereMofication.getHvaNouvelleValeurDate();
}
break;
case DUREE:
// On récupère la dernière modification du champ dans la table d'historique
derniereMofication = CONTRIBUTION_DAO.derniereModificationChampSimple(forId, champ.getChampId(), critereVerticalFermeId, critereVerticalOuvertId, critereHorizontalId);
// Si le champ a déjà été modifié
// Alors on récupère la dernière valeur saisie
if (derniereMofication != null) {
valeurPrecedente = derniereMofication.getHvaNouvelleValeurDuree();
}
break;
case PER:
// On récupère la dernière modification du champ dans la table d'historique
derniereMofication = CONTRIBUTION_DAO.derniereModificationChampSimple(forId, champ.getChampId(), critereVerticalFermeId, critereVerticalOuvertId, critereHorizontalId);
// Si le champ a déjà été modifié
// Alors on récupère la dernière valeur saisie
if (derniereMofication != null) {
valeurPrecedente = derniereMofication.getPerCodeNouvelleValPeriode();
}
break;
case LST:
// On récupère la dernière modification du champ dans la table d'historique
derniereMofication = CONTRIBUTION_DAO.derniereModificationChampSimple(forId, champ.getChampId(), critereVerticalFermeId, critereVerticalOuvertId, critereHorizontalId);
// Si le champ a déjà été modifié
// Alors on récupère la dernière valeur saisie
if (derniereMofication != null) {
valeurPrecedente = getValeurPrecedenteListe(derniereMofication);
}
break;
case LSTOUV:
valeurPrecedente = CONTRIBUTION_DAO.valeurPrecedenteChampListeOuverte(forId, champ.getChampId());
break;
default:
}
return valeurPrecedente;
} |