Advertisement
Guest User

Untitled

a guest
Apr 3rd, 2019
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.91 KB | None | 0 0
  1. package application.controllers;
  2.  
  3. import java.net.URL;
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8. import java.sql.Statement;
  9. import java.time.LocalDate;
  10. import java.util.ResourceBundle;
  11.  
  12. import org.controlsfx.control.textfield.TextFields;
  13.  
  14. import javafx.application.Platform;
  15. import javafx.event.ActionEvent;
  16. import javafx.fxml.FXML;
  17. import javafx.fxml.Initializable;
  18. import javafx.scene.control.Button;
  19. import javafx.scene.control.ButtonBar.ButtonData;
  20. import javafx.scene.control.ButtonType;
  21. import javafx.scene.control.DatePicker;
  22. import javafx.scene.control.Dialog;
  23. import javafx.scene.control.Label;
  24. import javafx.scene.control.TableColumn;
  25. import javafx.scene.control.TextField;
  26. import javafx.scene.control.TextInputDialog;
  27. import javafx.scene.image.Image;
  28. import javafx.scene.input.KeyCode;
  29. import javafx.scene.input.KeyEvent;
  30. import javafx.stage.Stage;
  31. import javafx.util.Callback;
  32.  
  33. public class ImportBillController implements Initializable {
  34.  
  35. String []data= {"Hi","Hello","Hakuna","Matata"};
  36.  
  37. @FXML
  38. private DatePicker billDate;
  39.  
  40. @FXML
  41. private TextField distPhone;
  42.  
  43. @FXML
  44. private TextField distName;
  45.  
  46. @FXML
  47. private TableColumn<?, ?> barcodeColumn;
  48.  
  49. @FXML
  50. private TableColumn<?, ?> itemColumn;
  51.  
  52. @FXML
  53. private TableColumn<?, ?> quantityColumn;
  54.  
  55. @FXML
  56. private TableColumn<?, ?> buyPriceColumn;
  57.  
  58. @FXML
  59. private TableColumn<?, ?> sellPriceColumn;
  60.  
  61. @FXML
  62. private TableColumn<?, ?> TotalBuyPriceColumn;
  63.  
  64. @FXML
  65. private TableColumn<?, ?> TotalSellPriceColumn;
  66.  
  67. @FXML
  68. private Label collectTotalBuyPriceLabel;
  69.  
  70. @FXML
  71. private Label collectTotalSellPriceLabel;
  72.  
  73. @FXML
  74. private Button saveButton;
  75.  
  76. @FXML
  77. private Button cancelButton;
  78.  
  79. @FXML
  80. private TextField barcodeReader;
  81.  
  82. @FXML
  83. void buttonHandler(ActionEvent event) {
  84.  
  85. }
  86.  
  87. @FXML
  88. void barcodeHandler(KeyEvent event) throws SQLException {
  89. String barcode = "", itemName = "";
  90. int quant = 0;
  91. double buyPrice = 0, sellPrice = 0;
  92. LocalDate expDate;
  93.  
  94. if (event.getSource().toString().contains("barcodeReader"))
  95. if (event.getCode().equals(KeyCode.ENTER)) {
  96. barcode = barcodeReader.getText();
  97. /*
  98. // اذا الباركود هاد موجود بالداتا بيس معناته معلوماته معنا بس بنطلب الكمية
  99. // وتاريخ الانتهاء بدون اسعار
  100. if (true)
  101. ;
  102. // اذا لأ بنشوف الاسم اذا موجود بالداتا بيس ، بنعطي الباركود تبع هاد الاسم
  103. // للمتغير باركود وبناخد كمية وتاريخ انتهاء
  104. else if (true)
  105. ;
  106. // بالحالتين هدول السلعة موجودة بالمخزن ف ما بنضيفها بس بنعدل ع كميتها وتاريخها
  107.  
  108. // اذا الباركود والاسم جداد ، بناخد كل المعلومات وبنضيفها للمخزن كسلعة جديدة
  109. else
  110. ;
  111.  
  112.  
  113. */
  114.  
  115.  
  116.  
  117. // show Calender dialog
  118.  
  119. Dialog<LocalDate> dateDialog = new Dialog<>();
  120. dateDialog.setTitle("تاريخ انتهاء السلعة");
  121. dateDialog.setHeaderText("الرجاء ادخال تاريخ انتهاء السلعة");
  122.  
  123. Stage stage = (Stage) dateDialog.getDialogPane().getScene().getWindow();
  124. stage.getIcons().add(new Image("/application/images/icon.png"));
  125.  
  126. DatePicker datePicker = new DatePicker();
  127. dateDialog.getDialogPane().setContent(datePicker);
  128.  
  129. ButtonType buttonTypeOk = new ButtonType("تأكيد", ButtonData.OK_DONE);
  130. dateDialog.getDialogPane().getButtonTypes().add(buttonTypeOk);
  131.  
  132. dateDialog.setResultConverter(new Callback<ButtonType, LocalDate>() {
  133. @Override
  134. public LocalDate call(ButtonType b) {
  135.  
  136. if (b == buttonTypeOk) {
  137.  
  138. return datePicker.getValue();
  139. }
  140.  
  141. return null;
  142. }
  143. });
  144.  
  145. // System.out.println(dateDialog.showAndWait().get());
  146. expDate=dateDialog.showAndWait().get();
  147. // show ItemName Dialog
  148.  
  149. Dialog<String> nameDialog = new Dialog<>();
  150. nameDialog.setTitle("اسم السلعة");
  151. nameDialog.setHeaderText("الرجاء ادخال اسم السلعة");
  152.  
  153. Stage stage2 = (Stage) nameDialog.getDialogPane().getScene().getWindow();
  154. stage2.getIcons().add(new Image("/application/images/icon.png"));
  155.  
  156. TextField nameTF = new TextField("");
  157. TextFields.bindAutoCompletion(nameTF, data);
  158. nameDialog.getDialogPane().setContent(nameTF);
  159.  
  160. ButtonType buttonTypeOk2 = new ButtonType("تأكيد", ButtonData.OK_DONE);
  161. nameDialog.getDialogPane().getButtonTypes().add(buttonTypeOk2);
  162.  
  163. nameDialog.setResultConverter(new Callback<ButtonType, String>() {
  164. @Override
  165. public String call(ButtonType b) {
  166.  
  167. if (b == buttonTypeOk2) {
  168.  
  169. return nameTF.getText();
  170. }
  171.  
  172. return null;
  173. }
  174. });
  175.  
  176. // System.out.println(nameDialog.showAndWait().get());
  177. itemName=nameDialog.showAndWait().get();
  178.  
  179.  
  180. TextInputDialog dialog=new TextInputDialog();
  181.  
  182.  
  183. // dialog.setTitle("اسم السلعة"); dialog.setHeaderText("الرجاء ادخال اسم السلعة");
  184. // itemName=dialog.showAndWait().get();
  185. //
  186. dialog=new TextInputDialog();
  187. dialog.setTitle("الكمية"); dialog.setHeaderText("الرجاء ادخل الكمية");
  188. quant=Integer.parseInt(dialog.showAndWait().get());
  189. //
  190. dialog=new TextInputDialog();
  191. dialog.setTitle("سعر شراء الوحدة"); dialog.setHeaderText("الرجاء ادخال سعر شراء الوحدة");
  192. buyPrice=Double.parseDouble(dialog.showAndWait().get());
  193. //
  194. dialog=new TextInputDialog();
  195. dialog.setTitle("سعر بيع الوحدة"); dialog.setHeaderText("الرجاء ادخال سعر بيع الوحدة");
  196. sellPrice=Double.parseDouble(dialog.showAndWait().get());
  197. //
  198. System.out.println(barcode+" "+itemName+" "+quant+" "+buyPrice+" "+sellPrice+" "+expDate);
  199.  
  200. // Data Base Query
  201.  
  202. DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
  203. Connection connection=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","ahmad","112233");
  204. Statement statement=connection.createStatement();
  205.  
  206.  
  207. String q1="insert into STORED (name,barcode, quantity, buy_price, sell_price, exp_date) values('"+itemName+"','"+barcode+"',"+quant+","+buyPrice+","+sellPrice+",TO_DATE('"+expDate+"','YYYY-MM-DD'))";
  208. //String q1="delete from stored";
  209. //statement.executeQuery(q1);
  210. statement.executeUpdate(q1);
  211.  
  212.  
  213. barcodeReader.clear();
  214.  
  215. }
  216. }
  217.  
  218. @Override
  219. public void initialize(URL location, ResourceBundle resources) {
  220. Platform.runLater(() -> barcodeReader.requestFocus());
  221. billDate.setValue(LocalDate.now());
  222.  
  223.  
  224. }
  225.  
  226. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement