be.fgov.minfin.webForm.backing.LiquidationClotureCdcBean.java Source code

Java tutorial

Introduction

Here is the source code for be.fgov.minfin.webForm.backing.LiquidationClotureCdcBean.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package be.fgov.minfin.webForm.backing;

import be.fgov.minfin.ccff.fwk.logging.api.Logger;
import be.fgov.minfin.ccff.fwk.logging.api.LoggerFactory;
import be.fgov.minfin.ccff.fwk.mail.api.exceptions.MailException;
import be.fgov.minfin.webForm.entity.Email;
import be.fgov.minfin.webForm.entity.Sujet;
import be.fgov.minfin.webForm.util.CodeDevise;
import be.fgov.minfin.webForm.util.ComStructUtil;
import be.fgov.minfin.webForm.util.FediamIdentityUtil;
import be.fgov.minfin.webForm.util.ISINValidationUtil;
import be.fgov.minfin.webForm.util.MailHelper;
import be.fgov.minfin.webForm.util.NNUtil;
import be.fgov.minfin.webForm.util.Partie;
import be.fgov.minfin.webForm.util.SitranBCEUtil;
import java.io.IOException;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.ResourceBundle;
import javax.annotation.PostConstruct;
import javax.faces.application.Application;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;
import org.apache.commons.validator.routines.checkdigit.CheckDigitException;
import org.apache.commons.validator.routines.checkdigit.IBANCheckDigit;
import org.primefaces.context.RequestContext;

/**
 *
 * @author gbeurnel
 */
@ManagedBean(name = "liquidationClotureCdcBean")
@ViewScoped
public class LiquidationClotureCdcBean extends WebFormBean implements Serializable {

    private static final Logger logger = LoggerFactory.getLogger(LiquidationClotureCdcBean.class);

    private Date dateLiquid;
    private String montantEuro;
    private String nomCompteEuro;
    private String numCompteEuro;
    private String nomCompteDevise;
    private String numCompteDevise;
    private String montantDevise;
    private String typeDevise;
    private String codeISIN;
    private String nomTitre;
    private Date dateTitre;
    private String valeurTitres;
    private String numCompteTitres;
    private String titulaireTitres;
    private List<String> selectedValeur = new ArrayList<String>();
    private List<String> codeDevises = new ArrayList<String>();
    private List<Partie> partiesConcernees;
    private boolean visibleConfirm = false;
    private boolean mailEnvoye = false;

    @ManagedProperty(value = "#{authentificationCdcBean}")
    private AuthentificationCdcBean authentificationCdcBean;

    @PostConstruct
    public void init() {
        selectedDocType = "CDC4";
        this.initialize();
        // On associe le nom authentifi au diffrents champs
        nomCompteEuro = authentificationCdcBean.getNom();
        nomCompteDevise = authentificationCdcBean.getNom();
        titulaireTitres = authentificationCdcBean.getNomSociete();
        // On cre la list avec les diffrents codes et on la trie alphabtiquement
        CodeDevise codes[] = CodeDevise.values();
        for (CodeDevise code : codes) {
            codeDevises.add(code.toString());
        }
        Collections.sort(codeDevises);
        //Creations des parties concernes et ajout  la liste
        partiesConcernees = new ArrayList<Partie>();
        // Creation de la partie socit liquide (rcupration des infos de la socit dans authentificiation)
        Partie partieSocieteLiquidee = new Partie();
        partieSocieteLiquidee.setTypePartie("societe");
        if (authentificationCdcBean.getNomSociete() != null) {
            if (authentificationCdcBean.getSociete_nationalite().equalsIgnoreCase("Belge")) {
                partieSocieteLiquidee.setBce(authentificationCdcBean.getNumBCE());
            }
            partieSocieteLiquidee.setNationalite(authentificationCdcBean.getSociete_nationalite());
            partieSocieteLiquidee.setNomSociete(authentificationCdcBean.getNomSociete());
            partieSocieteLiquidee.setRue(authentificationCdcBean.getRueSociete());
            partieSocieteLiquidee.setNumrue(authentificationCdcBean.getNumSociete());
            partieSocieteLiquidee.setCodepostal(authentificationCdcBean.getCodePostalSociete());
            partieSocieteLiquidee.setVille(authentificationCdcBean.getVilleSociete());
            partieSocieteLiquidee.setPays(authentificationCdcBean.getPaysSociete());
        }
        Partie partieGerant = new Partie();
        partieGerant.setTypePartie("gerant");
        Partie partieLiquidateur = new Partie();
        partieLiquidateur.setTypePartie("liquidateur");
        partiesConcernees.add(partieSocieteLiquidee);
        partiesConcernees.add(partieGerant);
        partiesConcernees.add(partieLiquidateur);
        // Ajout des infos de la personne authentifie dans les parties liquidateur et grant
        for (int i = 1; i < partiesConcernees.size(); i++) {
            if (authentificationCdcBean.getNrn() != null) {
                partiesConcernees.get(i).setNnr(authentificationCdcBean.getNrn());
            }
            partiesConcernees.get(i).setNationalite(authentificationCdcBean.getNationalite());
            partiesConcernees.get(i).setNom(authentificationCdcBean.getNom());
            partiesConcernees.get(i).setPrenom(authentificationCdcBean.getPrenom());
            partiesConcernees.get(i).setRue(authentificationCdcBean.getAdresse());
            partiesConcernees.get(i).setNumrue(authentificationCdcBean.getNum_adresse());
            partiesConcernees.get(i).setCodepostal(authentificationCdcBean.getCodePostal());
            partiesConcernees.get(i).setVille(authentificationCdcBean.getCommune());
            partiesConcernees.get(i).setPays(authentificationCdcBean.getPays());
            if (authentificationCdcBean.getNomSociete() != null) {
                partiesConcernees.get(i).setMail(authentificationCdcBean.getMail2());
                partiesConcernees.get(i).setNumtel(authentificationCdcBean.getNumTel2());
            } else {
                partiesConcernees.get(i).setMail(authentificationCdcBean.getMail());
                partiesConcernees.get(i).setNumtel(authentificationCdcBean.getNumTel());
            }
        }
    }

    /*
    Vrifie si le comte bancaire est correcte
     */
    public void checkDigit(FacesContext context, UIComponent component, Object value) throws ValidatorException {
        Application app = FacesContext.getCurrentInstance().getApplication();
        ResourceBundle bundle = app.getResourceBundle(FacesContext.getCurrentInstance(), "CdcMessages");
        IBANCheckDigit ibancheck = new IBANCheckDigit();
        String numComptAValider = (String) value;
        if (ibancheck.isValid(numComptAValider) == false) {
            throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    bundle.getString("clotureliqui.numcompte.valid"), ""));
        }
    }

    /*
    Vrifie si le code ISIN est correcte
     */
    public void checkISIN(FacesContext context, UIComponent component, Object value) throws ValidatorException {
        Application app = FacesContext.getCurrentInstance().getApplication();
        ResourceBundle bundle = app.getResourceBundle(FacesContext.getCurrentInstance(), "CdcMessages");
        ISINValidationUtil isinValidation = new ISINValidationUtil();
        String code = (String) value;
        try {
            int modulus = isinValidation.calculcateModulus(code, true);
            if (modulus != 0) {
                throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR,
                        bundle.getString("clotureliqui.titre.code.valid"), ""));
            }
        } catch (CheckDigitException e) {
            throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    bundle.getString("clotureliqui.titre.code.valid"), ""));
        }
    }

    // Methode qui check le NNR
    public void checkNNR(FacesContext context, UIComponent component, Object value) {
        Application app = FacesContext.getCurrentInstance().getApplication();
        ResourceBundle bundle = app.getResourceBundle(FacesContext.getCurrentInstance(), "CdcMessages");
        Date date;
        try {
            NNUtil nnUtil = new NNUtil();
            String nnr = (String) value;
            String anneeNnr = nnr.substring(0, 1);
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            if (Integer.valueOf(anneeNnr) > 17) {
                date = sdf.parse("19" + anneeNnr + "-" + nnr.substring(2, 3) + "-" + nnr.substring(4, 5));
            } else {
                date = sdf.parse("20" + anneeNnr + "-" + nnr.substring(2, 3) + "-" + nnr.substring(4, 5));
            }

            boolean valid = nnUtil.checkNN((String) value, date);
            if (valid == false) {
                throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR,
                        bundle.getString("clotureliqui.idenf.nnr.valid"), ""));
            }
        } catch (Exception e) {
            throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    bundle.getString("clotureliqui.idenf.nnr.valid"), ""));
        }
    }

    public void chercheSociete(int index) throws IOException {
        Partie partie = partiesConcernees.get(index);
        String numBCEFinal = partie.getBce().replaceAll("\\.", "").trim();
        SitranBCEUtil sitran = new SitranBCEUtil(numBCEFinal);
        partie.setNomSociete(sitran.getNomSociete());
        partie.setRue(sitran.getRue());
        partie.setNumrue(sitran.getNumrue());
        partie.setCodepostal(sitran.getCodepostal());
        partie.setVille(sitran.getVille());
        partie.setPays(sitran.getPays());
        /*if(sitran.getEmail() != null)
        partie.setMail(sitran.getEmail());
        if(sitran.getNumtel() != null)
        partie.setNumtel(sitran.getNumtel());
         */
    }

    /*
    Check Sitran si personne belge et affecte les diffrents attributs  la partie concerne
     */
    public void checkSitranPersonneBelge(int index) {
        Partie partie = partiesConcernees.get(index);
        String nnr = partie.getNnr();
        try {
            FediamIdentityUtil fediam = new FediamIdentityUtil(nnr);
            partie.setNom(fediam.getLastName());
            partie.setPrenom(fediam.getFirstName());
            partie.setRue(fediam.getStreet());
            partie.setNumrue(fediam.getNumStreet());
            partie.setCodepostal(fediam.getZip());
            partie.setVille(fediam.getCity());
            partie.setPays(fediam.getPays());
            /*if(fediam.getEmail() != null){
            partie.setMail(fediam.getEmail());
            }
            if(fediam.getNumtel() != null){
            partie.setNumtel(fediam.getNumtel());
            }*/
            partie.setUpdatePersonBelge(true);
        } catch (IOException e) {
            logger.error("Erreur lors de l'appel de FEDIAMUtil");
        }
    }

    /*
    Affiche la page de confirmation
     */
    public void afficheConfirm() {
        this.visibleConfirm = !this.visibleConfirm;
    }

    /*
    Retourne la date d'aujourd'hui
     */
    public Date dateAujourdhui() {
        Date date = new Date();
        return date;
    }

    public void resetPartie(int index) {
        Partie partie = partiesConcernees.get(index);
        partie.setBce(null);
        partie.setCodepostal(null);
        partie.setMail(null);
        partie.setNom(null);
        partie.setNnr(null);
        partie.setNomSociete(null);
        partie.setNumrue(null);
        partie.setNumtel(null);
        partie.setPrenom(null);
        partie.setRue(null);
        partie.setPays(null);
        partie.setUpdatePersonBelge(false);
        partie.setVille(null);
    }

    /*
     Rcupre la communication structure
     */
    public String getCommStruct(String numAppli) {
        ComStructUtil comStruct = new ComStructUtil(numAppli, super.webFormManager.getSequenceCdc());
        return comStruct.getCommStruct();
    }

    public void sendEmail() {
        Application app = FacesContext.getCurrentInstance().getApplication();
        ResourceBundle bundle = app.getResourceBundle(FacesContext.getCurrentInstance(), "CdcMessages");
        SimpleDateFormat dt = new SimpleDateFormat("dd/MM/yyyy");
        String date = dt.format(dateLiquid);

        String bodyEmail = null;
        Sujet sujet = new Sujet();
        sujet.setIdSujet(253);
        sujet = this.webFormManager.findSujetById(sujet);
        if (sujet != null) {
            String language = this.getLanguage();
            StringBuilder messageEmail = new StringBuilder();
            MailHelper mailhelper = new MailHelper();
            //Ajoute la communication structure au mail
            messageEmail.append("Donnes communiques pour l'ouverture du dossier :\n");
            //Ajoute la partie authentification au message
            String idenf = mailhelper.getCorpsIdenf(this.authentificationCdcBean);
            messageEmail.append(idenf);
            // Formulaire cloture de liquidation !!!!!
            messageEmail.append(
                    "\n###################### Type de dossier : Fonds aprs clture de liquidation #####################")
                    .append("\nDate de clture de liquidation : ").append(date);
            if (selectedValeur.contains("euro")) {
                messageEmail.append("\nValeur en euro :").append("\nMontant : ").append(montantEuro)
                        .append("\nNumro de compte de versement : ").append(numCompteEuro)
                        .append("\nNom du titulaire du compte : ").append(nomCompteEuro);
            }
            if (selectedValeur.contains("devise")) {
                messageEmail.append("\nValeur en devises trangres :").append("\nNumro de compte de versement : ")
                        .append(numCompteDevise).append("\nNom du titulaire du compte : ").append(nomCompteDevise)
                        .append("\nMontant  verser : ").append(montantDevise).append("\nDevise du versement : ")
                        .append(typeDevise);
            }
            if (selectedValeur.contains("titre")) {
                messageEmail.append("\nValeur en titres :").append("\nCode ISIN des titres : ").append(codeISIN)
                        .append("\nDnomination des titres : ").append(nomTitre)
                        .append("\nDate d'chance des titres : ").append(dateTitre)
                        .append("\nValeur des titres  transfrer : ").append(valeurTitres)
                        .append("\nNumro de compte-titres pour le transfert : ").append(numCompteTitres)
                        .append("\nTitulaire du compte-titres : ").append(titulaireTitres);
            }
            // Pour chaque partie
            for (int i = 0; i < partiesConcernees.size(); i++) {
                messageEmail.append("\nNationalit :").append(partiesConcernees.get(i).getNationalite());
                // Si la partie en cours est la socit liquide
                if (partiesConcernees.get(i).getTypePartie().equalsIgnoreCase("societe")) {
                    messageEmail.append("\n\n--- Socit Liquide ---\n");
                    if (partiesConcernees.get(i).getBce() != null) {
                        messageEmail.append("\nNumro BCE : ").append(partiesConcernees.get(i).getBce());
                    }
                    messageEmail.append("\nNom de la socit : ").append(partiesConcernees.get(i).getNomSociete());
                } else {
                    //Si la partie en cours est le grant de la socit
                    if (partiesConcernees.get(i).getTypePartie().equalsIgnoreCase("gerant")) {
                        messageEmail.append("\n\n--- Grant de la socit liquide ---\n");
                        //Sinon c'est le liquidateur
                    } else {
                        messageEmail.append("\n\n--- Liquidateur ---\n");
                    }
                    messageEmail.append("\nNumro national : ").append(partiesConcernees.get(i).getNnr())
                            .append("\nNom : ").append(partiesConcernees.get(i).getNom()).append("\nPrnom : ")
                            .append(partiesConcernees.get(i).getPrenom());
                }
                messageEmail.append("\nRue : ").append(partiesConcernees.get(i).getRue()).append("\nNumro : ")
                        .append(partiesConcernees.get(i).getNumrue()).append("\nCode postal : ")
                        .append(partiesConcernees.get(i).getCodepostal()).append("\nVille : ")
                        .append(partiesConcernees.get(i).getVille()).append("\nPays : ")
                        .append(partiesConcernees.get(i).getPays()).append("\nMail : ")
                        .append(partiesConcernees.get(i).getMail()).append("\nNumro de tlphone : ")
                        .append(partiesConcernees.get(i).getNumtel());
            }

            List emailList = sujet.getEmailList();
            if (emailList != null) {
                for (int i = 0; i < emailList.size(); i++) {
                    Email emailTmp = (Email) emailList.get(i);
                    String emailTo = this.webFormUtil.getPropertyValue((Object) emailTmp, "email", language);
                    emailTmp.setEmail(emailTo);
                    bodyEmail = "Nouvelle demande d'ouverture de fonds aprs clture de liquidation";
                    try {
                        if (authentificationCdcBean.getMail2() != null) {
                            this.webFormUtil.sendMail(emailTmp.getEmail(), bodyEmail, messageEmail.toString(),
                                    this.authentificationCdcBean.getMail2(), super.attachments);
                        } else {
                            this.webFormUtil.sendMail(emailTmp.getEmail(), bodyEmail, messageEmail.toString(),
                                    this.authentificationCdcBean.getMail(), super.attachments);
                        }
                        this.mailEnvoye = true;

                    } catch (MailException e) {
                        this.sousStatus = "email";
                        logger.error("Erreur dans la mthode sendMail");
                        FacesMessage msg = new FacesMessage(bundle.getString("cantonnement.mail.error"));
                        FacesContext.getCurrentInstance().addMessage(null, msg);
                    }
                }
                // Si le mail est envoy  la CDC, on envoi au client !
                if (mailEnvoye == true) {
                    StringBuilder messageClient = new StringBuilder();
                    messageClient.append(bundle.getString("clotureliqui.mail.un"))
                            .append("\n" + bundle.getString("clotureliqui.mail.deux"))
                            .append("\n" + bundle.getString("clotureliqui.mail.deux.un"));
                    if (selectedValeur.contains("euro")) {
                        messageClient.append("\n" + bundle.getString("clotureliqui.mail.trois") + "\n")
                                .append("\n" + bundle.getString("clotureliqui.mail.quatre") + " " + montantEuro
                                        + " EUR.")
                                .append("\n" + bundle.getString("clotureliqui.mail.cinq"))
                                .append("\nIBAN : BE58 6792 0040 9979").append("\nBIC : PCHQ BEBB")
                                .append("\n" + bundle.getString("clotureliqui.mail.six") + " "
                                        + this.getCommStruct("188022"));
                    }
                    if (selectedValeur.contains("devise")) {
                        messageClient.append("\n" + bundle.getString("clotureliqui.mail.sept") + "\n")
                                .append("\n" + bundle.getString("clotureliqui.mail.quatre") + " " + montantDevise
                                        + " " + typeDevise)
                                .append("\n" + bundle.getString("clotureliqui.mail.cinq"))
                                .append("\nIBAN : BE750688 9861 0451").append("\nBIC : PCHQ BEBB");
                        for (CodeDevise code : CodeDevise.values()) {
                            if (code.toString().equalsIgnoreCase(typeDevise)) {
                                messageClient.append("\n" + bundle.getString("clotureliqui.mail.six") + " "
                                        + this.getCommStruct(code.getCode()));
                            }
                        }
                    }
                    if (selectedValeur.contains("titre")) {
                        messageClient.append("\n" + bundle.getString("clotureliqui.mail.huit") + "\n")
                                .append("\n" + bundle.getString("clotureliqui.mail.neuf") + " ").append(nomTitre)
                                .append("\n" + bundle.getString("clotureliqui.mail.cinq"))
                                .append("\n" + bundle.getString("clotureliqui.mail.dix"))
                                .append("\nBIC : GKCC BEBB");
                    }
                    messageClient.append("\n").append(mailhelper.getCorpsClientIdenf(authentificationCdcBean));
                    messageClient.append("\n###################### "
                            + bundle.getString("clotureliqui.mailclient.typedossier") + " #####################")
                            .append("\n" + bundle.getString("clotureliqui.new.date") + " : ").append(date);
                    if (selectedValeur.contains("euro")) {
                        messageClient.append("\n" + bundle.getString("clotureliqui.mailclient.euro"))
                                .append("\n" + bundle.getString("clotureliqui.euro.montant") + " : ")
                                .append(montantEuro)
                                .append("\n" + bundle.getString("clotureliqui.numcompte.label") + " ")
                                .append(numCompteEuro)
                                .append("\n" + bundle.getString("clotureliqui.nomcompte.label") + " : ")
                                .append(nomCompteEuro);
                    }
                    if (selectedValeur.contains("devise")) {
                        messageClient.append("\n" + bundle.getString("clotureliqui.mailclient.devise"))
                                .append("\n" + bundle.getString("clotureliqui.numcompte.label") + " ")
                                .append(numCompteDevise)
                                .append("\n" + bundle.getString("clotureliqui.nomcompte.label") + " : ")
                                .append(nomCompteDevise)
                                .append("\n" + bundle.getString("clotureliqui.euro.montant") + " : ")
                                .append(montantDevise)
                                .append("\n" + bundle.getString("clotureliqui.devise.devise") + " : ")
                                .append(typeDevise);
                    }
                    if (selectedValeur.contains("titre")) {
                        messageClient.append("\n" + bundle.getString("clotureliqui.mailclient.titre"))
                                .append("\n" + bundle.getString("clotureliqui.titre.code") + " : ").append(codeISIN)
                                .append("\n" + bundle.getString("clotureliqui.titre.denomination") + " : ")
                                .append(nomTitre).append("\n" + bundle.getString("clotureliqui.titre.date") + " : ")
                                .append(dateTitre)
                                .append("\n" + bundle.getString("clotureliqui.titre.valeur") + " : ")
                                .append(valeurTitres)
                                .append("\n" + bundle.getString("clotureliqui.titre.numcompte") + " : ")
                                .append(numCompteTitres)
                                .append("\n" + bundle.getString("clotureliqui.titre.titulaire") + " : ")
                                .append(titulaireTitres);
                    }
                    // Pour chaque partie
                    for (int i = 0; i < partiesConcernees.size(); i++) {
                        // Si la partie en cours est la socit liquide
                        if (partiesConcernees.get(i).getTypePartie().equalsIgnoreCase("societe")) {
                            messageClient
                                    .append("\n\n--- " + bundle.getString("clotureliqui.idenf.societe") + " ---\n")
                                    .append("\n" + bundle.getString("clotureliqui.panelvalid.nationalite") + " ")
                                    .append(partiesConcernees.get(i).getNationalite());
                            if (partiesConcernees.get(i).getBce() != null) {
                                messageClient.append("\nNumro BCE : ").append(partiesConcernees.get(i).getBce());
                            }
                            messageClient.append("\n" + bundle.getString("clotureliqui.idenf.bce") + " ")
                                    .append(partiesConcernees.get(i).getNomSociete());
                        } else {
                            //Si la partie en cours est le grant de la socit
                            if (partiesConcernees.get(i).getTypePartie().equalsIgnoreCase("gerant")) {
                                messageClient.append(
                                        "\n\n--- " + bundle.getString("clotureliqui.idenf.gerant") + " ---\n");
                                if (partiesConcernees.get(i).isUpdatePersonBelge()) {
                                    messageClient.append(bundle.getString("clotureliqui.mail.personfind.un") + " "
                                            + partiesConcernees.get(i).getNnr() + " "
                                            + bundle.getString("clotureliqui.mail.personfind.deux"));
                                } else {
                                    messageClient.append(
                                            "\n" + bundle.getString("clotureliqui.panelvalid.nationalite") + " ")
                                            .append(partiesConcernees.get(i).getNationalite());
                                }
                                //Sinon c'est le liquidateur
                            } else {
                                messageClient.append(
                                        "\n\n--- " + bundle.getString("clotureliqui.idenf.liquidateur") + " ---\n");
                                if (partiesConcernees.get(i).isUpdatePersonBelge()) {
                                    messageClient.append(bundle.getString("clotureliqui.mail.personfind.un") + " "
                                            + partiesConcernees.get(i).getNnr() + " "
                                            + bundle.getString("clotureliqui.mail.personfind.deux"));
                                } else {
                                    messageClient.append(
                                            "\n" + bundle.getString("clotureliqui.panelvalid.nationalite") + " ")
                                            .append(partiesConcernees.get(i).getNationalite());
                                }
                            }
                            if (!partiesConcernees.get(i).isUpdatePersonBelge()) {
                                messageClient.append("\n" + bundle.getString("clotureliqui.idenf.nnr") + " ")
                                        .append(partiesConcernees.get(i).getNnr())
                                        .append("\n" + bundle.getString("clotureliqui.nom") + " : ")
                                        .append(partiesConcernees.get(i).getNom())
                                        .append("\n" + bundle.getString("clotureliqui.prenom") + " : ")
                                        .append(partiesConcernees.get(i).getPrenom());
                            }
                        }
                        if (!partiesConcernees.get(i).isUpdatePersonBelge()) {
                            messageClient.append("\n" + bundle.getString("clotureliqui.rue") + " : ")
                                    .append(partiesConcernees.get(i).getRue())
                                    .append("\n" + bundle.getString("clotureliqui.numrue") + " : ")
                                    .append(partiesConcernees.get(i).getNumrue())
                                    .append("\n" + bundle.getString("clotureliqui.codepostal") + " : ")
                                    .append(partiesConcernees.get(i).getCodepostal())
                                    .append("\n" + bundle.getString("clotureliqui.ville") + " : ")
                                    .append(partiesConcernees.get(i).getVille())
                                    .append("\n" + bundle.getString("clotureliqui.pays") + " : ")
                                    .append(partiesConcernees.get(i).getPays())
                                    .append("\n" + bundle.getString("clotureliqui.contact.mail") + " : ")
                                    .append(partiesConcernees.get(i).getMail())
                                    .append("\n" + bundle.getString("clotureliqui.contact.numtel") + " : ")
                                    .append(partiesConcernees.get(i).getNumtel());
                        }

                    }
                    bodyEmail = bundle.getString("clotureliqui.bodymail");
                    try {
                        if (authentificationCdcBean.getMail2() != null) {
                            this.webFormUtil.sendMail(this.authentificationCdcBean.getMail2(), bodyEmail,
                                    messageClient.toString(), "depots.tresorerie@minfin.fed.be");
                        } else {
                            this.webFormUtil.sendMail(this.authentificationCdcBean.getMail(), bodyEmail,
                                    messageClient.toString(), "depots.tresorerie@minfin.fed.be");
                        }
                        FacesMessage msg = new FacesMessage(bundle.getString("clotureliqui.validfinal"));
                        FacesContext.getCurrentInstance().addMessage(null, msg);
                        RequestContext.getCurrentInstance().execute("window.scrollTo(0,0);");
                        FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
                    } catch (MailException e) {
                        this.sousStatus = "email";
                        logger.error("Erreur dans la mthode sendMail");
                        FacesMessage msg = new FacesMessage(bundle.getString("clotureliqui.mail.error"));
                        FacesContext.getCurrentInstance().addMessage(null, msg);
                    }
                }

            } else {
                logger.error("emailList = null ******************");
                FacesMessage msg = new FacesMessage(bundle.getString("clotureliqui.mail.error"));
                FacesContext.getCurrentInstance().addMessage(null, msg);
            }
        } else {
            logger.error("emailList = null ******************");
            FacesMessage msg = new FacesMessage(bundle.getString("clotureliqui.mail.error"));
            FacesContext.getCurrentInstance().addMessage(null, msg);
        }

    }

    public Date getDateLiquid() {
        return dateLiquid;
    }

    public void setDateLiquid(Date dateLiquid) {
        this.dateLiquid = dateLiquid;
    }

    public List<String> getSelectedValeur() {
        return selectedValeur;
    }

    public void setSelectedValeur(List<String> selectedValeur) {
        this.selectedValeur = selectedValeur;
    }

    public AuthentificationCdcBean getAuthentificationCdcBean() {
        return authentificationCdcBean;
    }

    public void setAuthentificationCdcBean(AuthentificationCdcBean authentificationCdcBean) {
        this.authentificationCdcBean = authentificationCdcBean;
    }

    public String getMontantEuro() {
        return montantEuro;
    }

    public void setMontantEuro(String montantEuro) {
        this.montantEuro = montantEuro;
    }

    public String getNomCompteEuro() {
        return nomCompteEuro;
    }

    public void setNomCompteEuro(String nomCompteEuro) {
        this.nomCompteEuro = nomCompteEuro;
    }

    public String getNumCompteEuro() {
        return numCompteEuro;
    }

    public void setNumCompteEuro(String numCompteEuro) {
        this.numCompteEuro = numCompteEuro;
    }

    public String getNomCompteDevise() {
        return nomCompteDevise;
    }

    public void setNomCompteDevise(String nomCompteDevise) {
        this.nomCompteDevise = nomCompteDevise;
    }

    public String getNumCompteDevise() {
        return numCompteDevise;
    }

    public void setNumCompteDevise(String numCompteDevise) {
        this.numCompteDevise = numCompteDevise;
    }

    public String getMontantDevise() {
        return montantDevise;
    }

    public void setMontantDevise(String montantDevise) {
        this.montantDevise = montantDevise;
    }

    public String getTypeDevise() {
        return typeDevise;
    }

    public void setTypeDevise(String typeDevise) {
        this.typeDevise = typeDevise;
    }

    public List<String> getCodeDevises() {
        return codeDevises;
    }

    public void setCodeDevises(List<String> codeDevises) {
        this.codeDevises = codeDevises;
    }

    public String getCodeISIN() {
        return codeISIN;
    }

    public void setCodeISIN(String codeISIN) {
        this.codeISIN = codeISIN;
    }

    public String getNomTitre() {
        return nomTitre;
    }

    public void setNomTitre(String nomTitre) {
        this.nomTitre = nomTitre;
    }

    public Date getDateTitre() {
        return dateTitre;
    }

    public void setDateTitre(Date dateTitre) {
        this.dateTitre = dateTitre;
    }

    public String getValeurTitres() {
        return valeurTitres;
    }

    public void setValeurTitres(String valeurTitres) {
        this.valeurTitres = valeurTitres;
    }

    public String getNumCompteTitres() {
        return numCompteTitres;
    }

    public void setNumCompteTitres(String numCompteTitres) {
        this.numCompteTitres = numCompteTitres;
    }

    public String getTitulaireTitres() {
        return titulaireTitres;
    }

    public void setTitulaireTitres(String titulaireTitres) {
        this.titulaireTitres = titulaireTitres;
    }

    public List<Partie> getPartiesConcernees() {
        return partiesConcernees;
    }

    public void setPartiesConcernees(List<Partie> partiesConcernees) {
        this.partiesConcernees = partiesConcernees;
    }

    public boolean isVisibleConfirm() {
        return visibleConfirm;
    }

    public void setVisibleConfirm(boolean visibleConfirm) {
        this.visibleConfirm = visibleConfirm;
    }

    public boolean isMailEnvoye() {
        return mailEnvoye;
    }

    public void setMailEnvoye(boolean mailEnvoye) {
        this.mailEnvoye = mailEnvoye;
    }

    public void initialize() {
        super.initialize();
        this.avertisScreen = getAvertissement();
    }

}