Friday, February 24, 2017

coding untuk penjualan

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package mnuTransaksi;
import Class.clsCRUDDBase;
import Class.sessionLogin;
import com.mysql.jdbc.Connection;
import java.awt.Cursor;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;
import net.sf.jasperreports.engine.util.JRLoader;

/**
 *
 * @author Jack
 */
public class Penjualan extends javax.swing.JFrame {

 
    private String idPenjualan;
    private String diskon;
    private boolean update = false;
 
    sessionLogin sesi = new sessionLogin();
    /**
     * Creates new form Penjualan
     */
    public Penjualan() {
        initComponents();
        this.setLocationRelativeTo(this);
        tKasir.setText(sesi.getNamaKasir());
    }

private void getBuku(){
        try {
            String SQL = "Select id_buku from buku order by id_buku asc";
            ResultSet rs = clsCRUDDBase.executeQuery(SQL);
            cboBuku.removeAllItems();
            cboBuku.addItem("-");
            while(rs.next()){
                cboBuku.addItem(rs.getString(1));
            }
        } catch (Exception e) {
        }
    }
 
    private void getDetBuku(){
        try {
            String idBuku = cboBuku.getSelectedItem().toString();
            String SQL = "select noIsbn,judul,penulis,penerbit,tahun,stok,harga_jual,diskon, diskon /100 *harga_jual as totalDisc "
                    + "from buku where id_buku ='"+idBuku+"'";
            ResultSet rs = clsCRUDDBase.executeQuery(SQL);
            if(rs.next()){
                tIsbn.setText(rs.getString(1));
                tJudul.setText(rs.getString(2));
                tPenulis.setText(rs.getString(3));
                tPenerbit.setText(rs.getString(4));
                tTahun.setText(rs.getString(5));
                tStok.setText(rs.getString(6));
                tHarga.setText(rs.getString(7));
                tDiskon.setText(rs.getString(8));
                this.setDiskon(rs.getString(9));
            }
        } catch (Exception e) {
        }
    }
 
    private void getTotal(){
        double disc = Double.valueOf(tDiskon.getText());
        double jj = Double.valueOf(tJumlah.getText());
        double hh = Double.valueOf(tHarga.getText());
        double a = disc/100 * hh * jj;
        String jumlah = tJumlah.getText();
        int j = Integer.valueOf(jumlah);
        String harga = tHarga.getText();
        int h = Integer.valueOf(harga);
        double Hasil = j*h-a;
        tTotal.setText(String.valueOf(Hasil));
    }
 
    private void genIdTransaksi(){
        try{
            String SQL = "select substring(id_penjualan,5,10) as id from penjualan order by id_penjualan desc limit 0,1";
            ResultSet rs = clsCRUDDBase.executeQuery(SQL);
            SimpleDateFormat df = new SimpleDateFormat("yyMM");
            Date date = new Date();
            String hasil = df.format(date);
            if(rs.next()){
                String str = "000000";
                int id = Integer.valueOf(rs.getString(1))+1;
                String str_no = String.valueOf(id);
                String idTransaksi = hasil+str.substring(0,6-str_no.length())+Integer.toString(id);
                tPenjualan.setText(idTransaksi);
            }else{
                tPenjualan.setText(hasil+"00001");
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(rootPane, "Ada kelasahan dalam database");
        }
    }
 
    private void tglTransaksi(){
        SimpleDateFormat df = new SimpleDateFormat("EEEE, dd MMMM YYYY");
        Date date = new Date();
        String hasil = df.format(date);
        tTanggal.setText(hasil);
    }
 
    private int cekData(){
        int i = 0;
        if(cboBuku.getSelectedItem().equals("-")){
            JOptionPane.showMessageDialog(rootPane, "Silahkan pilih buku.","Peringatan",JOptionPane.WARNING_MESSAGE);
        }else if(tJumlah.getText().isEmpty()){
            JOptionPane.showMessageDialog(rootPane, "Jumlah Tidak boleh kosong.","Peringatan",JOptionPane.WARNING_MESSAGE);
        }else{
            i=1;
        }
        return i;
    }
 
    private void simpan(){
        int i = cekData();
        try{
        if(i>0){
            String idPenjualan = tPenjualan.getText();
            String idBuku = cboBuku.getSelectedItem().toString();
            String idKasir = "17010001";
            String jumlah = tJumlah.getText();
            String total = tTotal.getText();
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
            Date date = new Date();
            String tanggal = df.format(date);
         
            String SQL = "insert into penjualan values('"+idPenjualan+"','"+idBuku+"','"+idKasir+"','"+jumlah+"','"+total+"','"+tanggal+"')";
            int a = clsCRUDDBase.execute(SQL);
            if(a>0){
                JOptionPane.showMessageDialog(rootPane, "Data berhasil disimpan.","Success",JOptionPane.INFORMATION_MESSAGE);
            }else{
                JOptionPane.showMessageDialog(rootPane, "Data gagal disimpan.","Gagal",JOptionPane.WARNING_MESSAGE);
            }
        }
        }catch(Exception e){
        }
    }
 
    private void updateData(){
        String idTransaksi = tPenjualan.getText();
        String idBuku = cboBuku.getSelectedItem().toString();
        String idKasir = "17010001";
        String jumlah = tJumlah.getText();
        String total = tTotal.getText();
     
        String SQL = "update penjualan set id_buku='"+idBuku+"',jumlah='"+jumlah+"',total='"+total+"' where "
                + "id_penjualan = '"+idTransaksi+"'";
        int i = clsCRUDDBase.execute(SQL);
        if(i>0){
            JOptionPane.showMessageDialog(rootPane, "Data berhasil diubah.","Success",JOptionPane.INFORMATION_MESSAGE);
        }else{
            JOptionPane.showMessageDialog(rootPane, "Data gagal diubah.","Gagal",JOptionPane.WARNING_MESSAGE);
        }
    }
 
    private void pushData(){
        String SQL = "Select * from penjualan where id_penjualan = '"+this.getIdPenjualan()+"'";
        try{
            ResultSet rs = clsCRUDDBase.executeQuery(SQL);
            if(rs.next()){
                tPenjualan.setText(rs.getString(1));
                cboBuku.setSelectedItem(rs.getString(2));
                tJumlah.setText(rs.getString(4));
                tTotal.setText(rs.getString(5));
             
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(rootPane, "Kesalahan Dalam Database!");
        }
    }
 
    private void cetak(){
        {btnCetak.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
        Connection cn = clsCRUDDBase.setKoneksi();
        try{
            Statement st = cn.createStatement();
            Map<String, Object> prs = new HashMap<String, Object>();
            prs.put("id_penjualan", tPenjualan.getText());
            JasperReport JRpt =
            JasperCompileManager.compileReport("src/mnuLaporan/FakturJual.jrxml");
            JasperPrint JPrint = JasperFillManager.fillReport(JRpt, prs, cn);
            JasperViewer view = new JasperViewer(JPrint, false);
            javax.swing.JDialog dialog = new javax.swing.JDialog(new javax.swing.JFrame(), true);
                 dialog.setContentPane(view.getContentPane());
                 dialog.setSize(400, 500);
                 dialog.setTitle("Laporan Transaksi");
                 dialog.setVisible(true);
                 dialog.setLocationRelativeTo(this);
        }catch(Exception rptexcpt){
            System.out.println("Report Can't view because : " + rptexcpt);
        }
        btnCetak.setCursor(Cursor.getDefaultCursor());
        }
    }
 
    /**
     * 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() {

        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        tPenjualan = new javax.swing.JTextField();
        cboBuku = new javax.swing.JComboBox();
        tJumlah = new javax.swing.JTextField();
        tKasir = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        tJudul = new javax.swing.JTextField();
        jLabel10 = new javax.swing.JLabel();
        tPenulis = new javax.swing.JTextField();
        jLabel11 = new javax.swing.JLabel();
        tIsbn = new javax.swing.JTextField();
        jLabel12 = new javax.swing.JLabel();
        tPenerbit = new javax.swing.JTextField();
        jLabel13 = new javax.swing.JLabel();
        tTahun = new javax.swing.JTextField();
        jLabel14 = new javax.swing.JLabel();
        tStok = new javax.swing.JTextField();
        jLabel15 = new javax.swing.JLabel();
        tHarga = new javax.swing.JTextField();
        tTanggal = new javax.swing.JLabel();
        tTotal = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        tDiskon = new javax.swing.JTextField();
        jPanel2 = new javax.swing.JPanel();
        btnSimpan = new javax.swing.JButton();
        btnBatal = new javax.swing.JButton();
        btnKeluar = new javax.swing.JButton();
        btnCetak = new javax.swing.JButton();
        jLabel7 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowOpened(java.awt.event.WindowEvent evt) {
                formWindowOpened(evt);
            }
        });

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Masukan Data Penjualan"));

        jLabel1.setText("Id Penjualan :");

        jLabel2.setText("Id Buku :");

        jLabel3.setText("KASIR :");

        jLabel4.setText("Jumlah :");

        jLabel5.setText("Total :");

        jLabel6.setText("Tanggal :");

        tPenjualan.setEnabled(false);
        tPenjualan.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tPenjualanActionPerformed(evt);
            }
        });

        cboBuku.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        cboBuku.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cboBukuItemStateChanged(evt);
            }
        });

        tJumlah.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                tJumlahKeyReleased(evt);
            }
        });

        jLabel9.setText("Judul :");

        jLabel10.setText("Penulis :");

        jLabel11.setText("No ISBN :");

        jLabel12.setText("Penerbit :");

        jLabel13.setText("Tahun :");

        jLabel14.setText("Stok :");

        jLabel15.setText("Harga Jual :");

        jLabel8.setText("Diskon :");

        tDiskon.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tDiskonActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel13)
                            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jLabel1)
                                .addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(jLabel9, javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(jLabel10, javax.swing.GroupLayout.Alignment.TRAILING)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                    .addComponent(tPenulis, javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(tPenjualan, javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(cboBuku, javax.swing.GroupLayout.Alignment.LEADING, 0, 110, Short.MAX_VALUE))
                                .addGap(18, 18, 18)
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(jPanel1Layout.createSequentialGroup()
                                        .addComponent(jLabel12)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(tPenerbit, javax.swing.GroupLayout.PREFERRED_SIZE, 154, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(jPanel1Layout.createSequentialGroup()
                                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                            .addComponent(jLabel11)
                                            .addComponent(jLabel6))
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                            .addComponent(tIsbn, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
                                            .addComponent(tTanggal, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
                                .addGap(0, 0, Short.MAX_VALUE))
                            .addComponent(tJudul)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(jPanel1Layout.createSequentialGroup()
                                        .addComponent(tTahun, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(jLabel14))
                                    .addComponent(tJumlah, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(jPanel1Layout.createSequentialGroup()
                                        .addComponent(tStok, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(jLabel15)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(tHarga, javax.swing.GroupLayout.PREFERRED_SIZE, 132, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 20, Short.MAX_VALUE))
                                    .addGroup(jPanel1Layout.createSequentialGroup()
                                        .addComponent(jLabel8)
                                        .addGap(18, 18, 18)
                                        .addComponent(tDiskon, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(0, 0, Short.MAX_VALUE))))))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(27, 27, 27)
                        .addComponent(jLabel3)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(tKasir, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(jLabel5)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(tTotal, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(0, 0, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(tTanggal, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel1)
                        .addComponent(tPenjualan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jLabel6)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(cboBuku, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel11)
                    .addComponent(tIsbn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel9)
                    .addComponent(tJudul, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel10)
                    .addComponent(tPenulis, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel12)
                    .addComponent(tPenerbit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel13)
                    .addComponent(tTahun, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel14)
                    .addComponent(tStok, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel15)
                    .addComponent(tHarga, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(8, 8, 8)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(tJumlah, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel4)
                            .addComponent(jLabel8)
                            .addComponent(tDiskon, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(tKasir, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                    .addComponent(jLabel5)
                    .addComponent(tTotal, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Action"));

        btnSimpan.setText("SIMPAN");
        btnSimpan.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSimpanActionPerformed(evt);
            }
        });

        btnBatal.setText("BATAL");

        btnKeluar.setText("KELUAR");
        btnKeluar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnKeluarActionPerformed(evt);
            }
        });

        btnCetak.setText("CETAK");
        btnCetak.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCetakActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(btnSimpan, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnKeluar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnBatal, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnCetak, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(btnSimpan)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnCetak)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(btnBatal)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnKeluar)
                .addContainerGap())
        );

        jLabel7.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jLabel7.setText("Input Data Penjualan");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jLabel7))
                .addContainerGap(18, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(16, 16, 16)
                .addComponent(jLabel7)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

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

    private void btnKeluarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnKeluarActionPerformed
        // TODO add your handling code here:
        this.dispose();
    }//GEN-LAST:event_btnKeluarActionPerformed

    private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSimpanActionPerformed
        // TODO add your handling code here:
        if(this.isUpdate() == true){
            updateData();
        }else{
            simpan();
        }
    }//GEN-LAST:event_btnSimpanActionPerformed

    private void formWindowOpened(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowOpened
        // TODO add your handling code here:
        if(this.isUpdate()==true){
            getBuku();
            pushData();
            btnSimpan.setText("UPDATE");
        }else{
            genIdTransaksi();
            getBuku();
            tglTransaksi();
            btnSimpan.setText("SIMPAN");
        }
    }//GEN-LAST:event_formWindowOpened

    private void cboBukuItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cboBukuItemStateChanged
        // TODO add your handling code here:
            getDetBuku();
    }//GEN-LAST:event_cboBukuItemStateChanged

    private void tJumlahKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_tJumlahKeyReleased
        // TODO add your handling code here:
        if(tJumlah.getText().isEmpty()){
            tTotal.setText("");
        }else{
            getTotal();
        }
    }//GEN-LAST:event_tJumlahKeyReleased

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

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

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

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Penjualan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Penjualan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Penjualan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Penjualan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Penjualan().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnBatal;
    private javax.swing.JButton btnCetak;
    private javax.swing.JButton btnKeluar;
    private javax.swing.JButton btnSimpan;
    private javax.swing.JComboBox cboBuku;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JTextField tDiskon;
    private javax.swing.JTextField tHarga;
    private javax.swing.JTextField tIsbn;
    private javax.swing.JTextField tJudul;
    private javax.swing.JTextField tJumlah;
    private javax.swing.JLabel tKasir;
    private javax.swing.JTextField tPenerbit;
    private javax.swing.JTextField tPenjualan;
    private javax.swing.JTextField tPenulis;
    private javax.swing.JTextField tStok;
    private javax.swing.JTextField tTahun;
    private javax.swing.JLabel tTanggal;
    private javax.swing.JLabel tTotal;
    // End of variables declaration//GEN-END:variables

    /**
     * @return the idPenjualan
     */
    public String getIdPenjualan() {
        return idPenjualan;
    }

    /**
     * @param idPenjualan the idPenjualan to set
     */
    public void setIdPenjualan(String idPenjualan) {
        this.idPenjualan = idPenjualan;
    }

    /**
     * @return the diskon
     */
    public String getDiskon() {
        return diskon;
    }

    /**
     * @param diskon the diskon to set
     */
    public void setDiskon(String diskon) {
        this.diskon = diskon;
    }

    /**
     * @return the update
     */
    public boolean isUpdate() {
        return update;
    }

    /**
     * @param update the update to set
     */
    public void setUpdate(boolean update) {
        this.update = update;
    }
}

No comments:

Post a Comment