package gui;
import hibernateSwingApi.component.CComboBox;
import hibernateSwingApi.component.CTextField;
import hibernateSwingApi.hibernate.HibernateManager;
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.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.text.SimpleDateFormat;
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.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 org.hibernate.Query;
import org.hibernate.Session;
import pojos.Firma;
import pojos.Renk;
import pojos.Urun;
import pojos.UrunBeden;
import pojos.UrunCinsiyet;
import pojos.UrunGrup;
import pojos.UrunMarka;
import pojos.UrunModel;
import pojos.UrunSevk;
import pojos.UrunSezon;
import pojos.UrunStok;
import service.AutoClosingMessageDialog;
import service.PSAUtil;
import com.toedter.calendar.JDateChooser;
import com.toedter.calendar.JTextFieldDateEditor;
public class PSAUrunGuncellemeEkrani extends JFrame {
private static final long serialVersionUID = 1L;
private static PSAUrunGuncellemeEkrani instance;
private JLabel cLabelUrunBilgileri;
private JPanel cPanelUrunBilgileri;
private JSpinner cSpinnerUrunAdet;
private CComboBox<UrunMarka> cComboBoxUrunMarka;
private JLabel cLabelUrunMarka;
private JLabel cLabelUrunCinsiyet;
private CComboBox<UrunCinsiyet> cComboBoxUrunCinsiyet;
private CTextField cTextFieldUrunRenk;
private JLabel cLabelUrunRenk;
private CComboBox<UrunBeden> cComboBoxUrunBeden;
private JLabel cLabelUrunBeden;
private JLabel cLabelUrunGrup;
private CComboBox<UrunModel> cComboBoxUrunModel;
private JLabel cLabelUrunModel;
private JLabel cLabelUrunAdet;
private JLabel cLabelUrunSezon;
private CComboBox<UrunGrup> cComboBoxUrunGrup;
private CComboBox<UrunSezon> cComboBoxUrunSezon;
private JPanel cPanelFirmaBilgileri;
private JLabel cLabelUrunFirma;
private CComboBox<Firma> cComboBoxUrunFirma;
private JLabel cLabelUrunAlisFiyat;
private CTextField cTextFieldUrunAlisFiyatTamKisim;
private CTextField cTextFieldUrunPesinFiyatTamKisim;
private JLabel cLabelUrunPesinSatisFiyat;
private JLabel cLabelUrunTaksitliSatisFiyat;
private CTextField cTextFieldUrunTaksitliFiyatTamKisim;
private CTextField cTextFieldUrunAlisFiyatKurusKisim;
private JLabel cLabelUrunAlisVirgul;
private CTextField cTextFieldUrunTaksitliFiyatKurusKisim;
private CTextField cTextFieldUrunPesinFiyatKurusKisim;
private JLabel cLabelUrunTaksitVirgul;
private JLabel cLabelUrunPesinVirgul;
private JLabel cLabelUrunAlisTL;
private JLabel cLabelUrunPesinTL;
private JLabel cLabelUrunTaksitTL;
private JLabel cLabelUrunTarih;
private JDateChooser jDateChooserUrunTarih;
private JLabel cLabelUrunKDV;
private JLabel cLabelFirmaBilgileri;
private JButton JButtonUrunGuncelle;
private JButton JButtonUrunSil;
private JButton JButtonIptal;
private JSpinner cSpinnerUrunKDV;
private Renk urunRenk;
private String urunSezon;
private String urunGrup;
private String urunModel;
private String urunBeden;
private String urunCinsiyet;
private String urunMarka;
private String urunFirma;
private Urun urun;
private List<UrunStok> stokList = new LinkedList<>();
private List<UrunSevk> sevkList = new LinkedList<>();
private static final String DEFAULT_COMBOBOX_VALUE = "Seçiniz";
public static PSAUrunGuncellemeEkrani getInstance(Urun urun) {
instance = new PSAUrunGuncellemeEkrani(urun);
return instance;
}
private PSAUrunGuncellemeEkrani(Urun urun) {
initialize(urun);
}
private void initialize(Urun urun) {
setTitle("PSA MERKEZ URUN GÜNCELLEME EKRANI");
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setBounds(0, 0, 885, 393);
setResizable(false);
getContentPane().setLayout(null);
setIconImage(PSAUtil.getImageIconViaRelativePath("picture/psaIcon.png")
.getImage());
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, 33, 370, 20);
getContentPane().add(cLabelUrunBilgileri);
cPanelUrunBilgileri = new JPanel();
cPanelUrunBilgileri.setBorder(new LineBorder(new Color(0, 0, 0), 2));
cPanelUrunBilgileri.setLayout(null);
cPanelUrunBilgileri.setBackground(UIManager.getColor("Button.shadow"));
cPanelUrunBilgileri.setBounds(38, 54, 370, 242);
getContentPane().add(cPanelUrunBilgileri);
cComboBoxUrunMarka = new CComboBox<UrunMarka>(UrunMarka.class);
cComboBoxUrunMarka.setBounds(130, 191, 230, 20);
cPanelUrunBilgileri.add(cComboBoxUrunMarka);
cLabelUrunMarka = new JLabel();
cLabelUrunMarka.setText("Markas\u0131");
cLabelUrunMarka.setFont(new Font("Tahoma", Font.BOLD, 14));
cLabelUrunMarka.setBounds(10, 191, 120, 20);
cPanelUrunBilgileri.add(cLabelUrunMarka);
cLabelUrunCinsiyet = new JLabel();
cLabelUrunCinsiyet.setText("Cinsiyeti");
cLabelUrunCinsiyet.setFont(new Font("Tahoma", Font.BOLD, 14));
cLabelUrunCinsiyet.setBounds(10, 161, 120, 20);
cPanelUrunBilgileri.add(cLabelUrunCinsiyet);
cComboBoxUrunCinsiyet = new CComboBox<UrunCinsiyet>(UrunCinsiyet.class);
cComboBoxUrunCinsiyet.setBounds(130, 163, 230, 20);
cPanelUrunBilgileri.add(cComboBoxUrunCinsiyet);
cTextFieldUrunRenk = new CTextField(30);
cTextFieldUrunRenk.setHorizontalAlignment(SwingConstants.CENTER);
cTextFieldUrunRenk.setEditable(false);
cTextFieldUrunRenk.setForeground(Color.BLACK);
cTextFieldUrunRenk.setBackground(Color.WHITE);
cTextFieldUrunRenk.setText("RENK YOK");
cTextFieldUrunRenk.setBounds(130, 132, 230, 20);
cPanelUrunBilgileri.add(cTextFieldUrunRenk);
cLabelUrunRenk = new JLabel();
cLabelUrunRenk.setText("Rengi");
cLabelUrunRenk.setFont(new Font("Tahoma", Font.BOLD, 14));
cLabelUrunRenk.setBounds(10, 131, 120, 20);
cPanelUrunBilgileri.add(cLabelUrunRenk);
cComboBoxUrunBeden = new CComboBox<UrunBeden>(UrunBeden.class);
cComboBoxUrunBeden.setBounds(130, 101, 230, 20);
cPanelUrunBilgileri.add(cComboBoxUrunBeden);
cLabelUrunBeden = new JLabel();
cLabelUrunBeden.setText("Bedeni");
cLabelUrunBeden.setFont(new Font("Tahoma", Font.BOLD, 14));
cLabelUrunBeden.setBounds(10, 101, 120, 20);
cPanelUrunBilgileri.add(cLabelUrunBeden);
cLabelUrunGrup = new JLabel();
cLabelUrunGrup.setText("Grubu");
cLabelUrunGrup.setFont(new Font("Tahoma", Font.BOLD, 14));
cLabelUrunGrup.setBounds(10, 41, 120, 20);
cPanelUrunBilgileri.add(cLabelUrunGrup);
cComboBoxUrunModel = new CComboBox<UrunModel>(UrunModel.class);
cComboBoxUrunModel.setBounds(130, 71, 230, 20);
cPanelUrunBilgileri.add(cComboBoxUrunModel);
cLabelUrunModel = new JLabel();
cLabelUrunModel.setText("Modeli");
cLabelUrunModel.setFont(new Font("Tahoma", Font.BOLD, 14));
cLabelUrunModel.setBounds(10, 71, 120, 20);
cPanelUrunBilgileri.add(cLabelUrunModel);
cLabelUrunSezon = new JLabel();
cLabelUrunSezon.setText("Sezonu");
cLabelUrunSezon.setFont(new Font("Tahoma", Font.BOLD, 14));
cLabelUrunSezon.setBounds(10, 11, 120, 20);
cPanelUrunBilgileri.add(cLabelUrunSezon);
cComboBoxUrunGrup = new CComboBox<UrunGrup>(UrunGrup.class);
cComboBoxUrunGrup.setBounds(130, 41, 230, 20);
cPanelUrunBilgileri.add(cComboBoxUrunGrup);
cComboBoxUrunSezon = new CComboBox<UrunSezon>(UrunSezon.class);
cComboBoxUrunSezon.setBounds(130, 11, 230, 20);
cPanelUrunBilgileri.add(cComboBoxUrunSezon);
cPanelFirmaBilgileri = new JPanel();
cPanelFirmaBilgileri.setBorder(new LineBorder(new Color(0, 0, 0), 2));
cPanelFirmaBilgileri.setLayout(null);
cPanelFirmaBilgileri.setBackground(UIManager.getColor("Button.shadow"));
cPanelFirmaBilgileri.setBounds(449, 54, 393, 242);
getContentPane().add(cPanelFirmaBilgileri);
cLabelUrunFirma = new JLabel();
cLabelUrunFirma.setText("Firma");
cLabelUrunFirma.setFont(new Font("Tahoma", Font.BOLD, 14));
cLabelUrunFirma.setBounds(10, 11, 120, 20);
cPanelFirmaBilgileri.add(cLabelUrunFirma);
cComboBoxUrunFirma = new CComboBox<Firma>(Firma.class);
cComboBoxUrunFirma.setBounds(150, 11, 230, 20);
cPanelFirmaBilgileri.add(cComboBoxUrunFirma);
cLabelUrunAlisFiyat = new JLabel();
cLabelUrunAlisFiyat.setText("Al\u0131\u015F Fiyat\u0131");
cLabelUrunAlisFiyat.setFont(new Font("Tahoma", Font.BOLD, 14));
cLabelUrunAlisFiyat.setBounds(10, 41, 120, 20);
cPanelFirmaBilgileri.add(cLabelUrunAlisFiyat);
cTextFieldUrunAlisFiyatTamKisim = new CTextField(7);
cTextFieldUrunAlisFiyatTamKisim.setAsOnlyNumberTextField();
cTextFieldUrunAlisFiyatTamKisim
.setHorizontalAlignment(SwingConstants.RIGHT);
cTextFieldUrunAlisFiyatTamKisim.setBounds(150, 42, 86, 20);
cPanelFirmaBilgileri.add(cTextFieldUrunAlisFiyatTamKisim);
cTextFieldUrunPesinFiyatTamKisim = new CTextField(7);
cTextFieldUrunPesinFiyatTamKisim.setAsOnlyNumberTextField();
cTextFieldUrunPesinFiyatTamKisim
.setHorizontalAlignment(SwingConstants.RIGHT);
cTextFieldUrunPesinFiyatTamKisim.setBounds(150, 73, 86, 20);
cPanelFirmaBilgileri.add(cTextFieldUrunPesinFiyatTamKisim);
cLabelUrunPesinSatisFiyat = new JLabel();
cLabelUrunPesinSatisFiyat
.setText("Pe\u015Fin Sat\u0131\u015F Fiyat\u0131");
cLabelUrunPesinSatisFiyat.setFont(new Font("Tahoma", Font.BOLD, 14));
cLabelUrunPesinSatisFiyat.setBounds(10, 71, 136, 20);
cPanelFirmaBilgileri.add(cLabelUrunPesinSatisFiyat);
cLabelUrunTaksitliSatisFiyat = new JLabel();
cLabelUrunTaksitliSatisFiyat
.setText("Taksitli Sat\u0131\u015F Fiyat\u0131");
cLabelUrunTaksitliSatisFiyat.setFont(new Font("Tahoma", Font.BOLD, 14));
cLabelUrunTaksitliSatisFiyat.setBounds(10, 101, 136, 20);
cPanelFirmaBilgileri.add(cLabelUrunTaksitliSatisFiyat);
cTextFieldUrunTaksitliFiyatTamKisim = new CTextField(7);
cTextFieldUrunTaksitliFiyatTamKisim.setAsOnlyNumberTextField();
cTextFieldUrunTaksitliFiyatTamKisim
.setHorizontalAlignment(SwingConstants.RIGHT);
cTextFieldUrunTaksitliFiyatTamKisim.setBounds(150, 103, 86, 20);
cPanelFirmaBilgileri.add(cTextFieldUrunTaksitliFiyatTamKisim);
cTextFieldUrunAlisFiyatKurusKisim = new CTextField(2);
cTextFieldUrunAlisFiyatKurusKisim.setAsOnlyNumberTextField();
cTextFieldUrunAlisFiyatKurusKisim.setBounds(246, 42, 33, 20);
cPanelFirmaBilgileri.add(cTextFieldUrunAlisFiyatKurusKisim);
cLabelUrunAlisVirgul = new JLabel();
cLabelUrunAlisVirgul.setText(",");
cLabelUrunAlisVirgul.setBounds(239, 42, 9, 29);
cPanelFirmaBilgileri.add(cLabelUrunAlisVirgul);
cTextFieldUrunTaksitliFiyatKurusKisim = new CTextField(2);
cTextFieldUrunTaksitliFiyatKurusKisim.setAsOnlyNumberTextField();
cTextFieldUrunTaksitliFiyatKurusKisim.setBounds(246, 102, 33, 20);
cPanelFirmaBilgileri.add(cTextFieldUrunTaksitliFiyatKurusKisim);
cTextFieldUrunPesinFiyatKurusKisim = new CTextField(2);
cTextFieldUrunPesinFiyatKurusKisim.setAsOnlyNumberTextField();
cTextFieldUrunPesinFiyatKurusKisim.setBounds(246, 73, 33, 20);
cPanelFirmaBilgileri.add(cTextFieldUrunPesinFiyatKurusKisim);
cLabelUrunTaksitVirgul = new JLabel();
cLabelUrunTaksitVirgul.setText(",");
cLabelUrunTaksitVirgul.setBounds(239, 102, 9, 29);
cPanelFirmaBilgileri.add(cLabelUrunTaksitVirgul);
cLabelUrunPesinVirgul = new JLabel();
cLabelUrunPesinVirgul.setText(",");
cLabelUrunPesinVirgul.setBounds(239, 73, 9, 29);
cPanelFirmaBilgileri.add(cLabelUrunPesinVirgul);
cLabelUrunAlisTL = new JLabel();
cLabelUrunAlisTL.setText("TL");
cLabelUrunAlisTL.setBounds(281, 49, 17, 14);
cPanelFirmaBilgileri.add(cLabelUrunAlisTL);
cLabelUrunPesinTL = new JLabel();
cLabelUrunPesinTL.setText("TL");
cLabelUrunPesinTL.setBounds(281, 80, 17, 14);
cPanelFirmaBilgileri.add(cLabelUrunPesinTL);
cLabelUrunTaksitTL = new JLabel();
cLabelUrunTaksitTL.setText("TL");
cLabelUrunTaksitTL.setBounds(281, 109, 17, 14);
cPanelFirmaBilgileri.add(cLabelUrunTaksitTL);
cLabelUrunTarih = new JLabel();
cLabelUrunTarih.setText("Eklendi\u011Fi Tarih");
cLabelUrunTarih.setFont(new Font("Tahoma", Font.BOLD, 14));
cLabelUrunTarih.setBounds(10, 131, 120, 20);
cPanelFirmaBilgileri.add(cLabelUrunTarih);
jDateChooserUrunTarih = new JDateChooser();
jDateChooserUrunTarih.setBounds(150, 131, 230, 20);
((JTextFieldDateEditor) jDateChooserUrunTarih.getDateEditor())
.setEditable(false);
cPanelFirmaBilgileri.add(jDateChooserUrunTarih);
SpinnerModel spinnerModelKDV = new SpinnerNumberModel(0, 0, 99, 1);
cSpinnerUrunKDV = new JSpinner();
cSpinnerUrunKDV.setModel(spinnerModelKDV);
cSpinnerUrunKDV.setBounds(347, 42, 33, 20);
cPanelFirmaBilgileri.add(cSpinnerUrunKDV);
cLabelUrunKDV = new JLabel();
cLabelUrunKDV.setVerticalAlignment(SwingConstants.BOTTOM);
cLabelUrunKDV.setText("KDV(%)");
cLabelUrunKDV.setFont(new Font("Tahoma", Font.BOLD, 11));
cLabelUrunKDV.setBounds(300, 41, 46, 20);
cPanelFirmaBilgileri.add(cLabelUrunKDV);
cLabelUrunAdet = new JLabel();
cLabelUrunAdet.setBounds(10, 162, 120, 20);
cPanelFirmaBilgileri.add(cLabelUrunAdet);
cLabelUrunAdet.setText("Adet");
cLabelUrunAdet.setFont(new Font("Tahoma", Font.BOLD, 14));
SpinnerModel spinnerModel = new SpinnerNumberModel(0, 0, 1000000, 1);
cSpinnerUrunAdet = new JSpinner();
cSpinnerUrunAdet.setBounds(150, 162, 90, 20);
cSpinnerUrunAdet.setModel(spinnerModel);
cPanelFirmaBilgileri.add(cSpinnerUrunAdet);
cLabelFirmaBilgileri = new JLabel();
cLabelFirmaBilgileri.setHorizontalAlignment(SwingConstants.CENTER);
cLabelFirmaBilgileri
.setText("F\u0130RMA VE SATI\u015E B\u0130LG\u0130LER\u0130");
cLabelFirmaBilgileri.setFont(new Font("Tahoma", Font.BOLD, 16));
cLabelFirmaBilgileri.setBounds(449, 33, 393, 20);
getContentPane().add(cLabelFirmaBilgileri);
JButtonUrunGuncelle = new JButton();
JButtonUrunGuncelle.setIcon(PSAUtil
.getImageIconViaRelativePath("picture/kullaniciGuncelle.png"));
JButtonUrunGuncelle.setText("\u00DCR\u00DCN G\u00DCNCELLE");
JButtonUrunGuncelle.setFont(new Font("Tahoma", Font.BOLD, 13));
JButtonUrunGuncelle.setBounds(599, 307, 243, 38);
getContentPane().add(JButtonUrunGuncelle);
JButtonUrunSil = new JButton();
JButtonUrunSil.setIcon(PSAUtil
.getImageIconViaRelativePath("picture/silIcon.png"));
JButtonUrunSil.setText("\u00DCR\u00DCN S\u0130L");
JButtonUrunSil.setFont(new Font("Tahoma", Font.BOLD, 13));
JButtonUrunSil.setBounds(319, 307, 243, 38);
getContentPane().add(JButtonUrunSil);
JButtonIptal = new JButton();
JButtonIptal.setIcon(PSAUtil
.getImageIconViaRelativePath("picture/geriButonu.png"));
JButtonIptal.setText("GER\u0130 D\u00D6N");
JButtonIptal.setFont(new Font("Tahoma", Font.BOLD, 13));
JButtonIptal.setBounds(38, 307, 243, 38);
getContentPane().add(JButtonIptal);
initListener();
initComboBoxes();
kategoriDoldur(urun);
}
private void initComboBoxes() {
List<?> 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);
list = HibernateManager.getInstance().get(UrunSezon.class, false);
cComboBoxUrunSezon.setObjects(list);
}
protected void kategoriDoldur(Urun urun1) {
urun = urun1;
for (int i = 0; i < cComboBoxUrunSezon.getItemCount(); i++) {
if (urun.getSezon().equals(
cComboBoxUrunSezon.getItemAt(i).toString())) {
cComboBoxUrunSezon.setSelectedIndex(i);
break;
}
}
cComboBoxUrunSezon.updateUI();
for (int i = 0; i < cComboBoxUrunGrup.getItemCount(); i++) {
if (urun.getGrup()
.equals(cComboBoxUrunGrup.getItemAt(i).toString())) {
cComboBoxUrunGrup.setSelectedIndex(i);
break;
}
}
cComboBoxUrunGrup.updateUI();
if (!urun.getModel().equals("-")) {
for (int i = 0; i < cComboBoxUrunModel.getItemCount(); i++) {
if (urun.getModel().equals(
cComboBoxUrunModel.getItemAt(i).toString())) {
cComboBoxUrunModel.setSelectedIndex(i);
break;
}
}
}
cComboBoxUrunModel.updateUI();
if (!urun.getBeden().equals("-")) {
for (int i = 0; i < cComboBoxUrunBeden.getItemCount(); i++) {
if (urun.getBeden().equals(
cComboBoxUrunBeden.getItemAt(i).toString())) {
cComboBoxUrunBeden.setSelectedIndex(i);
break;
}
}
}
cComboBoxUrunBeden.updateUI();
urunRenk = new Renk();
if (urun.getRenk() == null) {
cTextFieldUrunRenk.setBackground(Color.WHITE);
urunRenk.setColor(null);
} else {
cTextFieldUrunRenk.setBackground(urun.getRenk());
urunRenk.setColor(urun.getRenk());
}
cTextFieldUrunRenk.setText(urun.getRenkAd());
urunRenk.setName(urun.getRenkAd());
if (!urun.getCinsiyet().equals("-")) {
for (int i = 0; i < cComboBoxUrunCinsiyet.getItemCount(); i++) {
if (urun.getCinsiyet().equals(
cComboBoxUrunCinsiyet.getItemAt(i).toString())) {
cComboBoxUrunCinsiyet.setSelectedIndex(i);
break;
}
}
}
cComboBoxUrunCinsiyet.updateUI();
if (!urun.getMarka().equals("-")) {
for (int i = 0; i < cComboBoxUrunMarka.getItemCount(); i++) {
if (urun.getMarka().equals(
cComboBoxUrunMarka.getItemAt(i).toString())) {
cComboBoxUrunMarka.setSelectedIndex(i);
break;
}
}
}
cComboBoxUrunMarka.updateUI();
cSpinnerUrunAdet.setValue(urun.getAdet());
if (!urun.getFirmaAd().equals("-")) {
for (int i = 0; i < cComboBoxUrunFirma.getItemCount(); i++) {
if (urun.getFirmaAd().equals(
cComboBoxUrunFirma.getItemAt(i).toString())) {
cComboBoxUrunFirma.setSelectedIndex(i);
break;
}
}
}
cComboBoxUrunFirma.updateUI();
cSpinnerUrunKDV.setValue(urun.getKdvMiktari());
jDateChooserUrunTarih.setDate(urun.getTarih());
cTextFieldUrunAlisFiyatTamKisim.setText(fiyatTamKisim(urun
.getAlisFiyati()));
cTextFieldUrunAlisFiyatKurusKisim.setText(fiyatKurusKisim(urun
.getAlisFiyati()));
cTextFieldUrunPesinFiyatTamKisim.setText(fiyatTamKisim(urun
.getPesinSatisFiyati()));
cTextFieldUrunPesinFiyatKurusKisim.setText(fiyatKurusKisim(urun
.getPesinSatisFiyati()));
cTextFieldUrunTaksitliFiyatTamKisim.setText(fiyatTamKisim(urun
.getTaksitliSatisFiyati()));
cTextFieldUrunTaksitliFiyatKurusKisim.setText(fiyatKurusKisim(urun
.getTaksitliSatisFiyati()));
}
private static String fiyatTamKisim(double fiyat) {
String fiyatTam = String.valueOf(fiyat);
String[] parts = fiyatTam.split("\\.");
fiyatTam = parts[0];
return fiyatTam;
}
private static String fiyatKurusKisim(double fiyat) {
String fiyatTam = String.valueOf(fiyat);
String[] parts = fiyatTam.split("\\.");
if (parts.length < 2) {
fiyatTam = "00";
} else {
fiyatTam = parts[1];
if (fiyatTam.length() < 2) {
fiyatTam = fiyatTam + "0";
}
}
return fiyatTam;
}
private void initListener() {
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
anaEkranSetEnable();
}
});
cTextFieldUrunRenk.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@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");
} else {
cTextFieldUrunRenk.setBackground(secilenRenk.getColor());
cTextFieldUrunRenk.setText(secilenRenk.getName());
}
urunRenk = secilenRenk;
}
});
cComboBoxUrunSezon.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent event) {
comboBoxUrunSezonChanged(event);
}
});
cComboBoxUrunGrup.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent event) {
comboBoxUrunGrupChanged(event);
}
});
JButtonUrunGuncelle.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
urunGuncelleClicked();
}
});
JButtonUrunSil.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
urunSilClicked();
}
});
JButtonIptal.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
anaEkranSetEnable();
}
});
cTextFieldUrunAlisFiyatKurusKisim.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent arg0) {
if (cTextFieldUrunAlisFiyatKurusKisim.getText().equals("00")) {
cTextFieldUrunAlisFiyatKurusKisim.setText("");
}
}
@Override
public void focusLost(FocusEvent e) {
if (cTextFieldUrunAlisFiyatKurusKisim.getText().equals("")) {
cTextFieldUrunAlisFiyatKurusKisim.setText("00");
}
if (cTextFieldUrunAlisFiyatKurusKisim.getText().length() == 1) {
String kurusKisim = cTextFieldUrunAlisFiyatKurusKisim
.getText() + "0";
cTextFieldUrunAlisFiyatKurusKisim.setText(kurusKisim);
}
}
});
cTextFieldUrunPesinFiyatKurusKisim.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent e) {
if (cTextFieldUrunPesinFiyatKurusKisim.getText().equals("00")) {
cTextFieldUrunPesinFiyatKurusKisim.setText("");
}
}
@Override
public void focusLost(FocusEvent e) {
if (cTextFieldUrunPesinFiyatKurusKisim.getText().equals("")) {
cTextFieldUrunPesinFiyatKurusKisim.setText("00");
}
if (cTextFieldUrunPesinFiyatKurusKisim.getText().length() == 1) {
String kurusKisim = cTextFieldUrunPesinFiyatKurusKisim
.getText() + "0";
cTextFieldUrunPesinFiyatKurusKisim.setText(kurusKisim);
}
}
});
cTextFieldUrunTaksitliFiyatKurusKisim
.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent e) {
if (cTextFieldUrunTaksitliFiyatKurusKisim.getText()
.equals("00")) {
cTextFieldUrunTaksitliFiyatKurusKisim.setText("");
}
}
@Override
public void focusLost(FocusEvent e) {
if (cTextFieldUrunTaksitliFiyatKurusKisim.getText()
.equals("")) {
cTextFieldUrunTaksitliFiyatKurusKisim.setText("00");
}
if (cTextFieldUrunTaksitliFiyatKurusKisim.getText()
.length() == 1) {
String kurusKisim = cTextFieldUrunTaksitliFiyatKurusKisim
.getText() + "0";
cTextFieldUrunTaksitliFiyatKurusKisim
.setText(kurusKisim);
}
}
});
((JSpinner.DefaultEditor) cSpinnerUrunAdet.getEditor()).getTextField()
.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
((JSpinner.DefaultEditor) cSpinnerUrunAdet.getEditor())
.getTextField().setEditable(true);
((JSpinner.DefaultEditor) cSpinnerUrunAdet.getEditor())
.getTextField().selectAll();
}
});
cSpinnerUrunAdet.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
((JSpinner.DefaultEditor) cSpinnerUrunAdet.getEditor())
.getTextField().setEditable(false);
}
});
((JSpinner.DefaultEditor) cSpinnerUrunAdet.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) cSpinnerUrunKDV.getEditor()).getTextField()
.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
((JSpinner.DefaultEditor) cSpinnerUrunKDV.getEditor())
.getTextField().setEditable(true);
((JSpinner.DefaultEditor) cSpinnerUrunKDV.getEditor())
.getTextField().selectAll();
}
});
((JSpinner.DefaultEditor) cSpinnerUrunKDV.getEditor()).getTextField()
.addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent arg0) {
if (kdvPercentControl()) {
AutoClosingMessageDialog
.showAutoClosingMessageDialog(
"Ürün KDV(%)'si %99'u geçemez.", 2);
cSpinnerUrunKDV.setValue(99);
}
}
@Override
public void focusGained(FocusEvent arg0) {
}
});
cSpinnerUrunKDV.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
((JSpinner.DefaultEditor) cSpinnerUrunKDV.getEditor())
.getTextField().setEditable(false);
}
});
((JSpinner.DefaultEditor) cSpinnerUrunKDV.getEditor()).getTextField()
.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
char keyChar = e.getKeyChar();
if ((keyChar >= '0' && keyChar <= '9')
|| keyChar == '.') {
return;
}
e.consume();
}
});
}
protected boolean kdvPercentControl() {
String as = ((JSpinner.DefaultEditor) cSpinnerUrunKDV.getEditor())
.getTextField().getText();
if (Double.parseDouble(as) > 99) {
return true;
}
return false;
}
protected void anaEkranSetEnable() {
PSAAnaEkran.getInstance(null).setEnabled(true);
instance.dispose();
}
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) {
HibernateManager.getInstance().delete(urun);
AutoClosingMessageDialog.showAutoClosingMessageDialog(
"Ürün sitemden başarı ile silinmiştir.", 2);
anaEkranSetEnable();
}
}
protected void urunGuncelleClicked() {
if (kdvPercentControl()) {
AutoClosingMessageDialog.showAutoClosingMessageDialog(
"Ürün KDV(%)'si %99'u geçemez.", 2);
cSpinnerUrunKDV.setValue(99);
return;
}
if (cComboBoxUrunGrup.getSelectedItem().toString()
.equals(DEFAULT_COMBOBOX_VALUE)) {
AutoClosingMessageDialog.showAutoClosingMessageDialog(
"Ürünün grubunu giriniz.", 2);
return;
}
if (updateControl(urun)) {
urun.setSezon(urunSezon);
if (!cComboBoxUrunModel.getSelectedItem().toString()
.equals(DEFAULT_COMBOBOX_VALUE)) {
urun.setModel(urunModel);
} else {
urun.setModel("-");
}
if (!cComboBoxUrunBeden.getSelectedItem().toString()
.equals(DEFAULT_COMBOBOX_VALUE)) {
urun.setBeden(urunBeden);
} else {
urun.setBeden("-");
}
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(urunCinsiyet);
} else {
urun.setCinsiyet("-");
}
if (!cComboBoxUrunMarka.getSelectedItem().toString()
.equals(DEFAULT_COMBOBOX_VALUE)) {
urun.setMarka(urunMarka);
} else {
urun.setMarka("-");
}
if (!cComboBoxUrunFirma.getSelectedItem().toString()
.equals(DEFAULT_COMBOBOX_VALUE)) {
urun.setFirmaAd(urunFirma);
} else {
urun.setFirmaAd("-");
}
urun.setTarih(jDateChooserUrunTarih.getDate());
if (cComboBoxUrunGrup.getSelectedItem() == null) {
Utils.showMessage("Eklemek istediğiniz ürünün grubunu giriniz.");
} else {
urun.setGrup(urunGrup);
if (Integer.parseInt(cSpinnerUrunAdet.getValue().toString()) > 0) {
urun.setAdet(Integer.parseInt(cSpinnerUrunAdet.getValue()
.toString()));
if (fiyatHesapla(cTextFieldUrunAlisFiyatTamKisim.getText(),
cTextFieldUrunAlisFiyatKurusKisim.getText()) > 0) {
urun.setAlisFiyati(fiyatHesapla(
cTextFieldUrunAlisFiyatTamKisim.getText(),
cTextFieldUrunAlisFiyatKurusKisim.getText()));
if (fiyatHesapla(
cTextFieldUrunPesinFiyatTamKisim.getText(),
cTextFieldUrunPesinFiyatKurusKisim.getText()) > 0) {
urun.setPesinSatisFiyati(fiyatHesapla(
cTextFieldUrunPesinFiyatTamKisim.getText(),
cTextFieldUrunPesinFiyatKurusKisim
.getText()));
if (fiyatHesapla(
cTextFieldUrunTaksitliFiyatTamKisim
.getText(),
cTextFieldUrunTaksitliFiyatKurusKisim
.getText()) > 0) {
urun.setTaksitliSatisFiyati(fiyatHesapla(
cTextFieldUrunTaksitliFiyatTamKisim
.getText(),
cTextFieldUrunTaksitliFiyatKurusKisim
.getText()));
urun.setKdvMiktari(Double
.parseDouble(cSpinnerUrunKDV.getValue()
.toString()));
boolean control = HibernateManager
.getInstance().update(urun);
if (control) {
if (updateAllSameProducts(urun)) {
Utils.showMessage("Ürün ile igili bilgiler güncellenmiştir.");
} else {
Utils.showMessage("Bu ürün ile ilgili bilgiler güncellenmiştir.");
}
}
} 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.");
}
}
} else {
Utils.showMessage("Ürün ile ilgili güncellenecek bilgi bulunmamaktadır.");
}
}
@SuppressWarnings("unchecked")
private boolean updateAllSameProducts(Urun urunDepo) {
boolean check = false;
stokList = (List<UrunStok>) urunListesiHqlQuery(urunDepo);
for (int i = 0; i < stokList.size(); i++) {
UrunStok urunSube = stokList.get(i);
if (urunSube.getId() != urunDepo.getId()) {
urunSube.setSezon(urunDepo.getSezon());
urunSube.setGrup(urunDepo.getGrup());
urunSube.setModel(urunDepo.getModel());
urunSube.setBeden(urunDepo.getBeden());
urunSube.setRenk(urunDepo.getRenk());
urunSube.setRenkAd(urunDepo.getRenkAd());
urunSube.setCinsiyet(urunDepo.getCinsiyet());
urunSube.setMarka(urunDepo.getMarka());
urunSube.setAlisFiyati(urunDepo.getAlisFiyati());
urunSube.setPesinSatisFiyati(urunDepo.getPesinSatisFiyati());
urunSube.setTaksitliSatisFiyati(urunDepo
.getTaksitliSatisFiyati());
urunSube.setFirmaAd(urunDepo.getFirmaAd());
urunSube.setKdvMiktari(urunDepo.getKdvMiktari());
urunSube.setTarih(urunDepo.getTarih());
check = HibernateManager.getInstance().update(urunSube);
}
}
sevkList = (List<UrunSevk>) urunListesiHqlQueryForSevk(urunDepo);
for (int i = 0; i < sevkList.size(); i++) {
UrunSevk urunSube = sevkList.get(i);
if (urunSube.getId() != urunDepo.getId()) {
urunSube.setSezon(urunDepo.getSezon());
urunSube.setGrup(urunDepo.getGrup());
urunSube.setModel(urunDepo.getModel());
urunSube.setBeden(urunDepo.getBeden());
urunSube.setRenk(urunDepo.getRenk());
urunSube.setRenkAd(urunDepo.getRenkAd());
urunSube.setCinsiyet(urunDepo.getCinsiyet());
urunSube.setMarka(urunDepo.getMarka());
urunSube.setAlisFiyati(urunDepo.getAlisFiyati());
urunSube.setPesinSatisFiyati(urunDepo.getPesinSatisFiyati());
urunSube.setTaksitliSatisFiyati(urunDepo
.getTaksitliSatisFiyati());
urunSube.setFirmaAd(urunDepo.getFirmaAd());
urunSube.setKdvMiktari(urunDepo.getKdvMiktari());
urunSube.setTarih(urunDepo.getTarih());
check = HibernateManager.getInstance().update(urunSube);
}
}
System.out.println(check);
return check;
}
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");
UrunGrup ug = new UrunGrup();
ug.setGrup(DEFAULT_COMBOBOX_VALUE);
cComboBoxUrunGrup.setInitialObject(ug);
cComboBoxUrunGrup.refresh();
}
private boolean updateControl(Urun urun) {
boolean control = true;
String urunTarih = new SimpleDateFormat("dd.MMM.yyyy").format(urun
.getTarih());
String jDateChooserTarih = new SimpleDateFormat("dd.MMM.yyyy")
.format(jDateChooserUrunTarih.getDate());
if (cComboBoxUrunSezon.getSelectedItem().toString()
.equals(DEFAULT_COMBOBOX_VALUE)) {
urunSezon = "-";
} else {
urunSezon = cComboBoxUrunSezon.getSelectedItem().toString();
}
if (cComboBoxUrunGrup.getSelectedItem().toString()
.equals(DEFAULT_COMBOBOX_VALUE)) {
urunGrup = "-";
} else {
urunGrup = cComboBoxUrunGrup.getSelectedItem().toString();
}
if (cComboBoxUrunModel.getSelectedItem().toString()
.equals(DEFAULT_COMBOBOX_VALUE)) {
urunModel = "-";
} else {
urunModel = cComboBoxUrunModel.getSelectedItem().toString();
}
if (cComboBoxUrunBeden.getSelectedItem().toString()
.equals(DEFAULT_COMBOBOX_VALUE)) {
urunBeden = "-";
} else {
urunBeden = cComboBoxUrunBeden.getSelectedItem().toString();
}
if (cComboBoxUrunCinsiyet.getSelectedItem().toString()
.equals(DEFAULT_COMBOBOX_VALUE)) {
urunCinsiyet = "-";
} else {
urunCinsiyet = cComboBoxUrunCinsiyet.getSelectedItem().toString();
}
if (cComboBoxUrunMarka.getSelectedItem().toString()
.equals(DEFAULT_COMBOBOX_VALUE)) {
urunMarka = "-";
} else {
urunMarka = cComboBoxUrunMarka.getSelectedItem().toString();
}
if (cComboBoxUrunFirma.getSelectedItem().toString()
.equals(DEFAULT_COMBOBOX_VALUE)) {
urunFirma = "-";
} else {
urunFirma = cComboBoxUrunFirma.getSelectedItem().toString();
}
if (urun.getSezon().equals(urunSezon)
&& urun.getGrup().equals(urunGrup)
&& urun.getModel().equals(urunModel)
&& urun.getBeden().equals(urunBeden)
&& urun.getRenkAd() == urunRenk.getName()
&& urun.getCinsiyet().equals(urunCinsiyet)
&& urun.getMarka().equals(urunMarka)
&& urun.getAdet() == Integer.parseInt(cSpinnerUrunAdet
.getValue().toString())
&& urun.getKdvMiktari() == Double.parseDouble(cSpinnerUrunKDV
.getValue().toString())
&& urun.getFirmaAd().equals(urunFirma)
&& urun.getAlisFiyati() == fiyatHesapla(
cTextFieldUrunAlisFiyatTamKisim.getText(),
cTextFieldUrunAlisFiyatKurusKisim.getText())
&& urun.getPesinSatisFiyati() == fiyatHesapla(
cTextFieldUrunPesinFiyatTamKisim.getText(),
cTextFieldUrunPesinFiyatKurusKisim.getText())
&& urun.getTaksitliSatisFiyati() == fiyatHesapla(
cTextFieldUrunTaksitliFiyatTamKisim.getText(),
cTextFieldUrunTaksitliFiyatKurusKisim.getText())
&& urunTarih.equals(jDateChooserTarih)) {
control = false;
}
return control;
}
private static double fiyatHesapla(String tamKisim, String kurusKisim) {
double fiyat = Double.parseDouble(tamKisim)
+ (Double.parseDouble(kurusKisim) * 1 / 100);
return fiyat;
}
private static List<?> urunListesiHqlQuery(Urun urunDepo) {
Session openSession = HibernateManager.getInstance().openSession();
openSession.beginTransaction();
StringBuilder sBuilder = new StringBuilder();
sBuilder.append("from UrunStok where ");
sBuilder.append("barkod = ").append(urunDepo.getBarkod());
String hql = sBuilder.toString();
Query createQuery = openSession.createQuery(hql);
List<?> list = createQuery.list();
openSession.close();
return list;
}
private static List<?> urunListesiHqlQueryForSevk(Urun urunDepo) {
Session openSession = HibernateManager.getInstance().openSession();
openSession.beginTransaction();
StringBuilder sBuilder = new StringBuilder();
sBuilder.append("from UrunSevk where ");
sBuilder.append("barkod = ").append(urunDepo.getBarkod());
String hql = sBuilder.toString();
Query createQuery = openSession.createQuery(hql);
List<?> list = createQuery.list();
openSession.close();
return list;
}
}