/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * DlgPenyakit.java
 *
 * Created on May 23, 2010, 12:57:16 AM
 */

package inventory;

import fungsi.koneksiDB;
import fungsi.sekuel;
import fungsi.validasi;
import java.awt.Cursor;
import java.awt.event.KeyEvent;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author dosen
 */
public final class DlgCariKonversi extends javax.swing.JDialog {
    private DefaultTableModel tabMode;
    private final sekuel Sequel=new sekuel();
    private final validasi Valid=new validasi();
    private final Connection koneksi=koneksiDB.condb();
    /** Creates new form DlgPenyakit
     * @param parent
     * @param modal */
    public DlgCariKonversi(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        this.setLocation(10,2);
        setSize(628,75);
        setLocationRelativeTo(null);

        Valid.loadCombo(kdsat1,"kode_sat","kodesatuan");
        Valid.loadCombo(kdsat2,"kode_sat","kodesatuan");
        
    }


    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        internalFrame1 = new widget.InternalFrame();
        panelisi4 = new widget.panelisi();
        n1 = new widget.TextBox();
        nmsat1 = new widget.TextBox();
        kdsat1 = new widget.ComboBox();
        label11 = new widget.Label();
        n2 = new widget.TextBox();
        kdsat2 = new widget.ComboBox();
        nmsat2 = new widget.TextBox();
        BtnKeluar1 = new widget.Button();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setUndecorated(true);
        setResizable(false);

        internalFrame1.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(240, 245, 235)), "::[ Calculator Konversi Satuan ]::", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(50,50,50))); // NOI18N
        internalFrame1.setName("internalFrame1"); // NOI18N
        internalFrame1.setLayout(new java.awt.BorderLayout(1, 1));

        panelisi4.setName("panelisi4"); // NOI18N
        panelisi4.setPreferredSize(new java.awt.Dimension(100, 47));
        panelisi4.setLayout(null);

        n1.setHighlighter(null);
        n1.setName("n1"); // NOI18N
        n1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                n1ActionPerformed(evt);
            }
        });
        n1.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                n1KeyPressed(evt);
            }
        });
        panelisi4.add(n1);
        n1.setBounds(12, 12, 50, 23);

        nmsat1.setEditable(false);
        nmsat1.setHighlighter(null);
        nmsat1.setName("nmsat1"); // NOI18N
        panelisi4.add(nmsat1);
        nmsat1.setBounds(146, 12, 130, 23);

        kdsat1.setName("kdsat1"); // NOI18N
        kdsat1.setPreferredSize(new java.awt.Dimension(45, 23));
        kdsat1.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                kdsat1ItemStateChanged(evt);
            }
        });
        kdsat1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                kdsat1ActionPerformed(evt);
            }
        });
        panelisi4.add(kdsat1);
        kdsat1.setBounds(64, 12, 80, 23);

        label11.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        label11.setText("=");
        label11.setName("label11"); // NOI18N
        label11.setPreferredSize(new java.awt.Dimension(70, 23));
        panelisi4.add(label11);
        label11.setBounds(277, 12, 20, 23);

        n2.setHighlighter(null);
        n2.setName("n2"); // NOI18N
        n2.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                n2KeyPressed(evt);
            }
        });
        panelisi4.add(n2);
        n2.setBounds(299, 12, 50, 23);

        kdsat2.setName("kdsat2"); // NOI18N
        kdsat2.setPreferredSize(new java.awt.Dimension(45, 23));
        kdsat2.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                kdsat2ItemStateChanged(evt);
            }
        });
        panelisi4.add(kdsat2);
        kdsat2.setBounds(351, 12, 80, 23);

        nmsat2.setEditable(false);
        nmsat2.setHighlighter(null);
        nmsat2.setName("nmsat2"); // NOI18N
        panelisi4.add(nmsat2);
        nmsat2.setBounds(433, 12, 130, 23);

        BtnKeluar1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/picture/exit.png"))); // NOI18N
        BtnKeluar1.setMnemonic('K');
        BtnKeluar1.setToolTipText("Alt+K");
        BtnKeluar1.setName("BtnKeluar1"); // NOI18N
        BtnKeluar1.setPreferredSize(new java.awt.Dimension(100, 30));
        BtnKeluar1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BtnKeluar1ActionPerformed(evt);
            }
        });
        BtnKeluar1.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                BtnKeluar1KeyPressed(evt);
            }
        });
        panelisi4.add(BtnKeluar1);
        BtnKeluar1.setBounds(580, 12, 28, 23);

        internalFrame1.add(panelisi4, java.awt.BorderLayout.CENTER);

        getContentPane().add(internalFrame1, java.awt.BorderLayout.CENTER);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void n1KeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_n1KeyPressed
        if(evt.getKeyCode()==KeyEvent.VK_ENTER){
            isHitung();
        }
}//GEN-LAST:event_n1KeyPressed

    private void n2KeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_n2KeyPressed
        if(evt.getKeyCode()==KeyEvent.VK_ENTER){
            isHitung();
        }
    }//GEN-LAST:event_n2KeyPressed

    private void kdsat1ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_kdsat1ItemStateChanged
        Sequel.cariIsi("select kodesatuan.satuan from kodesatuan where kodesatuan.kode_sat=?", nmsat1,kdsat1.getSelectedItem().toString());
        isHitung();
    }//GEN-LAST:event_kdsat1ItemStateChanged

    private void kdsat2ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_kdsat2ItemStateChanged
       Sequel.cariIsi("select kodesatuan.satuan from kodesatuan where kodesatuan.kode_sat=?", nmsat2,kdsat2.getSelectedItem().toString());
       isHitung();
    }//GEN-LAST:event_kdsat2ItemStateChanged

private void BtnKeluar1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BtnKeluar1ActionPerformed
   dispose();
}//GEN-LAST:event_BtnKeluar1ActionPerformed

private void BtnKeluar1KeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_BtnKeluar1KeyPressed
// TODO add your handling code here:
}//GEN-LAST:event_BtnKeluar1KeyPressed

private void n1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_n1ActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_n1ActionPerformed

private void kdsat1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_kdsat1ActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_kdsat1ActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(() -> {
            DlgCariKonversi dialog = new DlgCariKonversi(new javax.swing.JFrame(), true);
            dialog.addWindowListener(new java.awt.event.WindowAdapter() {
                @Override
                public void windowClosing(java.awt.event.WindowEvent e) {
                    System.exit(0);
                }
            });
            dialog.setVisible(true);
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private widget.Button BtnKeluar1;
    private widget.InternalFrame internalFrame1;
    private widget.ComboBox kdsat1;
    private widget.ComboBox kdsat2;
    private widget.Label label11;
    private widget.TextBox n1;
    private widget.TextBox n2;
    private widget.TextBox nmsat1;
    private widget.TextBox nmsat2;
    private widget.panelisi panelisi4;
    // End of variables declaration//GEN-END:variables

    private void isHitung(){
        if((!n1.getText().equals(""))&&(!n2.getText().equals(""))){
            if(!nmsat1.getText().equals(nmsat2.getText())){
                try {
                    ResultSet rs=koneksi.createStatement().executeQuery(
                            "select nilai,nilai_konversi from konver_sat where kode_sat='"+kdsat1.getSelectedItem()+"' and sat_konversi='"+kdsat2.getSelectedItem()+"'");
                    if(rs.next()){
                        n2.setText(Double.toString(Double.parseDouble(n1.getText())*(rs.getDouble(2)/rs.getDouble(1))));
                    }else if(!rs.next()){
                        int reply = JOptionPane.showConfirmDialog(rootPane,"Maaf, konversi satuan tidak ditemukan. Apa anda ingin menambahkan..??","Konfirmasi",JOptionPane.YES_NO_OPTION);
                        if (reply == JOptionPane.YES_OPTION) {
                            this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                            DlgKonversi form=new DlgKonversi(null,false);
                            form.emptTeks();
                            form.setSize(internalFrame1.getWidth()-20,internalFrame1.getHeight()-20);
                            form.setLocationRelativeTo(internalFrame1);
                            form.setAlwaysOnTop(false);
                            form.setVisible(true);
                            this.setCursor(Cursor.getDefaultCursor());
                            dispose();
                        }                            
                    }                    
                } catch (SQLException ex) {
                    System.out.println(ex);
                }
            }
        }        
    }


}
