Quipex icon

mainform

Quipex | PRO | 06/06/17 02:39:17 AM UTC | 0 ⭐ | 355 👁️ | Never ⏰ | []
Java |

6.79 KB

|

None

|

0 👍

/

0 👎

package bdhw;
 
import classes.Database;
import classes.Goods;
import classes.Sale;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
 
/**
 *
 * @author User
 */
public class bdHW extends javax.swing.JFrame {
    Goods[] goods = null;
    Sale[] sales = null;
    int numGoods = 0;
    private int indexSelected = 0;
    private int indexPage;
    /**
     * Creates new form bdHW
     */
    public bdHW() {
        initComponents();
        try {
            Database.conn();
            numGoods = (int) Database.getRowFromTable("goods", "count()", 1);
        } catch (ClassNotFoundException | SQLException ex) {
            Logger.getLogger(bdHW.class.getName()).log(Level.SEVERE, null, ex);
        }
        goods = new Goods[numGoods];
        for (int i = 0; i < numGoods; i++)
            goods[i] = new Goods(i+1);
        initContent();
        jDialogSearch.pack();
    }
                         
    private void initComponents() {...}// </editor-fold>                        
 
    private void jButtonNextActionPerformed(java.awt.event.ActionEvent evt) {                                            
        indexPage++;
        setBottomValues(indexPage);
        jButtonPrev.setEnabled(true);
        if(indexPage+1 == sales.length)
            jButtonNext.setEnabled(false);
    }                                           
 
    private void jListGoodsValueChanged(javax.swing.event.ListSelectionEvent evt) {                                        
        indexSelected = jListGoods.getSelectedIndex();
        jTextFieldGnumSales.setText(Integer.toString(goods[indexSelected].getNumSales()));
        jTextFieldGnumWarehouse.setText(Integer.toString(goods[indexSelected].getNumWarehouse()));
        if(indexSelected != -1)
            jButtonFind.setEnabled(true);
    }                                       
 
    private void jButtonFindActionPerformed(java.awt.event.ActionEvent evt) {                                            
        initSearch();
    }                                           
 
    private void jTextFieldGDateActionPerformed(java.awt.event.ActionEvent evt) {                                                
        // TODO add your handling code here:
    }                                               
 
    private void jButtonDoFindActionPerformed(java.awt.event.ActionEvent evt) {                                              
        String dateStart = String.valueOf(jSpinner1.getValue())+"-"+(String)jComboBoxMonths1.getSelectedItem()+"-"+(String)jComboBoxDays1.getSelectedItem();
        String dateEnd = String.valueOf(jSpinner2.getValue())+"-"+(String)jComboBoxMonths2.getSelectedItem()+"-"+(String)jComboBoxDays2.getSelectedItem();
        if((int) jSpinner1.getValue() > (int) jSpinner2.getValue())
            JOptionPane.showMessageDialog(jDialogSearch, "Дата начала не может быть позже конца.");
        else
            if( ((int) jSpinner1.getValue() == (int) jSpinner2.getValue())
                &&(Integer.parseInt((String) jComboBoxMonths1.getSelectedItem()) > Integer.parseInt((String)jComboBoxMonths2.getSelectedItem())) )
                JOptionPane.showMessageDialog(jDialogSearch, "Дата начала не может быть позже конца.");
            else
                if(Integer.parseInt((String) jComboBoxMonths1.getSelectedItem()) == Integer.parseInt((String)jComboBoxMonths2.getSelectedItem())
                    &&(Integer.parseInt((String)jComboBoxDays1.getSelectedItem()) > Integer.parseInt((String)jComboBoxDays2.getSelectedItem())) )
                    JOptionPane.showMessageDialog(jDialogSearch, "Дата начала не может быть позже конца.");
                else {
                    
                    int numSales = 0;
                    try {
                        numSales = Database.getSaleInfoNum(goods[indexSelected].getId_goods(), dateStart, dateEnd, indexSelected);
                        System.out.println("numSales="+numSales);
                    } catch (SQLException ex) {
                        Logger.getLogger(bdHW.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    if(numSales == 0) {
                        JOptionPane.showMessageDialog(jDialogSearch, "На данном промежутке времени продаж нет.");
                    } else {
                        sales = new Sale[numSales];
                        System.out.println(numSales);
                        for (int i = 0; i < numSales; i++){
                            sales[i] = new Sale(goods[indexSelected].getId_goods(), dateStart, dateEnd, i+1);
                        }
                        jDialogSearch.dispose();
                        initBottom();
                    }
                }
    }                                             
 
    private void jButtonPrevActionPerformed(java.awt.event.ActionEvent evt) {                                            
        indexPage--;
        jButtonNext.setEnabled(true);
        if(indexPage == 0)
            jButtonPrev.setEnabled(false);
        setBottomValues(indexPage);
    }                                           
 
    public static void main(String args[]) {...}
    // Variables declaration - do not modify                     
    {...}
    // End of variables declaration                   
 
    private void initContent() {
        String[] listData = new String[numGoods];
        for(int i = 0; i < numGoods; i++){
            listData[i] = goods[i].getName();
        }
        jListGoods.setListData(listData);
    }
 
    private void initSearch() {
        jTextFieldSelectedName.setText(goods[indexSelected].getName());
        jDialogSearch.setVisible(true);
    }
    
    private void bottomVisible(boolean visSwitch){
        jButtonNext.setVisible(visSwitch);
        jButtonPrev.setVisible(visSwitch);
        jTextFieldGQuantity.setVisible(visSwitch);
        jTextFieldGPrice.setVisible(visSwitch);
        jTextFieldGDate.setVisible(visSwitch);
        jTextFieldGEmployee.setVisible(visSwitch);
    }
 
    private void initBottom() {
        indexPage = 0;
        jButtonPrev.setEnabled(false);
        jButtonNext.setEnabled(true);
        if(sales.length==1)
            jButtonNext.setEnabled(false);
        setBottomValues(indexPage);
        bottomVisible(true);
    }
    
    private void setBottomValues(int index){
        jTextFieldGEmployee.setText(sales[index].getEmployee());
        jTextFieldGDate.setText(sales[index].getDate());
        jTextFieldGQuantity.setText(String.valueOf(sales[index].getQuantity()));
        jTextFieldGPrice.setText(String.valueOf(sales[index].getPrice()));
    }
}

Comments