
import java.math.BigDecimal;
import java.sql.*;
import com.softwareag.entirex.aci.Broker;
import com.softwareag.entirex.aci.BrokerException;
import com.softwareag.entirex.aci.EntireXSecurity;

/**
 * <p>Titre : Jwlwdil1Php</p>
 * <p>Description : Classe de récupération de la liste des délais</p>
 * <p>Copyright : Copyright (c) 2009</p>
 * <p>Societe : ENSOR</p>
 * @author AR & DR <i>25/10/2011</i>
 * @version 1.0
 */
public class Jwlwdil1Web {	

		private static String PRINT = "NO";
		/**
		 * <p>Titre : getListeDistribution</p>
		 * <p>Description : Récupération de l'objet Liste des délais</p>
		 * <p>Copyright : Copyright (c) 2011</p>
		 * <p>Societe : ENSOR</p>
		 * @author AR & DR <i>25/10/2011</i>
		 * @version 1.0
		 */
		public static Jwlwdil1 getListeDistribution(
			String nbrep,
			String page,
			String fonction,
			String cd_tdi,
			String code_titre,
			String jour,
			Jxweblog jxweblog) throws BrokerException {			
			Jwlwdil1 jwlwdil1;
			// Connexion Broker
			Broker broker = JxweblogWeb.logonBroker();
			Jxweblog.NxweblogAxwebent connexion = jxweblog.getNxweblogAxwebent();
			// Appelle getListeDistribution avec broker
			jwlwdil1 = getListeDistribution(nbrep, page, fonction, cd_tdi, code_titre, jour, connexion.groupe_exploitant, Integer.toString(connexion.numero_session.intValue()), connexion.utilisateur, connexion.cd_cible, connexion.cd_stegrp, broker);
			// Déconnexion Broker
			JxweblogWeb.closeBroker (broker);
			return jwlwdil1;
			}
			//end getListeDistribution;

		/**
		 * <p>Titre : getListeDistribution</p>
		 * <p>Description : La même chose en passant les proprioétés de la connexion</p>
		 * <p>Copyright : Copyright (c) 2011</p>
		 * <p>Societe : ENSOR</p>
		 * @author AR & DR <i>25/10/2011</i>
		 * @version 1.0
		 */
		public static Jwlwdil1 getListeDistribution(
			String nbrep,
			String page,
			String fonction,
			String cd_tdi,
			String code_titre,
			String jour,
			String groupe_exploitant,
			String numero_session,
			String utilisateur,
			String cd_cible,
			String cd_stegrp) throws BrokerException {
			// Récupération de la liste
			Jwlwdil1 jwlwdil1;
			// Connexion Broker
			Broker broker = JxweblogWeb.logonBroker();
			// Appelle getListeDistribution avec jxweblog et broker
			jwlwdil1 = getListeDistribution(nbrep, page, fonction, cd_tdi, code_titre, jour, groupe_exploitant, numero_session, utilisateur, cd_cible, cd_stegrp, broker);
			// Déconnexion Broker
			JxweblogWeb.closeBroker (broker);
			return jwlwdil1;
			}
			//end getListeDistribution;

			
		/**
		 * <p>Titre : getListeDistribution</p>
		 * <p>Description : Récupération de l'objet Liste des plannings</p>
		 * <p>Copyright : Copyright (c) 2011</p>
		 * <p>Societe : ENSOR</p>
		 * @author AR & DR <i>25/10/2011</i>
		 * @version 1.0
		 */
		public static Jwlwdil1 getListeDistribution(
			String nbrep,
			String page,
			String fonction,
			String cd_tdi,
			String code_titre,
			String jour,
			String groupe_exploitant,
			String numero_session,
			String utilisateur,
			String cd_cible,
			String cd_stegrp,
			Broker broker) throws BrokerException {
			// Initialisation des variables en entrees
	     	Jwlwdil1 jwlwdil1 = new Jwlwdil1(broker, Constantes.SERVER_ADRESSE);
			
			// Initialisation de la vWebent depuis les informations de connexion
			Jwlwdil1.Nwlwdil1Axwebent vWebent = jwlwdil1.new Nwlwdil1Axwebent();
			vWebent.dbid = new BigDecimal (Constantes.DBID);
			vWebent.cible_exploitant = Constantes.CD_CIBLE;
			vWebent.groupe_exploitant = groupe_exploitant;
			vWebent.numero_session = new BigDecimal (numero_session);
			vWebent.utilisateur =  utilisateur;
			vWebent.transaction =  "WLWDILST";
			vWebent.fonction = fonction;
			vWebent.cd_cible =  cd_cible;
			vWebent.cd_stegrp = cd_stegrp;
			vWebent.cd_application = Constantes.CD_APPLICATION;
			jwlwdil1.setNwlwdil1Axwebent (vWebent);
	        
			// Initialisation des paramètres de pagination
			Jwlwdil1.Nwlwdil1Axweblst vWeblst = jwlwdil1.new Nwlwdil1Axweblst();
			vWeblst.nb_rep_souhait = new BigDecimal(nbrep);
			vWeblst.num_page_souhait = new BigDecimal(page);
			jwlwdil1.setNwlwdil1Axweblst (vWeblst);

			// Initialisation des critères (tous à vide pour l'instant)
			Jwlwdil1.Nwlwdil1Awlwdil1 vLwdil1 = jwlwdil1.new Nwlwdil1Awlwdil1();
			Jwlwdil1.Nwlwdil1Awlwdil1Demande vLwdil1Demande = jwlwdil1.new Nwlwdil1Awlwdil1Demande();
			Jwlwdil1.Nwlwdil1Awlwdil1DemandeCritere_select vLwdil1DemandeCritere = jwlwdil1.new Nwlwdil1Awlwdil1DemandeCritere_select();
			BigDecimal bcd_tdi = new BigDecimal(cd_tdi) ;
			if(bcd_tdi.intValue() != -1) {
				vLwdil1DemandeCritere.cd_tdi = bcd_tdi;
			}
			vLwdil1DemandeCritere.code_titre = code_titre;
			vLwdil1DemandeCritere.jour = jour;
			vLwdil1Demande.critere_select = vLwdil1DemandeCritere;
			vLwdil1.demande = vLwdil1Demande;
			
			jwlwdil1.setNwlwdil1Awlwdil1 (vLwdil1);
			
		    // CALL SERVER
		    jwlwdil1.nwlwdil1();
				                                
	        // Verification du code retour
			vWebent = jwlwdil1.getNwlwdil1Axwebent();
			System.out.println("Code retour nwlwdil1() = " + vWebent.code_retour.intValue());
			
			if(vWebent.code_retour.intValue() != 0){
				for(int i=0; i < vWebent.nb_ano.intValue(); i++){
				   System.out.println(vWebent.t_ano[i].code_ano + "[" + vWebent.t_ano[i].type_ano + "] : '" + vWebent.t_ano[i].lib_ano.trim() + "'");
			   	   }
				}
			else {
				//Récupération du résultat si code retour OK
				Jwlwdil1.Nwlwdil1Awlwdil1_tab vWeblsttab = jwlwdil1.getNwlwdil1Awlwdil1_tab();
				
				//Affichage de la liste des résultats
				if(PRINT == "YES") {
					for(int i = 0; i < new BigDecimal(nbrep).intValue(); i++){
							System.out.println ("cd_tdi=" + vWeblsttab.ligne_ref[i].cd_tdi.intValue() + ";jour=" + vWeblsttab.ligne_ref[i].jour + ";delai=" + vWeblsttab.ligne_ref[i].delai + ";tdi_libelle=" + vWeblsttab.ligne_ref[i].tdi_libelle.trim() + ";code_titre=" + vWeblsttab.ligne_ref[i].code_titre  + ";nom_titre=" + vWeblsttab.ligne_ref[i].nom_titre.trim());
							System.out.println("\n");
					}
					//Affichage des informations de pagination
					System.out.println ("nb_rep_rendues : " + jwlwdil1.getNwlwdil1Axweblst().nb_rep_rendues);
					System.out.println ("num_page_rendue : " + jwlwdil1.getNwlwdil1Axweblst().num_page_rendue);
					System.out.println ("top_page_suivante : " + jwlwdil1.getNwlwdil1Axweblst().top_page_suivante);
					System.out.println ("nb_pages_totales : " + jwlwdil1.getNwlwdil1Axweblst().nb_pages_totales);
				}
			}
			return jwlwdil1;
			
	   } // End getListeDistribution

		/**
		 * <p>Titre : main</p>
		 * <p>Description : Programme principal de tests</p>
		 * <p>Copyright : Copyright (c) 2011</p>
		 * <p>Societe : ENSOR</p>
		 * @author AR & DR <i>25/10/2011</i>
		 * @version 1.0
		 */
	   	public static void main(String[] args) throws BrokerException {
			Constantes.loadProperties("DELAI") ;
			JxweblogWeb.setUtilisateur ("MADAA01");
			JxweblogWeb.setPassword ("ANDRY01");
			Jxweblog jxweblog = JxweblogWeb.getConnexion();
			PRINT = "YES";
			
			Jxweblog.NxweblogAxwebent connexion = jxweblog.getNxweblogAxwebent();
			String groupe_exploitant = connexion.groupe_exploitant;
			String numero_session = Integer.toString(connexion.numero_session.intValue());
			String utilisateur = connexion.utilisateur;
			String cd_cible = connexion.cd_cible;
			String cd_stegrp = connexion.cd_stegrp;
			
			Jwlwdil1 jwlwdil1 = getListeDistribution ("200", "1", "I", "-1", null, null, groupe_exploitant, numero_session, utilisateur, cd_cible, cd_stegrp);
			JxweblogWeb.closeConnexion (jxweblog);
	   }
} // END Jwlwdil1Php