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