{ads}

6/recent/ticker-posts

Create Point of sale in Java NetBeans IDE

 




Libraries used


import java.awt.Color;
import java.awt.Font;
import java.awt.event.KeyEvent;
import java.awt.print.PrinterException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;

Function to Retrieve data from product and insert into sales:

 private void pos_sys(){
    String name = txt_product_code.getText();
    try {
         Connection  co = DriverManager.getConnection("jdbc:mysql://localhost:3306/store_managment_system","root", "root");
         PreparedStatement pt =co.prepareStatement("select * from products  where ID= ? ");
         pt.setString(1,name);
         ResultSet rs = pt.executeQuery();
         while(rs.next()){
         int current_quantity;
         current_quantity = rs.getInt("Quantity");
         int price = Integer.parseInt(txt_price.getText());
         int qtynew = Integer.parseInt(txt_quantity.getText());
         int tot = price*qtynew;
         if(qtynew > current_quantity){
              JOptionPane.showMessageDialog(this, "Avaliable Product " + " = " + current_quantity);
              JOptionPane.showMessageDialog(this, "Not Enough Quantity");
         }
         else{
              DefaultTableModel model = (DefaultTableModel)tbl_data.getModel();
              model.addRow(new Object[]
              {
               txt_product_code.getText(),
               txt_product_name.getText(),
               txt_price.getText(),
               txt_quantity.getText(),
               tot,});
               }
         int sum = 0 ; 
         for(int i =0  ; i < tbl_data.getRowCount(); i++){
         sum = sum + Integer.parseInt(tbl_data.getValueAt(i, 4).toString());
         }
         txt_total.setText(Integer.toString(sum));
         txt_product_code.setText("");
         txt_product_name.setText("");
         txt_price.setText("");
         txt_quantity.setText("");
         txt_product_code.requestFocus();
         }
         }
          catch(Exception e){
              e.printStackTrace();
          }
        
         }
 int id =0;
 public int getid()    
 {
   ResultSet rs = null;
   try{
       Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/store_managment_system","root","root");
       String query ="select max(id) from sale";
       Statement st = con.createStatement();
       rs = st.executeQuery(query);
       while(rs.next()){
       id=rs.getInt(1);
       id++;
       }
       }
        catch(Exception e){
        e.printStackTrace();
        }
        return id;
    }
 public int receipt() {
            int rec=0;
            try{
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/store_managment_system","root", "root");
            PreparedStatement pst = con.prepareStatement("select max(id) from sale");
            ResultSet rs = pst.executeQuery();
            if(rs.next()){
                rec = rs.getInt(1);
                }
             }
             catch(Exception e){
                 e.printStackTrace();
             }
             return rec;
    }
void sales() {
         DateTimeFormatter dft = DateTimeFormatter.ofPattern("yyyy/MM/dd");
         LocalDateTime now = LocalDateTime.now();
         String date = dft.format(now);
         
         String total = txt_total.getText();
         String pay = txt_pay.getText();
         String balance = txt_balance.getText();
         
         int lastinsertid=0;
        try{
            //Class.forName("com.mysql.cj.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/store_managment_system","root","root");
       
            String query ="Insert into sale(date,Subtotal,pay,Balance) values(?,?,?,?)";
                    
             PreparedStatement pst = con.prepareStatement(query,Statement.RETURN_GENERATED_KEYS);
           // pst.setInt(1, getid());
             pst.setString(1, date);
              pst.setString(2, total);
             pst.setString(3, pay);
             pst.setString(4, balance);
             pst.executeUpdate();
            ResultSet gkr =  pst.getGeneratedKeys();
           // int i = pst.executeUpdate();
           if(gkr.next()){
               lastinsertid = gkr.getInt(1);
           }
            JOptionPane.showMessageDialog(this, lastinsertid);
           
              String query2 ="Insert into sale_product(sale_id,product_id,sell_price,qty,total,pname) values(?,?,?,?,?,?)";
             PreparedStatement pst2 = con.prepareStatement(query2);
            
             String product_id="";
             String price="";
             String qty="";
             String name="";
             int totalp = 0;
             
             for(int i = 0 ; i < tbl_data.getRowCount() ; i++){
                 
             product_id = (String)tbl_data.getValueAt(i, 0);
            name= (String)tbl_data.getValueAt(i, 1);
             price= (String)tbl_data.getValueAt(i, 2);
             qty= (String)tbl_data.getValueAt(i, 3);
             totalp= (int)tbl_data.getValueAt(i, 4);
          
              pst2.setInt(1, lastinsertid);
             pst2.setString(2, product_id);
             pst2.setString(3, price);
             pst2.setString(4, qty);
             pst2.setInt(5, totalp);
            pst2.setString(6, name);
             pst2.executeUpdate();
             
             }
             String query3 = "Update products set Quantity = Quantity - ? where ID = ?";
             PreparedStatement pst3 = con.prepareStatement(query3);
               for(int i = 0 ; i < tbl_data.getRowCount() ; i++){
                 
             product_id = (String)tbl_data.getValueAt(i, 0);
               qty= (String)tbl_data.getValueAt(i, 3);
             
          
             pst3.setString(1,qty);
             pst3.setString(2, product_id);
            
             pst3.execute();
             
             }
             pst2.addBatch();
             JOptionPane.showMessageDialog(this, "Record Sale successfull");
             
             
             
             
        }
        catch( Exception e){
            e.printStackTrace();
        }
       
    }
     
     public void Print()
     {
          String sub = txt_total.getText();
          String pay = txt_pay.getText();
          String balance = txt_balance.getText();
          
        try {
            new Print(sub,pay,balance,tbl_data.getModel()).setVisible(true);
        } catch (PrinterException ex) {
            Logger.getLogger(Pos.class.getName()).log(Level.SEVERE, null, ex);
        }
     }

Call function behind add button:

 pos_sys();



Call piece of code behind Delete button:


  DefaultTableModel model = (DefaultTableModel)tbl_data.getModel();
  model.removeRow(tbl_data.getSelectedRow()); 
  int sum = 0 ; 
  for(int i =0  ; i < tbl_data.getRowCount(); i++){
  sum = sum + Integer.parseInt(tbl_data.getValueAt(i, 4).toString());
  }
  txt_total.setText(Integer.toString(sum));
                         

Call piece of code behind Id text box:

 if(evt.getKeyCode() == KeyEvent.VK_ENTER){
          String name = txt_product_code.getText();
         
          try {
             
            Connection  co = DriverManager.getConnection("jdbc:mysql://localhost:3306/store_managment_system","root", "root");
               PreparedStatement pt =co.prepareStatement("select * from products  where ID= ? ");
                   pt.setString(1,name);
                    ResultSet rs = pt.executeQuery();
                       if(rs.next()== false){
                          
                           
                            JOptionPane.showMessageDialog(this,"Product Not Found");
                             
                       }
                       else{
                        String productname = rs.getString("Pname");
                        String Price = rs.getString("Price");
                        txt_product_name.setText(productname.trim());
                         txt_price.setText(Price.trim());
                         txt_quantity.requestFocus();
                        
                       }

          } catch (Exception ex) {
              ex.printStackTrace();
          }







Download file:



Post a Comment

0 Comments