Advertisement
tadeuespindola

fabricio-bugs-jsf

Nov 13th, 2022
1,012
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.85 KB | Help | 0 0
  1. package managedBean;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.InputStream;
  5. import java.io.InputStreamReader;
  6. import java.net.URL;
  7. import java.net.URLConnection;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10.  
  11. import javax.annotation.PostConstruct;
  12. import javax.faces.application.FacesMessage;
  13. import javax.faces.bean.ManagedBean;
  14. import javax.faces.bean.ViewScoped;
  15. import javax.faces.context.FacesContext;
  16. import javax.faces.event.AjaxBehaviorEvent;
  17.  
  18. import org.primefaces.model.chart.BarChartModel;
  19. import org.primefaces.model.chart.ChartSeries;
  20.  
  21. import com.google.gson.Gson;
  22.  
  23. import dao.DaoEmail;
  24. import dao.DaoUsuario;
  25. import model.EmailUser;
  26. import model.UsuarioPessoa;
  27.  
  28. @ManagedBean(name = "usuarioPessoaManagedBean")
  29. @ViewScoped
  30. public class UsuarioPessoaManagedBean {
  31.    
  32.     private UsuarioPessoa usuarioPessoa = new UsuarioPessoa();
  33.     private List<UsuarioPessoa> list = new ArrayList<UsuarioPessoa>();
  34.     private DaoUsuario<UsuarioPessoa> daoGeneric = new DaoUsuario<UsuarioPessoa>();
  35.     private BarChartModel barChartModel = new BarChartModel();
  36.     private EmailUser emailuser = new EmailUser();
  37.     private DaoEmail<EmailUser> daoEmail = new DaoEmail<EmailUser>();
  38.     private String campoPesquisa;
  39.     private Boolean novoUsuario; // TADEU
  40.    
  41.     @PostConstruct // @PostConstruct executa o método quando abre a tela
  42.     public void init() {
  43.         list = daoGeneric.listar(UsuarioPessoa.class);
  44.         montarGrafico();
  45.         novoUsuario = true; // TADEU
  46.     }
  47.  
  48.     private void montarGrafico() {
  49.         barChartModel = new BarChartModel();
  50.  
  51.         ChartSeries userSalario = new ChartSeries(); // grupo de funcionarios
  52.        
  53.         for (UsuarioPessoa usuarioPessoa : list) {
  54.             userSalario.set(usuarioPessoa.getNome(), usuarioPessoa.getSalario()); // add salarios
  55.         }
  56.        
  57.         barChartModel.addSeries(userSalario); // adciona o grupo no barModel
  58.         barChartModel.setTitle("Salário dos Usuários");
  59.     }
  60.    
  61.     public BarChartModel getBarChartModel() {
  62.         return barChartModel;
  63.     }
  64.    
  65.     public void pesquisaCep(AjaxBehaviorEvent event) {
  66.         try {
  67.            
  68.             URL url = new URL("https://viacep.com.br/ws/"+usuarioPessoa.getCep()+"/json/");
  69.             URLConnection connection = url.openConnection();
  70.             InputStream is = connection.getInputStream();
  71.             BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
  72.            
  73.             String cep = "";
  74.             StringBuilder jsonCep = new StringBuilder();
  75.            
  76.             while ((cep = br.readLine()) != null) {
  77.                 jsonCep.append(cep);
  78.             }
  79.            
  80.             UsuarioPessoa userCepPessoa = new Gson().fromJson(jsonCep.toString(), UsuarioPessoa.class);
  81.            
  82.             usuarioPessoa.setCep(userCepPessoa.getCep());
  83.             usuarioPessoa.setLogradouro(userCepPessoa.getLogradouro());
  84.             usuarioPessoa.setComplemento(userCepPessoa.getComplemento());
  85.             usuarioPessoa.setBairro(userCepPessoa.getBairro());
  86.             usuarioPessoa.setLocalidade(userCepPessoa.getLocalidade());
  87.             usuarioPessoa.setUf(userCepPessoa.getUf());
  88.             usuarioPessoa.setUnidade(userCepPessoa.getUnidade());
  89.             usuarioPessoa.setIbge(userCepPessoa.getIbge());
  90.             usuarioPessoa.setGia(userCepPessoa.getGia());
  91.            
  92.         } catch (Exception e) {
  93.             e.printStackTrace();
  94.         }
  95.     }
  96.    
  97.     public void setUsuarioPessoa(UsuarioPessoa usuarioPessoa) {
  98.         this.usuarioPessoa = usuarioPessoa;
  99.     }
  100.     public UsuarioPessoa getUsuarioPessoa() {
  101.         return usuarioPessoa;
  102.     }
  103.    
  104.     public String salvar() {
  105.         daoGeneric.salvar(usuarioPessoa);
  106.         if (novoUsuario) { // TADEU
  107.             list.add(usuarioPessoa); // TADEU
  108.         } // TADEU
  109.         novoUsuario = false; // TADEU
  110.         usuarioPessoa = new UsuarioPessoa();
  111.         init();
  112.         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Informação: ", "Salvo com sucesso!"));
  113.         return "";
  114.     }
  115.    
  116.     public String novo() {
  117.         usuarioPessoa = new UsuarioPessoa();
  118.         novoUsuario = true; // TADEU
  119.         return "";
  120.     }
  121.    
  122.     public String editar() { // TADEU        
  123.         novoUsuario = false; // TADEU
  124.         return ""; // TADEU
  125.     } // TADEU   
  126.    
  127.     public List<UsuarioPessoa> getList() {
  128.         return list;
  129.     }
  130.    
  131.     public String remover() {
  132.         try {
  133.         daoGeneric.removerUsuario(usuarioPessoa);
  134.         list.remove(usuarioPessoa);
  135.         usuarioPessoa = new UsuarioPessoa();
  136.         init();
  137.         FacesContext.getCurrentInstance().addMessage(null,
  138.                 new FacesMessage(FacesMessage.SEVERITY_INFO, "Informação: ", "Removido com sucesso!"));
  139.        
  140.         }catch (Exception e) {
  141.             if (e.getCause() instanceof org.hibernate.exception.ConstraintViolationException){
  142.                 FacesContext.getCurrentInstance().addMessage(null,
  143.                 new FacesMessage(FacesMessage.SEVERITY_INFO, "Informação: ", "Telefone existente para esse usuário"));
  144.             }else {
  145.                 e.printStackTrace();
  146.             }
  147.         }
  148.        
  149.        
  150.         return "";
  151.     }
  152.    
  153.     public void setEmailuser(EmailUser emailuser) {
  154.         this.emailuser = emailuser;
  155.     }
  156.    
  157.     public EmailUser getEmailuser() {
  158.         return emailuser;
  159.     }
  160.    
  161.     public void addEmail() {
  162.         emailuser.setUsuarioPessoa(usuarioPessoa);
  163.         emailuser = daoEmail.UpdateMerge(emailuser);
  164.         usuarioPessoa.getEmails().add(emailuser);
  165.         emailuser = new EmailUser();
  166.         FacesContext.getCurrentInstance().addMessage(null,
  167.                 new FacesMessage(FacesMessage.SEVERITY_INFO, "Informação: ", "Salvo com sucesso!"));
  168.     }
  169.    
  170.     public void removerEmail() throws Exception{
  171.         String codigoemail = FacesContext.getCurrentInstance().getExternalContext()
  172.                 .getRequestParameterMap().get("codigoemail");
  173.        
  174.         EmailUser remover = new EmailUser();
  175.         remover.setId(Long.parseLong(codigoemail));
  176.         daoEmail.deletarPorId(remover);
  177.         usuarioPessoa.getEmails().remove(remover);
  178.         FacesContext.getCurrentInstance().addMessage(null,
  179.                 new FacesMessage(FacesMessage.SEVERITY_INFO, "Informação: ", "Removido com sucesso!"));
  180.     }
  181.    
  182.     public void pesquisar() {
  183.         list = daoGeneric.pesquisar(campoPesquisa);
  184.         montarGrafico();
  185.     }
  186.    
  187.     public void setCampoPesquisa(String campoPesquisa) {
  188.         this.campoPesquisa = campoPesquisa;
  189.     }
  190.    
  191.     public String getCampoPesquisa() {
  192.         return campoPesquisa;
  193.     }
  194.    
  195. }
  196.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement