/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.triz.trizservice.bean;

import com.triz.trizservice.modeles.Etablissement;
import com.triz.trizservice.modeles.ServiceUser;
import com.triz.trizservice.modeles.ServiceWilaya;
import com.triz.trizservice.service.TransactionService;
import com.triz.util.UtilContext;
import com.triz.util.UtilFile;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

/**
 *
 * @author FORCE TECH
 */
@Component("filtreBean")
@Scope("session")
public class FiltreBean {

    private ServiceUser user;
//    private Users userDist;
    private Etablissement etablissement;
    private Etablissement etablissementPrincipal;
//    private Etablissement etablissementDisPrincipal;
//    private Etablissement etablissementDist;
    private List<String> listeZone;
    private List<Etablissement> listeEtablissement;
    //private List<Etablissement> listeEtablissementDist;
    //private List<Camion> listeCamion;
  //  private List<StockCommune> listeCommunes;
    private List<ServiceWilaya> listeWilaya;
   // private List<StockTypeActivitieClient> listeTypeActivitie;
   // private List<StockTypeClient> listeTypeClient;
  //  private List<RaisonNonVente> listeRaisonNonVente;
  //  private List<TBEvaluationDistance> listeEvaluationDistance;
    private List<String> listeConfirmer;
    private List<String> listeDoubleFiltre;

//    @Autowired
//    public TransactionServiceSuite serviceDistributionSuite;
    @Autowired
    public TransactionService service;

//    @Autowired
//    public TransactionServiceStockSuite serviceSuite;
//
//    @Autowired
//    public TransactionService serviceDistribution;

    @Autowired
    public UtilContext context;

    @Autowired
    public UtilFile utilFile;

//    @Autowired
//    private TransactionServiceTBNew serviceTbNew;
//
//    @Autowired
//    public TransactionServiceTB serviceTB;

    @PostConstruct
    public void init() {
        user = context.getCurrentUser();
        etablissement = context.getCurrentEtablissement();
        
           // etablissementDist = serviceDistribution.getEtablissementById(etablissement.getFkEtablissementDistribution());
            listeEtablissement = new ArrayList<>();
            listeEtablissement.add(etablissement);
        
    //    listeCamion = new ArrayList<>();
    //    listeEtablissementDist = new ArrayList<>();
//      for (Etablissement etab : listeEtablissement) {
//            if ("true".equals(etab.getIsPrincipal())) {
//                etablissementPrincipal = etab;        
//      }
////            if (etab.getFkEtablissementDistribution() != null) {
////                Etablissement etabDist = serviceDistribution.getEtablissementById(etab.getFkEtablissementDistribution());
////                listeCamion.addAll(serviceDistribution.getAllCamionsActifByEtablissement(etabDist));
////                listeEtablissementDist.add(etabDist);
////                if ("true".equals(etab.getIsPrincipal())) {
////                    etablissementDisPrincipal = etabDist;
////                }
////            }
//
//        }
        if (etablissementPrincipal == null) {
            etablissementPrincipal = listeEtablissement.get(0);
            //etablissementDisPrincipal = serviceDistribution.getEtablissementById(etablissementPrincipal.getFkEtablissementDistribution());
        }
        listeWilaya = service.getAllWilaya();
        ///listeCommunes = service.getAllCommune();
     //   listeEvaluationDistance = serviceTB.getAllTBEvaluationDistance();
     //   listeTypeActivitie = service.getTypeActivitieClientByEtablissement(etablissementPrincipal);
     //   listeTypeClient = service.getAllTypeClientsByEtablissement(etablissementPrincipal);
//        if (etablissementDisPrincipal != null) {
//            listeRaisonNonVente = serviceDistributionSuite.getAllRaisonNonVenteActifByEtablissement(etablissementDist);
//        }

        listeConfirmer = new ArrayList<>();
        listeConfirmer.add("Oui");
        listeConfirmer.add("Non");

        listeDoubleFiltre = new ArrayList<>();
        listeDoubleFiltre.add("=");
        listeDoubleFiltre.add("<=");
        listeDoubleFiltre.add(">=");
        listeDoubleFiltre.add("<");
        listeDoubleFiltre.add(">");

    }

    public void remiseAZero() {
        System.out.println("FiltreBean remiseAZero");
        user = null;
      //  userDist = null;
        etablissement = null;
        etablissementPrincipal = null;
      //  etablissementDist = null;
        listeZone = null;
        listeEtablissement = null;
      //  listeEtablissementDist = null;
      //  listeCamion = null;
      //  listeCommunes = null;
        listeWilaya = null;
      //  listeTypeActivitie = null;
      //  listeTypeClient = null;
      //  listeEvaluationDistance = null;
        listeConfirmer = null;
    }

    public ServiceUser getUser() {
        if (user == null) {
            init();
        }
        return user;
    }

    public void setUser(ServiceUser user) {
        this.user = user;
    }

//    public Users getUserDist() {
//        if (userDist == null) {
//            init();
//        }
//        return userDist;
//    }

//    public void setUserDist(Users userDist) {
//        this.userDist = userDist;
//    }

    public Etablissement getEtablissement() {
        if (etablissement == null) {
            init();
        }
        return etablissement;
    }

    public void setEtablissement(Etablissement etablissement) {
        this.etablissement = etablissement;
    }

//    public Etablissement getEtablissementDist() {
//        if (etablissementDist == null) {
//            init();
//        }
//        return etablissementDist;
//    }

//    public void setEtablissementDist(Etablissement etablissementDist) {
//        this.etablissementDist = etablissementDist;
//    }

    public List<String> getListeZone() {
        if (listeZone == null) {
            init();
        }
        return listeZone;
    }

    public void setListeZone(List<String> listeZone) {
        this.listeZone = listeZone;
    }

    public List<Etablissement> getListeEtablissement() {
        if (listeEtablissement == null) {
            init();
        }
        return listeEtablissement;
    }

    public void setListeEtablissement(List<Etablissement> listeEtablissement) {
        this.listeEtablissement = listeEtablissement;
    }

//    public List<Etablissement> getListeEtablissementDist() {
//        if (listeEtablissementDist == null) {
//            init();
//        }
//        return listeEtablissementDist;
//    }
//
//    public void setListeEtablissementDist(List<Etablissement> listeEtablissementDist) {
//        this.listeEtablissementDist = listeEtablissementDist;
//    }
//
//    public List<Camion> getListeCamion() {
//        if (listeCamion == null) {
//            init();
//        }
//        return listeCamion;
//    }
//
//    public void setListeCamion(List<Camion> listeCamion) {
//        this.listeCamion = listeCamion;
//    }
//
//    public List<StockCommune> getListeCommunes() {
//        if (listeCommunes == null) {
//            init();
//        }
//        return listeCommunes;
//    }
//
//    public void setListeCommunes(List<StockCommune> listeCommunes) {
//        this.listeCommunes = listeCommunes;
//    }

    public List<ServiceWilaya> getListeWilaya() {
        if (listeWilaya == null) {
            init();
        }
        return listeWilaya;
    }

    public void setListeWilaya(List<ServiceWilaya> listeWilaya) {
        this.listeWilaya = listeWilaya;
    }

//    public List<StockTypeActivitieClient> getListeTypeActivitie() {
//        if (listeTypeActivitie == null) {
//            init();
//        }
//        return listeTypeActivitie;
//    }
//
//    public void setListeTypeActivitie(List<StockTypeActivitieClient> listeTypeActivitie) {
//        this.listeTypeActivitie = listeTypeActivitie;
//    }
//
//    public List<StockTypeClient> getListeTypeClient() {
//        if (listeTypeClient == null) {
//            init();
//        }
//        return listeTypeClient;
//    }
//
//    public void setListeTypeClient(List<StockTypeClient> listeTypeClient) {
//        this.listeTypeClient = listeTypeClient;
//    }
//
//    public List<TBEvaluationDistance> getListeEvaluationDistance() {
//        if (listeEvaluationDistance == null) {
//            init();
//        }
//        return listeEvaluationDistance;
//    }
//
//    public void setListeEvaluationDistance(List<TBEvaluationDistance> listeEvaluationDistance) {
//        this.listeEvaluationDistance = listeEvaluationDistance;
//    }

    public List<String> getListeConfirmer() {
        if (listeConfirmer == null) {
            init();
        }
        return listeConfirmer;
    }

    public void setListeConfirmer(List<String> listeConfirmer) {
        this.listeConfirmer = listeConfirmer;
    }

//    public List<RaisonNonVente> getListeRaisonNonVente() {
//        return listeRaisonNonVente;
//    }
//
//    public void setListeRaisonNonVente(List<RaisonNonVente> listeRaisonNonVente) {
//        this.listeRaisonNonVente = listeRaisonNonVente;
//    }

    public List<String> getListeDoubleFiltre() {
        return listeDoubleFiltre;
    }

    public void setListeDoubleFiltre(List<String> listeDoubleFiltre) {
        this.listeDoubleFiltre = listeDoubleFiltre;
    }
}
