Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.76 KB | None | 0 0
  1. package gerenciadorempresa.contatos.gui;
  2.  
  3. import gerenciadorempresa.base.JPAUtil;
  4. import gerenciadorempresa.contatos.model.entity.Assunto;
  5. import gerenciadorempresa.contatos.model.entity.Conversa;
  6. import gerenciadorempresa.contatos.model.persistence.ConversaDAO;
  7. import gerenciadorempresa.contatos.model.persistence.DAOFactory;
  8. import gerenciadorempresa.contatos.model.persistence.IConversaDAO;
  9.  
  10. import java.awt.*;
  11. import java.sql.Connection;
  12. import java.sql.DriverManager;
  13. import java.sql.ResultSet;
  14. import java.sql.SQLException;
  15. import java.sql.Statement;
  16. import java.util.ArrayList;
  17. import java.util.HashSet;
  18. import java.util.List;
  19. import java.util.Set;
  20.  
  21. import javax.persistence.EntityManager;
  22. import javax.persistence.EntityManagerFactory;
  23. import javax.persistence.EntityTransaction;
  24. import javax.persistence.Persistence;
  25. import javax.persistence.Query;
  26. import javax.swing.BoxLayout;
  27. import javax.swing.JButton;
  28. import javax.swing.JComboBox;
  29. import javax.swing.JFrame;
  30. import javax.swing.JScrollPane;
  31. import javax.swing.JTextField;
  32. import javax.swing.SwingUtilities;
  33.  
  34. import org.swingBean.actions.ApplicationAction;
  35. import org.swingBean.descriptor.BeanTableModel;
  36. import org.swingBean.descriptor.TableFieldDescriptor;
  37. import org.swingBean.descriptor.XMLDescriptorFactory;
  38. import org.swingBean.gui.JActButton;
  39. import org.swingBean.gui.JBeanTable;
  40.  
  41. public class TelaConsulta {
  42.  
  43.    
  44.     public static void main(String[] arg) throws SQLException, ClassNotFoundException  {
  45.        
  46.         EntityManager em = JPAUtil.getEntityManager();
  47.         EntityTransaction tx = em.getTransaction();
  48.        
  49.         final IConversaDAO db = DAOFactory.getConversaDAO(em);
  50.        
  51.        
  52.        
  53.        
  54.        
  55.         final JComboBox ComboData = new JComboBox(Conversa.getDatas(db.findAll()));
  56.         final JComboBox ComboObjetivos = new JComboBox(Conversa.getObjetivoss(db.findAll()));
  57.         final JComboBox ComboResultados = new JComboBox(Conversa.getResultadoss(db.findAll()));
  58.         final JComboBox ComboStatus = new JComboBox(Conversa.getStatuss(db.findAll()));
  59.         final JComboBox ComboAssunto = new JComboBox(Conversa.getAssuntoss(db.findAll()));
  60.         final JComboBox ComboUsuario = new JComboBox(Conversa.getUsuarioss(db.findAll()));
  61.         final JComboBox ComboFormaContato = new JComboBox(Conversa.getFormaContatoss(db.findAll()));
  62.        
  63.         JFrame tela = new JFrame();
  64.        
  65.        
  66.        
  67.         //Cria??o do frame que conter? o campo gen?rico
  68.         JFrame BoxSupSup = new JFrame();
  69.         Container paneSupSup = BoxSupSup.getContentPane();
  70.         paneSupSup.setLayout(new BoxLayout(paneSupSup, BoxLayout.X_AXIS));
  71.         //BoxSupSup.add(Geral);
  72.        
  73.         //Cria??o do frame que conter? o primeiro conjunto de Combos
  74.         JFrame BoxMiddle = new JFrame();
  75.         Container paneMiddle = BoxMiddle.getContentPane();
  76.         paneMiddle.add(ComboData);
  77.         paneMiddle.add(ComboObjetivos);
  78.         paneMiddle.add(ComboResultados);
  79.         paneMiddle.setLayout(new BoxLayout(paneMiddle, BoxLayout.X_AXIS));
  80.        
  81.         //Cria??o do frame que conter? o segundo conjunto de combos
  82.         JFrame BoxInf = new JFrame();
  83.         Container paneInf = BoxInf.getContentPane();
  84.         paneInf.add(ComboStatus);
  85.         paneInf.add(ComboAssunto);
  86.         paneInf.add(ComboUsuario);
  87.         paneInf.add(ComboFormaContato);
  88.         paneInf.setLayout(new BoxLayout(paneInf, BoxLayout.X_AXIS));
  89.        
  90.        
  91.        
  92.        
  93.         //Cria??o do componente da tabela SwingBean
  94.         TableFieldDescriptor tabledescriptor = XMLDescriptorFactory
  95.         .getTableFieldDescriptor(Conversa.class,
  96.                 "gerenciadorempresa/contatos/gui/tabelaConsulta.xml","ConsultaTable");
  97.         final BeanTableModel<Conversa> model = new BeanTableModel<Conversa>(
  98.                 tabledescriptor);
  99.         final JBeanTable table = new JBeanTable(model);
  100.        
  101.         table.addDoubleClickAction(new ApplicationAction() {
  102.            
  103.             public void execute() {
  104.                
  105.                 // ABRIR TELA DO KAMI AKI!
  106.                
  107.             }
  108.            
  109.         });
  110.        
  111.         JActButton pesquisa = new JActButton("Pesquisar",
  112.                 new ApplicationAction(){
  113.                     public void execute(){
  114.                         String qry = "SELECT DISTINCT CV.id_conversa, ASS.assunto, PR.nome, CV.data, CV.objetivos, CV.texto, CV.resultados, FC.valor, ST.status, US.login " +
  115.                                 "FROM projeto PR, conversa CV,  assunto ASS, usuario US, status ST, forma_contato FC WHERE ";
  116.                        
  117.                         qry=qry+" CV.id_assunto=ASS.id_assunto " +
  118.                         " AND CV.id_forma_contato = FC.id_forma_contato " +
  119.                         " AND CV.id_status = ST.id_status " +
  120.                         " AND CV.id_usuario = US.id_usuario ";
  121.                        
  122.                         if (ComboData.getSelectedItem()!=null) {
  123.                             qry=qry+" AND CV.data LIKE '%"+ComboData.getSelectedItem()+"%'";
  124.                         }
  125.                        
  126.                         if (ComboObjetivos.getSelectedItem()!=null) {
  127.                             qry=qry+" AND CV.objetivos LIKE '%"+ComboObjetivos.getSelectedItem()+"%'";
  128.                         }
  129.                        
  130.                         if (ComboResultados.getSelectedItem()!=null) {
  131.                             qry=qry+" AND CV.resultados LIKE '%"+ComboResultados.getSelectedItem()+"%'";
  132.                         }
  133.                        
  134.                         if (ComboStatus.getSelectedItem()!=null) {
  135.                             qry=qry+" AND ST.status LIKE '%"+ComboStatus.getSelectedItem()+"%'";
  136.                         }
  137.                        
  138.                         if (ComboAssunto.getSelectedItem()!=null) {
  139.                             qry=qry+" AND ASS.assunto LIKE '%"+ComboAssunto.getSelectedItem()+"'";
  140.                         }
  141.                        
  142.                         if (ComboUsuario.getSelectedItem()!=null) {
  143.                             qry=qry+" AND US.login LIKE '%"+ComboUsuario.getSelectedItem()+"'";
  144.                         }
  145.                        
  146.                         if (ComboFormaContato.getSelectedItem()!=null) {
  147.                             qry=qry+" AND FC.valor LIKE '%"+ComboFormaContato.getSelectedItem()+"'";
  148.                         }
  149.                        
  150.                         Connection jdbcConnection;
  151.                         try {
  152.                             jdbcConnection = DriverManager.getConnection("jdbc:postgresql://comp12.redecasd.ita.br/gerenciadorempresa", "postgres", "itacomp12");
  153.                             Statement stmt = jdbcConnection.createStatement();
  154.                             ResultSet rs = stmt.executeQuery(qry);
  155.                             Set<Integer> ids = new HashSet<Integer>();
  156.                             List<Conversa> conversas = new ArrayList<Conversa>();
  157.                             while(rs.next()) {
  158.                             //  System.out.println(rs.getString(1) +" " + rs.getString(2) + " " + rs.getString(3));
  159.                                 ids.add(rs.getInt(1));
  160.                             }
  161.                             EntityManager em = JPAUtil.getEntityManager();
  162.                             IConversaDAO daoConversa = DAOFactory.getConversaDAO(em);
  163.                             for( Integer id : ids ) {
  164.                                 conversas.add(daoConversa.findById(id));
  165.                             }
  166.                             em.close();
  167.                             //faz alguma coisa com conversas
  168.                             for( Conversa c : conversas)
  169.                                 System.out.println(c.getIdConversa());
  170.                         } catch (SQLException e) {
  171.                             e.printStackTrace();
  172.                         }
  173.                        
  174.                        
  175.                                        
  176.                                              
  177.  
  178.                     }
  179.         });
  180.        
  181.         Container paneTela = tela.getContentPane();
  182.         tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  183.         paneTela.add(paneSupSup);
  184.         paneTela.add(paneMiddle);
  185.         paneTela.add(paneInf);
  186.         paneTela.add(new JScrollPane(table));
  187.         paneTela.add(pesquisa);
  188.         tela.setVisible(true);
  189.         paneTela.setLayout(new BoxLayout(paneTela, BoxLayout.Y_AXIS));
  190.         tela.setSize(600, 400);
  191.     }
  192.  
  193. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement