Package gui

Source Code of gui.PSAUrunEklemeEkrani

package gui;

import hibernateSwingApi.component.CComboBox;
import hibernateSwingApi.component.CTextField;
import hibernateSwingApi.component.TablePanel;
import hibernateSwingApi.hibernate.HibernateManager;
import hibernateSwingApi.utils.Entity;
import hibernateSwingApi.utils.Utils;

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.JTable;
import javax.swing.SpinnerModel;
import javax.swing.SpinnerNumberModel;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
import javax.swing.WindowConstants;
import javax.swing.border.LineBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

import pojos.Firma;
import pojos.Renk;
import pojos.UrunBeden;
import pojos.UrunCinsiyet;
import pojos.UrunGrup;
import pojos.UrunListesi;
import pojos.UrunMarka;
import pojos.UrunModel;
import pojos.UrunSezon;
import pojos.UrunStok;
import service.AutoClosingMessageDialog;
import service.PSAUtil;
import service.UrunKodOlustur;

import com.toedter.calendar.JDateChooser;
import com.toedter.calendar.JTextFieldDateEditor;

import control.BarcodeGenerator;

public class PSAUrunEklemeEkrani extends JFrame {

  private static final long serialVersionUID = 1L;
  private static PSAUrunEklemeEkrani instance;
  private JPanel cPanelFirmaSatis;
  private JPanel cPanelUrunBilgileri;
  private JLabel cLabelFirmaBilgileri;
  private JLabel cLabelUrunAlisFiyat;
  private JLabel cLabelAlisTL;
  private JLabel cLabelAlisVirgul;
  private JLabel cLabelUrunPesinSatisFiyat;
  private JLabel cLabelPesinSatisVirgul;
  private JLabel cLabelPesinSatisTL;
  private JLabel cLabelTakistliSatisFiyat;
  private JLabel cLabelTaksitliSatisVirgul;
  private JLabel cLabelTaksitliSatisTL;
  private JLabel cLabelUrunEklendigiTarih;
  private JLabel cLabelUrunAdet;
  private JLabel cLabelUrunFirma;
  private JLabel cLabelUrunSezon;
  private JLabel cLabelUrunGrup;
  private JLabel cLabelUrunModel;
  private JLabel cLabelUrunBeden;
  private JLabel cLabelUrunRenk;
  private JLabel cLabelUrunCinsiyet;
  private JLabel cLabelUrunMarka;
  private JLabel cLabelUrunBilgileri;
  private JLabel cLabelUrunOK;
  private JLabel cLabelFirmaOK;
  private JLabel cLabelUrunKDV;
  private CComboBox<UrunCinsiyet> cComboBoxUrunCinsiyet;
  private CComboBox<Firma> cComboBoxUrunFirma;
  public CComboBox<UrunSezon> cComboBoxUrunSezon;
  private CComboBox<UrunGrup> cComboBoxUrunGrup;
  private CComboBox<UrunModel> cComboBoxUrunModel;
  private CComboBox<UrunBeden> cComboBoxUrunBeden;
  private CComboBox<UrunMarka> cComboBoxUrunMarka;
  private CTextField cTextFieldUrunAlisTamKisim;
  private CTextField cTextFieldUrunAlisKurusKisim;
  private CTextField cTextFieldUrunPesinSatisFiyatTamKisim;
  private CTextField cTextFieldUrunPesinSatisFiyatKurusKisim;
  private CTextField cTextFieldUrunTaksitliSatisFiyatTamKisim;
  private CTextField cTextFieldUrunTaksitliSatisFiyatKurusKisim;
  private CTextField cTextFieldUrunRenk;
  private JSpinner cSpinnerUrun;
  private JSpinner cSpinnerKDVOrani;
  private TablePanel cTablePanelUrunListesi;
  private JButton JButtonKaydet;
  private JButton JButtonSil;
  private JButton JButtonIptal;
  private JButton JButtonFirmaBilgiGuncelle;
  private JButton JButtonUrunSezonGuncelle;
  private JButton JButtonUrunGrupGuncelle;
  private JButton JButtonUrunCinsGuncelle;
  private JButton JButtonUrunBedenGuncelle;
  private JButton JButtonUrunMarkaGuncelle;
  private JButton JButtonListeEkle;
  private JDateChooser jDateChooserUrunTarih;
  private JButton JButtonUrunCinsiyetGuncelle;
  private Renk urunRenk = null;
  private UrunListesi urun;
  private List<Entity> urunListesi = new LinkedList<>();
  private JPanel jPanelBarkod;
  private JLabel jLabelBarkod;
  private JLabel jLabelBarkodBilgi;
  private CTextField cTextFieldBarkodNo;
  private JLabel jLabelBarkodControl;
  private boolean barkodControl = true;

  private static final String DEFAULT_COMBOBOX_VALUE = "Seçiniz";

  public static JFrame getInstance(int state, int frame) {
    if (frame == 0)
      instance = new PSAUrunEklemeEkrani();
    return instance;
  }

  public PSAUrunEklemeEkrani() {
    initialize();
  }

  private void initialize() {
    setTitle("PSA MERKEZ ÜRÜN EKLEME EKRANI");
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    setBounds(0, 0, 887, 726);
    setResizable(false);
    setIconImage(PSAUtil.getImageIconViaRelativePath("picture/psaIcon.png")
        .getImage());

    cPanelFirmaSatis = new JPanel();
    cPanelFirmaSatis.setBorder(new LineBorder(new Color(0, 0, 0), 2));
    cPanelFirmaSatis.setBounds(449, 138, 393, 227);
    cPanelFirmaSatis.setBackground(UIManager.getColor("Button.shadow"));

    cLabelFirmaBilgileri = new JLabel();
    cLabelFirmaBilgileri.setHorizontalAlignment(SwingConstants.CENTER);
    cLabelFirmaBilgileri.setBounds(450, 119, 392, 20);
    cLabelFirmaBilgileri
        .setText("F\u0130RMA VE SATI\u015E B\u0130LG\u0130LER\u0130");
    cLabelFirmaBilgileri.setFont(new Font("Tahoma", Font.BOLD, 16));

    cLabelUrunAlisFiyat = new JLabel();
    cLabelUrunAlisFiyat.setBounds(10, 41, 120, 20);
    cLabelUrunAlisFiyat.setText("Al\u0131\u015F Fiyat\u0131");
    cLabelUrunAlisFiyat.setFont(new Font("Tahoma", Font.BOLD, 14));

    cTextFieldUrunAlisTamKisim = new CTextField(7);
    cTextFieldUrunAlisTamKisim.setAsOnlyNumberTextField();
    cTextFieldUrunAlisTamKisim.setHorizontalAlignment(SwingConstants.RIGHT);
    cTextFieldUrunAlisTamKisim.setText("0");
    cTextFieldUrunAlisTamKisim.setBounds(150, 42, 86, 20);

    cTextFieldUrunAlisKurusKisim = new CTextField(2);
    cTextFieldUrunAlisKurusKisim.setAsOnlyNumberTextField();
    cTextFieldUrunAlisKurusKisim.setText("00");
    cTextFieldUrunAlisKurusKisim.setBounds(246, 42, 33, 20);

    cLabelAlisTL = new JLabel();
    cLabelAlisTL.setBounds(281, 49, 23, 14);
    cLabelAlisTL.setText("TL");

    cLabelAlisVirgul = new JLabel();
    cLabelAlisVirgul.setBounds(239, 42, 9, 29);
    cLabelAlisVirgul.setText(",");

    cLabelUrunPesinSatisFiyat = new JLabel();
    cLabelUrunPesinSatisFiyat.setBounds(10, 71, 136, 20);
    cLabelUrunPesinSatisFiyat
        .setText("Pe\u015Fin Sat\u0131\u015F Fiyat\u0131");
    cLabelUrunPesinSatisFiyat.setFont(new Font("Tahoma", Font.BOLD, 14));

    cTextFieldUrunPesinSatisFiyatTamKisim = new CTextField(7);
    cTextFieldUrunPesinSatisFiyatTamKisim.setAsOnlyNumberTextField();
    cTextFieldUrunPesinSatisFiyatTamKisim
        .setHorizontalAlignment(SwingConstants.RIGHT);
    cTextFieldUrunPesinSatisFiyatTamKisim.setText("0");
    cTextFieldUrunPesinSatisFiyatTamKisim.setBounds(150, 73, 86, 20);

    cLabelPesinSatisVirgul = new JLabel();
    cLabelPesinSatisVirgul.setBounds(239, 73, 9, 29);
    cLabelPesinSatisVirgul.setText(",");

    cTextFieldUrunPesinSatisFiyatKurusKisim = new CTextField(2);
    cTextFieldUrunPesinSatisFiyatKurusKisim.setAsOnlyNumberTextField();
    cTextFieldUrunPesinSatisFiyatKurusKisim.setText("00");
    cTextFieldUrunPesinSatisFiyatKurusKisim.setBounds(246, 73, 33, 20);

    cLabelPesinSatisTL = new JLabel();
    cLabelPesinSatisTL.setBounds(281, 80, 46, 14);
    cLabelPesinSatisTL.setText("TL");

    cLabelTakistliSatisFiyat = new JLabel();
    cLabelTakistliSatisFiyat.setBounds(10, 101, 136, 20);
    cLabelTakistliSatisFiyat
        .setText("Taksitli Sat\u0131\u015F Fiyat\u0131");
    cLabelTakistliSatisFiyat.setFont(new Font("Tahoma", Font.BOLD, 14));

    cTextFieldUrunTaksitliSatisFiyatTamKisim = new CTextField(7);
    cTextFieldUrunTaksitliSatisFiyatTamKisim.setAsOnlyNumberTextField();
    cTextFieldUrunTaksitliSatisFiyatTamKisim
        .setHorizontalAlignment(SwingConstants.RIGHT);
    cTextFieldUrunTaksitliSatisFiyatTamKisim.setText("0");
    cTextFieldUrunTaksitliSatisFiyatTamKisim.setBounds(150, 102, 86, 20);

    cLabelTaksitliSatisVirgul = new JLabel();
    cLabelTaksitliSatisVirgul.setBounds(239, 108, 9, 20);
    cLabelTaksitliSatisVirgul.setText(",");

    cTextFieldUrunTaksitliSatisFiyatKurusKisim = new CTextField(2);
    cTextFieldUrunTaksitliSatisFiyatKurusKisim.setAsOnlyNumberTextField();
    cTextFieldUrunTaksitliSatisFiyatKurusKisim.setText("00");
    cTextFieldUrunTaksitliSatisFiyatKurusKisim.setBounds(246, 102, 33, 20);

    cLabelTaksitliSatisTL = new JLabel();
    cLabelTaksitliSatisTL.setBounds(281, 109, 46, 14);
    cLabelTaksitliSatisTL.setText("TL");

    cLabelUrunEklendigiTarih = new JLabel();
    cLabelUrunEklendigiTarih.setBounds(10, 131, 120, 20);
    cLabelUrunEklendigiTarih.setText("Eklendi\u011Fi Tarih");
    cLabelUrunEklendigiTarih.setFont(new Font("Tahoma", Font.BOLD, 14));

    cLabelUrunFirma = new JLabel();
    cLabelUrunFirma.setBounds(10, 11, 120, 20);
    cLabelUrunFirma.setText("Firma Se\u00E7iniz");
    cLabelUrunFirma.setFont(new Font("Tahoma", Font.BOLD, 14));

    cComboBoxUrunFirma = new CComboBox<Firma>(Firma.class);
    cComboBoxUrunFirma.setBounds(150, 11, 205, 20);

    JButtonFirmaBilgiGuncelle = new JButton();
    JButtonFirmaBilgiGuncelle.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/add.png"));
    JButtonFirmaBilgiGuncelle.setBounds(357, 11, 23, 20);

    jDateChooserUrunTarih = new JDateChooser();
    jDateChooserUrunTarih.setBounds(150, 131, 230, 20);
    ((JTextFieldDateEditor) jDateChooserUrunTarih.getDateEditor())
        .setEditable(false);

    cPanelUrunBilgileri = new JPanel();
    cPanelUrunBilgileri.setBorder(new LineBorder(new Color(0, 0, 0), 2));
    cPanelUrunBilgileri.setBackground(UIManager.getColor("Button.shadow"));
    cPanelUrunBilgileri.setBounds(38, 138, 380, 227);

    cLabelUrunSezon = new JLabel();
    cLabelUrunSezon.setText("Sezonu");
    cLabelUrunSezon.setFont(new Font("Tahoma", Font.BOLD, 14));
    cLabelUrunSezon.setBounds(10, 11, 120, 20);

    cComboBoxUrunSezon = new CComboBox<UrunSezon>(UrunSezon.class);
    cComboBoxUrunSezon.setBounds(130, 11, 205, 20);

    cComboBoxUrunGrup = new CComboBox<UrunGrup>(UrunGrup.class);
    cComboBoxUrunGrup.setBounds(130, 41, 205, 20);

    cLabelUrunGrup = new JLabel();
    cLabelUrunGrup.setText("Grubu");
    cLabelUrunGrup.setFont(new Font("Tahoma", Font.BOLD, 14));
    cLabelUrunGrup.setBounds(10, 41, 120, 20);

    cLabelUrunModel = new JLabel();
    cLabelUrunModel.setText("Modeli");
    cLabelUrunModel.setFont(new Font("Tahoma", Font.BOLD, 14));
    cLabelUrunModel.setBounds(10, 71, 120, 20);

    cComboBoxUrunModel = new CComboBox<UrunModel>(UrunModel.class);
    cComboBoxUrunModel.setBounds(130, 71, 205, 20);

    cLabelUrunBeden = new JLabel();
    cLabelUrunBeden.setText("Bedeni");
    cLabelUrunBeden.setFont(new Font("Tahoma", Font.BOLD, 14));
    cLabelUrunBeden.setBounds(10, 101, 120, 20);

    cComboBoxUrunBeden = new CComboBox<UrunBeden>(UrunBeden.class);
    cComboBoxUrunBeden.setBounds(130, 101, 205, 20);

    cLabelUrunRenk = new JLabel();
    cLabelUrunRenk.setText("Rengi");
    cLabelUrunRenk.setFont(new Font("Tahoma", Font.BOLD, 14));
    cLabelUrunRenk.setBounds(10, 131, 120, 20);

    cTextFieldUrunRenk = new CTextField(30);
    cTextFieldUrunRenk.setEditable(false);
    cTextFieldUrunRenk.setForeground(Color.BLACK);
    cTextFieldUrunRenk.setBackground(Color.WHITE);
    cTextFieldUrunRenk.setText("RENK YOK");
    cTextFieldUrunRenk.setHorizontalAlignment(SwingConstants.CENTER);
    cTextFieldUrunRenk.setBounds(130, 132, 205, 20);

    cComboBoxUrunCinsiyet = new CComboBox<UrunCinsiyet>(UrunCinsiyet.class);
    cComboBoxUrunCinsiyet.setBounds(130, 163, 205, 20);

    cLabelUrunCinsiyet = new JLabel();
    cLabelUrunCinsiyet.setText("Cinsiyeti");
    cLabelUrunCinsiyet.setFont(new Font("Tahoma", Font.BOLD, 14));
    cLabelUrunCinsiyet.setBounds(10, 161, 120, 20);

    cLabelUrunMarka = new JLabel();
    cLabelUrunMarka.setText("Markas\u0131");
    cLabelUrunMarka.setFont(new Font("Tahoma", Font.BOLD, 14));
    cLabelUrunMarka.setBounds(10, 191, 120, 20);

    cComboBoxUrunMarka = new CComboBox<UrunMarka>(UrunMarka.class);
    cComboBoxUrunMarka.setBounds(130, 191, 205, 20);

    JButtonUrunSezonGuncelle = new JButton();
    JButtonUrunSezonGuncelle.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/add.png"));
    JButtonUrunSezonGuncelle.setBounds(336, 11, 23, 20);

    JButtonUrunGrupGuncelle = new JButton();
    JButtonUrunGrupGuncelle.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/add.png"));
    JButtonUrunGrupGuncelle.setBounds(336, 41, 23, 20);

    JButtonUrunCinsGuncelle = new JButton();
    JButtonUrunCinsGuncelle.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/add.png"));
    JButtonUrunCinsGuncelle.setBounds(336, 71, 23, 20);

    JButtonUrunBedenGuncelle = new JButton();
    JButtonUrunBedenGuncelle.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/add.png"));
    JButtonUrunBedenGuncelle.setBounds(336, 101, 23, 20);

    JButtonUrunMarkaGuncelle = new JButton();
    JButtonUrunMarkaGuncelle.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/add.png"));
    JButtonUrunMarkaGuncelle.setBounds(336, 191, 23, 20);

    SpinnerModel spinnerModel = new SpinnerNumberModel(0, 0, 1000000, 1);

    cLabelUrunBilgileri = new JLabel();
    cLabelUrunBilgileri.setHorizontalAlignment(SwingConstants.CENTER);
    cLabelUrunBilgileri.setText("\u00DCR\u00DCN B\u0130LG\u0130LER\u0130");
    cLabelUrunBilgileri.setFont(new Font("Tahoma", Font.BOLD, 16));
    cLabelUrunBilgileri.setBounds(38, 119, 380, 20);

    JButtonListeEkle = new JButton();
    JButtonListeEkle.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/ekle.png"));
    JButtonListeEkle.setFont(new Font("Tahoma", Font.BOLD, 13));
    JButtonListeEkle.setText("\u00DCR\u00DCN L\u0130STES\u0130NE EKLE");
    JButtonListeEkle.setBounds(314, 376, 243, 38);

    cLabelUrunOK = new JLabel();
    cLabelUrunOK.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/asagiOK.png"));
    cLabelUrunOK.setBounds(158, 376, 32, 38);

    cLabelFirmaOK = new JLabel();
    cLabelFirmaOK.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/asagiOK.png"));
    cLabelFirmaOK.setBounds(681, 376, 32, 38);

    cTablePanelUrunListesi = new TablePanel(null, UrunListesi.class, true,
        true);
    cTablePanelUrunListesi.getTable().setAutoResizeMode(
        JTable.AUTO_RESIZE_ALL_COLUMNS);
    cTablePanelUrunListesi.setBorder(new LineBorder(new Color(0, 0, 0), 2));
    cTablePanelUrunListesi.setBounds(38, 425, 804, 218);

    JButtonKaydet = new JButton();
    JButtonKaydet.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/kullaniciGuncelle.png"));
    JButtonKaydet.setFont(new Font("Tahoma", Font.BOLD, 13));
    JButtonKaydet.setText("STOK KAYIT");
    JButtonKaydet.setBounds(599, 654, 243, 38);

    JButtonSil = new JButton();
    JButtonSil.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/silIcon.png"));
    JButtonSil.setText("S\u0130L");
    JButtonSil.setFont(new Font("Tahoma", Font.BOLD, 13));
    JButtonSil.setBounds(320, 654, 243, 38);
    JButtonSil.setEnabled(false);

    JButtonIptal = new JButton();
    JButtonIptal.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/geriButonu.png"));
    JButtonIptal.setFont(new Font("Tahoma", Font.BOLD, 13));
    JButtonIptal.setText("\u0130PTAL");
    JButtonIptal.setBounds(38, 654, 243, 38);

    cLabelUrunKDV = new JLabel();
    cLabelUrunKDV.setVerticalAlignment(SwingConstants.BOTTOM);
    cLabelUrunKDV.setText("KDV(%)");
    cLabelUrunKDV.setFont(new Font("Tahoma", Font.BOLD, 11));
    cLabelUrunKDV.setBounds(300, 41, 46, 20);

    SpinnerModel spinnerModelKDV = new SpinnerNumberModel(0, 0, 99, 1);
    cSpinnerKDVOrani = new JSpinner();
    cSpinnerKDVOrani.setModel(spinnerModelKDV);
    cSpinnerKDVOrani.setValue(new Integer(8));
    cSpinnerKDVOrani.setBounds(347, 42, 33, 20);

    JButtonUrunCinsiyetGuncelle = new JButton();
    JButtonUrunCinsiyetGuncelle.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/add.png"));
    JButtonUrunCinsiyetGuncelle.setBounds(336, 163, 23, 20);

    // Panel Firma Satis add metotlar�

    cPanelFirmaSatis.setLayout(null);
    cPanelFirmaSatis.add(cLabelUrunFirma);
    cPanelFirmaSatis.add(cComboBoxUrunFirma);
    cPanelFirmaSatis.add(cLabelUrunAlisFiyat);
    cPanelFirmaSatis.add(cTextFieldUrunAlisTamKisim);
    cPanelFirmaSatis.add(cTextFieldUrunPesinSatisFiyatTamKisim);
    cPanelFirmaSatis.add(cLabelUrunPesinSatisFiyat);
    cPanelFirmaSatis.add(cLabelTakistliSatisFiyat);
    cPanelFirmaSatis.add(cTextFieldUrunTaksitliSatisFiyatTamKisim);
    cPanelFirmaSatis.add(cTextFieldUrunAlisKurusKisim);
    cPanelFirmaSatis.add(cLabelAlisVirgul);
    cPanelFirmaSatis.add(cTextFieldUrunTaksitliSatisFiyatKurusKisim);
    cPanelFirmaSatis.add(cTextFieldUrunPesinSatisFiyatKurusKisim);
    cPanelFirmaSatis.add(cLabelTaksitliSatisVirgul);
    cPanelFirmaSatis.add(cLabelPesinSatisVirgul);
    cPanelFirmaSatis.add(cLabelAlisTL);
    cPanelFirmaSatis.add(cLabelPesinSatisTL);
    cPanelFirmaSatis.add(cLabelTaksitliSatisTL);
    cPanelFirmaSatis.add(cLabelUrunEklendigiTarih);
    cPanelFirmaSatis.add(JButtonFirmaBilgiGuncelle);
    cPanelFirmaSatis.add(jDateChooserUrunTarih);
    cPanelFirmaSatis.add(cSpinnerKDVOrani);
    cPanelFirmaSatis.add(cLabelUrunKDV);

    cPanelUrunBilgileri.setLayout(null);
    cPanelUrunBilgileri.add(JButtonUrunMarkaGuncelle);
    cPanelUrunBilgileri.add(JButtonUrunBedenGuncelle);
    cPanelUrunBilgileri.add(JButtonUrunCinsGuncelle);
    cPanelUrunBilgileri.add(JButtonUrunGrupGuncelle);
    cPanelUrunBilgileri.add(JButtonUrunSezonGuncelle);
    cPanelUrunBilgileri.add(cComboBoxUrunMarka);
    cPanelUrunBilgileri.add(cLabelUrunMarka);
    cPanelUrunBilgileri.add(cLabelUrunCinsiyet);
    cPanelUrunBilgileri.add(cComboBoxUrunCinsiyet);
    cPanelUrunBilgileri.add(cTextFieldUrunRenk);
    cPanelUrunBilgileri.add(cLabelUrunRenk);
    cPanelUrunBilgileri.add(cComboBoxUrunBeden);
    cPanelUrunBilgileri.add(cLabelUrunBeden);
    cPanelUrunBilgileri.add(cLabelUrunGrup);
    cPanelUrunBilgileri.add(cComboBoxUrunModel);
    cPanelUrunBilgileri.add(cLabelUrunModel);
    cPanelUrunBilgileri.add(cLabelUrunSezon);
    cPanelUrunBilgileri.add(cComboBoxUrunGrup);
    cPanelUrunBilgileri.add(cComboBoxUrunSezon);
    cPanelUrunBilgileri.add(JButtonUrunCinsiyetGuncelle);

    getContentPane().add(cPanelUrunBilgileri);
    getContentPane().setLayout(null);
    getContentPane().add(cLabelFirmaBilgileri);
    getContentPane().add(cPanelFirmaSatis);
    cSpinnerUrun = new JSpinner();
    cSpinnerUrun.setBounds(150, 162, 90, 20);
    cPanelFirmaSatis.add(cSpinnerUrun);
    cSpinnerUrun.setModel(spinnerModel);

    cLabelUrunAdet = new JLabel();
    cLabelUrunAdet.setBounds(10, 160, 120, 20);
    cPanelFirmaSatis.add(cLabelUrunAdet);
    cLabelUrunAdet.setText("Adet");
    cLabelUrunAdet.setFont(new Font("Tahoma", Font.BOLD, 14));
    getContentPane().add(JButtonIptal);
    getContentPane().add(JButtonSil);
    getContentPane().add(JButtonKaydet);
    getContentPane().add(cTablePanelUrunListesi);
    getContentPane().add(cLabelFirmaOK);
    getContentPane().add(cLabelUrunOK);
    getContentPane().add(JButtonListeEkle);
    getContentPane().add(cLabelUrunBilgileri);

    jPanelBarkod = new JPanel();
    jPanelBarkod.setBorder(new LineBorder(new Color(0, 0, 0), 2));
    jPanelBarkod.setBackground(UIManager.getColor("Button.shadow"));
    jPanelBarkod.setBounds(38, 43, 380, 65);
    getContentPane().add(jPanelBarkod);
    jPanelBarkod.setLayout(null);

    jLabelBarkodBilgi = new JLabel();
    jLabelBarkodBilgi.setText("Barkod No");
    jLabelBarkodBilgi.setFont(new Font("Tahoma", Font.BOLD, 14));
    jLabelBarkodBilgi.setBounds(10, 22, 111, 20);
    jPanelBarkod.add(jLabelBarkodBilgi);

    cTextFieldBarkodNo = new CTextField();
    cTextFieldBarkodNo.setHorizontalAlignment(SwingConstants.CENTER);
    cTextFieldBarkodNo.setBounds(131, 22, 140, 20);
    jPanelBarkod.add(cTextFieldBarkodNo);

    jLabelBarkodControl = new JLabel("");
    jLabelBarkodControl.setFont(new Font("Tahoma", Font.BOLD, 11));
    jLabelBarkodControl.setHorizontalAlignment(SwingConstants.CENTER);
    jLabelBarkodControl.setBounds(275, 22, 95, 19);
    jPanelBarkod.add(jLabelBarkodControl);

    jLabelBarkod = new JLabel();
    jLabelBarkod.setText("BARKOD BİLGİSİ");
    jLabelBarkod.setHorizontalAlignment(SwingConstants.CENTER);
    jLabelBarkod.setFont(new Font("Tahoma", Font.BOLD, 16));
    jLabelBarkod.setBounds(38, 23, 380, 20);
    getContentPane().add(jLabelBarkod);

    initListeners();
    kategoriDoldur();
  }

  private void kategoriDoldur() {
    barkodNo();
    List<?> list;

    list = HibernateManager.getInstance().get(UrunGrup.class, false);
    UrunGrup ug = new UrunGrup();
    ug.setGrup(DEFAULT_COMBOBOX_VALUE);
    cComboBoxUrunGrup.setInitialObject(ug);
    cComboBoxUrunGrup.setObjects(list);

    list = HibernateManager.getInstance().get(UrunMarka.class, false);
    UrunMarka urunM = new UrunMarka();
    urunM.setMarka(DEFAULT_COMBOBOX_VALUE);
    cComboBoxUrunMarka.setInitialObject(urunM);
    cComboBoxUrunMarka.setObjects(list);

    list = HibernateManager.getInstance().get(UrunCinsiyet.class, false);
    UrunCinsiyet uc = new UrunCinsiyet();
    uc.setCinsiyet(DEFAULT_COMBOBOX_VALUE);
    cComboBoxUrunCinsiyet.setInitialObject(uc);
    cComboBoxUrunCinsiyet.setObjects(list);

    list = HibernateManager.getInstance().get(Firma.class, false);
    Firma uf = new Firma();
    uf.setFirmaAd(DEFAULT_COMBOBOX_VALUE);
    cComboBoxUrunFirma.setInitialObject(uf);
    cComboBoxUrunFirma.setObjects(list);

    jDateChooserUrunTarih.setDate(new Date());
    cTablePanelUrunListesi.refresh();

    list = HibernateManager.getInstance().get(UrunSezon.class, false);
    cComboBoxUrunSezon.setObjects(list);
    if (cComboBoxUrunSezon.getItemCount() > 0) {
      cComboBoxUrunSezon.setSelectedIndex(0);
    }
  }

  private void initListeners() {

    addWindowListener(new WindowAdapter() {
      @Override
      public void windowClosing(WindowEvent e) {
        anaEkranSetEnable();
      }
    });

    cTextFieldUrunRenk.addMouseListener(new MouseAdapter() {
      @Override
      public void mouseClicked(MouseEvent arg0) {
        PSARenkSecimEkrani renkSecim = new PSARenkSecimEkrani(instance);
        Renk secilenRenk = renkSecim.showDialog();
        if (secilenRenk == null) {
          cTextFieldUrunRenk.setBackground(Color.WHITE);
          cTextFieldUrunRenk.setText("RENK YOK");
          urunRenk = null;
        } else {
          cTextFieldUrunRenk.setBackground(secilenRenk.getColor());
          cTextFieldUrunRenk.setText(secilenRenk.getName());
          urunRenk = secilenRenk;
        }
      }
    });

    cTextFieldUrunAlisTamKisim.addFocusListener(new FocusAdapter() {
      @Override
      public void focusGained(FocusEvent e) {
        if (cTextFieldUrunAlisTamKisim.getText().equals("0")) {
          cTextFieldUrunAlisTamKisim.setText("");
        }
      }

      @Override
      public void focusLost(FocusEvent arg0) {
        if (cTextFieldUrunAlisTamKisim.getText().equals("")) {
          cTextFieldUrunAlisTamKisim.setText("0");
        }
      }
    });

    cTextFieldUrunAlisKurusKisim.addFocusListener(new FocusAdapter() {
      @Override
      public void focusGained(FocusEvent e) {
        if (cTextFieldUrunAlisKurusKisim.getText().equals("00")) {
          cTextFieldUrunAlisKurusKisim.setText("");
        }
      }

      @Override
      public void focusLost(FocusEvent e) {
        if (cTextFieldUrunAlisKurusKisim.getText().equals("")) {
          cTextFieldUrunAlisKurusKisim.setText("00");
        }
        if (cTextFieldUrunAlisKurusKisim.getText().length() == 1) {
          String kurusKisim = cTextFieldUrunAlisKurusKisim.getText()
              + "0";
          cTextFieldUrunAlisKurusKisim.setText(kurusKisim);
        }
      }
    });

    cTextFieldUrunPesinSatisFiyatTamKisim
        .addFocusListener(new FocusAdapter() {
          @Override
          public void focusGained(FocusEvent e) {
            if (cTextFieldUrunPesinSatisFiyatTamKisim.getText()
                .equals("0")) {
              cTextFieldUrunPesinSatisFiyatTamKisim.setText("");
            }
          }

          @Override
          public void focusLost(FocusEvent e) {
            if (cTextFieldUrunPesinSatisFiyatTamKisim.getText()
                .equals("")) {
              cTextFieldUrunPesinSatisFiyatTamKisim.setText("0");
            }
          }
        });

    cTextFieldUrunPesinSatisFiyatKurusKisim
        .addFocusListener(new FocusAdapter() {
          @Override
          public void focusGained(FocusEvent e) {
            if (cTextFieldUrunPesinSatisFiyatKurusKisim.getText()
                .equals("00")) {
              cTextFieldUrunPesinSatisFiyatKurusKisim.setText("");
            }
          }

          @Override
          public void focusLost(FocusEvent e) {
            if (cTextFieldUrunPesinSatisFiyatKurusKisim.getText()
                .equals("")) {
              cTextFieldUrunPesinSatisFiyatKurusKisim
                  .setText("00");
            }

            if (cTextFieldUrunPesinSatisFiyatKurusKisim.getText()
                .length() == 1) {
              String kurusKisim = cTextFieldUrunPesinSatisFiyatKurusKisim
                  .getText() + "0";
              cTextFieldUrunPesinSatisFiyatKurusKisim
                  .setText(kurusKisim);
            }
          }
        });

    cTextFieldUrunTaksitliSatisFiyatTamKisim
        .addFocusListener(new FocusAdapter() {
          @Override
          public void focusGained(FocusEvent e) {
            if (cTextFieldUrunTaksitliSatisFiyatTamKisim.getText()
                .equals("0")) {
              cTextFieldUrunTaksitliSatisFiyatTamKisim
                  .setText("");
            }
          }

          @Override
          public void focusLost(FocusEvent e) {
            if (cTextFieldUrunTaksitliSatisFiyatTamKisim.getText()
                .equals("")) {
              cTextFieldUrunTaksitliSatisFiyatTamKisim
                  .setText("0");
            }
          }
        });

    cTextFieldUrunTaksitliSatisFiyatKurusKisim
        .addFocusListener(new FocusAdapter() {
          @Override
          public void focusGained(FocusEvent e) {
            if (cTextFieldUrunTaksitliSatisFiyatKurusKisim
                .getText().equals("00")) {
              cTextFieldUrunTaksitliSatisFiyatKurusKisim
                  .setText("");
            }
          }

          @Override
          public void focusLost(FocusEvent e) {
            if (cTextFieldUrunTaksitliSatisFiyatKurusKisim
                .getText().equals("")) {
              cTextFieldUrunTaksitliSatisFiyatKurusKisim
                  .setText("00");
            }

            if (cTextFieldUrunTaksitliSatisFiyatKurusKisim
                .getText().length() == 1) {
              String kurusKisim = cTextFieldUrunTaksitliSatisFiyatKurusKisim
                  .getText() + "0";
              cTextFieldUrunTaksitliSatisFiyatKurusKisim
                  .setText(kurusKisim);
            }
          }
        });

    cComboBoxUrunSezon.addItemListener(new ItemListener() {
      @Override
      public void itemStateChanged(ItemEvent event) {
        comboBoxUrunSezonChanged(event);
      }
    });

    cComboBoxUrunGrup.addItemListener(new ItemListener() {
      @Override
      public void itemStateChanged(ItemEvent event) {
        comboBoxUrunGrupChanged(event);
      }
    });

    JButtonListeEkle.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent arg0) {
        if (kdvPercentControl()) {
          AutoClosingMessageDialog.showAutoClosingMessageDialog(
              "Ürün KDV(%)'si %99'u geçemez.", 2);
          cSpinnerKDVOrani.setValue(99);
          return;
        }
        if (cComboBoxUrunGrup.getSelectedItem() != null) {
          listeEkleClicked();
        } else {
          Utils.showMessage("Eklemek istediğiniz ürünün grubunu giriniz.");
        }
      }
    });

    JButtonUrunSezonGuncelle.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent arg0) {
        sezonGuncelleClicked();
      }
    });

    JButtonUrunGrupGuncelle.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        urunGrupGuncelleClicked();
      }
    });

    JButtonUrunCinsGuncelle.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        urunCinsGuncelleClicked();
      }
    });

    JButtonUrunBedenGuncelle.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        urunBedenGuncelleClicked();
      }
    });

    JButtonUrunMarkaGuncelle.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        urunMarkaGuncelleClicked();
      }
    });

    JButtonUrunCinsiyetGuncelle.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent arg0) {
        urunCinsiyetGuncelleClicked();
      }
    });

    JButtonFirmaBilgiGuncelle.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        urunFirmaGuncelleClicked();
      }
    });

    cTablePanelUrunListesi.getTable().getSelectionModel()
        .addListSelectionListener(new ListSelectionListener() {
          @Override
          public void valueChanged(ListSelectionEvent e) {
            if (e.getValueIsAdjusting()) {
              return;
            }
            urun = (UrunListesi) cTablePanelUrunListesi
                .getSelectedObject();
            if (urun == null) {
              JButtonSil.setEnabled(false);
            } else {
              JButtonSil.setEnabled(true);
            }

          }
        });

    JButtonIptal.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        iptalButtonClicked();
      }
    });

    JButtonSil.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        urunSilClicked();
      }
    });

    JButtonKaydet.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        kaydetButtonClicked();
      }
    });

    ((JSpinner.DefaultEditor) cSpinnerKDVOrani.getEditor()).getTextField()
        .addMouseListener(new MouseAdapter() {
          @Override
          public void mouseClicked(MouseEvent arg0) {
            ((JSpinner.DefaultEditor) cSpinnerKDVOrani.getEditor())
                .getTextField().setEditable(true);
            ((JSpinner.DefaultEditor) cSpinnerKDVOrani.getEditor())
                .getTextField().selectAll();

          }
        });

    ((JSpinner.DefaultEditor) cSpinnerKDVOrani.getEditor()).getTextField()
        .addFocusListener(new FocusListener() {

          @Override
          public void focusLost(FocusEvent arg0) {
            if (kdvPercentControl()) {
              AutoClosingMessageDialog
                  .showAutoClosingMessageDialog(
                      "Ürün KDV(%)'si %99'u geçemez.", 2);
              cSpinnerKDVOrani.setValue(99);
            }
          }

          @Override
          public void focusGained(FocusEvent arg0) {

          }

        });

    cSpinnerKDVOrani.addChangeListener(new ChangeListener() {
      @Override
      public void stateChanged(ChangeEvent e) {
        ((JSpinner.DefaultEditor) cSpinnerKDVOrani.getEditor())
            .getTextField().setEditable(false);
      }
    });

    ((JSpinner.DefaultEditor) cSpinnerKDVOrani.getEditor()).getTextField()
        .addKeyListener(new KeyAdapter() {
          @Override
          public void keyTyped(KeyEvent e) {
            char keyChar = e.getKeyChar();
            if ((keyChar >= '0' && keyChar <= '9')
                || keyChar == '.') {
              return;
            }
            e.consume();
          }
        });

    ((JSpinner.DefaultEditor) cSpinnerUrun.getEditor()).getTextField()
        .addMouseListener(new MouseAdapter() {
          @Override
          public void mouseClicked(MouseEvent arg0) {
            ((JSpinner.DefaultEditor) cSpinnerUrun.getEditor())
                .getTextField().setEditable(true);
            ((JSpinner.DefaultEditor) cSpinnerUrun.getEditor())
                .getTextField().selectAll();

          }
        });

    cSpinnerUrun.addChangeListener(new ChangeListener() {
      @Override
      public void stateChanged(ChangeEvent e) {
        ((JSpinner.DefaultEditor) cSpinnerUrun.getEditor())
            .getTextField().setEditable(false);
      }
    });

    ((JSpinner.DefaultEditor) cSpinnerUrun.getEditor()).getTextField()
        .addKeyListener(new KeyAdapter() {
          @Override
          public void keyTyped(KeyEvent e) {
            char keyChar = e.getKeyChar();
            if ((keyChar >= '0' && keyChar <= '9')
                || keyChar == '.') {
              return;
            }
            e.consume();
          }
        });

    cTextFieldBarkodNo.addFocusListener(new FocusAdapter() {
      @Override
      public void focusLost(FocusEvent e) {
        barkodControlMetod();
      }

      @Override
      public void focusGained(FocusEvent e) {
        barkodControlMetod();
      }
    });
  }

  protected boolean kdvPercentControl() {
    String as = ((JSpinner.DefaultEditor) cSpinnerKDVOrani.getEditor())
        .getTextField().getText();
    if (Double.parseDouble(as) > 99) {
      return true;
    }
    return false;
  }

  protected void kaydetButtonClicked() {
    if (!(cTablePanelUrunListesi.getTable().getRowCount() > 0)) {
      Utils.showMessage("Listede stok kaydı yapılacak ürün bulunmamaktadır.");
      return;
    }

    cTablePanelUrunListesi.clearSelection();
    listeDoldur();
    boolean check = HibernateManager.getInstance().saveAll(urunListesi);
    if (check) {
      HibernateManager.getInstance().clearTable(UrunListesi.class);
      AutoClosingMessageDialog.showAutoClosingMessageDialog(
          "Ürünlerin stok kaydı yapılmıştır.", 2);
    }
  }

  protected void iptalButtonClicked() {
    anaEkranSetEnable();
  }

  protected void urunFirmaGuncelleClicked() {
    PSAFirmaEklemeEkrani.getInstance(0).setVisible(true);
    setEnabled(false);
  }

  protected void urunCinsiyetGuncelleClicked() {
    PSAUrunKategoriGuncelleme.getInstance("CİNSİYET", "YOK", 1).setVisible(
        true);
    setEnabled(false);
  }

  protected void urunMarkaGuncelleClicked() {
    PSAUrunKategoriGuncelleme.getInstance("MARKA", "YOK", 1).setVisible(
        true);
    setEnabled(false);
  }

  protected void urunBedenGuncelleClicked() {
    String bedenGrup = "YOK";
    if (cComboBoxUrunGrup.getSelectedItem() != null) {
      bedenGrup = cComboBoxUrunGrup.getSelectedItem().toString();
    }
    PSAUrunKategoriGuncelleme.getInstance("BEDEN", bedenGrup, 1)
        .setVisible(true);
    setEnabled(false);
  }

  protected void urunCinsGuncelleClicked() {
    String modelGrup = "YOK";
    if (cComboBoxUrunGrup.getSelectedItem() != null) {
      modelGrup = cComboBoxUrunGrup.getSelectedItem().toString();
    }
    PSAUrunKategoriGuncelleme.getInstance("MODEL", modelGrup, 1)
        .setVisible(true);
    setEnabled(false);
  }

  protected void urunGrupGuncelleClicked() {
    String grupSezon = cComboBoxUrunSezon.getSelectedItem().toString();
    PSAUrunKategoriGuncelleme.getInstance("GRUP", grupSezon, 1).setVisible(
        true);
    setEnabled(false);
  }

  protected void sezonGuncelleClicked() {
    PSAUrunKategoriGuncelleme.getInstance("SEZON", "YOK", 1).setVisible(
        true);
    setEnabled(false);
  }

  protected void barkodLengthControl(String urunBarkod) {
    if (urunBarkod.length() < 5) {
      barkodUnusable();
    } else if (urunBarkod.length() >= 5 && urunBarkod.length() <= 9) {
      barkodUsable();
    } else if (urunBarkod.length() > 9) {
      barkodUnusable();
    }
  }

  protected void barkodControlMetod() {
    if (cTextFieldBarkodNo.getText().trim().equals("")) {
      barkodUnusable();
      return;
    }
    UrunStok urunStok = (UrunStok) HibernateManager.getInstance()
        .getObjectWithUniqueColumn(UrunStok.class, "barkod",
            Long.parseLong(cTextFieldBarkodNo.getText()));
    UrunListesi urunListesi = (UrunListesi) HibernateManager.getInstance()
        .getObjectWithUniqueColumn(UrunListesi.class, "barkod",
            Long.parseLong(cTextFieldBarkodNo.getText()));
    if (urunStok != null || urunListesi != null) {
      barkodUnusable();
    } else {
      barkodLengthControl(cTextFieldBarkodNo.getText());
    }
  }

  private void barkodUsable() {
    jLabelBarkodControl.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/ok.png"));
    jLabelBarkodControl.setForeground(new Color(0, 153, 0));
    jLabelBarkodControl.setText("GEÇERLİ");
    barkodControl = true;
  }

  private void barkodUnusable() {
    jLabelBarkodControl.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/cancel.png"));
    jLabelBarkodControl.setForeground(Color.RED);
    jLabelBarkodControl.setText("GEÇERSİZ");
    barkodControl = false;
  }

  protected void anaEkranSetEnable() {
    PSAAnaEkran.getInstance(null).setEnabled(true);
    instance.dispose();
  }

  @SuppressWarnings("unchecked")
  protected void listeDoldur() {
    List<UrunListesi> urunList = (List<UrunListesi>) HibernateManager
        .getInstance().get(UrunListesi.class);
    urunListesi.clear();
    for (int i = 0; i < urunList.size(); i++) {
      urunListesi.add(new UrunStok(urunList.get(i)));
    }
  }

  protected void listeEkleClicked() {
    if (barkodControl == false) {
      AutoClosingMessageDialog.showAutoClosingMessageDialog(
          "Geçerli bir barkod numarası giriniz.", 2);
      return;
    }
    if (cComboBoxUrunGrup.getSelectedItem().toString()
        .equals(DEFAULT_COMBOBOX_VALUE)) {
      AutoClosingMessageDialog.showAutoClosingMessageDialog(
          "Ürünün grubunu giriniz.", 2);
      return;
    }
    urun = new UrunListesi();
    urun.setBarkod(Long.parseLong(cTextFieldBarkodNo.getText()));
    urun.setSezon(cComboBoxUrunSezon.getSelectedItem().toString());
    if (!cComboBoxUrunModel.getSelectedItem().toString()
        .equals(DEFAULT_COMBOBOX_VALUE)) {
      urun.setModel(cComboBoxUrunModel.getSelectedItem().toString());
    }
    if (!cComboBoxUrunBeden.getSelectedItem().toString()
        .equals(DEFAULT_COMBOBOX_VALUE)) {
      urun.setBeden(cComboBoxUrunBeden.getSelectedItem().toString());
    }
    if (urunRenk != null) {
      urun.setRenk(urunRenk.getColor());
      urun.setRenkAd(urunRenk.getName());
    } else {
      urun.setRenk(null);
      urun.setRenkAd("RENK YOK");
    }
    if (!cComboBoxUrunCinsiyet.getSelectedItem().toString()
        .equals(DEFAULT_COMBOBOX_VALUE)) {
      urun.setCinsiyet(cComboBoxUrunCinsiyet.getSelectedItem().toString());
    }
    if (!cComboBoxUrunMarka.getSelectedItem().toString()
        .equals(DEFAULT_COMBOBOX_VALUE)) {
      urun.setMarka(cComboBoxUrunMarka.getSelectedItem().toString());
    }
    if (!cComboBoxUrunFirma.getSelectedItem().toString()
        .equals(DEFAULT_COMBOBOX_VALUE)) {
      urun.setFirmaAd(cComboBoxUrunFirma.getSelectedItem().toString());
    }
    urun.setTarih(jDateChooserUrunTarih.getDate());
    urun.setGrup(cComboBoxUrunGrup.getSelectedItem().toString());
    if (Integer.parseInt(cSpinnerUrun.getValue().toString()) > 0) {
      urun.setAdet(Integer.parseInt(cSpinnerUrun.getValue().toString()));
      if (fiyatHesapla(cTextFieldUrunAlisTamKisim.getText(),
          cTextFieldUrunAlisKurusKisim.getText()) > 0) {
        urun.setAlisFiyati(fiyatHesapla(
            cTextFieldUrunAlisTamKisim.getText(),
            cTextFieldUrunAlisKurusKisim.getText()));
        if (fiyatHesapla(
            cTextFieldUrunPesinSatisFiyatTamKisim.getText(),
            cTextFieldUrunPesinSatisFiyatKurusKisim.getText()) > 0) {
          urun.setPesinSatisFiyati(fiyatHesapla(
              cTextFieldUrunPesinSatisFiyatTamKisim.getText(),
              cTextFieldUrunPesinSatisFiyatKurusKisim.getText()));
          if (fiyatHesapla(
              cTextFieldUrunTaksitliSatisFiyatTamKisim.getText(),
              cTextFieldUrunTaksitliSatisFiyatKurusKisim
                  .getText()) > 0) {
            urun.setTaksitliSatisFiyati(fiyatHesapla(
                cTextFieldUrunTaksitliSatisFiyatTamKisim
                    .getText(),
                cTextFieldUrunTaksitliSatisFiyatKurusKisim
                    .getText()));

            urun.setKdvMiktari(Double.parseDouble(cSpinnerKDVOrani
                .getValue().toString()));
            urun.setKod(urunKodu(urun));
            addListeControl(urun);
          } else {
            Utils.showMessage("Eklemek istediğiniz ürünün taksitli satış fiyatını giriniz.");
          }
        } else {
          Utils.showMessage("Eklemek istediğiniz ürünün peşin satış fiyatını giriniz.");
        }
      } else {
        Utils.showMessage("Eklemek istediğiniz ürünün alış fiyatını giriniz.");
      }
    } else {
      Utils.showMessage("Eklemek istediğiniz ürünün miktarını giriniz.");
    }
  }

  protected void urunSilClicked() {
    int selectedOption = JOptionPane
        .showOptionDialog(
            null,
            "Ürün ekleme listesinden ürünü silmek istediğinzden emin misiniz?",
            "SİSTEM UYARISI", JOptionPane.OK_CANCEL_OPTION,
            JOptionPane.INFORMATION_MESSAGE, null, new String[] {
                "EVET", "HAYIR" }, "default");
    if (selectedOption == JOptionPane.YES_OPTION) {
      boolean check = HibernateManager.getInstance().delete(urun);
      if (check) {
        AutoClosingMessageDialog.showAutoClosingMessageDialog(
            "Ürün listeden başarı ile silinmiştir.", 2);
      }
      cTablePanelUrunListesi.getTable().clearSelection();
    }
  }

  private void barkodNo() {
    cTextFieldBarkodNo.setText(String.valueOf(BarcodeGenerator
        .barcodGenerator()));
    barkodControlMetod();
  }

  private void comboBoxUrunGrupChanged(ItemEvent event) {
    if (event.getStateChange() == ItemEvent.DESELECTED) {
      return;
    }
    if (cComboBoxUrunGrup.getSelectedItem().toString()
        .equals(DEFAULT_COMBOBOX_VALUE)) {
      cComboBoxUrunModel.setSelectedIndex(-1);
      cComboBoxUrunModel.setEnabled(false);
      cComboBoxUrunBeden.setSelectedIndex(-1);
      cComboBoxUrunBeden.setEnabled(false);
      return;
    }

    UrunGrup selectedUrunGrup = (UrunGrup) cComboBoxUrunGrup
        .getSelectedItem();

    cComboBoxUrunModel.removeAllItems();
    cComboBoxUrunModel
        .setEntityAndColumnName(selectedUrunGrup, "urunModel");
    UrunModel um = new UrunModel();
    um.setModel(DEFAULT_COMBOBOX_VALUE);
    cComboBoxUrunModel.setInitialObject(um);
    cComboBoxUrunModel.refresh();
    cComboBoxUrunModel.setEnabled(true);

    cComboBoxUrunBeden.removeAllItems();
    cComboBoxUrunBeden
        .setEntityAndColumnName(selectedUrunGrup, "urunBeden");
    UrunBeden ub = new UrunBeden();
    ub.setBeden(DEFAULT_COMBOBOX_VALUE);
    cComboBoxUrunBeden.setInitialObject(ub);
    cComboBoxUrunBeden.refresh();
    cComboBoxUrunBeden.setEnabled(true);

  }

  private void comboBoxUrunSezonChanged(ItemEvent event) {
    if (event.getStateChange() == ItemEvent.DESELECTED) {
      return;
    }
    UrunSezon selectedUrunSezon = (UrunSezon) cComboBoxUrunSezon
        .getSelectedItem();
    cComboBoxUrunGrup.setEntityAndColumnName(selectedUrunSezon, "urunGrup");
    cComboBoxUrunGrup.refresh();
  }

  private static double fiyatHesapla(String tamKisim, String kurusKisim) {
    double fiyat = Double.parseDouble(tamKisim)
        + (Double.parseDouble(kurusKisim) * 1 / 100);
    return fiyat;
  }

  @SuppressWarnings("unchecked")
  private void addListeControl(UrunListesi urun) {
    boolean control = true;
    urunListesi = (List<Entity>) HibernateManager.getInstance().get(
        UrunListesi.class);
    if (urunListesi.size() > 0) {
      for (int i = 0; i < urunListesi.size(); i++) {
        UrunListesi ul = (UrunListesi) urunListesi.get(i);
        if (ul.getSezon().equals(urun.getSezon())
            && ul.getGrup().equals(urun.getGrup())
            && ul.getModel().equals(urun.getModel())
            && ul.getBeden().equals(urun.getBeden())
            && ul.getRenkAd().equals(urun.getRenkAd())
            && ul.getCinsiyet().equals(urun.getCinsiyet())
            && ul.getMarka().equals(urun.getMarka())
            && ul.getFirmaAd().equals(urun.getFirmaAd())
            && ul.getAlisFiyati() == urun.getAlisFiyati()
            && ul.getKdvMiktari() == urun.getKdvMiktari()
            && ul.getPesinSatisFiyati() == urun
                .getPesinSatisFiyati()
            && ul.getTaksitliSatisFiyati() == urun
                .getTaksitliSatisFiyati()) {
          ul.setAdet(ul.getAdet() + urun.getAdet());
          ul.setTarih(urun.getTarih());
          HibernateManager.getInstance().update(ul);
          control = false;
          break;
        }
      }
    }
    if (control == true) {
      boolean check = HibernateManager.getInstance().save(urun);
      if (check) {
        barkodNo();
      }
    }
  }

  private String urunKodu(UrunListesi urun) {
    UrunKodOlustur olustur = new UrunKodOlustur();
    String urunKodu = olustur.olustur(urun.getMarka(), urun.getGrup(),
        urun.getModel(), urun.getCinsiyet(), urun.getTarih(),
        urun.getSezon(), urun.getBarkod());

    return urunKodu;
  }
}
TOP

Related Classes of gui.PSAUrunEklemeEkrani

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.