Package giris.gui

Source Code of giris.gui.PSAAnaEkran

package giris.gui;

import hibernateSwingApi.component.CComboBox;
import hibernateSwingApi.component.CTable;
import hibernateSwingApi.component.CTextField;
import hibernateSwingApi.component.TablePanel;
import hibernateSwingApi.hibernate.HibernateManager;
import hibernateSwingApi.utils.Utils;
import iade.gui.PSAIadeEkrani;

import java.awt.AWTException;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Frame;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.SystemColor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
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.KeyListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;

import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
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 javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;

import kampanya.manager.DiscountManager;
import kampanya.pojos.Discountable;
import kullanici.pojos.Kullanici;
import kullanici.pojos.KullaniciTakip;
import pdf.ReportInfo;
import personel.pojos.Personel;
import satis.gui.PSAKrediKartOdemeEkrani;
import satis.manager.SatisManager;
import satis.pojos.BekleyenSatis;
import satisBilgi.pojos.OdemeBilgileri;
import satisBilgi.pojos.UrunSatis;
import service.AutoClosingMessageDialog;
import service.PSAUtil;
import service.SatisBilgi;
import urun.gui.PSASevkHareketleriEkrani;
import urun.gui.PSAUrunSevk;
import urun.gui.PSAUrunSevkBilgisiEkrani;
import urun.pojos.Urun;
import urun.pojos.UrunStok;
import banka.pojos.POSBilgileri;
import cari.gui.PSAMusteriSecimEkrani;
import cari.pojos.Musteri;
import control.DecimalValue;
import control.PercentControl;
import control.PriceControl;
import database.DatabaseConnection;
import detayliArama.gui.PSADetayliArama;

public class PSAAnaEkran extends JFrame {

  private static final long serialVersionUID = 1L;

  private static PSAAnaEkran instance;
  private JTabbedPane jTabbedPaneAnaEkran;
  private JPanel cPanelSatis;
  private JButton JButtonKullaniciCikis;
  private JButton cEnterButton;
  private JPanel cPanelUrunIslemleri;
  private TablePanel cTablePanelUrun;
  private JLabel cLabelKullanici;
  public JLabel cLabelKullaniciAd;
  private JLabel cLabelUrunListesi;
  private JPanel cPanelSatisListesi;
  private JLabel cLabelSatisListesi;
  private JPanel cPanelPesinFiyat;
  private JLabel cLabelPesinToplam;
  private static JLabel cLabelPesinFiyatBilgi;
  private JLabel cLabelToplamTL;
  private static JButton JButtonVadeUygula;
  private JPanel cPanelTaksitFiyat;
  private JLabel cLabelTaksitToplam;
  private static JLabel cLabelTaksitFiyatBilgi;
  private JLabel cLabelToplamTLL;
  private JPanel cPanelIskonto;
  private JLabel cLabelIskontoYuzde;
  private JLabel cLabelToplamKDV;
  private static JLabel cLabelToplamKDVBilgi;
  private JLabel cLabelToplamKDVTL;
  private static CTextField cTextFieldIskontoYuzde;
  private JLabel cLabelIskontoTL;
  private static CTextField cTextFieldIskontoTL;
  private CTextField cTextFieldBarkodVeyaMiktar;
  private JButton JButtonNakit;
  private JPanel cPanelSatisKismi;
  private JPanel cPanelSatisBarkod;
  private JPanel numericPad;
  private static CComboBox<Personel> cComboBoxPersonelPrim;
  private NumericPad panel = new NumericPad();
  private Robot robot = null;
  private static CTable cTableSatisListesi;
  private JScrollPane scrollPane;
  private static UrunSatis urunSatis;
  private static UrunStok urunStok;
  private BekleyenSatis bekleyenSatis;
  private Urun urun;
  private Personel personel;
  private static Musteri musteriBilgi;
  private static KullaniciTakip kullaniciTakip;
  private static Kullanici kullaniciT;
  private static boolean vadeFark = false;
  private static boolean sevkControl = true;
  private JButton JButtonIade;
  private JPopupMenu pUrunMenu;
  private JMenuItem urunMenuItem;
  private JMenuItem urunMenuItem2;
  private JLabel jLabelAltiSoftIcon;
  private JButton jButtonDetayliArama;
  private static CTextField cTextFieldMusteriSec;
  private JButton jButtonSatisBekletme;
  private JPanel jPanelBekleyenSatis;
  private JLabel jLabelBekleyenSatisBilgi;
  private TablePanel cTablePanelBekleyenSatis;
  private JButton jButtonBekleyenSatisSec;
  private JButton jButtonBekleyenSatisSil;
  private JPanel cPanelButton;
  private JButton jButtonKrediKart;
  private OdemeBilgileri odemeBilgisi;
  private JLabel jLabelKampanyaTutar;
  private static JLabel jLabelKampanyaTutarBilgi;
  private JLabel jLabelKampanyaTL;
  private JPanel jPanelIndirim;
  private JButton jButtonSevkEt;
  private JButton jButtonSevkOnay;
  private JButton jButtonSevkHareketleri;

  private static List<UrunSatis> urunSatisListesi = new LinkedList<>();
  private static List<UrunSatis> satilanUrunListesi = new LinkedList<>();

  private int urunSatisSonAdet = 0;
  private int urunSatisIlkAdet = 0;
  private static double pesinToplam;
  private static double indirimToplam;
  private static double kdvToplam;
  private static double toplamTutar;

  private static final String KULLANICI_IZIN_YOK = "HAYIR";
  private static final String NAKIT = "NAKİT";
  private static final String KREDI_KART = "KREDİ KART";
  private static final String MUSTERI_DEFAULT_VALUE = "Müşteri Seçiniz";

  public static PSAAnaEkran getInstance(Kullanici kullanici) {
    if (kullanici != null) {
      instance = new PSAAnaEkran(kullanici);
      kullaniciTakipSistemi(kullanici);
    }
    return instance;
  }

  private static void kullaniciTakipSistemi(Kullanici kullanici) {
    kullaniciT = kullanici;
    kullaniciTakip = new KullaniciTakip();
    kullaniciTakip.setKullaniciAdi(kullaniciT.getKullaniciAdi());
    kullaniciTakip.setGirisSaat(new Date());
  }

  public PSAAnaEkran(Kullanici kullanici) {
    initialize(kullanici);
  }

  private void initialize(Kullanici kullanici) {
    setTitle("PSA ANA EKRAN");
    setMinimumSize(new Dimension(1024, 768));
    setExtendedState(getExtendedState() | Frame.MAXIMIZED_BOTH);
    setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
    setIconImage(PSAUtil.getImageIconViaRelativePath("picture/psaIcon.png")
        .getImage());
    numericPad = panel.numericPad();

    pUrunMenu = new JPopupMenu();
    urunMenuItem = new JMenuItem("Satış Yap");
    pUrunMenu.add(urunMenuItem);
    urunMenuItem2 = new JMenuItem("Sevk Et");
    pUrunMenu.add(urunMenuItem2);

    cEnterButton = panel.getcButtonEnter();
    cTextFieldBarkodVeyaMiktar = panel.getcTextFieldBarkodVeyaMiktar();
    GridBagLayout gridBagLayout = new GridBagLayout();
    gridBagLayout.columnWidths = new int[] { 1354, 0 };
    gridBagLayout.rowHeights = new int[] { 72, 643, 0 };
    gridBagLayout.columnWeights = new double[] { 1.0, Double.MIN_VALUE };
    gridBagLayout.rowWeights = new double[] { 0.0, 1.0, Double.MIN_VALUE };
    getContentPane().setLayout(gridBagLayout);

    jTabbedPaneAnaEkran = new JTabbedPane(SwingConstants.TOP);
    jTabbedPaneAnaEkran.setFont(new Font("Tahoma", Font.BOLD, 15));

    cPanelSatis = new JPanel();
    jTabbedPaneAnaEkran
        .addTab("Sat\u0131\u015F",
            PSAUtil.getImageIconViaRelativePath("picture/satisSayfasi.png"),
            cPanelSatis, "Satış ile İlgili İşlemler");
    GridBagLayout gbl_cPanelSatis = new GridBagLayout();
    gbl_cPanelSatis.columnWidths = new int[] { 208, 671, 471, 0 };
    gbl_cPanelSatis.rowHeights = new int[] { 280, 326, 0 };
    gbl_cPanelSatis.columnWeights = new double[] { 0.0, 1.0, 1.0,
        Double.MIN_VALUE };
    gbl_cPanelSatis.rowWeights = new double[] { 0.0, 1.0, Double.MIN_VALUE };
    cPanelSatis.setLayout(gbl_cPanelSatis);

    cPanelSatisListesi = new JPanel();
    cPanelSatisListesi.setBorder(new LineBorder(new Color(0, 0, 0), 2));
    GridBagConstraints gbc_cPanelSatisListesi = new GridBagConstraints();
    gbc_cPanelSatisListesi.fill = GridBagConstraints.BOTH;
    gbc_cPanelSatisListesi.insets = new Insets(0, 0, 5, 5);
    gbc_cPanelSatisListesi.gridwidth = 2;
    gbc_cPanelSatisListesi.gridx = 0;
    gbc_cPanelSatisListesi.gridy = 0;
    cPanelSatis.add(cPanelSatisListesi, gbc_cPanelSatisListesi);
    GridBagLayout gbl_cPanelSatisListesi = new GridBagLayout();
    gbl_cPanelSatisListesi.columnWidths = new int[] { 673, 197, 0 };
    gbl_cPanelSatisListesi.rowHeights = new int[] { 41, 216, 0 };
    gbl_cPanelSatisListesi.columnWeights = new double[] { 1.0, 0.0,
        Double.MIN_VALUE };
    gbl_cPanelSatisListesi.rowWeights = new double[] { 0.0, 1.0,
        Double.MIN_VALUE };
    cPanelSatisListesi.setLayout(gbl_cPanelSatisListesi);

    cLabelSatisListesi = new JLabel();
    cLabelSatisListesi.setHorizontalAlignment(SwingConstants.CENTER);
    cLabelSatisListesi.setText("SATIŞ LİSTESİ");
    cLabelSatisListesi.setFont(new Font("Tahoma", Font.BOLD, 16));
    GridBagConstraints gbc_cLabelSatisListesi = new GridBagConstraints();
    gbc_cLabelSatisListesi.fill = GridBagConstraints.BOTH;
    gbc_cLabelSatisListesi.insets = new Insets(0, 0, 5, 5);
    gbc_cLabelSatisListesi.gridx = 0;
    gbc_cLabelSatisListesi.gridy = 0;
    cPanelSatisListesi.add(cLabelSatisListesi, gbc_cLabelSatisListesi);

    jButtonSatisBekletme = new JButton("SATIŞ BEKLETME");
    jButtonSatisBekletme.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/satisBeklet.png"));
    jButtonSatisBekletme.setFont(new Font("Tahoma", Font.BOLD, 15));
    GridBagConstraints gbc_jButtonSatisBekletme = new GridBagConstraints();
    gbc_jButtonSatisBekletme.fill = GridBagConstraints.BOTH;
    gbc_jButtonSatisBekletme.insets = new Insets(0, 0, 5, 0);
    gbc_jButtonSatisBekletme.gridx = 1;
    gbc_jButtonSatisBekletme.gridy = 0;
    cPanelSatisListesi.add(jButtonSatisBekletme, gbc_jButtonSatisBekletme);

    scrollPane = new JScrollPane();

    cTableSatisListesi = new CTable((String) null, UrunSatis.class, true,
        false);
    cTableSatisListesi.setRowHeight(30);
    scrollPane.setViewportView(cTableSatisListesi);
    GridBagConstraints gbc_scrollPane = new GridBagConstraints();
    gbc_scrollPane.fill = GridBagConstraints.BOTH;
    gbc_scrollPane.gridwidth = 2;
    gbc_scrollPane.gridx = 0;
    gbc_scrollPane.gridy = 1;
    cPanelSatisListesi.add(scrollPane, gbc_scrollPane);

    cTableSatisListesi.setEntityAndColumnName(null, "");

    jPanelBekleyenSatis = new JPanel();
    jPanelBekleyenSatis.setBorder(new LineBorder(new Color(0, 0, 0), 2));
    jPanelBekleyenSatis.setBackground(UIManager.getColor("Button.shadow"));
    GridBagConstraints gbc_jPanelBekleyenSatis = new GridBagConstraints();
    gbc_jPanelBekleyenSatis.fill = GridBagConstraints.BOTH;
    gbc_jPanelBekleyenSatis.insets = new Insets(0, 0, 5, 0);
    gbc_jPanelBekleyenSatis.gridx = 2;
    gbc_jPanelBekleyenSatis.gridy = 0;
    cPanelSatis.add(jPanelBekleyenSatis, gbc_jPanelBekleyenSatis);
    GridBagLayout gbl_jPanelBekleyenSatis = new GridBagLayout();
    gbl_jPanelBekleyenSatis.columnWidths = new int[] { 231, 226, 0 };
    gbl_jPanelBekleyenSatis.rowHeights = new int[] { 32, 151, 41, 0 };
    gbl_jPanelBekleyenSatis.columnWeights = new double[] { 1.0, 1.0,
        Double.MIN_VALUE };
    gbl_jPanelBekleyenSatis.rowWeights = new double[] { 0.0, 1.0, 0.0,
        Double.MIN_VALUE };
    jPanelBekleyenSatis.setLayout(gbl_jPanelBekleyenSatis);

    jLabelBekleyenSatisBilgi = new JLabel();
    jLabelBekleyenSatisBilgi.setText("BEKLEYEN SATIŞ LİSTESİ");
    jLabelBekleyenSatisBilgi.setHorizontalAlignment(SwingConstants.CENTER);
    jLabelBekleyenSatisBilgi.setFont(new Font("Tahoma", Font.BOLD, 16));
    GridBagConstraints gbc_jLabelBekleyenSatisBilgi = new GridBagConstraints();
    gbc_jLabelBekleyenSatisBilgi.fill = GridBagConstraints.BOTH;
    gbc_jLabelBekleyenSatisBilgi.insets = new Insets(0, 0, 5, 0);
    gbc_jLabelBekleyenSatisBilgi.gridwidth = 2;
    gbc_jLabelBekleyenSatisBilgi.gridx = 0;
    gbc_jLabelBekleyenSatisBilgi.gridy = 0;
    jPanelBekleyenSatis.add(jLabelBekleyenSatisBilgi,
        gbc_jLabelBekleyenSatisBilgi);

    cTablePanelBekleyenSatis = new TablePanel((String) null,
        BekleyenSatis.class, true, true);
    cTablePanelBekleyenSatis.getTable().setAutoResizeMode(
        JTable.AUTO_RESIZE_ALL_COLUMNS);
    cTablePanelBekleyenSatis.getRaporButton().setVisible(false);
    GridBagConstraints gbc_cTablePanelBekleyenSatis = new GridBagConstraints();
    gbc_cTablePanelBekleyenSatis.fill = GridBagConstraints.BOTH;
    gbc_cTablePanelBekleyenSatis.insets = new Insets(0, 0, 5, 0);
    gbc_cTablePanelBekleyenSatis.gridwidth = 2;
    gbc_cTablePanelBekleyenSatis.gridx = 0;
    gbc_cTablePanelBekleyenSatis.gridy = 1;
    jPanelBekleyenSatis.add(cTablePanelBekleyenSatis,
        gbc_cTablePanelBekleyenSatis);

    jButtonBekleyenSatisSec = new JButton("GETİR");
    jButtonBekleyenSatisSec.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/satisGetir.png"));
    jButtonBekleyenSatisSec.setEnabled(false);
    jButtonBekleyenSatisSec.setFont(new Font("Tahoma", Font.BOLD, 15));
    GridBagConstraints gbc_jButtonBekleyenSatisSec = new GridBagConstraints();
    gbc_jButtonBekleyenSatisSec.fill = GridBagConstraints.BOTH;
    gbc_jButtonBekleyenSatisSec.insets = new Insets(0, 0, 0, 5);
    gbc_jButtonBekleyenSatisSec.gridx = 0;
    gbc_jButtonBekleyenSatisSec.gridy = 2;
    jPanelBekleyenSatis.add(jButtonBekleyenSatisSec,
        gbc_jButtonBekleyenSatisSec);

    jButtonBekleyenSatisSil = new JButton("SİL");
    jButtonBekleyenSatisSil.setEnabled(false);
    jButtonBekleyenSatisSil.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/silIcon.png"));
    jButtonBekleyenSatisSil.setFont(new Font("Tahoma", Font.BOLD, 15));
    GridBagConstraints gbc_jButtonBekleyenSatisSil = new GridBagConstraints();
    gbc_jButtonBekleyenSatisSil.fill = GridBagConstraints.BOTH;
    gbc_jButtonBekleyenSatisSil.gridx = 1;
    gbc_jButtonBekleyenSatisSil.gridy = 2;
    jPanelBekleyenSatis.add(jButtonBekleyenSatisSil,
        gbc_jButtonBekleyenSatisSil);
    cPanelSatisBarkod = new JPanel();
    cPanelSatisBarkod.add(numericPad);
    GridBagConstraints gbc_cPanelSatisBarkod = new GridBagConstraints();
    gbc_cPanelSatisBarkod.fill = GridBagConstraints.BOTH;
    gbc_cPanelSatisBarkod.insets = new Insets(0, 0, 0, 5);
    gbc_cPanelSatisBarkod.gridx = 0;
    gbc_cPanelSatisBarkod.gridy = 1;
    cPanelSatis.add(cPanelSatisBarkod, gbc_cPanelSatisBarkod);
    cPanelSatisBarkod.setLayout(new BoxLayout(cPanelSatisBarkod,
        BoxLayout.X_AXIS));
    cPanelSatisBarkod.updateUI();

    cPanelSatisKismi = new JPanel();
    cPanelSatisKismi.setBorder(new LineBorder(new Color(0, 0, 0), 2));
    cPanelSatisKismi.setBackground(SystemColor.inactiveCaption);
    GridBagConstraints gbc_cPanelSatisKismi = new GridBagConstraints();
    gbc_cPanelSatisKismi.fill = GridBagConstraints.BOTH;
    gbc_cPanelSatisKismi.insets = new Insets(0, 0, 0, 5);
    gbc_cPanelSatisKismi.gridx = 1;
    gbc_cPanelSatisKismi.gridy = 1;
    cPanelSatis.add(cPanelSatisKismi, gbc_cPanelSatisKismi);
    GridBagLayout gbl_cPanelSatisKismi = new GridBagLayout();
    gbl_cPanelSatisKismi.columnWidths = new int[] { 314, 298, 0 };
    gbl_cPanelSatisKismi.rowHeights = new int[] { 45, 35, 44, 20, 40, 85, 0 };
    gbl_cPanelSatisKismi.columnWeights = new double[] { 1.0, 1.0,
        Double.MIN_VALUE };
    gbl_cPanelSatisKismi.rowWeights = new double[] { 0.0, 1.0, 1.0, 1.0,
        1.0, 1.0, Double.MIN_VALUE };
    cPanelSatisKismi.setLayout(gbl_cPanelSatisKismi);

    JButtonVadeUygula = new JButton();
    JButtonVadeUygula.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/vade.png"));
    JButtonVadeUygula.setFont(new Font("Tahoma", Font.BOLD, 15));
    JButtonVadeUygula.setText("VADE FARKI UYGULA (F4)");
    GridBagConstraints gbc_JButtonVadeUygula = new GridBagConstraints();
    gbc_JButtonVadeUygula.fill = GridBagConstraints.BOTH;
    gbc_JButtonVadeUygula.insets = new Insets(0, 0, 5, 0);
    gbc_JButtonVadeUygula.gridwidth = 2;
    gbc_JButtonVadeUygula.gridx = 0;
    gbc_JButtonVadeUygula.gridy = 0;
    cPanelSatisKismi.add(JButtonVadeUygula, gbc_JButtonVadeUygula);

    cComboBoxPersonelPrim = new CComboBox<Personel>(Personel.class);
    GridBagConstraints gbc_cComboBoxPersonelPrim = new GridBagConstraints();
    gbc_cComboBoxPersonelPrim.fill = GridBagConstraints.BOTH;
    gbc_cComboBoxPersonelPrim.insets = new Insets(0, 0, 5, 5);
    gbc_cComboBoxPersonelPrim.gridx = 0;
    gbc_cComboBoxPersonelPrim.gridy = 1;
    cPanelSatisKismi.add(cComboBoxPersonelPrim, gbc_cComboBoxPersonelPrim);

    cTextFieldMusteriSec = new CTextField();
    cTextFieldMusteriSec.setEditable(false);
    cTextFieldMusteriSec.setFont(new Font("Tahoma", Font.BOLD, 16));
    cTextFieldMusteriSec.setHorizontalAlignment(SwingConstants.CENTER);
    cTextFieldMusteriSec.setText("Müşteri Seçiniz");
    GridBagConstraints gbc_cTextFieldMusteriSec = new GridBagConstraints();
    gbc_cTextFieldMusteriSec.fill = GridBagConstraints.BOTH;
    gbc_cTextFieldMusteriSec.insets = new Insets(0, 0, 5, 0);
    gbc_cTextFieldMusteriSec.gridx = 1;
    gbc_cTextFieldMusteriSec.gridy = 1;
    cPanelSatisKismi.add(cTextFieldMusteriSec, gbc_cTextFieldMusteriSec);

    cPanelPesinFiyat = new JPanel();
    cPanelPesinFiyat.setBackground(UIManager.getColor("Button.shadow"));
    GridBagLayout gbl_cPanelPesinFiyat = new GridBagLayout();
    gbl_cPanelPesinFiyat.columnWidths = new int[] { 263, 312, 73, 0 };
    gbl_cPanelPesinFiyat.rowHeights = new int[] { 21, 0 };
    gbl_cPanelPesinFiyat.columnWeights = new double[] { 1.0, 1.0, 1.0,
        Double.MIN_VALUE };
    gbl_cPanelPesinFiyat.rowWeights = new double[] { 1.0, Double.MIN_VALUE };
    cPanelPesinFiyat.setLayout(gbl_cPanelPesinFiyat);

    cLabelPesinToplam = new JLabel();
    cLabelPesinToplam.setFont(new Font("Tahoma", Font.BOLD, 15));
    cLabelPesinToplam.setText("ARA TOPLAM");
    GridBagConstraints gbc_cLabelPesinToplam = new GridBagConstraints();
    gbc_cLabelPesinToplam.insets = new Insets(0, 0, 0, 5);
    gbc_cLabelPesinToplam.gridx = 0;
    gbc_cLabelPesinToplam.gridy = 0;
    cPanelPesinFiyat.add(cLabelPesinToplam, gbc_cLabelPesinToplam);

    cLabelPesinFiyatBilgi = new JLabel();
    cLabelPesinFiyatBilgi.setText("0.00");
    cLabelPesinFiyatBilgi.setHorizontalAlignment(SwingConstants.RIGHT);
    cLabelPesinFiyatBilgi.setFont(new Font("Tahoma", Font.BOLD, 15));
    GridBagConstraints gbc_cLabelPesinFiyatBilgi = new GridBagConstraints();
    gbc_cLabelPesinFiyatBilgi.fill = GridBagConstraints.HORIZONTAL;
    gbc_cLabelPesinFiyatBilgi.insets = new Insets(0, 0, 0, 5);
    gbc_cLabelPesinFiyatBilgi.gridx = 1;
    gbc_cLabelPesinFiyatBilgi.gridy = 0;
    cPanelPesinFiyat.add(cLabelPesinFiyatBilgi, gbc_cLabelPesinFiyatBilgi);

    cLabelToplamTL = new JLabel();
    cLabelToplamTL.setVerticalAlignment(SwingConstants.BOTTOM);
    cLabelToplamTL.setFont(new Font("Tahoma", Font.BOLD, 11));
    cLabelToplamTL.setText("TL");
    GridBagConstraints gbc_cLabelToplamTL = new GridBagConstraints();
    gbc_cLabelToplamTL.anchor = GridBagConstraints.WEST;
    gbc_cLabelToplamTL.gridx = 2;
    gbc_cLabelToplamTL.gridy = 0;
    cPanelPesinFiyat.add(cLabelToplamTL, gbc_cLabelToplamTL);
    GridBagConstraints gbc_cPanelPesinFiyat = new GridBagConstraints();
    gbc_cPanelPesinFiyat.fill = GridBagConstraints.BOTH;
    gbc_cPanelPesinFiyat.insets = new Insets(0, 0, 5, 0);
    gbc_cPanelPesinFiyat.gridwidth = 2;
    gbc_cPanelPesinFiyat.gridx = 0;
    gbc_cPanelPesinFiyat.gridy = 2;
    cPanelSatisKismi.add(cPanelPesinFiyat, gbc_cPanelPesinFiyat);

    cPanelIskonto = new JPanel();
    cPanelIskonto.setBackground(UIManager.getColor("Button.shadow"));
    GridBagLayout gbl_cPanelIskonto = new GridBagLayout();
    gbl_cPanelIskonto.columnWidths = new int[] { 125, 142, 145, 152, 0, 0 };
    gbl_cPanelIskonto.rowHeights = new int[] { 20, 0 };
    gbl_cPanelIskonto.columnWeights = new double[] { 1.0, 1.0, 1.0, 1.0,
        0.0, Double.MIN_VALUE };
    gbl_cPanelIskonto.rowWeights = new double[] { 1.0, Double.MIN_VALUE };
    cPanelIskonto.setLayout(gbl_cPanelIskonto);

    cLabelIskontoYuzde = new JLabel();
    cLabelIskontoYuzde.setText("\u0130skonto %");
    cLabelIskontoYuzde.setFont(new Font("Tahoma", Font.BOLD, 13));
    GridBagConstraints gbc_cLabelIskontoYuzde = new GridBagConstraints();
    gbc_cLabelIskontoYuzde.insets = new Insets(0, 0, 0, 5);
    gbc_cLabelIskontoYuzde.gridx = 0;
    gbc_cLabelIskontoYuzde.gridy = 0;
    cPanelIskonto.add(cLabelIskontoYuzde, gbc_cLabelIskontoYuzde);

    cTextFieldIskontoYuzde = new CTextField(5);
    cTextFieldIskontoYuzde.setText("0.0");
    GridBagConstraints gbc_cTextFieldIskontoYuzde = new GridBagConstraints();
    gbc_cTextFieldIskontoYuzde.fill = GridBagConstraints.HORIZONTAL;
    gbc_cTextFieldIskontoYuzde.insets = new Insets(0, 0, 0, 5);
    gbc_cTextFieldIskontoYuzde.gridx = 1;
    gbc_cTextFieldIskontoYuzde.gridy = 0;
    cPanelIskonto.add(cTextFieldIskontoYuzde, gbc_cTextFieldIskontoYuzde);

    cLabelIskontoTL = new JLabel();
    cLabelIskontoTL.setHorizontalAlignment(SwingConstants.CENTER);
    cLabelIskontoTL.setText("\u0130skonto TL");
    cLabelIskontoTL.setFont(new Font("Tahoma", Font.BOLD, 13));
    GridBagConstraints gbc_cLabelIskontoTL = new GridBagConstraints();
    gbc_cLabelIskontoTL.fill = GridBagConstraints.HORIZONTAL;
    gbc_cLabelIskontoTL.insets = new Insets(0, 0, 0, 5);
    gbc_cLabelIskontoTL.gridx = 2;
    gbc_cLabelIskontoTL.gridy = 0;
    cPanelIskonto.add(cLabelIskontoTL, gbc_cLabelIskontoTL);

    cTextFieldIskontoTL = new CTextField(11);
    cTextFieldIskontoTL.setText("0.00");

    jPanelIndirim = new JPanel();
    jPanelIndirim.setBackground(UIManager.getColor("Button.shadow"));
    GridBagConstraints gbc_jPanelIndirim = new GridBagConstraints();
    gbc_jPanelIndirim.gridwidth = 2;
    gbc_jPanelIndirim.insets = new Insets(0, 0, 5, 5);
    gbc_jPanelIndirim.fill = GridBagConstraints.HORIZONTAL;
    gbc_jPanelIndirim.gridx = 0;
    gbc_jPanelIndirim.gridy = 3;
    cPanelSatisKismi.add(jPanelIndirim, gbc_jPanelIndirim);
    GridBagLayout gbl_jPanelIndirim = new GridBagLayout();
    gbl_jPanelIndirim.columnWidths = new int[] { 263, 312, 69, 0 };
    gbl_jPanelIndirim.rowHeights = new int[] { 19, 0 };
    gbl_jPanelIndirim.columnWeights = new double[] { 1.0, 1.0, 1.0,
        Double.MIN_VALUE };
    gbl_jPanelIndirim.rowWeights = new double[] { 0.0, Double.MIN_VALUE };
    jPanelIndirim.setLayout(gbl_jPanelIndirim);

    jLabelKampanyaTutar = new JLabel();
    GridBagConstraints gbc_jLabelKampanyaTutar = new GridBagConstraints();
    gbc_jLabelKampanyaTutar.anchor = GridBagConstraints.NORTH;
    gbc_jLabelKampanyaTutar.insets = new Insets(0, 0, 0, 5);
    gbc_jLabelKampanyaTutar.gridx = 0;
    gbc_jLabelKampanyaTutar.gridy = 0;
    jPanelIndirim.add(jLabelKampanyaTutar, gbc_jLabelKampanyaTutar);
    jLabelKampanyaTutar.setText("KAMPANYA İNDİRİMİ");
    jLabelKampanyaTutar.setFont(new Font("Tahoma", Font.BOLD, 15));

    jLabelKampanyaTutarBilgi = new JLabel();
    GridBagConstraints gbc_jLabelKampanyaTutarBilgi = new GridBagConstraints();
    gbc_jLabelKampanyaTutarBilgi.anchor = GridBagConstraints.NORTHEAST;
    gbc_jLabelKampanyaTutarBilgi.insets = new Insets(0, 0, 0, 5);
    gbc_jLabelKampanyaTutarBilgi.gridx = 1;
    gbc_jLabelKampanyaTutarBilgi.gridy = 0;
    jPanelIndirim.add(jLabelKampanyaTutarBilgi,
        gbc_jLabelKampanyaTutarBilgi);
    jLabelKampanyaTutarBilgi.setText("0.00");
    jLabelKampanyaTutarBilgi.setHorizontalAlignment(SwingConstants.RIGHT);
    jLabelKampanyaTutarBilgi.setFont(new Font("Tahoma", Font.BOLD, 15));

    jLabelKampanyaTL = new JLabel();
    GridBagConstraints gbc_jLabelKampanyaTL = new GridBagConstraints();
    gbc_jLabelKampanyaTL.anchor = GridBagConstraints.WEST;
    gbc_jLabelKampanyaTL.gridx = 2;
    gbc_jLabelKampanyaTL.gridy = 0;
    jPanelIndirim.add(jLabelKampanyaTL, gbc_jLabelKampanyaTL);
    jLabelKampanyaTL.setHorizontalAlignment(SwingConstants.LEFT);
    jLabelKampanyaTL.setVerticalAlignment(SwingConstants.BOTTOM);
    jLabelKampanyaTL.setText("TL");
    jLabelKampanyaTL.setFont(new Font("Tahoma", Font.BOLD, 11));
    GridBagConstraints gbc_cTextFieldIskontoTL = new GridBagConstraints();
    gbc_cTextFieldIskontoTL.insets = new Insets(0, 0, 0, 5);
    gbc_cTextFieldIskontoTL.fill = GridBagConstraints.HORIZONTAL;
    gbc_cTextFieldIskontoTL.gridx = 3;
    gbc_cTextFieldIskontoTL.gridy = 0;
    cPanelIskonto.add(cTextFieldIskontoTL, gbc_cTextFieldIskontoTL);
    GridBagConstraints gbc_cPanelIskonto = new GridBagConstraints();
    gbc_cPanelIskonto.fill = GridBagConstraints.BOTH;
    gbc_cPanelIskonto.insets = new Insets(0, 0, 5, 0);
    gbc_cPanelIskonto.gridwidth = 2;
    gbc_cPanelIskonto.gridx = 0;
    gbc_cPanelIskonto.gridy = 4;
    cPanelSatisKismi.add(cPanelIskonto, gbc_cPanelIskonto);

    cPanelTaksitFiyat = new JPanel();
    cPanelTaksitFiyat.setBackground(UIManager.getColor("Button.shadow"));
    GridBagLayout gbl_cPanelTaksitFiyat = new GridBagLayout();
    gbl_cPanelTaksitFiyat.columnWidths = new int[] { 263, 294, 83, 0 };
    gbl_cPanelTaksitFiyat.rowHeights = new int[] { 15, 25, 0 };
    gbl_cPanelTaksitFiyat.columnWeights = new double[] { 1.0, 1.0, 1.0,
        Double.MIN_VALUE };
    gbl_cPanelTaksitFiyat.rowWeights = new double[] { 1.0, 1.0,
        Double.MIN_VALUE };
    cPanelTaksitFiyat.setLayout(gbl_cPanelTaksitFiyat);

    cLabelToplamKDV = new JLabel();
    cLabelToplamKDV.setVerticalAlignment(SwingConstants.BOTTOM);
    cLabelToplamKDV.setText("TOPLAM KDV TUTARI");
    cLabelToplamKDV.setFont(new Font("Tahoma", Font.BOLD, 12));
    GridBagConstraints gbc_cLabelToplamKDV = new GridBagConstraints();
    gbc_cLabelToplamKDV.insets = new Insets(0, 0, 5, 5);
    gbc_cLabelToplamKDV.gridx = 0;
    gbc_cLabelToplamKDV.gridy = 0;
    cPanelTaksitFiyat.add(cLabelToplamKDV, gbc_cLabelToplamKDV);

    cLabelToplamKDVBilgi = new JLabel();
    cLabelToplamKDVBilgi.setVerticalAlignment(SwingConstants.BOTTOM);
    cLabelToplamKDVBilgi.setText("0.00");
    cLabelToplamKDVBilgi.setHorizontalAlignment(SwingConstants.RIGHT);
    cLabelToplamKDVBilgi.setFont(new Font("Tahoma", Font.BOLD, 12));
    GridBagConstraints gbc_cLabelToplamKDVBilgi = new GridBagConstraints();
    gbc_cLabelToplamKDVBilgi.fill = GridBagConstraints.HORIZONTAL;
    gbc_cLabelToplamKDVBilgi.insets = new Insets(0, 0, 5, 5);
    gbc_cLabelToplamKDVBilgi.gridx = 1;
    gbc_cLabelToplamKDVBilgi.gridy = 0;
    cPanelTaksitFiyat.add(cLabelToplamKDVBilgi, gbc_cLabelToplamKDVBilgi);

    cLabelToplamKDVTL = new JLabel();
    cLabelToplamKDVTL.setVerticalAlignment(SwingConstants.BOTTOM);
    cLabelToplamKDVTL.setText("TL");
    cLabelToplamKDVTL.setFont(new Font("Tahoma", Font.BOLD, 9));
    GridBagConstraints gbc_cLabelToplamKDVTL = new GridBagConstraints();
    gbc_cLabelToplamKDVTL.fill = GridBagConstraints.HORIZONTAL;
    gbc_cLabelToplamKDVTL.insets = new Insets(0, 0, 5, 0);
    gbc_cLabelToplamKDVTL.gridx = 2;
    gbc_cLabelToplamKDVTL.gridy = 0;
    cPanelTaksitFiyat.add(cLabelToplamKDVTL, gbc_cLabelToplamKDVTL);

    cLabelTaksitToplam = new JLabel();
    cLabelTaksitToplam.setForeground(new Color(139, 0, 0));
    cLabelTaksitToplam.setText("TOPLAM");
    cLabelTaksitToplam.setFont(new Font("Tahoma", Font.BOLD, 20));
    GridBagConstraints gbc_cLabelTaksitToplam = new GridBagConstraints();
    gbc_cLabelTaksitToplam.insets = new Insets(0, 0, 0, 5);
    gbc_cLabelTaksitToplam.gridx = 0;
    gbc_cLabelTaksitToplam.gridy = 1;
    cPanelTaksitFiyat.add(cLabelTaksitToplam, gbc_cLabelTaksitToplam);

    cLabelTaksitFiyatBilgi = new JLabel();
    cLabelTaksitFiyatBilgi.setForeground(new Color(139, 0, 0));
    cLabelTaksitFiyatBilgi.setText("0.00");
    cLabelTaksitFiyatBilgi.setHorizontalAlignment(SwingConstants.RIGHT);
    cLabelTaksitFiyatBilgi.setFont(new Font("Tahoma", Font.BOLD, 20));
    GridBagConstraints gbc_cLabelTaksitFiyatBilgi = new GridBagConstraints();
    gbc_cLabelTaksitFiyatBilgi.fill = GridBagConstraints.HORIZONTAL;
    gbc_cLabelTaksitFiyatBilgi.insets = new Insets(0, 0, 0, 5);
    gbc_cLabelTaksitFiyatBilgi.gridx = 1;
    gbc_cLabelTaksitFiyatBilgi.gridy = 1;
    cPanelTaksitFiyat.add(cLabelTaksitFiyatBilgi,
        gbc_cLabelTaksitFiyatBilgi);

    cLabelToplamTLL = new JLabel();
    cLabelToplamTLL.setForeground(new Color(139, 0, 0));
    cLabelToplamTLL.setVerticalAlignment(SwingConstants.BOTTOM);
    cLabelToplamTLL.setText("TL");
    cLabelToplamTLL.setFont(new Font("Tahoma", Font.BOLD, 14));
    GridBagConstraints gbc_cLabelToplamTLL = new GridBagConstraints();
    gbc_cLabelToplamTLL.fill = GridBagConstraints.HORIZONTAL;
    gbc_cLabelToplamTLL.gridx = 2;
    gbc_cLabelToplamTLL.gridy = 1;
    cPanelTaksitFiyat.add(cLabelToplamTLL, gbc_cLabelToplamTLL);
    GridBagConstraints gbc_cPanelTaksitFiyat = new GridBagConstraints();
    gbc_cPanelTaksitFiyat.fill = GridBagConstraints.BOTH;
    gbc_cPanelTaksitFiyat.gridwidth = 2;
    gbc_cPanelTaksitFiyat.gridx = 0;
    gbc_cPanelTaksitFiyat.gridy = 5;
    cPanelSatisKismi.add(cPanelTaksitFiyat, gbc_cPanelTaksitFiyat);

    cPanelButton = new JPanel();
    cPanelButton.setBorder(new LineBorder(new Color(0, 0, 0), 2));
    GridBagConstraints gbc_cPanelButton = new GridBagConstraints();
    gbc_cPanelButton.fill = GridBagConstraints.BOTH;
    gbc_cPanelButton.gridx = 2;
    gbc_cPanelButton.gridy = 1;
    cPanelSatis.add(cPanelButton, gbc_cPanelButton);
    GridBagLayout gbl_cPanelButton = new GridBagLayout();
    gbl_cPanelButton.columnWidths = new int[] { 213, 0 };
    gbl_cPanelButton.rowHeights = new int[] { 110, 110, 110, 0 };
    gbl_cPanelButton.columnWeights = new double[] { 1.0, Double.MIN_VALUE };
    gbl_cPanelButton.rowWeights = new double[] { 1.0, 0.0, 1.0,
        Double.MIN_VALUE };
    cPanelButton.setLayout(gbl_cPanelButton);

    JButtonNakit = new JButton();
    JButtonNakit.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/pesin.png"));
    JButtonNakit.setText("NAKİT (F2)");
    JButtonNakit.setFont(new Font("Tahoma", Font.BOLD, 13));
    GridBagConstraints gbc_JButtonNakit = new GridBagConstraints();
    gbc_JButtonNakit.fill = GridBagConstraints.BOTH;
    gbc_JButtonNakit.insets = new Insets(0, 0, 5, 0);
    gbc_JButtonNakit.gridx = 0;
    gbc_JButtonNakit.gridy = 0;
    cPanelButton.add(JButtonNakit, gbc_JButtonNakit);

    jButtonKrediKart = new JButton();
    jButtonKrediKart.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/podeme.png"));

    jButtonKrediKart.setText("K.KARTI(F3)");
    jButtonKrediKart.setFont(new Font("Tahoma", Font.BOLD, 13));
    GridBagConstraints gbc_jButtonKrediKart = new GridBagConstraints();
    gbc_jButtonKrediKart.insets = new Insets(0, 0, 5, 0);
    gbc_jButtonKrediKart.fill = GridBagConstraints.BOTH;
    gbc_jButtonKrediKart.gridx = 0;
    gbc_jButtonKrediKart.gridy = 1;
    cPanelButton.add(jButtonKrediKart, gbc_jButtonKrediKart);

    JButtonIade = new JButton();
    JButtonIade.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/iade.png"));
    JButtonIade.setText("İADE (F1)");
    JButtonIade.setFont(new Font("Tahoma", Font.BOLD, 13));
    GridBagConstraints gbc_JButtonIade = new GridBagConstraints();
    gbc_JButtonIade.fill = GridBagConstraints.BOTH;
    gbc_JButtonIade.gridx = 0;
    gbc_JButtonIade.gridy = 2;
    cPanelButton.add(JButtonIade, gbc_JButtonIade);

    JPanel jPanelAnaEkran = new JPanel();
    GridBagConstraints gbc_jPanelAnaEkran = new GridBagConstraints();
    gbc_jPanelAnaEkran.fill = GridBagConstraints.HORIZONTAL;
    gbc_jPanelAnaEkran.insets = new Insets(0, 0, 5, 0);
    gbc_jPanelAnaEkran.gridx = 0;
    gbc_jPanelAnaEkran.gridy = 0;
    getContentPane().add(jPanelAnaEkran, gbc_jPanelAnaEkran);
    GridBagLayout gbl_jPanelAnaEkran = new GridBagLayout();
    gbl_jPanelAnaEkran.columnWidths = new int[] { 223, 530, 65, -75, 87, 0 };
    gbl_jPanelAnaEkran.rowHeights = new int[] { 50, 0 };
    gbl_jPanelAnaEkran.columnWeights = new double[] { 0.0, 1.0, 0.0, 0.0,
        0.0, Double.MIN_VALUE };
    gbl_jPanelAnaEkran.rowWeights = new double[] { 0.0, Double.MIN_VALUE };
    jPanelAnaEkran.setLayout(gbl_jPanelAnaEkran);

    jLabelAltiSoftIcon = new JLabel("");
    jLabelAltiSoftIcon.setHorizontalAlignment(SwingConstants.CENTER);
    jLabelAltiSoftIcon.setBounds(new Rectangle(500, 0, 0, 0));
    jLabelAltiSoftIcon.setSize(100, 50);
    jLabelAltiSoftIcon.setIcon(PSAUtil.resizedImageIcon(jLabelAltiSoftIcon,
        "/picture/altisoftIcon.png"));
    GridBagConstraints gbc_jLabelAltiSoftIcon = new GridBagConstraints();
    gbc_jLabelAltiSoftIcon.insets = new Insets(0, 0, 0, 5);
    gbc_jLabelAltiSoftIcon.gridx = 0;
    gbc_jLabelAltiSoftIcon.gridy = 0;
    jPanelAnaEkran.add(jLabelAltiSoftIcon, gbc_jLabelAltiSoftIcon);

    cLabelKullanici = new JLabel();
    cLabelKullanici.setVerticalAlignment(SwingConstants.BOTTOM);
    cLabelKullanici.setHorizontalAlignment(SwingConstants.RIGHT);
    cLabelKullanici.setText("Kullan\u0131c\u0131");
    cLabelKullanici.setFont(new Font("Tahoma", Font.BOLD, 15));
    GridBagConstraints gbc_cLabelKullanici = new GridBagConstraints();
    gbc_cLabelKullanici.fill = GridBagConstraints.HORIZONTAL;
    gbc_cLabelKullanici.insets = new Insets(0, 0, 0, 5);
    gbc_cLabelKullanici.gridx = 2;
    gbc_cLabelKullanici.gridy = 0;
    jPanelAnaEkran.add(cLabelKullanici, gbc_cLabelKullanici);

    cLabelKullaniciAd = new JLabel();
    cLabelKullaniciAd.setVerticalAlignment(SwingConstants.BOTTOM);
    cLabelKullaniciAd.setHorizontalAlignment(SwingConstants.RIGHT);
    cLabelKullaniciAd.setFont(new Font("Tahoma", Font.PLAIN, 12));
    GridBagConstraints gbc_cLabelKullaniciAd = new GridBagConstraints();
    gbc_cLabelKullaniciAd.fill = GridBagConstraints.HORIZONTAL;
    gbc_cLabelKullaniciAd.insets = new Insets(0, 0, 0, 5);
    gbc_cLabelKullaniciAd.gridx = 3;
    gbc_cLabelKullaniciAd.gridy = 0;
    jPanelAnaEkran.add(cLabelKullaniciAd, gbc_cLabelKullaniciAd);

    JButtonKullaniciCikis = new JButton();
    JButtonKullaniciCikis.setSize(new Dimension(50, 50));
    JButtonKullaniciCikis.setMinimumSize(new Dimension(53, 9));
    JButtonKullaniciCikis.setMaximumSize(new Dimension(53, 9));
    JButtonKullaniciCikis.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/cikis.png"));
    JButtonKullaniciCikis.setText("\u00C7IKI\u015E");
    GridBagConstraints gbc_JButtonKullaniciCikis = new GridBagConstraints();
    gbc_JButtonKullaniciCikis.fill = GridBagConstraints.HORIZONTAL;
    gbc_JButtonKullaniciCikis.gridx = 4;
    gbc_JButtonKullaniciCikis.gridy = 0;
    jPanelAnaEkran.add(JButtonKullaniciCikis, gbc_JButtonKullaniciCikis);

    cPanelUrunIslemleri = new JPanel();
    jTabbedPaneAnaEkran.addTab("Ürün İşlemleri",
        PSAUtil.getImageIconViaRelativePath("picture/urunSayfasi.png"),
        cPanelUrunIslemleri, "Ürün Bilgisi Kaydetme ve Güncelleme");
    GridBagLayout gbl_cPanelUrunIslemleri = new GridBagLayout();
    gbl_cPanelUrunIslemleri.columnWidths = new int[] { 1095, 248, 0 };
    gbl_cPanelUrunIslemleri.rowHeights = new int[] { 20, 65, 65, 65, 65, 0,
        0 };
    gbl_cPanelUrunIslemleri.columnWeights = new double[] { 1.0, 0.0,
        Double.MIN_VALUE };
    gbl_cPanelUrunIslemleri.rowWeights = new double[] { 0.0, 1.0, 1.0, 1.0,
        1.0, 0.0, Double.MIN_VALUE };
    cPanelUrunIslemleri.setLayout(gbl_cPanelUrunIslemleri);

    cLabelUrunListesi = new JLabel();
    cLabelUrunListesi.setText("\u00DCR\u00DCN L\u0130STES\u0130");
    cLabelUrunListesi.setFont(new Font("Tahoma", Font.BOLD, 16));
    GridBagConstraints gbc_cLabelUrunListesi = new GridBagConstraints();
    gbc_cLabelUrunListesi.anchor = GridBagConstraints.NORTHWEST;
    gbc_cLabelUrunListesi.insets = new Insets(0, 0, 5, 5);
    gbc_cLabelUrunListesi.gridx = 0;
    gbc_cLabelUrunListesi.gridy = 0;
    cPanelUrunIslemleri.add(cLabelUrunListesi, gbc_cLabelUrunListesi);

    cTablePanelUrun = new TablePanel(null, UrunStok.class, true, true);
    cTablePanelUrun.getTable().setAutoResizeMode(
        JTable.AUTO_RESIZE_ALL_COLUMNS);
    cTablePanelUrun.getTable().setRowHeight(25);
    cTablePanelUrun.setBorder(new LineBorder(new Color(0, 0, 0), 2));
    GridBagConstraints gbc_cTablePanelUrun = new GridBagConstraints();
    gbc_cTablePanelUrun.fill = GridBagConstraints.BOTH;
    gbc_cTablePanelUrun.insets = new Insets(0, 0, 5, 5);
    gbc_cTablePanelUrun.gridheight = 4;
    gbc_cTablePanelUrun.gridx = 0;
    gbc_cTablePanelUrun.gridy = 1;
    cPanelUrunIslemleri.add(cTablePanelUrun, gbc_cTablePanelUrun);

    jButtonSevkEt = new JButton();
    jButtonSevkEt.setEnabled(false);
    jButtonSevkEt.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/sevkEt.png"));
    jButtonSevkEt.setText("SEVK ET");
    jButtonSevkEt.setFont(new Font("Tahoma", Font.BOLD, 14));
    GridBagConstraints gbc_jButtonSevkEt = new GridBagConstraints();
    gbc_jButtonSevkEt.fill = GridBagConstraints.BOTH;
    gbc_jButtonSevkEt.insets = new Insets(0, 0, 5, 0);
    gbc_jButtonSevkEt.gridx = 1;
    gbc_jButtonSevkEt.gridy = 1;
    cPanelUrunIslemleri.add(jButtonSevkEt, gbc_jButtonSevkEt);

    jButtonSevkOnay = new JButton();
    jButtonSevkOnay.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/sevkBilgi.png"));
    jButtonSevkOnay.setText("SEVK BİLGİSİ");
    jButtonSevkOnay.setFont(new Font("Tahoma", Font.BOLD, 14));
    GridBagConstraints gbc_jButtonSevkOnay = new GridBagConstraints();
    gbc_jButtonSevkOnay.fill = GridBagConstraints.BOTH;
    gbc_jButtonSevkOnay.insets = new Insets(0, 0, 5, 0);
    gbc_jButtonSevkOnay.gridx = 1;
    gbc_jButtonSevkOnay.gridy = 2;
    cPanelUrunIslemleri.add(jButtonSevkOnay, gbc_jButtonSevkOnay);

    jButtonSevkHareketleri = new JButton("SEVK HAREKETLERİ");
    jButtonSevkHareketleri.setFont(new Font("Tahoma", Font.BOLD, 13));
    jButtonSevkHareketleri.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/sevkHareketleri.png"));
    GridBagConstraints gbc_jButtonSevkHareketleri = new GridBagConstraints();
    gbc_jButtonSevkHareketleri.insets = new Insets(0, 0, 5, 0);
    gbc_jButtonSevkHareketleri.fill = GridBagConstraints.BOTH;
    gbc_jButtonSevkHareketleri.gridx = 1;
    gbc_jButtonSevkHareketleri.gridy = 3;
    cPanelUrunIslemleri.add(jButtonSevkHareketleri,
        gbc_jButtonSevkHareketleri);

    jButtonDetayliArama = new JButton();
    jButtonDetayliArama.setText("DETAYLI ARAMA");
    jButtonDetayliArama.setFont(new Font("Tahoma", Font.BOLD, 14));
    jButtonDetayliArama.setIcon(PSAUtil
        .getImageIconViaRelativePath("picture/detayliArama.png"));
    GridBagConstraints gbc_jButtonDetayliArama = new GridBagConstraints();
    gbc_jButtonDetayliArama.insets = new Insets(0, 0, 5, 0);
    gbc_jButtonDetayliArama.fill = GridBagConstraints.BOTH;
    gbc_jButtonDetayliArama.gridx = 1;
    gbc_jButtonDetayliArama.gridy = 4;
    cPanelUrunIslemleri.add(jButtonDetayliArama, gbc_jButtonDetayliArama);

    GridBagConstraints gbc_jTabbedPaneAnaEkran = new GridBagConstraints();
    gbc_jTabbedPaneAnaEkran.fill = GridBagConstraints.BOTH;
    gbc_jTabbedPaneAnaEkran.gridx = 0;
    gbc_jTabbedPaneAnaEkran.gridy = 1;
    getContentPane().add(jTabbedPaneAnaEkran, gbc_jTabbedPaneAnaEkran);

    refreshTable();
    userPermissionControl(kullanici);
    personelBilgileriDoldur();
    initListeners();

  }

  private void refreshTable() {
    cTablePanelUrun.refresh();
    cTablePanelBekleyenSatis.refresh();
  }

  public void userPermissionControl(Kullanici kullanici) {

    cLabelKullaniciAd.setText(kullanici.getKullaniciAdi());

    if (kullanici.getUrunSevk().equals(KULLANICI_IZIN_YOK)) {
      sevkControl = false;
      jButtonSevkEt.setEnabled(false);
    }
    if (kullanici.getUrun().equals(KULLANICI_IZIN_YOK)) {
      jTabbedPaneAnaEkran.setEnabledAt(1, false);
    }
    if (kullanici.getYonetici().equals(KULLANICI_IZIN_YOK)) {
      jTabbedPaneAnaEkran.setEnabledAt(3, false);
    }
    if (kullanici.getMuhasebe().equals(KULLANICI_IZIN_YOK)) {
      jTabbedPaneAnaEkran.setEnabledAt(2, false);
    }

    for (int i = 0; i < jTabbedPaneAnaEkran.getTabCount(); i++) {
      if (jTabbedPaneAnaEkran.isEnabledAt(i) == true) {
        jTabbedPaneAnaEkran.setSelectedIndex(i);
        break;
      }
    }
  }

  @SuppressWarnings("unchecked")
  private static void personelBilgileriDoldur() {
    Personel per = new Personel();
    per.setAd("Personel");
    per.setSoyad("Seçiniz");
    cComboBoxPersonelPrim.setInitialObject(per);
    List<Personel> personelListesi = (List<Personel>) HibernateManager
        .getInstance().get(Personel.class, false);
    cComboBoxPersonelPrim.setObjects(personelListesi);
  }

  private void initListeners() {
    addWindowListener(new WindowAdapter() {
      @Override
      public void windowClosing(WindowEvent e) {
        cikisButtonClicked(1);
      }
    });

    cComboBoxPersonelPrim.addItemListener(new ItemListener() {
      @Override
      public void itemStateChanged(ItemEvent evt) {
        if (evt.getStateChange() == ItemEvent.SELECTED) {
          cTextFieldBarkodVeyaMiktar.requestFocus();
        }
      }
    });

    jTabbedPaneAnaEkran.addChangeListener(new ChangeListener() {
      @Override
      public void stateChanged(ChangeEvent arg0) {
        if (jTabbedPaneAnaEkran.getSelectedIndex() == 0) {
          cTextFieldBarkodVeyaMiktar.requestFocus();
        }
      }
    });

    JButtonKullaniciCikis.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent arg0) {
        cikisButtonClicked(0);
      }
    });

    cTextFieldMusteriSec.addMouseListener(new MouseAdapter() {
      @Override
      public void mouseClicked(MouseEvent arg0) {
        musteriSecCLicked();
      }
    });

    cTablePanelUrun.getTable().getSelectionModel()
        .addListSelectionListener(new ListSelectionListener() {
          @Override
          public void valueChanged(ListSelectionEvent e) {
            if (e.getValueIsAdjusting())
              return;
            urun = (Urun) cTablePanelUrun.getSelectedObject();
            if (urun == null) {
              jButtonSevkEt.setEnabled(false);
              return;
            }
            if (sevkControl == true) {
              jButtonSevkEt.setEnabled(true);
            }
          }
        });

    cTablePanelUrun.getTable().addMouseListener(new MouseAdapter() {
      @Override
      public void mouseReleased(MouseEvent e) {
        urunTablePopupMenu(e);
      }

      @Override
      public void mousePressed(MouseEvent e) {
        urunTablePopupMenu(e);
      }
    });

    urunMenuItem.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(ActionEvent e) {
        urunSatisClicked();
      }
    });

    urunMenuItem2.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(ActionEvent e) {
        if (urunSevkPermissionControl() == true) {
          urunSevkClicked();
        }
      }
    });

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

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

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

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

    cTablePanelUrun.getRaporButton().addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent arg0) {
            urunRaporClicked();
          }
        });

    JButtonVadeUygula.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(ActionEvent arg0) {
        vadeUygulaClicked();
      }
    });

    cEnterButton.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(ActionEvent arg0) {
        enterClicked();
      }
    });

    cTablePanelBekleyenSatis.getTable().getSelectionModel()
        .addListSelectionListener(new ListSelectionListener() {
          @Override
          public void valueChanged(ListSelectionEvent e) {
            if (e.getValueIsAdjusting())
              return;
            bekleyenSatis = (BekleyenSatis) cTablePanelBekleyenSatis
                .getSelectedObject();
            if (bekleyenSatis == null) {
              jButtonBekleyenSatisSil.setEnabled(false);
              jButtonBekleyenSatisSec.setEnabled(false);
              return;
            }
            jButtonBekleyenSatisSil.setEnabled(true);
            jButtonBekleyenSatisSec.setEnabled(true);
          }
        });

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

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

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

    cTableSatisListesi.addMouseListener(new java.awt.event.MouseAdapter() {
      @Override
      public void mouseClicked(java.awt.event.MouseEvent evt) {
        cTableSatisListesiSilClicked();
      }
    });

    cTableSatisListesi.getModel().addTableModelListener(
        new TableModelListener() {
          @Override
          public void tableChanged(TableModelEvent evt) {
            cTableSatisListesiAdetClicked(evt);
          }
        });

    cTextFieldIskontoTL.addKeyListener(new KeyAdapter() {
      @Override
      public void keyReleased(KeyEvent arg0) {
        try {
          robot = new Robot();
          if (cTextFieldIskontoTL.getText().equals("")) {
            cTextFieldIskontoYuzde.setText("0.0");
            return;
          }
          if (PriceControl.validate(cTextFieldIskontoTL.getText())) {
            if (Double.parseDouble(cTextFieldIskontoTL.getText()) < pesinToplam) {
              String iskontoYuzde;
              double iskontoluFiyat = pesinToplam
                  - Double.parseDouble(cTextFieldIskontoTL
                      .getText());
              String[] iskontoYuzdeList = DecimalValue.decimalControl(String
                  .valueOf(((1 - (iskontoluFiyat / pesinToplam)) * 100)));
              if (iskontoYuzdeList[1].length() > 1) {
                iskontoYuzde = iskontoYuzdeList[0] + "."
                    + iskontoYuzdeList[1].substring(0, 2);
              } else {
                iskontoYuzde = iskontoYuzdeList[0] + "."
                    + iskontoYuzdeList[1].substring(0, 1);
              }

              getVal(iskontoYuzde, iskontoluFiyat, "iskontoTL");
            } else {
              robot.keyPress(KeyEvent.VK_BACK_SPACE);
              robot.keyRelease(KeyEvent.VK_BACK_SPACE);
            }
          } else {
            robot.keyPress(KeyEvent.VK_BACK_SPACE);
            robot.keyRelease(KeyEvent.VK_BACK_SPACE);
          }

        } catch (AWTException e) {
          e.printStackTrace();
        }
      }
    });

    cTextFieldIskontoTL.addFocusListener(new FocusListener() {

      @Override
      public void focusLost(FocusEvent arg0) {
        if (cTextFieldIskontoTL.getText().equals("")) {
          cTextFieldIskontoTL.setText("0.00");
          cTextFieldIskontoYuzde.setText("0.0");
          cLabelTaksitFiyatBilgi.setText(DecimalValue
              .getDecimalValue(pesinToplam));
        }
      }

      @Override
      public void focusGained(FocusEvent arg0) {
        if (cTextFieldIskontoTL.getText().equals("0.00")) {
          cTextFieldIskontoTL.setText("");
        }
      }
    });

    cTextFieldIskontoYuzde.addKeyListener(new KeyAdapter() {
      @Override
      public void keyReleased(KeyEvent arg0) {
        if (cTextFieldIskontoYuzde.getText().equals("")) {
          cTextFieldIskontoTL.setText("0.00");
          return;
        }
        if (PercentControl.validate(cTextFieldIskontoYuzde.getText())) {
          double iskontoluFiyat = pesinToplam
              - pesinToplam
              / 100
              * Double.parseDouble(cTextFieldIskontoYuzde
                  .getText());
          String iskonto = String.valueOf(pesinToplam
              - iskontoluFiyat);
          String[] iskontoYuzdeList = DecimalValue
              .decimalControl(iskonto);
          if (iskontoYuzdeList[1].length() > 1) {
            iskonto = iskontoYuzdeList[0] + "."
                + iskontoYuzdeList[1].substring(0, 2);
          } else {
            iskonto = iskontoYuzdeList[0] + "."
                + iskontoYuzdeList[1].substring(0, 1);
          }

          getVal(iskonto, iskontoluFiyat, "iskontoYüzde");
        } else {
          try {
            robot = new Robot();
            robot.keyPress(KeyEvent.VK_BACK_SPACE);
            robot.keyRelease(KeyEvent.VK_BACK_SPACE);
          } catch (AWTException e) {
            e.printStackTrace();
          }
        }

      }
    });

    cTextFieldIskontoYuzde.addFocusListener(new FocusListener() {

      @Override
      public void focusLost(FocusEvent arg0) {
        if (cTextFieldIskontoYuzde.getText().equals("")) {
          cTextFieldIskontoYuzde.setText("0.0");
          cTextFieldIskontoTL.setText("0.00");
          cLabelTaksitFiyatBilgi.setText(DecimalValue
              .getDecimalValue(pesinToplam));
        }
      }

      @Override
      public void focusGained(FocusEvent arg0) {
        if (cTextFieldIskontoYuzde.getText().equals("0.0")) {
          cTextFieldIskontoYuzde.setText("");
        }
      }
    });

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

    JButtonIade.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent arg0) {
        iadeButtonClicked();
      }
    });
    jButtonKrediKart.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent arg0) {
        krediKartButtonClicked();
      }
    });

    cTextFieldIskontoTL.addKeyListener(new KeyListener() {

      @Override
      public void keyTyped(KeyEvent e) {

      }

      @Override
      public void keyReleased(KeyEvent e) {
        // TODO Auto-generated method stub

      }

      @Override
      public void keyPressed(KeyEvent e) {
        keyListenerAction(e.getKeyCode());
      }
    });

    cTextFieldIskontoYuzde.addKeyListener(new KeyListener() {

      @Override
      public void keyTyped(KeyEvent e) {

      }

      @Override
      public void keyReleased(KeyEvent e) {
        // TODO Auto-generated method stub

      }

      @Override
      public void keyPressed(KeyEvent e) {
        keyListenerAction(e.getKeyCode());
      }
    });

    cTextFieldBarkodVeyaMiktar.addKeyListener(new KeyListener() {

      @Override
      public void keyTyped(KeyEvent e) {

      }

      @Override
      public void keyReleased(KeyEvent e) {
        // TODO Auto-generated method stub

      }

      @Override
      public void keyPressed(KeyEvent e) {
        keyListenerAction(e.getKeyCode());
      }
    });
  }

  protected void urunRaporClicked() {
    DateFormat dateFormat = new SimpleDateFormat("dd/MMMM/yyyy");
    List<String> ustSatir = new ArrayList<>();
    ustSatir.add("Tarih : " + dateFormat.format(new Date()));

    ReportInfo rapor = new ReportInfo();
    rapor.setTitle("STOK RAPORU");
    rapor.setHeadRows(ustSatir);

    cTablePanelUrun.setReportInfo(rapor);
  }

  protected void sevkHareketleriClicked() {
    DatabaseConnection.databaseConnect();
    PSASevkHareketleriEkrani.getInstance().setVisible(true);
    setEnabled(false);
  }

  protected boolean urunSevkPermissionControl() {
    if (sevkControl == false) {
      Utils.showMessage("Ürün sevk işlemi için izniniz bulunmamaktadır.");
      return false;
    }
    return true;
  }

  protected void urunSevkClicked() {
    PSAUrunSevk.getInstance(urun).setVisible(true);
    setEnabled(false);
  }

  protected void sevkBilgisiCliked() {
    DatabaseConnection.databaseConnect();
    PSAUrunSevkBilgisiEkrani.getInstance().setVisible(true);
    setEnabled(false);
  }

  protected void iadeButtonClicked() {
    DatabaseConnection.databaseConnect();
    PSAIadeEkrani.getInstance(0).setVisible(true);
    setEnabled(false);
  }

  protected void detayliAramaClicked() {
    DatabaseConnection.databaseConnect();
    PSADetayliArama.getInstance().setVisible(true);
    instance.setEnabled(false);
  }

  protected void cTableSatisListesiAdetClicked(TableModelEvent evt) {
    if (evt.getType() == TableModelEvent.UPDATE) {
      UrunSatis guncelUrunSatis = (UrunSatis) cTableSatisListesi
          .getEditedObject(evt);
      if (guncelUrunSatis == null)
        return;
      urunSatisSonAdet = guncelUrunSatis.getAdet();
      urunStok = (UrunStok) HibernateManager.getInstance()
          .getObjectWithUniqueColumn(UrunStok.class, "barkod",
              guncelUrunSatis.getBarkod());
      int urunAdetFarki = urunSatisSonAdet - urunSatisIlkAdet;
      if (urunAdetFarki > urunStok.getAdet()) {
        Utils.showMessage("Sistemde ürün miktarı eksiye düşecektir.");
      }
      urunStok.setAdet(urunStok.getAdet() - urunAdetFarki);
      HibernateManager.getInstance().update(urunStok);
      cTableSatisListesi.setObjects(urunSatisListesi);

      urunAdetFarki = urunAdetFarki * -1;
      tutarDoldur();
    }
  }

  protected void cTableSatisListesiSilClicked() {
    urunSatis = (UrunSatis) cTableSatisListesi.getSelectedObject();
    urunSatisIlkAdet = urunSatis.getAdet();
    if (cTableSatisListesi.getModel()
        .getColumnName(cTableSatisListesi.getSelectedColumn())
        .equals(" ")) {
      urunStok = (UrunStok) HibernateManager.getInstance()
          .getObjectWithUniqueColumn(UrunStok.class, "barkod",
              urunSatis.getBarkod());
      urunStok.setAdet(urunStok.getAdet() + urunSatis.getAdet());
      HibernateManager.getInstance().update(urunStok);
      urunSatisListesi.remove(cTableSatisListesi.getSelectedRow());
      cTableSatisListesi.setObjects(urunSatisListesi);
      cTextFieldIskontoTL.setText("0.00");
      cTextFieldIskontoYuzde.setText("0.0");
      tutarDoldur();
    }
    cTextFieldBarkodVeyaMiktar.requestFocus();
  }

  protected void musteriSecCLicked() {
    PSAMusteriSecimEkrani ms = new PSAMusteriSecimEkrani(instance);
    musteriBilgi = ms.showDialog();
    if (musteriBilgi == null) {
      cTextFieldMusteriSec.setText(MUSTERI_DEFAULT_VALUE);
      return;
    }
    cTextFieldMusteriSec.setText("MÜŞTERİ : " + musteriBilgi.toString());

  }

  protected void bekleyenSatisSilClicked() {
    int selectedOption = JOptionPane.showOptionDialog(null,
        "Bekleyen satışı silmek istediğinizden emin misiniz?",
        "SİSTEM UYARISI", JOptionPane.OK_CANCEL_OPTION,
        JOptionPane.INFORMATION_MESSAGE, null, new String[] { "EVET",
            "HAYIR" }, "default");
    if (selectedOption == JOptionPane.OK_OPTION) {
      addBekleyenSatisStok(bekleyenSatis);
      boolean check = HibernateManager.getInstance()
          .delete(bekleyenSatis);
      if (check) {
        AutoClosingMessageDialog.showAutoClosingMessageDialog(
            "Bekleyen satış silinmiştir.", 2);
      }
    }
  }

  @SuppressWarnings("unchecked")
  private static void addBekleyenSatisStok(BekleyenSatis bekleyenSatisControl) {
    List<UrunSatis> bekleyenSatisUrunListesi = (List<UrunSatis>) HibernateManager
        .getInstance().getEntitysList(bekleyenSatisControl,
            "satisListesi");
    for (int i = 0; i < bekleyenSatisUrunListesi.size(); i++) {
      UrunSatis us = bekleyenSatisUrunListesi.get(i);
      UrunStok urunS = (UrunStok) HibernateManager.getInstance()
          .getObjectWithUniqueColumn(UrunStok.class, "barkod",
              us.getBarkod());
      if (urunS == null) {
        urunS = new UrunStok(us);
        HibernateManager.getInstance().save(urunS);
      } else {
        urunS.setAdet(urunS.getAdet() + us.getAdet());
        HibernateManager.getInstance().update(urunS);
      }
    }
  }

  @SuppressWarnings("unchecked")
  protected void bekleyenSatisSecClicked() {
    if (urunSatisListesi.size() > 0) {
      AutoClosingMessageDialog
          .showAutoClosingMessageDialog(
              "Satış getirmek için satış listesini boşaltın veya bekletmeye alınız.",
              2);
      return;
    }

    urunSatisListesi = (List<UrunSatis>) HibernateManager.getInstance()
        .getEntitysList(bekleyenSatis, "satisListesi");
    cTableSatisListesi.setObjects(urunSatisListesi);
    vadeFark = !bekleyenSatis.getVade();
    vadeUygulaClicked();
    cTextFieldIskontoTL.setText(DecimalValue.getDecimalValue(bekleyenSatis
        .getIskontoMiktari()));
    cTextFieldIskontoYuzde.setText(DecimalValue
        .getDecimalValue(bekleyenSatis.getIskontoYuzde()));
    cLabelTaksitFiyatBilgi.setText(DecimalValue
        .getDecimalValue(bekleyenSatis.getTutar()));
    if (bekleyenSatis.getPersonel() != null) {
      for (int i = 0; i < cComboBoxPersonelPrim.getItemCount(); i++) {
        if (bekleyenSatis.getPersonel().equals(
            cComboBoxPersonelPrim.getItemAt(i).toString())) {
          cComboBoxPersonelPrim.setSelectedIndex(i);
          break;
        }
      }
    } else {
      cComboBoxPersonelPrim.setSelectedIndex(0);
    }
    cComboBoxPersonelPrim.updateUI();

    if (bekleyenSatis.getMusteri() != null) {
      cTextFieldMusteriSec.setText("MÜŞTERİ : "
          + bekleyenSatis.getMusteri());
      musteriBilgi = bekleyenSatis.getMusteri();
    } else {
      cTextFieldMusteriSec.setText(MUSTERI_DEFAULT_VALUE);
    }
    HibernateManager.getInstance().delete(bekleyenSatis);

  }

  protected void satisBekletmeClicked() {
    if (urunSatisListesi.size() == 0) {
      AutoClosingMessageDialog
          .showAutoClosingMessageDialog(
              "Satışta ürün bulunmadığından satış bekleme yapılmamaktadır.",
              2);
      return;
    }

    SatisBilgi sb = new SatisBilgi(instance);
    String satisKod = sb.showDialog();
    if (satisKod != null) {
      BekleyenSatis bs = new BekleyenSatis(satisKod);
      bs = getBekleyenSatisInfo(bs);
      boolean check = HibernateManager.getInstance().save(bs);
      if (check) {
        AutoClosingMessageDialog.showAutoClosingMessageDialog("Satis "
            + satisKod + " adı ile beklemeye alınmıştır.", 2);
        getDefaultValue();
      }
    }
  }

  private BekleyenSatis getBekleyenSatisInfo(BekleyenSatis bs) {
    bs.setIskontoMiktari(Double.parseDouble(cTextFieldIskontoTL.getText()));
    bs.setIskontoYuzde(Double.parseDouble(cTextFieldIskontoYuzde.getText()));
    bs.setVade(vadeFark);
    bs.setKdvMiktari(kdvToplam);
    bs.setTutar(pesinToplam
        - Double.parseDouble(cTextFieldIskontoTL.getText()));
    bs.setTarih(new Date());

    personel = (Personel) cComboBoxPersonelPrim.getSelectedItem();
    if (personel != null && cComboBoxPersonelPrim.getSelectedIndex() != 0) {
      bs.setPersonel(personel);
    } else {
      bs.setPersonel(null);
    }

    if (musteriBilgi != null) {
      bs.setMusteri(musteriBilgi);
    } else {
      bs.setMusteri(null);
    }
    for (int i = 0; i < urunSatisListesi.size(); i++) {
      urunSatis = urunSatisListesi.get(i);
      urunSatis.setYapilanSatis(false);
      HibernateManager.getInstance().save(urunSatis);
    }
    bs.setSatisListesi(urunSatisListesi);

    return bs;
  }

  protected void vadeUygulaClicked() {
    if (vadeFark == false) {
      vadeFark = true;
      JButtonVadeUygula.setText("VADE FARKINI KALDIR (F4)");
    } else {
      vadeFark = false;
      JButtonVadeUygula.setText("VADE FARKI UYGULA (F4)");
    }
    for (int i = 0; i < urunSatisListesi.size(); i++) {
      urunSatisListesi.get(i).isVade(vadeFark);
      urunSatisListesi.get(i).getTutar();
    }
    cTableSatisListesi.setObjects(urunSatisListesi);
    cTextFieldIskontoTL.setText("0.00");
    cTextFieldIskontoYuzde.setText("0.0");
    tutarDoldur();
    cTextFieldBarkodVeyaMiktar.requestFocus();
  }

  @SuppressWarnings("unchecked")
  protected void krediKartButtonClicked() {
    if (cTableSatisListesi.getRowCount() == 0) {
      Utils.showMessage("Satış listesinde ürün bulunmamaktadır.");
      return;
    }
    List<POSBilgileri> posBilgileri = (List<POSBilgileri>) HibernateManager
        .getInstance().get(POSBilgileri.class, false);
    if (posBilgileri.size() <= 0) {
      Utils.showMessage("POS bilgisi bulunmamaktadır !");
      return;
    }
    satisYap(KREDI_KART);
    cTextFieldBarkodVeyaMiktar.requestFocus();
  }

  protected void nakitButtonClicked() {
    if (cTableSatisListesi.getRowCount() == 0) {
      Utils.showMessage("Satış listesinde ürün bulunmamaktadır.");
      return;
    }
    satisYap(NAKIT);
    cTextFieldBarkodVeyaMiktar.requestFocus();
  }

  private void satisYap(String odemeTur) {

    double iskontoMiktari = Double.parseDouble(cTextFieldIskontoTL
        .getText());
    double nakitTutar = pesinToplam - iskontoMiktari;
    double kampanyaTutar = Double.parseDouble(jLabelKampanyaTutarBilgi
        .getText());
    personel = (Personel) cComboBoxPersonelPrim.getSelectedItem();
    if (cComboBoxPersonelPrim.getSelectedIndex() == 0)
      personel = null;

    if (odemeTur.equals(NAKIT)) {
      odemeBilgisi = SatisManager.getOdemeBilgisi(nakitTutar, 0, 0,
          odemeTur, null);
      boolean control = SatisManager.satisYap(iskontoMiktari, vadeFark,
          kdvToplam, odemeTur, pesinToplam, kampanyaTutar, personel,
          musteriBilgi, urunSatisListesi, null, odemeBilgisi);
      if (control) {
        AutoClosingMessageDialog.showAutoClosingMessageDialog(
            "Nakit satış işlemi başarı ile tamamlanmıştır.", 2);
        getDefaultValue();
      }
    } else if (odemeTur.equals(KREDI_KART)) {
      PSAKrediKartOdemeEkrani.getInstance(iskontoMiktari, vadeFark,
          kdvToplam, odemeTur, pesinToplam, kampanyaTutar, personel,
          musteriBilgi, urunSatisListesi).setVisible(true);
      setEnabled(false);
    }
  }

  private static void tutarDoldur() {
    fiyatBilgiDoldur();
    toplamKDVBilgiDoldur();
    cLabelPesinFiyatBilgi.setText(String.valueOf(DecimalValue
        .getDecimalValue(toplamTutar)));
    cLabelTaksitFiyatBilgi.setText(String.valueOf(DecimalValue
        .getDecimalValue(pesinToplam)));
    jLabelKampanyaTutarBilgi.setText(String.valueOf(DecimalValue
        .getDecimalValue(indirimToplam)));
    cLabelToplamKDVBilgi.setText(String.valueOf(DecimalValue
        .getDecimalValue(kdvToplam)));
  }

  private static void toplamKDVBilgiDoldur() {
    kdvToplam = 0;
    for (int i = 0; i < urunSatisListesi.size(); i++) {
      if (vadeFark == false) {
        kdvToplam += urunSatisListesi.get(i).getVadesizKDVTutar();
      } else {
        kdvToplam += urunSatisListesi.get(i).getVadeliKDVTutar();
      }
    }
  }

  private static void fiyatBilgiDoldur() {
    pesinToplam = 0;
    indirimToplam = 0;
    toplamTutar = 0;

    for (int i = 0; i < urunSatisListesi.size(); i++) {
      if (vadeFark == false) {
        toplamTutar += urunSatisListesi.get(i).getVadesizTutar();
      } else {
        toplamTutar += urunSatisListesi.get(i).getVadeliTutar();
      }
    }
    List<Discountable> list = new ArrayList<>();
    for (int i = 0; i < urunSatisListesi.size(); i++) {
      list.add(urunSatisListesi.get(i));
    }

    pesinToplam = DiscountManager.getInstance().getFinalTotal(list);
    indirimToplam = toplamTutar - pesinToplam;
  }

  protected void keyListenerAction(int keyCode) {
    switch (keyCode) {
    case KeyEvent.VK_F1:
      JButtonIade.doClick();
      break;
    case KeyEvent.VK_F2:
      JButtonNakit.doClick();
      break;
    case KeyEvent.VK_F3:
      jButtonKrediKart.doClick();
      break;
    case KeyEvent.VK_F4:
      JButtonVadeUygula.doClick();
      break;
    }
  }

  public static void getDefaultValue() {
    pesinToplam = 0;
    kdvToplam = 0;
    cLabelPesinFiyatBilgi.setText("0.00");
    cLabelTaksitFiyatBilgi.setText("0.00");
    cLabelToplamKDVBilgi.setText("0.00");
    jLabelKampanyaTutarBilgi.setText("0.00");
    cTextFieldIskontoTL.setText("0.00");
    cTextFieldIskontoYuzde.setText("0.0");
    jLabelKampanyaTutarBilgi.setText("0.00");
    cTextFieldMusteriSec.setText(MUSTERI_DEFAULT_VALUE);
    cComboBoxPersonelPrim.setSelectedIndex(0);
    cComboBoxPersonelPrim.updateUI();
    JButtonVadeUygula.setText("VADE FARKI UYGULA (F4)");
    vadeFark = false;
    musteriBilgi = null;
    urunSatisListesi.clear();
    satilanUrunListesi.clear();
    cTableSatisListesi.setObjects(urunSatisListesi);
  }

  protected void urunTablePopupMenu(MouseEvent e) {
    if (e.isPopupTrigger()) {
      Point p = e.getPoint();
      int rowNumber = cTablePanelUrun.getTable().rowAtPoint(p);
      ListSelectionModel model = cTablePanelUrun.getTable()
          .getSelectionModel();
      model.setSelectionInterval(rowNumber, rowNumber);
      pUrunMenu.show(e.getComponent(), e.getX(), e.getY());
    }
  }

  protected void enterClicked() {
    if (cTextFieldBarkodVeyaMiktar.getText().equals("")) {
      AutoClosingMessageDialog.showAutoClosingMessageDialog(
          "Lütfen barkod numarısı giriniz.", 2);
      cTextFieldBarkodVeyaMiktar.requestFocus();
      return;
    }

    int urunAdet;
    String urunBarkod = null;
    String[] bilgi;

    bilgi = barkodVeMiktar(cTextFieldBarkodVeyaMiktar.getText());
    if (bilgi.length > 1) {
      urunAdet = Integer.valueOf(bilgi[0]);
      urunBarkod = bilgi[1];
    } else {
      urunBarkod = bilgi[0];
      urunAdet = 1;
    }

    if (urunAdet == 0) {
      AutoClosingMessageDialog.showAutoClosingMessageDialog(
          "Yanlış adet bilgisi (0).", 2);
      cTextFieldBarkodVeyaMiktar.setText("");
      cTextFieldBarkodVeyaMiktar.requestFocus();
      return;
    }

    UrunStok urun = (UrunStok) HibernateManager.getInstance()
        .getObjectWithUniqueColumn(UrunStok.class, "barkod",
            Long.parseLong(urunBarkod));
    if (urun == null) {
      Utils.showMessage("Sistemde barkod numarası " + urunBarkod
          + " olan ürün bulunmamaktadır.");
      cTextFieldBarkodVeyaMiktar.setText("");
      return;
    }

    if (urun.getAdet() < urunAdet) {
      Utils.showMessage("Sistemde ürün miktarı eksiye düşecektir.");
      cTextFieldBarkodVeyaMiktar.setText("");
    }

    if (urunSatisControl(urun)) {
      urunSatis = new UrunSatis(urun, urunAdet);
      urunSatis.isVade(vadeFark);
      urunSatisListesi.add(urunSatis);
    } else {
      urunSatis = findUrunSatis(urun);
      urunSatis.setAdet(urunSatis.getAdet() + urunAdet);
    }
    cTableSatisListesi.setObjects(urunSatisListesi);
    urun.setAdet(urun.getAdet() - urunAdet);
    HibernateManager.getInstance().update(urun);

    tutarDoldur();
    cTextFieldBarkodVeyaMiktar.setText("");
    cTextFieldBarkodVeyaMiktar.requestFocus();
  }

  private static String[] barkodVeMiktar(String barkod) {
    String[] parts = null;
    if (barkod.length() <= 0) {
      return parts;
    }
    parts = barkod.split("\\*");
    return parts;
  }

  protected UrunSatis findUrunSatis(UrunStok urun) {
    UrunSatis us = new UrunSatis();
    for (int i = 0; i < urunSatisListesi.size(); i++) {
      if (String.valueOf(urun.getBarkod()).equals(
          String.valueOf(urunSatisListesi.get(i).getBarkod()))) {
        us = urunSatisListesi.get(i);
        break;
      }
    }
    return us;
  }

  private boolean urunSatisControl(UrunStok urun) {
    for (int i = 0; i < urunSatisListesi.size(); i++) {
      if (String.valueOf(urun.getBarkod()).equals(
          String.valueOf(urunSatisListesi.get(i).getBarkod()))) {
        return false;
      }
    }
    return true;
  }

  protected void urunSatisClicked() {
    cTextFieldBarkodVeyaMiktar.setText(String.valueOf(urun.getBarkod()));
    jTabbedPaneAnaEkran.setSelectedIndex(0);
  }

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

  private static void cikisButtonClicked(int state) {
    String warningText;
    boolean warningState;

    if (urunSatisListesi.size() > 0) {
      warningText = "Satış listesinde ürün bulunmaktadır. Sistemden çıkmak istediğinizden emin misiniz?";
      warningState = true;
    } else {
      warningText = "Sistemden çıkmak istediğinizden emin misiniz?";
      warningState = false;
    }

    int selectedOption = JOptionPane.showOptionDialog(null, warningText,
        "SİSTEM UYARISI", JOptionPane.OK_CANCEL_OPTION,
        JOptionPane.INFORMATION_MESSAGE, null, new String[] { "EVET",
            "HAYIR" }, "default");
    if (selectedOption == JOptionPane.OK_OPTION) {
      if (warningState)
        addStok();
      kullaniciTakip.setCikisSaat(new Date());
      HibernateManager.getInstance().save(kullaniciTakip);
      HibernateManager.getInstance().saveEntityObject(kullaniciT,
          "kullaniciTakipListesi", kullaniciTakip);
      if (state == 1) {
        instance.setDefaultCloseOperation(EXIT_ON_CLOSE);
      } else {
        instance.dispose();
        PSAGirisSayfasi.getInstance().setVisible(true);
      }
      getDefaultValue();
    }
  }

  private static void addStok() {
    for (int i = 0; i < urunSatisListesi.size(); i++) {
      urunSatis = urunSatisListesi.get(i);
      urunStok = (UrunStok) HibernateManager.getInstance()
          .getObjectWithUniqueColumn(UrunStok.class, "barkod",
              urunSatis.getBarkod());
      urunStok.setAdet(urunStok.getAdet() + urunSatis.getAdet());
      HibernateManager.getInstance().update(urunStok);
    }
  }

  private static void getVal(String iskonto, double iskontoluFiyat,
      String durum) {
    if (durum.equals("iskontoTL")) {
      cTextFieldIskontoYuzde.setText(iskonto);
    } else {
      cTextFieldIskontoTL.setText(iskonto);
    }
    cLabelTaksitFiyatBilgi.setText(DecimalValue
        .getDecimalValue(iskontoluFiyat));
  }

}
TOP

Related Classes of giris.gui.PSAAnaEkran

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.