HarrJ

Day 29-14

Oct 17th, 2023 (edited)
1,330
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.48 KB | None | 0 0
  1. package weekDay27;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.PreparedStatement;
  6. import java.sql.ResultSet;
  7. import javax.swing.JTable;
  8. import javax.swing.table.DefaultTableModel;
  9.  
  10.  
  11. public class Day28G14Methods {
  12.     private String address = "jdbc:mysql://localhost:3306/db_mng_b8";
  13.     private String userName = "root";
  14.     private String passWord = "";
  15.    
  16.     public void getAllRows(JTable tableIn) {
  17.         DefaultTableModel tblModel = (DefaultTableModel) tableIn.getModel();
  18.         tblModel.setRowCount(0);
  19.         String sqlQuery = "SELECT * FROM tbl_infolist;";
  20.        
  21.         try {
  22.             Connection conn = DriverManager.getConnection(address, userName, passWord);
  23.             PreparedStatement stmt = conn.prepareStatement(sqlQuery);
  24.            
  25.             ResultSet rs = stmt.executeQuery();
  26.             //result set starts with 1 or field name
  27.             while (rs.next()) {
  28.                 Object[] newRow = {
  29.                     rs.getInt(1)
  30.                     ,rs.getString(2)
  31.                     ,rs.getString(3)
  32.                     ,rs.getInt(4)
  33.                     ,rs.getDouble(5)
  34.                     ,rs.getString(6)
  35.                     ,rs.getString(7)};
  36.                 tblModel.addRow(newRow);
  37.             }
  38.             conn.close();
  39.         } catch (Exception e) {
  40.             Object[] error = new Object[7];
  41.             error[0] = "Connection error:\n" + e.getMessage();
  42.             tblModel.addRow(error);
  43.         }
  44.     }
  45.    
  46.     public int completeProductIn(int prodID, int prodQty, String staffName) {
  47.         String resultCode = "";
  48.         int rowsAffected = 0;
  49.         boolean willCommit = true;
  50.        
  51.         try {
  52.             String sqlQuery = "INSERT INTO tbl_g14_product_in(fld_id "
  53.                     + ", pin_qty, pin_staff)VALUES(?,?,?);";
  54.             Connection conn = DriverManager.getConnection(address, userName, passWord);
  55.            
  56.             conn.setAutoCommit(false);
  57.            
  58.             PreparedStatement stmt = conn.prepareStatement(sqlQuery);
  59.            
  60.             stmt.setInt(1, prodID);
  61.             stmt.setInt(2, prodQty);
  62.             stmt.setString(3, staffName);
  63.            
  64.             rowsAffected = stmt.executeUpdate();
  65.            
  66.             if (rowsAffected != 1) {
  67.                 willCommit = false;
  68.                 resultCode+= "X";
  69.             }
  70.            
  71.             sqlQuery = "UPDATE tbl_infolist SET fld_num_i ="
  72.                     + " (SELECT fld_num_i + ? FROM tbl_infolist"
  73.                     + " WHERE fld_id = ? LIMIT 1) WHERE fld_id = ? ;";
  74.            
  75.             stmt = conn.prepareStatement(sqlQuery);
  76.            
  77.             stmt.setInt(1, prodQty);
  78.             stmt.setInt(2, prodID);
  79.             stmt.setInt(3, prodID);
  80.            
  81.             rowsAffected = stmt.executeUpdate();
  82.            
  83.             if (rowsAffected != 1) {
  84.                 willCommit = false;
  85.                 resultCode+= "Y";
  86.             }
  87.            
  88.             if (willCommit == true) {
  89.                 conn.commit();
  90.                 resultCode = "_COMPLETE_";
  91.             }
  92.            
  93.             conn.close();
  94.         } catch (Exception e) {
  95.             rowsAffected = -1;
  96.             resultCode+= "Z";
  97.             System.out.println(e.getMessage());
  98.         }
  99.         System.out.println(resultCode);
  100.         return rowsAffected;
  101.        
  102.     }
  103.    
  104.     public int completeProductOut(int prodID, int prodQty, String staffName){
  105.         String resultCode = "";
  106.         int rowsAffected = 0;
  107.         boolean willCommit = true;
  108.         try {
  109.             String sqlQuery = "INSERT INTO tbl_g14_product_out(fld_id "
  110.                     + ", pout_qty, pout_staff)VALUES(?,?,?)";
  111.             Connection conn = DriverManager.getConnection(address, userName, passWord);
  112.            
  113.             conn.setAutoCommit(false);
  114.            
  115.             PreparedStatement stmt = conn.prepareStatement(sqlQuery);
  116.            
  117.             stmt.setInt(1, prodID);
  118.             stmt.setInt(2, prodQty);
  119.             stmt.setString(3, staffName);
  120.            
  121.             rowsAffected = stmt.executeUpdate();
  122.            
  123.             if (rowsAffected != 1) {
  124.                 willCommit = false;
  125.                 resultCode+= "X";
  126.             }
  127.             int productLess = prodQty * -1;
  128.            
  129.             sqlQuery = "UPDATE tbl_infolist SET fld_num_i ="
  130.                     + " (SELECT fld_num_i + ? FROM tbl_infolist"
  131.                     + " WHERE fld_id = ? LIMIT 1) WHERE fld_id = ? ;";
  132.            
  133.             stmt = conn.prepareStatement(sqlQuery);
  134.            
  135.             stmt.setInt(1, productLess);
  136.             stmt.setInt(2, prodID);
  137.             stmt.setInt(3, prodID);
  138.            
  139.             rowsAffected = stmt.executeUpdate();
  140.            
  141.             if (rowsAffected != 1) {
  142.                 willCommit = false;
  143.                 resultCode+= "Y";
  144.             }
  145.            
  146.             if (willCommit == true) {
  147.                 conn.commit();
  148.                 resultCode = "_COMPLETE_";
  149.             }
  150.            
  151.             conn.close();
  152.         } catch (Exception e) {
  153.             rowsAffected = -1;
  154.             resultCode+= "Z";
  155.             System.out.println(e.getMessage());
  156.         }
  157.         System.out.println(resultCode);
  158.         return rowsAffected;
  159.     }
  160. }
  161.  
  162. //-----Events------------------------
  163.     private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  164.         Day28G14Methods callG14Methods = new Day28G14Methods();
  165.         try {
  166.             int prodID = Integer.parseInt(lblProductID.getText());
  167.             int prodOutQty = Integer.parseInt(txtOutCount.getText());
  168.             int currentProdQty = Integer.parseInt(lblCurrQty.getText());
  169.             String staffName = lblStaffName.getText();
  170.             int rowAffected = 0;
  171.             if (currentProdQty > prodOutQty) {
  172.  
  173.                 rowAffected = callG14Methods.completeProductOut(prodID, prodOutQty, staffName);
  174.                
  175.                 if (rowAffected == 1) {
  176.                     JOptionPane.showMessageDialog(this, "Items added", "Product IN", JOptionPane.INFORMATION_MESSAGE);
  177.                     System.out.println("Items Taken Out of Inventory");
  178.                 }
  179.             } else {
  180.                 JOptionPane.showMessageDialog(this, "quatity is larger than available items");
  181.             }
  182.  
  183.         } catch (Exception e) {
  184.             JOptionPane.showMessageDialog(this, e.getMessage());
  185.         }
  186.         callG14Methods.getAllRows(tblProductList);
  187.     }          
  188.  
  189.  
  190.     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  191.         Day28G14Methods callG14Methods = new Day28G14Methods();
  192.         try {
  193.             int prodID = Integer.parseInt(lblProductID.getText());
  194.             int prodQty = Integer.parseInt(txtInCount.getText());
  195.             String staffName = lblStaffName.getText();
  196.             int rowAffected = 0;
  197.  
  198.             rowAffected = callG14Methods.completeProductIn(prodID, prodQty, staffName);
  199.            
  200.             if (rowAffected == 1) {
  201.                 JOptionPane.showMessageDialog(this, "Items added", "Product IN", JOptionPane.INFORMATION_MESSAGE);
  202.                 System.out.println("Items added");
  203.             }
  204.  
  205.         } catch (Exception e) {
  206.             JOptionPane.showMessageDialog(this, e.getMessage());
  207.         }
  208.         callG14Methods.getAllRows(tblProductList);
  209.     }    
  210.  
Advertisement
Add Comment
Please, Sign In to add comment