Advertisement
Guest User

Untitled

a guest
Jan 15th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 34.27 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package tele.communication.system.application;
  7.  
  8. import java.sql.CallableStatement;
  9. import java.sql.Connection;
  10. import java.sql.PreparedStatement;
  11. import java.sql.ResultSet;
  12. import java.sql.SQLException;
  13. import java.text.ParseException;
  14. import java.text.SimpleDateFormat;
  15. import java.util.Date;
  16. import javafx.application.Application;
  17. import javafx.beans.value.ChangeListener;
  18. import javafx.beans.value.ObservableValue;
  19. import javafx.collections.FXCollections;
  20. import javafx.collections.ObservableList;
  21. import javafx.event.ActionEvent;
  22. import javafx.scene.Group;
  23. import javafx.scene.Scene;
  24. import javafx.scene.control.Button;
  25. import javafx.scene.control.PasswordField;
  26. import javafx.scene.control.RadioButton;
  27. import javafx.scene.control.TableColumn;
  28. import javafx.scene.control.TableView;
  29. import javafx.scene.control.TextField;
  30. import javafx.scene.control.Toggle;
  31. import javafx.scene.control.ToggleGroup;
  32. import javafx.scene.control.cell.PropertyValueFactory;
  33. import javafx.scene.image.Image;
  34. import javafx.scene.image.ImageView;
  35. import javafx.scene.input.KeyEvent;
  36. import javafx.scene.input.MouseEvent;
  37. import javafx.scene.layout.VBox;
  38. import javafx.scene.paint.Color;
  39. import javafx.scene.shape.Rectangle;
  40. import javafx.scene.text.Font;
  41. import javafx.scene.text.Text;
  42. import javafx.stage.Modality;
  43. import javafx.stage.Stage;
  44. import javafx.util.Duration;
  45. import org.controlsfx.control.Notifications;
  46.  
  47. /**
  48. *
  49. * @author HEISENBERG
  50. */
  51. public class User_UI extends Application {
  52.  
  53. public static Stage stage;
  54. public static Stage stage2;
  55. public static Group root;
  56. public static Scene scene;
  57. public static String name;// user name
  58. public static String passcode;//nid
  59. public static String phoneno;//sim no
  60. public static String pass;
  61. public static String givenpass;
  62. String SIMtypeID;
  63.  
  64. @Override
  65. public void start(Stage primaryStage) throws Exception {
  66. stage = primaryStage;
  67. stage.initModality(Modality.APPLICATION_MODAL);
  68. LoginScene();
  69. }
  70.  
  71. public static void BackSceneOnly() {
  72. root = new Group();
  73. //Rectangle2D screenBounds = Screen.getPrimary().getVisualBounds();
  74. scene = new Scene(root, 1800, 900);
  75. scene.setFill(Color.rgb(255, 255, 255));//rgb(red, green, blue)
  76. ImageView back = new ImageView("file:userback.jpg");
  77. root.getChildren().add(back);
  78. }
  79.  
  80. public void go() throws Exception {
  81. stage2 = new Stage();
  82. start(stage2);
  83. }
  84.  
  85. public static void StageShow() {
  86. stage.setTitle("USER UI");
  87. stage.setScene(scene);
  88. Image logo = new Image("file:comlogo.png");
  89. stage.getIcons().add(logo);
  90. stage.show();
  91. }
  92.  
  93. private void SignUPScene() {
  94.  
  95. int posX = 300, posY = 250;
  96. int textFieldPosX = posX + 320, textFieldPosY = posY - 20;
  97. int buttonPosX = textFieldPosX + 300, buttonPosY = 250, fonts = 20;
  98.  
  99. BackSceneOnly();
  100. name = new String();
  101. passcode = new String();
  102.  
  103. Text Name = new Text("USER NAME : ");
  104. Name.setX(posX);
  105. Name.setY(posY);
  106. Name.setFill(Color.rgb(0, 0, 0));
  107. Name.setFont(Font.font(fonts));
  108.  
  109. Text nid = new Text("NID NO : ");
  110. nid.setX(posX);
  111. nid.setY(posY + 50);
  112. nid.setFill(Color.rgb(0, 0, 0));
  113. nid.setFont(Font.font(fonts));
  114.  
  115. Text db = new Text("DATE OF BIRTH (MMM DD, YYYY) : ");
  116. db.setX(posX);
  117. db.setY(posY + 100);
  118. db.setFill(Color.rgb(0, 0, 0));
  119. db.setFont(Font.font(fonts));
  120.  
  121. Text fn = new Text("FATHER'S NAME : ");
  122. fn.setX(posX);
  123. fn.setY(posY + 150);
  124. fn.setFill(Color.rgb(0, 0, 0));
  125. fn.setFont(Font.font(fonts));
  126.  
  127. Text mn = new Text("MOTHER'S NAME : ");
  128. mn.setX(posX);
  129. mn.setY(posY + 200);
  130. mn.setFill(Color.rgb(0, 0, 0));
  131. mn.setFont(Font.font(fonts));
  132.  
  133. Text add = new Text("ADRESS : ");
  134. add.setX(posX);
  135. add.setY(posY + 250);
  136. add.setFill(Color.rgb(0, 0, 0));
  137. add.setFont(Font.font(fonts));
  138.  
  139. Text ct = new Text("CITY : ");
  140. ct.setX(posX);
  141. ct.setY(posY + 300);
  142. ct.setFill(Color.rgb(0, 0, 0));
  143. ct.setFont(Font.font(fonts));
  144.  
  145. Text mail = new Text("E-MAIL ID : ");
  146. mail.setX(posX);
  147. mail.setY(posY + 350);
  148. mail.setFill(Color.rgb(0, 0, 0));
  149. mail.setFont(Font.font(fonts));
  150.  
  151. Text tn = new Text("SIM TYPE : ");
  152. tn.setX(posX);
  153. tn.setY(posY + 400);
  154. tn.setFill(Color.rgb(0, 0, 0));
  155. tn.setFont(Font.font(fonts));
  156.  
  157. TextField userName = new TextField();
  158. userName.setLayoutX(textFieldPosX);
  159. userName.setLayoutY(textFieldPosY);
  160. root.getChildren().add(userName);
  161.  
  162. TextField NID = new TextField();
  163. NID.setLayoutX(textFieldPosX);
  164. NID.setLayoutY(textFieldPosY + 50);
  165. root.getChildren().add(NID);
  166.  
  167. TextField bDay = new TextField();
  168. bDay.setLayoutX(textFieldPosX);
  169. bDay.setLayoutY(textFieldPosY + 100);
  170. root.getChildren().add(bDay);
  171.  
  172. TextField Father = new TextField();
  173. Father.setLayoutX(textFieldPosX);
  174. Father.setLayoutY(textFieldPosY + 150);
  175. root.getChildren().add(Father);
  176.  
  177. TextField Mother = new TextField();
  178. Mother.setLayoutX(textFieldPosX);
  179. Mother.setLayoutY(textFieldPosY + 200);
  180. root.getChildren().add(Mother);
  181.  
  182. TextField Address = new TextField();
  183. Address.setLayoutX(textFieldPosX);
  184. Address.setLayoutY(textFieldPosY + 250);
  185. root.getChildren().add(Address);
  186.  
  187. TextField City = new TextField();
  188. City.setLayoutX(textFieldPosX);
  189. City.setLayoutY(textFieldPosY + 300);
  190. root.getChildren().add(City);
  191.  
  192. TextField Mailf = new TextField();
  193. Mailf.setLayoutX(textFieldPosX);
  194. Mailf.setLayoutY(textFieldPosY + 350);
  195. root.getChildren().add(Mailf);
  196.  
  197. final ToggleGroup group = new ToggleGroup();
  198.  
  199. RadioButton rb1 = new RadioButton("Pre-Paid SIM");
  200. rb1.setToggleGroup(group);
  201. rb1.setUserData("1");
  202. rb1.setLayoutX(textFieldPosX);
  203. rb1.setLayoutY(textFieldPosY + 400);
  204.  
  205. RadioButton rb2 = new RadioButton("Post-Paid SIM");
  206. rb2.setToggleGroup(group);
  207. rb2.setUserData("2");
  208. rb2.setLayoutX(textFieldPosX);
  209. rb2.setLayoutY(textFieldPosY + 450);
  210.  
  211. group.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
  212. public void changed(ObservableValue<? extends Toggle> ov,
  213. Toggle old_toggle, Toggle new_toggle) {
  214. if (group.getSelectedToggle() != null) {
  215. SIMtypeID = group.getSelectedToggle().getUserData().toString();
  216. System.out.println(SIMtypeID);
  217. }
  218. }
  219. });
  220.  
  221. root.getChildren().add(rb1);
  222. root.getChildren().add(rb2);
  223.  
  224. Button signUpBtn = new Button("Apply For New SIM");
  225. signUpBtn.setLayoutX(buttonPosX);
  226. signUpBtn.setLayoutY(buttonPosY);
  227. root.getChildren().add(signUpBtn);
  228.  
  229. Button backToHomeBtn = new Button("Back");
  230. backToHomeBtn.setLayoutX(buttonPosX);
  231. backToHomeBtn.setLayoutY(buttonPosY + 100);
  232. root.getChildren().add(backToHomeBtn);
  233.  
  234. backToHomeBtn.setOnAction(e -> LoginScene());
  235.  
  236. signUpBtn.setOnAction((ActionEvent e) -> {
  237. String s1 = userName.getText();
  238. String s2 = NID.getText();
  239. String s3 = bDay.getText();
  240. String s4 = Father.getText();
  241. String s5 = Mother.getText();
  242. String s6 = Address.getText();
  243. String s7 = City.getText();
  244. String s8 = Mailf.getText();
  245.  
  246. boolean success = true;
  247.  
  248. try {
  249.  
  250. Connection con;
  251. con = new DataBase("TELECOM", "hr").getConnection();
  252. String sql = "INSERT INTO PENDING_SIM_REQ (USER_NAME,NID_NO,DATE_OF_BIRTH,NAME_OF_FATHER,NAME_OF_MOTHER,EMAIL,STREET_ADDRESS,CITY, IS_EMPLOYEE, SIM_TYPE_ID) VALUES (?,?,?,?,?,?,?,?,?,?)";
  253. PreparedStatement pst = con.prepareStatement(sql);
  254. pst.setString(1, s1);
  255. pst.setString(2, s2);
  256. pst.setString(3, s3);
  257. pst.setString(4, s4);
  258. pst.setString(5, s5);
  259. pst.setString(6, s8);
  260. pst.setString(7, s6);
  261. pst.setString(8, s7);
  262. pst.setString(9, "NO");
  263. pst.setString(10, SIMtypeID);
  264.  
  265. pst.executeQuery();
  266.  
  267. SuccessMsg("Success", "Your Application Has Been Successfully Received.\nYou Will Receive A Confirmation Email.\nThank You.");
  268.  
  269. pst.close();
  270. con.close();
  271.  
  272. } catch (Exception ex) {
  273. System.out.println("Data insert doesn't work");
  274. }
  275.  
  276. });
  277.  
  278. root.getChildren().add(Name);
  279. root.getChildren().add(nid);
  280. root.getChildren().add(db);
  281. root.getChildren().add(fn);
  282. root.getChildren().add(mn);
  283. root.getChildren().add(add);
  284. root.getChildren().add(ct);
  285. root.getChildren().add(tn);
  286. root.getChildren().add(mail);
  287.  
  288. StageShow();
  289. }
  290.  
  291. private void LoginScene() {
  292. int posX = 350, posY = 300;
  293. int textFieldPosX = posX + 455, textFieldPosY = posY - 20;
  294. BackSceneOnly();
  295. ImageView toppart = new ImageView("file:tbdgreen.png");
  296. ImageView tbdlogin = new ImageView("file:userlogin.jpg");
  297. name = new String();
  298. passcode = new String();
  299. TextField username = new TextField();
  300. username.setLayoutX(textFieldPosX);
  301. username.setLayoutY(textFieldPosY);
  302. username.setScaleX(2.65);
  303. username.setScaleY(2);
  304. PasswordField password = new PasswordField();
  305. password.setLayoutX(textFieldPosX);
  306. password.setLayoutY(textFieldPosY + 100);
  307. password.setScaleX(2.65);
  308. password.setScaleY(2);
  309. Rectangle loginBox = new Rectangle(480, 45);
  310. loginBox.setFill(Color.rgb(32, 155, 146));
  311. loginBox.setX(660);
  312. loginBox.setY(482);
  313. Rectangle applyBox = new Rectangle(680, 75);
  314. applyBox.setX(560);
  315. applyBox.setY(582);
  316. applyBox.setFill(Color.rgb(32, 155, 146));
  317. Text applytext = new Text(750, 635, "APPLY FOR A SIM");
  318. applytext.setFont(Font.font(40));
  319. applytext.setFill(Color.WHITE);
  320. applyBox.addEventHandler(MouseEvent.MOUSE_ENTERED, e -> {
  321. applyBox.setFill(Color.rgb(17, 119, 112));
  322. });
  323. applytext.addEventHandler(MouseEvent.MOUSE_ENTERED, e -> {
  324. applyBox.setFill(Color.rgb(17, 119, 112));
  325. });
  326. applytext.addEventHandler(MouseEvent.MOUSE_EXITED, e -> {
  327. applyBox.setFill(Color.rgb(32, 155, 146));
  328. });
  329. applyBox.addEventHandler(MouseEvent.MOUSE_EXITED, e -> {
  330. applyBox.setFill(Color.rgb(32, 155, 146));
  331. });
  332. applyBox.addEventHandler(MouseEvent.MOUSE_CLICKED, e -> {
  333. SignUPScene();
  334. });
  335. Text login = new Text(850, 515, "LOG IN");
  336. login.setFont(Font.font(30));
  337. login.setFill(Color.WHITE);
  338. loginBox.addEventHandler(MouseEvent.MOUSE_ENTERED, e -> {
  339. loginBox.setFill(Color.rgb(17, 119, 112));
  340. });
  341. login.addEventHandler(MouseEvent.MOUSE_ENTERED, e -> {
  342. loginBox.setFill(Color.rgb(17, 119, 112));
  343. });
  344. loginBox.addEventHandler(MouseEvent.MOUSE_EXITED, e -> {
  345. loginBox.setFill(Color.rgb(32, 155, 146));
  346. });
  347. loginBox.addEventHandler(MouseEvent.MOUSE_CLICKED, e -> {
  348. continueLogIn(username, password);
  349. });
  350. scene.setOnKeyPressed((KeyEvent event) -> {
  351. switch (event.getCode()) {
  352. case ENTER:
  353. continueLogIn(username, password);
  354. break;
  355. }
  356. });
  357. root.getChildren().add(tbdlogin);
  358. root.getChildren().add(toppart);
  359. root.getChildren().add(loginBox);
  360. root.getChildren().add(username);
  361. root.getChildren().add(password);
  362. root.getChildren().add(login);
  363. root.getChildren().add(applyBox);
  364. root.getChildren().add(applytext);
  365. StageShow();
  366. }
  367.  
  368. public void LogIn(String User_Name, String NID_No) {
  369. BackSceneOnly();
  370.  
  371. int posX = 300, posY = 170;
  372. int textFieldPosX = posX + 200, textFieldPosY = posY - 15;
  373. int buttonPosX = textFieldPosX + 300, buttonPosY = 50;
  374.  
  375. Profile(User_Name, NID_No); // HomePage of User = User Profile
  376.  
  377. Button profileBtn = new Button("Profile");
  378. SetThisButton(profileBtn, buttonPosX, buttonPosY + 50);
  379. profileBtn.setOnAction(e -> Profile(User_Name, NID_No));
  380.  
  381. Button dialListBtn = new Button("Dialled Call List");
  382. SetThisButton(dialListBtn, buttonPosX, buttonPosY + 100);
  383.  
  384. dialListBtn.setOnAction(e -> {
  385. ShowDialledCallList(NID_No);
  386. });
  387.  
  388. Button receiveListBtn = new Button("Received Call List");
  389. SetThisButton(receiveListBtn, buttonPosX, buttonPosY + 150);
  390.  
  391. receiveListBtn.setOnAction(e -> {
  392. ShowReceivedCallList(NID_No);
  393. });
  394.  
  395. Button SMSListBtn = new Button("SMS List");
  396. SetThisButton(SMSListBtn, buttonPosX, buttonPosY + 200);
  397.  
  398. SMSListBtn.setOnAction(e -> {
  399. ShowSMSList(NID_No);
  400. });
  401.  
  402. Button netDataBtn = new Button("Net Usage");
  403. SetThisButton(netDataBtn, buttonPosX, buttonPosY + 250);
  404.  
  405. Button makeCallBtn = new Button("Make A Call");
  406. SetThisButton(makeCallBtn, buttonPosX, buttonPosY + 300);
  407.  
  408. makeCallBtn.setOnAction(e -> {
  409. makeACall();
  410. });
  411.  
  412. Button sendSMSBtn = new Button("Send An SMS");
  413. SetThisButton(sendSMSBtn, buttonPosX, buttonPosY + 350);
  414.  
  415. Button useNetBtn = new Button("Use Internet");
  416. SetThisButton(useNetBtn, buttonPosX, buttonPosY + 400);
  417.  
  418. Button BalanceBtn = new Button("Check Balance");
  419. SetThisButton(BalanceBtn, buttonPosX, buttonPosY + 450);
  420.  
  421. Button backToHomeBtn = new Button("Log Out");
  422. SetThisButton(backToHomeBtn, buttonPosX, buttonPosY + 500);
  423. backToHomeBtn.setOnAction(e -> LogOut());
  424.  
  425. StageShow();
  426. }
  427.  
  428. String startTime, endTime;
  429. String STRT2, END2;
  430.  
  431. public void makeACall() {
  432. BackSceneOnly();
  433.  
  434. SimpleDateFormat sdfTime = new SimpleDateFormat("YYYY/MM/dd HH:mm:ss");
  435. SimpleDateFormat sdf2 = new SimpleDateFormat("YYYY/MM/dd HH24:mm:ss");
  436.  
  437. int textFieldPosX = 600, textFieldPosY = 350;
  438. int buttonPosX = textFieldPosX - 55, buttonPosY = textFieldPosY + 50;
  439.  
  440. TextField receiverNo = new TextField();
  441. setThisTextField(receiverNo, textFieldPosX, textFieldPosY);
  442.  
  443. Button startButton = new Button("Start Call");
  444. SetThisButton(startButton, buttonPosX, buttonPosY);
  445.  
  446. Button backToHomeBtn = new Button("Back To Profile");
  447. SetThisButton(backToHomeBtn, buttonPosX + 200, buttonPosY);
  448.  
  449. backToHomeBtn.setOnAction(e -> LogIn(name, passcode));
  450.  
  451. startButton.setOnAction(e -> {
  452. Date now = new Date();
  453. startTime = sdfTime.format(now);
  454.  
  455. root.getChildren().remove(startButton);
  456. root.getChildren().remove(backToHomeBtn);
  457.  
  458. Button endButton = new Button("End Call");
  459. SetThisButton(endButton, buttonPosX, buttonPosY);
  460.  
  461. endButton.setOnAction(e1 -> {
  462. root.getChildren().remove(receiverNo);
  463. Date now1 = new Date();
  464. endTime = sdfTime.format(now1);
  465. END2 = sdf2.format(now1);
  466.  
  467. Date strt = null, end = null;
  468.  
  469. try {
  470. strt = sdfTime.parse(startTime);
  471. end = sdfTime.parse(endTime);
  472. } catch (ParseException exc) {
  473. exc.printStackTrace();
  474. }
  475.  
  476. long diff = end.getTime() - strt.getTime();
  477. double CallDurationSecond = diff / 1000.0;
  478.  
  479. try {
  480. Class.forName("oracle.jdbc.driver.OracleDriver");
  481. Connection con2 = new DataBase("TELECOM", "hr").getConnection();
  482.  
  483. CallableStatement stmt = con2.prepareCall("{call MAKE_A_CALL(?,?,?,?)}");
  484.  
  485. stmt.setString(1, phoneno);
  486. stmt.setString(2, receiverNo.getText());
  487. stmt.setString(3, STRT2);
  488. stmt.setString(4, END2);
  489.  
  490. stmt.executeUpdate();
  491.  
  492. stmt.close();
  493. con2.close();
  494.  
  495. SuccessMsg("Approved", "This SIM Was Issued By Employee No." + passcode);
  496. } catch (SQLException ex2) {
  497. System.out.println("doesn't work");
  498. InvalidLogInMsg("Approve Failed", "Didn't Work");
  499. } catch (ClassNotFoundException ex) {
  500. System.out.println("calling e problem hocche");
  501. }
  502.  
  503. System.out.println(STRT2 + " " + END2);
  504.  
  505. double posX = 300, posY = 200;
  506. Text strtTime = new Text("Starting Time : " + startTime);
  507. strtTime.setX(posX);
  508. strtTime.setY(posY);
  509. strtTime.setFill(Color.rgb(0, 0, 0));
  510.  
  511. Text EndingTime = new Text("Ending Time : " + endTime);
  512. EndingTime.setX(posX);
  513. EndingTime.setY(posY + 50);
  514. EndingTime.setFill(Color.rgb(0, 0, 0));
  515.  
  516. Text duration = new Text("Duration (Second) : " + CallDurationSecond + " second(s)");
  517. duration.setX(posX);
  518. duration.setY(posY + 100);
  519. duration.setFill(Color.rgb(0, 0, 0));
  520.  
  521. BackSceneOnly();
  522.  
  523. root.getChildren().add(strtTime);
  524. root.getChildren().add(EndingTime);
  525. root.getChildren().add(duration);
  526.  
  527. goToProfileButton(buttonPosX + 200, buttonPosY);
  528. StageShow();
  529. });
  530.  
  531. StageShow();
  532. });
  533.  
  534. StageShow();
  535. }
  536.  
  537. public void goToProfileButton(int buttonPosX, int buttonPosY) {
  538. Button backToHomeBtn = new Button("Back To Profile");
  539. SetThisButton(backToHomeBtn, buttonPosX, buttonPosY);
  540. backToHomeBtn.setOnAction(e -> LogIn(name, passcode));
  541. }
  542.  
  543. void LogOut() {
  544. LoginScene();
  545. SuccessMsg("Success", "Log Out Successful");
  546. }
  547.  
  548. public void SetThisButton(Button b, double x, double y) {
  549. b.setLayoutX(x);
  550. b.setLayoutY(y);
  551. root.getChildren().add(b);
  552. }
  553.  
  554. public void setThisTextField(TextField tf, double PosX, double PosY) {
  555. tf.setLayoutX(PosX);
  556. tf.setLayoutY(PosY);
  557. root.getChildren().add(tf);
  558. }
  559.  
  560. public void ShowSMSList(String NID_No) {
  561. try {
  562. String sql = "SELECT C.SMS_ID , C.SENDER_NO , C.RECEIVER_NO , C.SENDING_TIME , T.TYPE_NAME\n"
  563. + "FROM USER_DATA U \n"
  564. + "JOIN SIM S\n"
  565. + "ON(U.NID_NO = ? AND U.NID_NO = S.NID_NO)\n"
  566. + "JOIN SMS_DATABASE C\n"
  567. + "ON(S.PHONE_NO = C.SENDER_NO)\n"
  568. + "JOIN SIM_TYPE T \n"
  569. + "ON(S.TYPE_ID = T.TYPE_ID)";
  570.  
  571. Connection con = new DataBase("TELECOM", "hr").getConnection();
  572.  
  573. PreparedStatement pst = con.prepareStatement(sql);
  574.  
  575. pst.setString(1, NID_No);
  576. ResultSet rs = pst.executeQuery();
  577.  
  578. ObservableList<SMSData> dialList = FXCollections.observableArrayList();
  579. while (rs.next()) {
  580. dialList.add(new SMSData(rs.getString(1), rs.getString(2),
  581. rs.getString(3), rs.getString(4), rs.getString(5)));
  582.  
  583. }
  584.  
  585. TableColumn<SMSData, String> CallerNoColm = new TableColumn<>("SMS ID");
  586. CallerNoColm.setMinWidth(200);
  587. CallerNoColm.setCellValueFactory(new PropertyValueFactory<>("SMS_ID"));
  588.  
  589. TableColumn<SMSData, String> ReceiverNoColm = new TableColumn<>("Sender No");
  590. ReceiverNoColm.setMinWidth(200);
  591. ReceiverNoColm.setCellValueFactory(new PropertyValueFactory<>("SenderNo"));
  592.  
  593. TableColumn<SMSData, String> StartingTimeColm = new TableColumn<>("Receiver No");
  594. StartingTimeColm.setMinWidth(200);
  595. StartingTimeColm.setCellValueFactory(new PropertyValueFactory<>("ReceiverNo"));
  596.  
  597. TableColumn<SMSData, String> EndingTimeColm = new TableColumn<>("Sending Time");
  598. EndingTimeColm.setMinWidth(200);
  599. EndingTimeColm.setCellValueFactory(new PropertyValueFactory<>("SendingTime"));
  600.  
  601. TableColumn<SMSData, String> typenameColm = new TableColumn<>("SIM Type");
  602. typenameColm.setMinWidth(200);
  603. typenameColm.setCellValueFactory(new PropertyValueFactory<>("typeName"));
  604.  
  605. TableView<SMSData> DialTable;
  606. DialTable = new TableView<>();
  607. DialTable.getColumns().addAll(CallerNoColm, ReceiverNoColm, StartingTimeColm, EndingTimeColm, typenameColm);
  608.  
  609. DialTable.setItems(dialList);
  610.  
  611. VBox vb = new VBox();
  612. vb.getChildren().addAll(DialTable);
  613.  
  614. Scene sc = new Scene(vb);
  615. Stage window = new Stage();
  616. window.setTitle("SMS List");
  617. window.setScene(sc);
  618. window.show();
  619.  
  620. pst.close();
  621. con.close();
  622.  
  623. } catch (Exception ex) {
  624. System.out.println("SMS list show error!!!");
  625. }
  626. }
  627.  
  628. public void ShowDialledCallList(String NID_No) {
  629. try {
  630. String sql = "SELECT C.CALLER_NO , C.RECEIVER_NO, C.STARTING_TIME , "
  631. + "C.ENDING_TIME , TO_CHAR(C.ENDING_TIME-C.STARTING_TIME),"
  632. + "T.TYPE_NAME FROM USER_DATA U "
  633. + "JOIN SIM S ON(U.NID_NO = ? AND "
  634. + "U.NID_NO = S.NID_NO) JOIN CALL_DATABASE C "
  635. + "ON(S.PHONE_NO = C.CALLER_NO) "
  636. + "JOIN SIM_TYPE T ON(S.TYPE_ID = T.TYPE_ID)";
  637.  
  638. Connection con = new DataBase("TELECOM", "hr").getConnection();
  639.  
  640. PreparedStatement pst = con.prepareStatement(sql);
  641.  
  642. pst.setString(1, NID_No);
  643. ResultSet rs = pst.executeQuery();
  644.  
  645. ObservableList<DialledListData> dialList = FXCollections.observableArrayList();
  646. while (rs.next()) {
  647. System.out.println(rs.getString(3) + " " + rs.getString(4) + " " + rs.getString(5) + " " + rs.getString(6));
  648.  
  649. dialList.add(new DialledListData(rs.getString(1), rs.getString(2),
  650. rs.getString(3), rs.getString(4), rs.getString(5),
  651. rs.getString(6)));
  652.  
  653. }
  654.  
  655. TableColumn<DialledListData, String> CallerNoColm = new TableColumn<>("Caller SIM No");
  656. CallerNoColm.setMinWidth(200);
  657. CallerNoColm.setCellValueFactory(new PropertyValueFactory<>("callerNo"));
  658.  
  659. TableColumn<DialledListData, String> ReceiverNoColm = new TableColumn<>("Receiver SIM No");
  660. ReceiverNoColm.setMinWidth(200);
  661. ReceiverNoColm.setCellValueFactory(new PropertyValueFactory<>("receiverNo"));
  662.  
  663. TableColumn<DialledListData, String> StartingTimeColm = new TableColumn<>("Starting Time");
  664. StartingTimeColm.setMinWidth(200);
  665. StartingTimeColm.setCellValueFactory(new PropertyValueFactory<>("startingTime"));
  666.  
  667. TableColumn<DialledListData, String> EndingTimeColm = new TableColumn<>("Ending Time");
  668. EndingTimeColm.setMinWidth(200);
  669. EndingTimeColm.setCellValueFactory(new PropertyValueFactory<>("endingTime"));
  670.  
  671. TableColumn<DialledListData, String> DurationColm = new TableColumn<>("Call Duration");
  672. DurationColm.setMinWidth(200);
  673. DurationColm.setCellValueFactory(new PropertyValueFactory<>("callDuration"));
  674.  
  675. TableColumn<DialledListData, String> typenameColm = new TableColumn<>("SIM Type");
  676. typenameColm.setMinWidth(200);
  677. typenameColm.setCellValueFactory(new PropertyValueFactory<>("typeName"));
  678.  
  679. TableView<DialledListData> DialTable;
  680. DialTable = new TableView<>();
  681. DialTable.getColumns().addAll(CallerNoColm, ReceiverNoColm, StartingTimeColm, EndingTimeColm, DurationColm, typenameColm);
  682.  
  683. DialTable.setItems(dialList);
  684.  
  685. VBox vb = new VBox();
  686. vb.getChildren().addAll(DialTable);
  687.  
  688. Scene sc = new Scene(vb);
  689. Stage window = new Stage();
  690. window.setTitle("Dialled Call List");
  691. window.setScene(sc);
  692. window.show();
  693.  
  694. pst.close();
  695. con.close();
  696.  
  697. } catch (Exception ex) {
  698. System.out.println("Diall Call list show error!!!");
  699. }
  700. }
  701.  
  702. public void ShowReceivedCallList(String NID_No) {
  703. try {
  704. String sql = "SELECT C.RECEIVER_NO, C.CALLER_NO , C.STARTING_TIME , "
  705. + "C.ENDING_TIME , TO_CHAR(C.ENDING_TIME-C.STARTING_TIME),T.TYPE_NAME\n"
  706. + "FROM USER_DATA U \n"
  707. + "JOIN SIM S\n"
  708. + "ON(U.NID_NO = ? AND U.NID_NO = S.NID_NO)\n"
  709. + "JOIN CALL_DATABASE C\n"
  710. + "ON(S.PHONE_NO = C.RECEIVER_NO)\n"
  711. + "JOIN SIM_TYPE T\n"
  712. + "ON(S.TYPE_ID = T.TYPE_ID)";
  713.  
  714. Connection con = new DataBase("TELECOM", "hr").getConnection();
  715.  
  716. PreparedStatement pst = con.prepareStatement(sql);
  717.  
  718. pst.setString(1, NID_No);
  719. ResultSet rs = pst.executeQuery();
  720.  
  721. ObservableList<ReceivedListData> receiveList = FXCollections.observableArrayList();
  722. while (rs.next()) {
  723. // System.out.println(rs.getString(3) + " " + rs.getString(4) + " " + rs.getString(5) + " " + rs.getString(6));
  724.  
  725. receiveList.add(new ReceivedListData(rs.getString(1), rs.getString(2),
  726. rs.getString(3), rs.getString(4), rs.getString(5),
  727. rs.getString(6)));
  728.  
  729. }
  730.  
  731. TableColumn<ReceivedListData, String> ReceiverNoColm = new TableColumn<>("Receiver SIM No");
  732. ReceiverNoColm.setMinWidth(200);
  733. ReceiverNoColm.setCellValueFactory(new PropertyValueFactory<>("receiverNo"));
  734.  
  735. TableColumn<ReceivedListData, String> CallerNoColm = new TableColumn<>("Caller SIM No");
  736. CallerNoColm.setMinWidth(200);
  737. CallerNoColm.setCellValueFactory(new PropertyValueFactory<>("callerNo"));
  738.  
  739. TableColumn<ReceivedListData, String> StartingTimeColm = new TableColumn<>("Starting Time");
  740. StartingTimeColm.setMinWidth(200);
  741. StartingTimeColm.setCellValueFactory(new PropertyValueFactory<>("startingTime"));
  742.  
  743. TableColumn<ReceivedListData, String> EndingTimeColm = new TableColumn<>("Ending Time");
  744. EndingTimeColm.setMinWidth(200);
  745. EndingTimeColm.setCellValueFactory(new PropertyValueFactory<>("endingTime"));
  746.  
  747. TableColumn<ReceivedListData, String> DurationColm = new TableColumn<>("Call Duration");
  748. DurationColm.setMinWidth(200);
  749. DurationColm.setCellValueFactory(new PropertyValueFactory<>("callDuration"));
  750.  
  751. TableColumn<ReceivedListData, String> typenameColm = new TableColumn<>("SIM Type");
  752. typenameColm.setMinWidth(200);
  753. typenameColm.setCellValueFactory(new PropertyValueFactory<>("typeName"));
  754.  
  755. TableView<ReceivedListData> receiveTable;
  756. receiveTable = new TableView<>();
  757. receiveTable.getColumns().addAll(ReceiverNoColm, CallerNoColm, StartingTimeColm, EndingTimeColm, DurationColm, typenameColm);
  758.  
  759. receiveTable.setItems(receiveList);
  760.  
  761. VBox vb = new VBox();
  762.  
  763. vb.getChildren().addAll(receiveTable);
  764.  
  765. Scene sc = new Scene(vb);
  766. Stage window = new Stage();
  767. window.setTitle("Received Call List");
  768. window.setScene(sc);
  769. window.show();
  770.  
  771. pst.close();
  772. con.close();
  773.  
  774. } catch (Exception ex) {
  775. System.out.println("Received Call list show error!!!");
  776. }
  777. }
  778.  
  779. public void Profile(String User_Name, String NID_No) {
  780. try {
  781. String sql = "SELECT * FROM USER_DATA WHERE USER_NAME = ? AND NID_NO = ?";
  782.  
  783. int posX = 300, posY = 170;
  784. int textFieldPosX = posX + 200, textFieldPosY = posY - 15;
  785. int buttonPosX = textFieldPosX + 300, buttonPosY = 50;
  786.  
  787. Connection con = new DataBase("TELECOM", "hr").getConnection();
  788. PreparedStatement pst = con.prepareStatement(sql);
  789. pst.setString(1, User_Name);
  790. pst.setString(2, NID_No);
  791. ResultSet rs = pst.executeQuery();
  792.  
  793. // System.out.println("agdfkasbhkc");
  794. rs.next();
  795.  
  796. Text Name = new Text("USER NAME : " + rs.getString(1));
  797. Name.setX(posX);
  798. Name.setY(posY);
  799. Name.setFill(Color.rgb(0, 0, 0));
  800.  
  801. Text nid = new Text("NID NO : " + rs.getString(2));
  802. nid.setX(posX);
  803. nid.setY(posY + 50);
  804. nid.setFill(Color.rgb(0, 0, 0));
  805.  
  806. Text db = new Text("DATE OF BIRTH (MMM DD, YYYY) : " + rs.getString(3));
  807.  
  808. db.setX(posX);
  809. db.setY(posY + 100);
  810. db.setFill(Color.rgb(0, 0, 0));
  811.  
  812. Text fn = new Text("FATHER'S NAME : " + rs.getString(4));
  813. fn.setX(posX);
  814. fn.setY(posY + 150);
  815. fn.setFill(Color.rgb(0, 0, 0));
  816.  
  817. Text mn = new Text("MOTHER'S NAME : " + rs.getString(5));
  818. mn.setX(posX);
  819. mn.setY(posY + 200);
  820. mn.setFill(Color.rgb(0, 0, 0));
  821.  
  822. Text add = new Text("ADRESS : " + rs.getString(6));
  823. add.setX(posX);
  824. add.setY(posY + 250);
  825. add.setFill(Color.rgb(0, 0, 0));
  826.  
  827. Text ct = new Text("CITY : " + rs.getString(7));
  828. ct.setX(posX);
  829. ct.setY(posY + 300);
  830. ct.setFill(Color.rgb(0, 0, 0));
  831.  
  832. Text type = new Text("hi");
  833.  
  834. if (rs.getString(8).equals("NO")) {
  835. type = new Text("User Type: " + "Not Employee");
  836. } else {
  837. type = new Text("User Type: " + "Employee");
  838. }
  839.  
  840. type.setX(posX);
  841. type.setY(posY + 350);
  842. type.setFill(Color.rgb(0, 0, 0));
  843.  
  844. root.getChildren().add(Name);
  845. root.getChildren().add(nid);
  846. root.getChildren().add(db);
  847. root.getChildren().add(fn);
  848. root.getChildren().add(mn);
  849. root.getChildren().add(add);
  850. root.getChildren().add(ct);
  851. root.getChildren().add(type);
  852.  
  853. pst.close();
  854. con.close();
  855. } catch (Exception ex) {
  856. System.out.println("Log In Error!!");
  857. }
  858. }
  859.  
  860. public static void SuccessMsg(String title, String msg) {
  861. ImageView img = new ImageView("file:Success.png");
  862. Notifications not = Notifications.create()
  863. .title(title)
  864. .text(msg)
  865. .graphic(img)
  866. .hideAfter(Duration.seconds(3));
  867. not.darkStyle();
  868. not.show();
  869. }
  870.  
  871. public static void InvalidLogInMsg(String title, String msg) {
  872. Notifications not = Notifications.create()
  873. .title(title)
  874. .text(msg)
  875. .hideAfter(Duration.seconds(3));
  876. not.darkStyle();
  877. not.showError();
  878. }
  879.  
  880. private void continueLogIn(TextField username, PasswordField password) {
  881. phoneno = username.getText();
  882. pass = password.getText();
  883. String sql = "SELECT NID_NO FROM SIM WHERE PHONE_NO = ?";
  884. try {
  885. Connection con = new DataBase("TELECOM", "hr").getConnection();
  886. PreparedStatement pst = con.prepareStatement(sql);
  887. pst.setString(1, phoneno);
  888. ResultSet rs = pst.executeQuery();
  889. if (rs.next()) {
  890. System.out.println("success");
  891. passcode = rs.getString(1);
  892. //SuccessMsg("Success", "LogIn Successful");
  893. pst.close();
  894. con.close();
  895. //LogIn(name, passcode);
  896. } else {
  897. InvalidLogInMsg("Failed", "No Such Phone no.");
  898. }
  899. } catch (SQLException ex) {
  900. System.out.println("doesn,t work");
  901. }
  902. String sql2 = "SELECT USER_PASSWORD,USER_NAME FROM USER_DATA WHERE NID_NO = ?";
  903. try {
  904. Connection con = new DataBase("TELECOM", "hr").getConnection();
  905. PreparedStatement pst = con.prepareStatement(sql2);
  906. pst.setString(1, passcode);
  907. ResultSet rs = pst.executeQuery();
  908. if (rs.next()) {
  909. System.out.println("success");
  910. givenpass = rs.getString(1);
  911. name = rs.getString(2);
  912. pst.close();
  913. con.close();
  914. } else {
  915. InvalidLogInMsg("Failed", "Invalid Log In");
  916. }
  917. } catch (SQLException ex) {
  918. System.out.println("doesn,t work");
  919. }
  920. if (pass.equals(givenpass)) {
  921. LogIn(name, passcode);
  922. SuccessMsg("Success", "LogIn Successful");
  923. } else {
  924. InvalidLogInMsg("Failed", "Invalid Log In");
  925. }
  926. }
  927.  
  928. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement