Package sn.unitech.stock.bean

Source Code of sn.unitech.stock.bean.CommandeBean

package sn.unitech.stock.bean;


import java.io.Serializable;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.component.html.HtmlInputText;
import javax.faces.event.ActionEvent;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

import sn.unitech.common.dao.ReadProperties;
import sn.unitech.stock.entity.Commande;
import sn.unitech.stock.entity.DetailCommand;
import sn.unitech.stock.entity.DetailCommandId;
import sn.unitech.stock.entity.Stock;
import sn.unitech.stock.entity.SysAdherent;
import sn.unitech.stock.entity.SysProdCarac;
import sn.unitech.stock.entity.SysProduit;
import sn.unitech.stock.metier.CommandeM;
import sn.unitech.stock.metier.iface.ICommandeM;

@ManagedBean
@ViewScoped
@SuppressWarnings("unchecked")
public class CommandeBean implements Serializable{
  private static final long serialVersionUID = -8117331468826538239L;
  private static final String NAV_RAPPORT_BON_DE_COMMANDE ="/stock/report/template/bonCommande.xhtml";
  private ICommandeM commandeM= new CommandeM();
  private ReadProperties readProperties=ReadProperties.getReadProperties();
  private Stock stock=new Stock();
  private SysProduit sysProduit=new SysProduit();
  private DetailCommand detailCommand= new DetailCommand();
  private Commande commande=new Commande();
  private AllRefs allRefs =new AllRefs();
  private CMessages cmessages =new CMessages();
  private CItems citems=new CItems();
  private Cproperties cproperties=citems;
 
  public CommandeBean() {
  }
  public Commande getCommandeSS() {
    return (Commande) ToolsBean.getToolsBean().getAttribute(ToolsBean.CURRENT_COMMANDE);
  }
  ParamsUser getParamsUser(){ //alias
    return   ((ParamsUser)ToolsBean.getToolsBean().getAttribute(ToolsBean.idParamUser));
  }
  public List<SysProduit> getModelProduit(){
    return (List<SysProduit>) this.citems.dataProduit.getWrappedData();
  }
  public List<DetailCommand> getModelDetailCommande(){
    return (List<DetailCommand>) this.citems.dataDetailCommand.getWrappedData();
  }
  public void findEtiquette(ActionEvent e){
    if((this.cproperties.etiquette!=null)&&(!this.cproperties.etiquette.isEmpty())){
      List<SysProduit> lp=  (List<SysProduit>) this.getModelProduit();
       int index;
       if((index=this.commandeM.getIndex(lp, this.cproperties.etiquette))!=-1){
         SysProduit produit=lp.get(index);
         produit.setSelected(true);
         lp.remove(index);
         lp.add(0, produit);
       }
    }
   
  }
 
  public Commande getCommande() {
    return commande;
  }
  public void setCommande(Commande commande) {
    this.commande = commande;
  }
 
    public void initProduit(ActionEvent event){
      this.citems.dataProduit=null;
      this.cproperties.idProduit="";
      this.cproperties.designation="";
    }
 
  public void addSelectedProduit(ActionEvent event){
    DataModel<SysProduit> dataProduit=this.citems.getDataProduit();
    for(int i=0;i<dataProduit.getRowCount();i++){
      dataProduit.setRowIndex(i);
      this.sysProduit=dataProduit.getRowData();
      if(this.sysProduit.isSelected()){
        detailCommand= new DetailCommand();
         detailCommand.setSysUniteByCodUnitc(sysProduit.getSysUniteByCodUnitc());
         detailCommand.setSysUniteByCodUnitd(sysProduit.getSysUniteByCodUnitd());
        detailCommand.setPrixUnitc(sysProduit.getPrixAquisition());
        detailCommand.setPrixUnitd(0d);
        if(sysProduit.getQteOpti()-sysProduit.getQntContenant()>-1)
        detailCommand.setQteContenant(sysProduit.getQteOpti()-sysProduit.getQntContenant());
        detailCommand.setQteDetail(0);
        this.cproperties.setUseDetail(Boolean.parseBoolean(sysProduit.getUseDetail()));
        detailCommand.setId(new DetailCommandId());
        detailCommand.setSysProduit(sysProduit);
        detailCommand.setSysAdherent(new SysAdherent(this.getParamsUser().adherent.getIdAdherent()));
        detailCommand.setCodFourn(Integer.parseInt(this.cproperties.idFournisseur));
        detailCommand.setCodUser(getParamsUser().sysUser.getId().getIdUser());
        this.getModelDetailCommande().add(detailCommand)
      }
    }
      this.citems.dataProduit=null;
   }
  
  public void deleteDetailCommand(){
    this.getModelDetailCommande().remove(this.citems.dataDetailCommand.getRowData());
  }
 
  public  void saveCommande(){
    if(this.getModelDetailCommande().size()>0){
      this.cproperties.testSiValeurSaisi=false;
      this.cproperties.prixTotal=new Double(0);
      for(int i=0;i<this.getModelDetailCommande().size();i++){
        this.cproperties.prixTotal=this.cproperties.prixTotal+this.getModelDetailCommande().get(i).getPrixTot();
        if(this.getModelDetailCommande().get(i).getQteContenant()<(new Double(1))){
          this.cproperties.testSiValeurSaisi=false;
        break;
        }else this.cproperties.testSiValeurSaisi=true;
      }
      if(this.cproperties.testSiValeurSaisi){
           commande.setMontTot(this.cproperties.prixTotal);
           try {
           this.commande.setSysTime(ToolsBean.getToolsBean().getSdfHeure().parse(""+ToolsBean.getToolsBean().getSdfHeure().format(new Date())));
               } catch (ParseException e) {
            // TODO Auto-generated catch block
           e.printStackTrace();
             }
           if(this.commandeM.saveCommande(this.getModelDetailCommande(),commande)){
             this.citems.dataDetailCommand.setWrappedData(new ArrayList<DetailCommand>());
             this.commande=new Commande();
             this.cproperties.prixTotal=new Double(0);
             this.cmessages.setSaveMessage(ToolsBean.getToolsBean().getBundleMessage("msgSucces"));
           }else this.cmessages.setSaveMessage(ToolsBean.getToolsBean().getBundleMessage("msgEchec"));
       }else  this.cmessages.setSaveMessage("Veuillez revoir les quantites saisies du produit ");
   
       }
  }
 
  public void desactiveDetail(ActionEvent e){
    this.citems.dataDetailCommand.getRowData().getSysProduit().setDesactiveDetail(false);
  }
 
  public void detailProduit(){
    int currentIndex=this.citems.dataProduit.getRowIndex();
    if((this.cproperties.getLastIndex()!=-1)&&(this.cproperties.getLastIndex()!= currentIndex)){
      this.citems.dataProduit.setRowIndex(this.cproperties.getLastIndex());
      this.citems.dataProduit.getRowData().setListCaracterist(null);
      this.citems.dataProduit.getRowData().setLabelDetail(ToolsBean.lblDetail);
    }
    this.citems.dataProduit.setRowIndex(currentIndex);
    SysProduit produit=this.citems.dataProduit.getRowData();
    if(produit.getLabelDetail().equals(ToolsBean.lblFermer)){
        produit.setListCaracterist(null);
        produit.setLabelDetail(ToolsBean.lblDetail);
    }   
    else{
      this.cproperties.idProduit=produit.getIdProduit()+"";
      produit.setListCaracterist(this.citems.getListCaracDuProd());
      if((produit.getListCaracterist()!=null)&&(produit.getListCaracterist().size()>0))
      produit.setLabelDetail(ToolsBean.lblFermer);
    }
    this.cproperties.setLastIndex(currentIndex);
    this.cproperties.designation=produit.getDesignation();
 

  public String printCommande(){
    Commande commande=this.citems.dataListCommande.getRowData();
    this.cproperties.idCommand=commande.getIdCommand();
    commande.setListDetailDuCommand(this.citems.getListDetailCommand());
    ToolsBean.getToolsBean().setAttribute(ToolsBean.getToolsBean().CURRENT_COMMANDE,commande);
    return NAV_RAPPORT_BON_DE_COMMANDE;
  }
 
  public void afficheDetailCommand(){
    int currentIndex=this.citems.dataListCommande.getRowIndex();
    if((this.cproperties.getLastIndexDetail()!=-1)&&(this.cproperties.getLastIndexDetail()!= currentIndex)){
      this.citems.dataListCommande.setRowIndex(this.cproperties.getLastIndexDetail());
      this.citems.dataListCommande.getRowData().setListDetailDuCommand(null);
      this.citems.dataListCommande.getRowData().setLabelDetail(ToolsBean.lblDetail);
    }
    this.citems.dataListCommande.setRowIndex(currentIndex);
    Commande commande=this.citems.dataListCommande.getRowData();
    if(commande.getLabelDetail().equals(ToolsBean.lblFermer)){
      commande.setListDetailDuCommand(null);
      commande.setLabelDetail(ToolsBean.lblDetail);
    }   
    else{
      this.cproperties.idCommand=commande.getIdCommand();
      commande.setListDetailDuCommand(this.citems.getListDetailCommand());
      if((commande.getListDetailDuCommand()!=null)&&(commande.getListDetailDuCommand().size()>0))
      commande.setLabelDetail(ToolsBean.lblFermer);
    }
    this.cproperties.setLastIndexDetail(currentIndex);

    }
 
  public void clickOngletConsultation(ActionEvent e){
    this.citems.dataListCommande=null;
  }
 
  public void clickAnnuler(ActionEvent e){
    ((List<DetailCommand>) this.citems.dataDetailCommand.getWrappedData()).clear();
  }
 
  public AllRefs getAllRefs() {
    return allRefs;
  }
  public void setAllRefs(AllRefs allRefs) {
    this.allRefs = allRefs;
  }
  public CMessages getCmessages() {
    return cmessages;
  }
  public void setCmessages(CMessages cmessages) {
    this.cmessages = cmessages;
  }
  public CItems getCitems() {
    return citems;
  }
  public void setCitems(CItems citems) {
    this.citems = citems;
  }
  public Cproperties getCproperties() {
    return cproperties;
  }
  public void setCproperties(Cproperties cproperties) {
    this.cproperties = cproperties;
  }
  public Stock getStock() {
    return stock;
  }
  public void setStock(Stock stock) {
    this.stock = stock;
  }
  public SysProduit getSysProduit() {
    return sysProduit;
  }
  public void setSysProduit(SysProduit sysProduit) {
    this.sysProduit = sysProduit;
  }

  public DetailCommand getDetailCommand() {
    return detailCommand;
  }
  public void setDetailCommand(DetailCommand detailCommand) {
    this.detailCommand = detailCommand;
  }

  public class AllRefs implements Serializable{
    HtmlInputText refEtiquette=new HtmlInputText();

    public HtmlInputText getRefEtiquette() {
      return refEtiquette;
    }

    public void setRefEtiquette(HtmlInputText refEtiquette) {
      this.refEtiquette = refEtiquette;
    }
  }
  public class CMessages implements Serializable{
      public String saveMessage;
     
    public String getSaveMessage() {
      return saveMessage;
    }

    public void setSaveMessage(String saveMessage) {
      this.saveMessage = saveMessage;
    }

  }
  public class Cproperties implements Serializable{
    String idFournisseur;
    String idFamilleProd;
    String idProduit;
    String uniteQuantite;
    String uniteDetailQuantite;
    boolean useDetail;
    Double prixTotal;
    boolean testSiValeurSaisi;
    public String etiquette;
    public String designation;
    private int lastIndex=-1;
    private int lastIndexDetail=-1;
    int idCommand;

    Cproperties (){
      prixTotal=new Double(0);
    }
    public String getEtiquette() {
      return etiquette;
    }
    public void setEtiquette(String etiquette) {
      this.etiquette = etiquette;
    }
    public String getDesignation() {
      return designation;
    }
    public void setDesignation(String designation) {
      this.designation = designation;
    }
    public String getIdFournisseur() {
      return idFournisseur;
    }

    public void setIdFournisseur(String idFournisseur) {
      this.idFournisseur = idFournisseur;
    }

    public String getIdFamilleProd() {
      return idFamilleProd;
    }

    public void setIdFamilleProd(String idFamilleProd) {
      this.idFamilleProd = idFamilleProd;
    }

    public String getIdProduit() {
      return idProduit;
    }

    public void setIdProduit(String idProduit) {
      this.idProduit = idProduit;
    }


    public String getUniteQuantite() {
      return uniteQuantite;
    }

    public void setUniteQuantite(String uniteQuantite) {
      this.uniteQuantite = uniteQuantite;
    }


    public String getUniteDetailQuantite() {
      return uniteDetailQuantite;
    }

    public void setUniteDetailQuantite(String uniteDetailQuantite) {
      this.uniteDetailQuantite = uniteDetailQuantite;
    }


    public boolean isUseDetail() {
      return useDetail;
    }

    public void setUseDetail(boolean useDetail) {
      this.useDetail = useDetail;
    }

    public Double getPrixTotal() {
      return prixTotal;
    }

    public void setPrixTotal(Double prixTotal) {
      this.prixTotal = prixTotal;
    }
    public boolean isTestSiValeurSaisi() {
      return testSiValeurSaisi;
    }
    public void setTestSiValeurSaisi(boolean testSiValeurSaisi) {
      this.testSiValeurSaisi = testSiValeurSaisi;
    }
    public int getLastIndex() {
      return lastIndex;
    }
    public void setLastIndex(int lastIndex) {
      this.lastIndex = lastIndex;
    }
    public int getLastIndexDetail() {
      return lastIndexDetail;
    }
    public void setLastIndexDetail(int lastIndexDetail) {
      this.lastIndexDetail = lastIndexDetail;
    }
    public int getIdCommand() {
      return idCommand;
    }
    public void setIdCommand(int idCommand) {
      this.idCommand = idCommand;
    }
   

     
    }
 
  public class CItems extends Cproperties implements Serializable{
    Map<String,String> itemsFournisseur;
    Map<String,String> itemsFamilleProd;
    List<SysProdCarac> listCaracDuProd=new ArrayList<SysProdCarac>();
        DataModel<DetailCommand> dataDetailCommand=new ListDataModel<DetailCommand>(new ArrayList<DetailCommand>());
        DataModel<SysProduit> dataProduit;
        DataModel<Commande>   dataListCommande=new ListDataModel<Commande>(new ArrayList<Commande>());
        List<DetailCommand> listDetailCommand=new ArrayList<DetailCommand>();       
        DataModel<Stock>  dataListAlerte=new ListDataModel<Stock>(new ArrayList<Stock>());
 
        public CItems(){
/*      itemsFamilleProd=commandeM.findGroupProd(readProperties.read("Commande.jpqlFamilleProd"),ToolsBean.getToolsBean().defaultParametter());
      if((this.itemsFamilleProd!=null)&&(this.itemsFamilleProd.size()>0))
        this.setIdFamilleProd(itemsFamilleProd.values().iterator().next());
*/
          this.setIdFamilleProd("%");
        }
   
    public Map<String, String> getItemsFournisseur() {
      itemsFournisseur=commandeM.findAllFournisseur(readProperties.read("Commande.jpqlFournisseur"),ToolsBean.getToolsBean().defaultParametter());
      return itemsFournisseur;
    }
   
    public void setItemsFournisseur(Map<String, String> itemsFournisseur) {
      this.itemsFournisseur = itemsFournisseur;
    }
   
    public Map<String, String> getItemsFamilleProd() {
      itemsFamilleProd=commandeM.findGroupProd(readProperties.read("Commande.jpqlFamilleProd"),ToolsBean.getToolsBean().defaultParametter());
      return itemsFamilleProd;
    }
   
    public void setItemsFamilleProd(Map<String, String> itemsFamilleProd) {
      this.itemsFamilleProd = itemsFamilleProd;
    }
   
    public List<SysProduit> getItemsProduit() {
      if((this.idFamilleProd!=null)&&(!this.idFamilleProd.isEmpty())){
        ParamsUser paramUser=getParamsUser();
        paramUser.parametters.clear();
        try{
        paramUser.parametters.put(0,Integer.parseInt(this.getIdFamilleProd()));
        }catch(Exception e){
          ParamsUser paramUserAll=getParamsUser();
          paramUserAll.parametters.clear();
          paramUserAll.parametters.put(0,getParamsUser().adherent.getIdAdherent());
          return commandeM.findListProduit(readProperties.read("Commande.jpqlProduitByAllGroupProd"),paramUserAll.parametters,(List<DetailCommand>)this.dataDetailCommand.getWrappedData());
        }
        return commandeM.findListProduit(readProperties.read("Commande.jpqlProduitByIdGroupProd"), paramUser.parametters,(List<DetailCommand>)this.dataDetailCommand.getWrappedData());
      }else return new ArrayList<SysProduit>();
    }

   
    public List<SysProdCarac> getListCaracDuProd() {
      if((this.idProduit!=null)&&(!this.idProduit.isEmpty())){
      ParamsUser paramUser=getParamsUser();
      paramUser.parametters.clear();
      paramUser.parametters.put(0,Integer.parseInt(this.getIdProduit()));
      this.listCaracDuProd=commandeM.listProdCarac(readProperties.read("Commande.jpqlProdCarac"),paramUser.parametters)
      return listCaracDuProd;
      }else return null;
    }
    public void setListCaracDuProd(List<SysProdCarac> listCaracDuProd) {
      this.listCaracDuProd = listCaracDuProd;
    }
   
    public DataModel<SysProduit> getDataProduit() {
      if(this.dataProduit==null){
        this.dataProduit=new ListDataModel<SysProduit>(this.getItemsProduit());
      }
      return this.dataProduit;
    }

    public void setDataProduit(DataModel<SysProduit> dataProduit) {
      this.dataProduit = dataProduit;
    }
        public DataModel<DetailCommand> getDataDetailCommand() {
      return dataDetailCommand;
    }
       
    public void setDataDetailCommand(DataModel<DetailCommand> dataDetailCommand) {
      this.dataDetailCommand = dataDetailCommand;
    }

    public DataModel<Commande> getDataListCommande() {
      if(this.dataListCommande==null){
      this.dataListCommande=new ListDataModel<Commande>(new ArrayList<Commande>())
      Map<Integer,Object> param=new HashMap<Integer, Object>();
      param.put(0,getParamsUser().sysUser.getId().getIdUser());
      param.put(1,getParamsUser().adherent.getIdAdherent());
      dataListCommande.setWrappedData((List<Commande>) commandeM.listCommande(readProperties.read("Commande.jpqlListCommande"), param));
      }
      return dataListCommande;
    }

    public void setDataListCommande(DataModel<Commande> dataListCommande) {
      this.dataListCommande = dataListCommande;
    }


    public List<DetailCommand> getListDetailCommand() {
      ParamsUser paramUser=getParamsUser();
      paramUser.parametters.clear();
      paramUser.parametters.put(0,this.getIdCommand());
      this.listDetailCommand=commandeM.listDetailCommand(readProperties.read("Commande.jpqllistDetailCommand"),paramUser.parametters)
      return listDetailCommand;
    }

    public void setListDetailCommand(List<DetailCommand> listDetailCommand) {
      this.listDetailCommand = listDetailCommand;
    }

    public DataModel<Stock> getDataListAlerte() {
      this.dataListAlerte.setWrappedData((List<Stock>)commandeM.listAlerte(readProperties.read("Commande.jpqlListAlerte"),ToolsBean.getToolsBean().defaultParametter()));
      return dataListAlerte;
    }

    public void setDataListAlerte(DataModel<Stock> dataListAlerte) {
      this.dataListAlerte = dataListAlerte;
    }
   
  }

}
TOP

Related Classes of sn.unitech.stock.bean.CommandeBean

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.