Ejemplo n.º 1
0
  public static void main(String[] args) throws IOException {

    Sql reader = new Sql();
    final String emisora = "BIMBO";
    final String serie = "";
    final Calendar day = new GregorianCalendar(2010, 10, 17);
    ArrayList<Orden> ordenes = reader.readIniciales(emisora, serie, day);
    reader.read(ordenes, emisora, serie, day);

    String datetext =
        day.get(Calendar.YEAR) + "" + (day.get(Calendar.MONTH) + 1) + "" + day.get(Calendar.DATE);

    FileWriter fw = new FileWriter("ordenes" + emisora + datetext + ".txt");
    final BufferedWriter bw = new BufferedWriter(fw);

    FileWriter fw2 = new FileWriter("ordenes2" + emisora + datetext + ".txt");
    final BufferedWriter bw2 = new BufferedWriter(fw2);

    FileWriter fwc = new FileWriter("compra" + emisora + datetext + ".txt");
    final BufferedWriter bwc = new BufferedWriter(fwc);

    FileWriter fwv = new FileWriter("venta" + emisora + datetext + ".txt");
    final BufferedWriter bwv = new BufferedWriter(fwv);

    FileWriter fwd = new FileWriter("distancia" + emisora + datetext + ".txt");
    final BufferedWriter bwd = new BufferedWriter(fwd);

    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    final DefaultTableModel modelVenta =
        new DefaultTableModel() {
          @Override
          public Class getColumnClass(int column) {
            if (column == 1) {
              return BigDecimal.class;
            }
            return Object.class;
          }
        };
    final DefaultTableModel modelCompra =
        new DefaultTableModel() {
          @Override
          public Class getColumnClass(int column) {
            if (column == 1) {
              return BigDecimal.class;
            }
            return Object.class;
          }
        };
    final DefaultTableModel modelExec = new DefaultTableModel();
    final DefaultTableModel modelExec2 = new DefaultTableModel();
    final DefaultTableModel modelOrdenes = new DefaultTableModel();

    final JTable tableVenta = new JTable(modelVenta);
    tableVenta.setAutoCreateRowSorter(true);
    final JTable tableCompra = new JTable(modelCompra);
    tableCompra.setAutoCreateRowSorter(true);
    final JTable tableExec = new JTable(modelExec);
    final JTable tableExec2 = new JTable(modelExec2);
    final JTable tableOrdenes = new JTable(modelOrdenes);

    JScrollPane scrollPaneVenta = new JScrollPane(tableVenta);
    JScrollPane scrollPaneCompra = new JScrollPane(tableCompra);
    JScrollPane scrollPaneExec = new JScrollPane(tableExec);
    JScrollPane scrollPaneExec2 = new JScrollPane(tableExec2);
    JScrollPane scrollPaneOrdenes = new JScrollPane(tableOrdenes);
    scrollPaneVenta.setBounds(0, 0, 400, 250);
    scrollPaneCompra.setBounds(0, 250, 400, 250);
    scrollPaneExec.setBounds(400, 0, 400, 250);
    scrollPaneExec2.setBounds(400, 250, 400, 250);
    scrollPaneOrdenes.setBounds(0, 500, 800, 200);
    frame.setLayout(null);
    frame.add(scrollPaneVenta);
    frame.add(scrollPaneCompra);
    frame.add(scrollPaneExec);
    frame.add(scrollPaneExec2);
    frame.add(scrollPaneOrdenes);
    frame.setSize(806, 792);
    frame.setVisible(true);
    frame.setResizable(false);
    ArrayList<SortKey> sortKeysv = new ArrayList<RowSorter.SortKey>();
    sortKeysv.add(new RowSorter.SortKey(1, SortOrder.DESCENDING));
    sortKeysv.add(new RowSorter.SortKey(3, SortOrder.DESCENDING));
    modelVenta.addColumn("");
    modelVenta.addColumn("Precio");
    modelVenta.addColumn("Volumen");
    modelVenta.addColumn("Folio");
    tableVenta.getRowSorter().setSortKeys(sortKeysv);
    ArrayList<SortKey> sortKeysc = new ArrayList<RowSorter.SortKey>();
    sortKeysc.add(new RowSorter.SortKey(1, SortOrder.DESCENDING));
    sortKeysc.add(new RowSorter.SortKey(3, SortOrder.ASCENDING));
    modelCompra.addColumn("");
    modelCompra.addColumn("Precio");
    modelCompra.addColumn("Volumen");
    modelCompra.addColumn("Folio");
    tableCompra.getRowSorter().setSortKeys(sortKeysc);
    modelExec.addColumn("Hora");
    modelExec.addColumn("Precio");
    modelExec.addColumn("Volumen");
    modelExec2.addColumn("Hora");
    modelExec2.addColumn("Precio");
    modelExec2.addColumn("Volumen");
    modelOrdenes.addColumn("Tipo");
    modelOrdenes.addColumn("Precio");
    modelOrdenes.addColumn("Volumen");
    modelOrdenes.addColumn("Hora");
    modelOrdenes.addColumn("Folio");
    modelOrdenes.addColumn("Folio Ant.");
    modelOrdenes.addColumn("Casa de Bolsa");
    Object[] columns = {
      "Tipo", "Precio", "Volumen", "Hora", "Folio", "Folio Ant.", "Casa de Bolsa", "Orden"
    };
    Vector<Object> columnNames = convertToVector(columns);
    Vector<Object> data = new Vector<Object>(6000);
    for (int i = 0; i < ordenes.size(); i++) {
      Vector<Object> row = convertToVector(ordenes.get(i).toRow());
      data.add(row);
    }
    modelOrdenes.setDataVector(data, columnNames);
    DateRenderer2 render = new DateRenderer2();
    tableOrdenes.getColumnModel().getColumn(3).setCellRenderer(render);
    tableExec.getColumnModel().getColumn(0).setCellRenderer(render);
    tableExec2.getColumnModel().getColumn(0).setCellRenderer(render);
    JButton buttonNext = new JButton("Siguiente");
    buttonNext.setBounds(30, 716, 100, 30);
    frame.add(buttonNext);
    buttonNext.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            // Execute when button is pressed
            if (modelOrdenes.getRowCount() > 0)
              action(
                  day,
                  modelCompra,
                  modelVenta,
                  modelOrdenes,
                  modelExec,
                  modelExec2,
                  tableCompra,
                  tableVenta,
                  tableExec,
                  tableExec2,
                  bw,
                  bw2,
                  bwc,
                  bwv,
                  bwd);
          }
        });

    JButton buttonDeleteCompra = new JButton("Cancelar Compra");
    buttonDeleteCompra.setBounds(150, 716, 200, 30);
    frame.add(buttonDeleteCompra);
    buttonDeleteCompra.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            // Execute when button is pressed
            int d = tableCompra.getSelectedRow();
            try {
              modelCompra.removeRow(tableCompra.convertRowIndexToModel(d));
            } catch (Exception ex) {
              System.out.println("Cannot delete row: " + ex);
            }
          }
        });

    JButton buttonDeleteVenta = new JButton("Cancelar Venta");
    buttonDeleteVenta.setBounds(370, 716, 200, 30);
    frame.add(buttonDeleteVenta);
    buttonDeleteVenta.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            // Execute when button is pressed
            int d = tableVenta.getSelectedRow();
            try {
              modelVenta.removeRow(tableVenta.convertRowIndexToModel(d));
            } catch (Exception ex) {
              System.out.println("Cannot delete row: " + ex);
            }
          }
        });
    JButton buttonPlay = new JButton("Play");
    buttonPlay.setBounds(600, 716, 100, 30);
    frame.add(buttonPlay);
    buttonPlay.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            // Execute when button is pressed
            int i = 0;
            // while(tableOrdenes.getRowCount() > 0 && i < 100) {
            while (tableOrdenes.getRowCount() > 0) {
              Date cal = (Date) modelOrdenes.getValueAt(0, 3);
              action(
                  day,
                  modelCompra,
                  modelVenta,
                  modelOrdenes,
                  modelExec,
                  modelExec2,
                  tableCompra,
                  tableVenta,
                  tableExec,
                  tableExec2,
                  bw,
                  bw2,
                  bwc,
                  bwv,
                  bwd);
              // modelCompra.getValueAt(0, 1)

              i++;
            }
            if (tableOrdenes.getRowCount() <= 0)
              try {
                bw.close();
                bw2.close();
                bwc.close();
                bwv.close();
                bwd.close();
              } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
              }
          }
        });
  }