HarrJ

DAY 27

Oct 15th, 2023 (edited)
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.79 KB | None | 0 0
  1. -- para sa group 2 and 3 sample
  2.  
  3. CREATE TABLE tbl_g23_orderlst (
  4. fld_orid INT AUTO_INCREMENT PRIMARY KEY
  5. , fld_id INT NOT NULL
  6. , fld_curr_price DECIMAL(20,4) NOT NULL
  7. , fld_or_qty INT NOT NULL
  8. , fld_or_qtytotal DECIMAL(20,4) NOT NULL
  9. , fld_recid INT NOT NULL
  10. );
  11.  
  12. CREATE TABLE tbl_g23_reciept (
  13. fld_recid INT AUTO_INCREMENT PRIMARY KEY
  14. , fld_tr_date DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL
  15. , fld_rec_qty INT NOT NULL
  16. , fld_rec_qtytotal DECIMAL(20,4) NOT NULL
  17. );
  18.  
  19. INSERT INTO tbl_g23_orderlst(fld_id, fld_curr_price, fld_or_qty, fld_or_qtytotal, fld_recid) VALUES (?,?,?,?);
  20.  
  21. INSERT INTO tbl_g23_reciept(fld_rec_qty, fld_rec_qtytotal) VALUE (?,?);
  22.  
  23. SELECT fld_recid FROM tbl_g23_reciept WHERE fld_rec_qty = ? AND fld_rec_qtytotal = ? ORDER BY fld_recid DESC;
  24.  
  25. -- RECORD RESIBO
  26. -- KUKUNIN NUMBER NG RESIBO
  27. -- RECORD BINILI
  28.  
  29.  
  30. -- para sa group 1 and 4 sample
  31. CREATE TABLE tbl_g14_product_in(
  32. pIN_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
  33. ,fld_id INT NOT NULL
  34. ,pin_date DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL
  35. ,pin_qty INT NOT NULL
  36. ,pin_staff VARCHAR(30) NOT NULL
  37. );
  38.  
  39.  
  40. CREATE TABLE tbl_g14_product_out(
  41. pOUT_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
  42. ,fld_id INT NOT NULL
  43. ,pout_date DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL
  44. ,pout_qty INT NOT NULL
  45. ,pout_staff VARCHAR(30) NOT NULL
  46. );
  47.  
  48. -- tbl_infolist is proxy for your main table
  49. -- group 1 fld_num_i is PROXY for your tbl_Product_list quantity_in_stock field
  50. -- kayo na bahala sa date
  51. INSERT INTO tbl_g14_product_in(fld_id ,pin_qty, pin_staff)VALUES(?,?,?,?);
  52. -- group 1 follow up for INSERT INTO tbl_product_in
  53. UPDATE tbl_infolist SET fld_num_i = (SELECT fld_num_i + ? FROM tbl_infolist WHERE fld_id = ? LIMIT 1) WHERE fld_id = ?;
  54.  
  55. --sample in action assuming product id 12 have incoming 20 items
  56. INSERT INTO tbl_g14_product_in(fld_id, pin_qty, pin_staff)VALUES(12,20,'Elbert');
  57. UPDATE tbl_infolist
  58. SET fld_num_i = (SELECT fld_num_i + 20 FROM tbl_infolist WHERE fld_id = 12 LIMIT 1))
  59. WHERE fld_id = 12;
  60. -- end sample
  61.  
  62. -- what about product going out
  63. -- need check of there is available number of items
  64. SELECT fld_num_i FROM tbl_infolist WHERE fld_id = ?;
  65. -- gagawa ka ng if statement sa java if fld_num_i > pout_qty
  66. -- di gagana ang out kung mag ne negative ang quantity
  67. -- kayo na bahala sa date
  68. INSERT INTO tbl_g14_product_out(fld_id , pout_qty, pout_staff)VALUES(?,?,?);
  69.  
  70. -----------------------------------------------
  71. package weekDay27;
  72.  
  73. import java.sql.Connection;
  74. import java.sql.DriverManager;
  75. import java.sql.PreparedStatement;
  76. import java.sql.ResultSet;
  77. import javax.swing.JTable;
  78. import javax.swing.table.DefaultTableModel;
  79.  
  80. public class Day27G14Methods {
  81. private String address = "jdbc:mysql://localhost:3306/db_mng_b8";
  82. private String userName = "root";
  83. private String passWord = "";
  84.  
  85. public void getAllRows(JTable tableIn) {
  86. DefaultTableModel tblModel = (DefaultTableModel) tableIn.getModel();
  87. tblModel.setRowCount(0);
  88. String sqlQuery = "SELECT * FROM tbl_infolist;";
  89.  
  90. try {
  91. Connection conn = DriverManager.getConnection(address, userName, passWord);
  92. PreparedStatement stmt = conn.prepareStatement(sqlQuery);
  93.  
  94. ResultSet rs = stmt.executeQuery();
  95. //result set starts with 1 or field name
  96. while (rs.next()) {
  97. Object[] newRow = {
  98. rs.getInt(1)
  99. ,rs.getString(2)
  100. ,rs.getString(3)
  101. ,rs.getInt(4)
  102. ,rs.getDouble(5)
  103. ,rs.getString(6)
  104. ,rs.getString(7)};
  105. tblModel.addRow(newRow);
  106. }
  107. conn.close();
  108. } catch (Exception e) {
  109. Object[] error = new Object[7];
  110. error[0] = "Connection error:\n" + e.getMessage();
  111. tblModel.addRow(error);
  112. }
  113. }
  114.  
  115. // for incoming
  116. public int recordProductIn(int prodID, int prodQty, String staffName) {
  117. int rowsAffected = 0;
  118. String sqlQuery = "INSERT INTO tbl_g14_product_in(fld_id ,pin_qty, pin_staff)VALUES(?,?,?);";
  119.  
  120. try {
  121. Connection conn = DriverManager.getConnection(address, userName, passWord);
  122. PreparedStatement stmt = conn.prepareStatement(sqlQuery);
  123.  
  124. stmt.setInt(1, prodID);
  125. stmt.setInt(2, prodQty);
  126. stmt.setString(3, staffName);
  127.  
  128. rowsAffected = stmt.executeUpdate();
  129.  
  130. conn.close();
  131. } catch (Exception e) {
  132. rowsAffected = -1;
  133. System.out.println(e.getMessage());
  134. }
  135.  
  136.  
  137. return rowsAffected;
  138. }
  139.  
  140. public int updateQuantityField (int prodID, int prodQty) {
  141. int rowsAffected = 0;
  142. String sqlQuery = "UPDATE tbl_infolist"
  143. + " SET fld_num_i = (SELECT fld_num_i + ? FROM tbl_infolist WHERE fld_id = ? LIMIT 1)"
  144. + " WHERE fld_id = ?;";
  145. System.out.println(sqlQuery);
  146. try {
  147. Connection conn = DriverManager.getConnection(address, userName, passWord);
  148. PreparedStatement stmt = conn.prepareStatement(sqlQuery);
  149.  
  150. stmt.setInt(1, prodQty);
  151. stmt.setInt(2, prodID);
  152. stmt.setInt(3, prodID);
  153.  
  154. rowsAffected = stmt.executeUpdate();
  155.  
  156. conn.close();
  157. } catch (Exception e) {
  158. rowsAffected = -1;
  159. System.out.println(e.getMessage());
  160. }
  161.  
  162. return rowsAffected;
  163. }
  164.  
  165. // for outgoing
  166. public int recordProductOut(int prodID, int prodQty, String staffName) {
  167. int rowsAffected = 0;
  168. String sqlQuery = "INSERT INTO tbl_g14_product_out(fld_id , pout_qty, pout_staff)VALUES(?,?,?)";
  169. try {
  170. Connection conn = DriverManager.getConnection(address, userName, passWord);
  171. PreparedStatement stmt = conn.prepareStatement(sqlQuery);
  172.  
  173. stmt.setInt(1, prodID);
  174. stmt.setInt(2, prodQty);
  175. stmt.setString(3, staffName);
  176.  
  177. rowsAffected = stmt.executeUpdate();
  178.  
  179. conn.close();
  180. } catch (Exception e) {
  181. rowsAffected = -1;
  182. System.out.println(e.getMessage());
  183. }
  184.  
  185. return rowsAffected;
  186. }
  187.  
  188. }
  189.  
  190. ------------------------------------------------
  191.  
  192. private void formWindowOpened(java.awt.event.WindowEvent evt) {
  193. randoName();
  194. Day27G14Methods callG14Methods = new Day27G14Methods();
  195. callG14Methods.getAllRows(tblProductList);
  196. }
  197.  
  198. private void tblProductListMouseReleased(java.awt.event.MouseEvent evt) {
  199. lblProductID.setText(tblProductList.getValueAt(tblProductList.getSelectedRow(), 0).toString());
  200. lblCurrQty.setText(tblProductList.getValueAt(tblProductList.getSelectedRow(), 3).toString());
  201. }
  202.  
  203. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
  204. Day27G14Methods callG14Methods = new Day27G14Methods();
  205. try {
  206. int prodID = Integer.parseInt(lblProductID.getText());
  207. int prodQty = Integer.parseInt(txtInCount.getText());
  208. String staffName = lblStaffName.getText();
  209. int rowAffected = 0;
  210.  
  211. rowAffected = callG14Methods.recordProductIn(prodID, prodQty, staffName);
  212.  
  213. if (rowAffected == 1) {
  214. rowAffected = callG14Methods.updateQuantityField(prodID, prodQty);
  215. if (rowAffected == 1) {
  216. JOptionPane.showMessageDialog(this, "Incoming product recorded");
  217. } else {
  218. JOptionPane.showMessageDialog(this, "update fail");
  219. }
  220. } else {
  221. JOptionPane.showMessageDialog(this, "insert fail");
  222. }
  223.  
  224. } catch (Exception e) {
  225. JOptionPane.showMessageDialog(this, e.getMessage());
  226. }
  227. callG14Methods.getAllRows(tblProductList);
  228. }
  229.  
  230. private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
  231. Day27G14Methods callG14Methods = new Day27G14Methods();
  232. try {
  233. int prodID = Integer.parseInt(lblProductID.getText());
  234. int prodOutQty = Integer.parseInt(txtOutCount.getText());
  235. int currentProdQty = Integer.parseInt(lblCurrQty.getText());
  236. String staffName = lblStaffName.getText();
  237. int rowAffected = 0;
  238. if (currentProdQty > prodOutQty) {
  239.  
  240. rowAffected = callG14Methods.recordProductOut(prodID, prodOutQty, staffName);
  241.  
  242. if (rowAffected == 1) {
  243. int productLess = prodOutQty * -1;
  244. rowAffected = callG14Methods.updateQuantityField(prodID, productLess);
  245. if (rowAffected == 1) {
  246. JOptionPane.showMessageDialog(this, "Outgoing product recorded");
  247. } else {
  248. JOptionPane.showMessageDialog(this, "update fail");
  249. }
  250. } else {
  251. JOptionPane.showMessageDialog(this, "insert fail");
  252. }
  253. }
  254.  
  255. } catch (Exception e) {
  256. JOptionPane.showMessageDialog(this, e.getMessage());
  257. }
  258. callG14Methods.getAllRows(tblProductList);
  259. }
Advertisement
Add Comment
Please, Sign In to add comment