/*
* 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;
}
}