
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 : Jalwdim1Php</p>
 * <p>Description : Classe de ajout, modification, suppression d'un planning de distribution</p>
 * <p>Copyright : Copyright (c) 2009</p>
 * <p>Societe : ENSOR</p>
 * @author AR & DR <i>25/10/2011</i>
 * @version 1.0
 */
public class Jwlwdim1Web {	

		/**
		 * <p>Titre : setDistribution</p>
		 * <p>Description : ajout, modification, suppression d'un planning de distribution</p>
		 * <p>Copyright : Copyright (c) 2011</p>
		 * <p>Societe : ENSOR</p>
		 * @author AR & DR <i>25/10/2011</i>
		 * @version 1.0
		 */
		public static Jwlwdim1 setDistribution(
			String cd_tdi,
			String code_titre,
			String jour,
			String delai,
			String fonction,
			Jxweblog jxweblog) throws BrokerException {
		// Connexion broker
		Broker broker = JxweblogWeb.logonBroker();
		Jxweblog.NxweblogAxwebent connexion = jxweblog.getNxweblogAxwebent();
		// Appel setDistribution avec broker
		Jwlwdim1 jwlwdim1 = setDistribution(
								cd_tdi,
								code_titre,
								jour,
								delai,
								fonction,
								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 jwlwdim1;
		}

		/**
		 * <p>Titre : setDistribution</p>
		 * <p>Description : ajout, modification, suppression d'un planning de distribution avec les propriétés de la Webent en paramètres</p>
		 * <p>Copyright : Copyright (c) 2011</p>
		 * <p>Societe : ENSOR</p>
		 * @author AR & DR <i>25/10/2011</i>
		 * @version 1.0
		 */
		public static Jwlwdim1 setDistribution(
			String cd_tdi,
			String code_titre,
			String jour,
			String delai,
			String fonction,
			String groupe_exploitant,
			String numero_session,
			String utilisateur,
			String cd_cible,
			String cd_stegrp) throws BrokerException {
		// Connexion broker
		Broker broker = JxweblogWeb.logonBroker();
		// Appel setDistribution avec broker
		Jwlwdim1 jwlwdim1 = setDistribution(cd_tdi, code_titre, jour, delai, fonction, groupe_exploitant, numero_session, utilisateur, cd_cible, cd_stegrp, broker);
		// Déconnexion broker
		JxweblogWeb.closeBroker (broker);
		return jwlwdim1;
		}

		
		/**
		 * <p>Titre : setDistribution</p>
		 * <p>Description : ajout, modification, suppression d'un planning de distribution</p>
		 * <p>Copyright : Copyright (c) 2011</p>
		 * <p>Societe : ENSOR</p>
		 * @author AR & DR <i>25/10/2011</i>
		 * @version 1.0
		 */
		public static Jwlwdim1 setDistribution(
			String cd_tdi,
			String code_titre,
			String jour,
			String delai,
			String fonction,
			String groupe_exploitant,
			String numero_session,
			String utilisateur,
			String cd_cible,
			String cd_stegrp,
			Broker broker) throws BrokerException {						
		// Initialisation des variables en entrees
	    Jwlwdim1 jwlwdim1 = new Jwlwdim1(broker, Constantes.SERVER_ADRESSE);
			
		// Initialisation de la vWebent depuis les informations de connexion
		Jwlwdim1.Nwlwdim1Axwebent vWebent = jwlwdim1.new Nwlwdim1Axwebent();
		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 =  "WLWDIM";
		vWebent.fonction = fonction;
		vWebent.cd_cible =  cd_cible;
		vWebent.cd_stegrp = cd_stegrp;
		vWebent.cd_application = Constantes.CD_APPLICATION;
		jwlwdim1.setNwlwdim1Axwebent (vWebent);
	        
		// Initialisation de la demande (tous à vide pour l'instant)
		Jwlwdim1.Nwlwdim1Axlwdim1 vLwdim1 = jwlwdim1.new Nwlwdim1Axlwdim1();
		Jwlwdim1.Nwlwdim1Axlwdim1Demande vLwdim1Demande = jwlwdim1.new Nwlwdim1Axlwdim1Demande();
		Jwlwdim1.Nwlwdim1Axlwdim1Reponse vLwdim1Reponse = jwlwdim1.new Nwlwdim1Axlwdim1Reponse();
		//vLwdim1Demande.fonction = fonction;
		vLwdim1Demande.fonction = fonction;
		vLwdim1Demande.utilisateur = utilisateur;
		vLwdim1Demande.cd_tdi = new BigDecimal (cd_tdi);
		vLwdim1Demande.code_titre = code_titre;
		vLwdim1Demande.jour = jour;
		vLwdim1Reponse.delai = new BigDecimal(delai);
		vLwdim1.demande = vLwdim1Demande;
		vLwdim1.reponse = vLwdim1Reponse;
		jwlwdim1.setNwlwdim1Axlwdim1(vLwdim1);
			
		// CALL SERVER
		jwlwdim1.nwlwdim1();
			                                
	    // Verification du code retour
		vWebent = jwlwdim1.getNwlwdim1Axwebent();
		System.out.println("Code retour nwlwdim1() = " + 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() + "'");
		   	   }
			
			Jwlwdim1.Nwlwdim1Axgsterr nwlwdim1Aagfterr = jwlwdim1.new Nwlwdim1Axgsterr();
			nwlwdim1Aagfterr = jwlwdim1.getNwlwdim1Axgsterr();
			for(int i=0; i < nwlwdim1Aagfterr.nb_ano; i++){
			   System.out.println(nwlwdim1Aagfterr.tab_ano[i].code_ano + "[" + nwlwdim1Aagfterr.tab_ano[i].type_ano + "] : '" + nwlwdim1Aagfterr.tab_ano[i].lib_ano.trim() + "'");
		   	   }
			}
				
		else {
			//Récupération du résultat si code retour OK
			vLwdim1Reponse = jwlwdim1.getNwlwdim1Axlwdim1().reponse;
			
			//Affichage de la réponse
			//Affichage des informations de pagination
			/*
			System.out.println ("delai : " + vLwdim1Reponse.delai.intValue());
			System.out.println ("lib_tdi : " + vLwdim1Reponse.lib_tdi);
			System.out.println ("nom_titre : " + vLwdim1Reponse.nom_titre);
			*/
		}
			
		return jwlwdim1;
	   } // End setDistribution

		/**
		 * <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();
			Jwlwdim1 jwlwdim1 = setDistribution ("000", "INV", "01", "0", "CREAT", jxweblog);
			JxweblogWeb.closeConnexion (jxweblog);
	   }
} // END Jalwdim1Php