Advertisement
Mirtia

AAAAAAAAAAA

Jan 19th, 2020
385
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.81 KB | None | 0 0
  1. package servlethtml;
  2. import java.io.*;
  3. import java.sql.*;
  4.  
  5. import java.net.URLDecoder;
  6. import java.net.URLEncoder;
  7. import java.nio.charset.StandardCharsets;
  8. import java.util.ArrayList;
  9. import java.util.Calendar;
  10. import java.util.Enumeration;
  11. import java.util.Random;
  12.  
  13. import javax.servlet.*;
  14. import javax.servlet.http.*;
  15.  
  16. import org.apache.catalina.tribes.membership.Membership;
  17.  
  18. import connection.JDBCConnection;
  19. import data.Admin;
  20. import data.ContrFin;
  21. import data.ContrInf;
  22. import data.Course;
  23. import data.Degree;
  24. import data.Globals;
  25. import data.Member;
  26. import data.Participates_In;
  27. import data.Project;
  28. import data.Teacher;
  29. import database.Main;
  30. import database.Procedure;
  31.  
  32.  
  33. /**@author Myrsini Gkolemi
  34. *
  35. * */
  36.  
  37.  
  38. public class PageServlet extends HttpServlet
  39. {
  40.  
  41.  
  42. public PageServlet() {
  43. super();
  44. }
  45. /**
  46. * @serial Warning
  47. */
  48. private static final long serialVersionUID = 1L;
  49. private Procedure proc;
  50.  
  51. protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  52. throws ServletException, IOException {
  53.  
  54. response.setCharacterEncoding("UTF-8");
  55.  
  56.  
  57.  
  58. }
  59.  
  60. @Override
  61. protected void doGet(HttpServletRequest request, HttpServletResponse response)
  62. throws ServletException, IOException{
  63.  
  64.  
  65.  
  66. processRequest(request,response);
  67.  
  68. response.setContentType("text/html");
  69.  
  70. PrintWriter out = response.getWriter();
  71.  
  72.  
  73. RequestDispatcher rd = request.getRequestDispatcher("/index.html");
  74. rd.forward(request, response);
  75.  
  76.  
  77. System.out.println(request.getParameter("birthday"));
  78.  
  79. ArrayList<String> confirm_buttons = new ArrayList<String>();
  80.  
  81. for(int i = 1; i<5 ; i++)
  82. {
  83. if( i == 1)
  84. {
  85. confirm_buttons.add(request.getParameter("confirm_1a"));
  86. confirm_buttons.add(request.getParameter("confirm_1e"));
  87. }
  88. else
  89. confirm_buttons.add(request.getParameter("confirm_"+ i));
  90. }
  91. try
  92. {
  93.  
  94. if(confirm_buttons.get(0)!=null && !confirm_buttons.get(0).isEmpty() &&
  95. request.getParameter("modify")!=null )
  96. changeAdminEmploy(request, response);
  97. else if(confirm_buttons.get(0)!=null && !confirm_buttons.get(0).isEmpty())
  98. actionAdmin(request, response);
  99. else if(confirm_buttons.get(1)!=null && !confirm_buttons.get(1).isEmpty() &&
  100. request.getParameter("modify")!=null )
  101. changeEduEmploy(request, response);
  102. else if(confirm_buttons.get(1)!=null && !confirm_buttons.get(1).isEmpty())
  103. actionEdu(request,response);
  104. else if(confirm_buttons.get(2)!=null && !confirm_buttons.get(2).isEmpty())
  105. modifyWages(request, response);
  106. else if(confirm_buttons.get(3)!=null && !confirm_buttons.get(3).isEmpty())
  107. layOffEmploy(request, response);
  108. else if(confirm_buttons.get(4)!=null && !confirm_buttons.get(4).isEmpty())
  109. promoteEmploy(request, response);
  110.  
  111. }
  112. catch(SQLException e)
  113. {
  114. e.printStackTrace();
  115. }
  116.  
  117.  
  118.  
  119. }
  120.  
  121.  
  122.  
  123. private Admin actionAdmin(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException, SQLException
  124. {
  125. // Basic information
  126.  
  127. int id = 1+ proc.getLatestId("Admin_Stuff", "id_Stuff");
  128.  
  129. String firstname = new String(request.getParameter("firstname").getBytes("ISO-8859-1"),"UTF-8");
  130. String fathername = new String(request.getParameter("fathername").getBytes("ISO-8859-1"),"UTF-8");
  131. String lastname = new String(request.getParameter("lastname").getBytes("ISO-8859-1"),"UTF-8");
  132. String amka = new String(request.getParameter("amka").getBytes("ISO-8859-1"),"UTF-8");
  133. String afm = new String(request.getParameter("afm").getBytes("ISO-8859-1"),"UTF-8");
  134. String birthday = new String(request.getParameter("birthday").getBytes("ISO-8859-1"),"UTF-8");
  135. String gend = new String(request.getParameter("gender").getBytes("ISO-8859-1"),"UTF-8");
  136. String address = new String(request.getParameter("address").getBytes("ISO-8859-1"),"UTF-8");
  137. String telephone = new String(request.getParameter("telephone").getBytes("ISO-8859-1"),"UTF-8");
  138. String bank = new String(request.getParameter("bank").getBytes("ISO-8859-1"),"UTF-8");
  139. String iban = new String(request.getParameter("iban").getBytes("ISO-8859-1"),"UTF-8");
  140. String department = new String(request.getParameter("department").getBytes("ISO-8859-1"),"UTF-8");
  141. String position = new String(request.getParameter("position").getBytes("ISO-8859-1"),"UTF-8");
  142. String duties = new String(request.getParameter("duty").getBytes("ISO-8859-1"),"UTF-8");
  143. // Family information
  144.  
  145. char gender = gend.charAt(0);
  146.  
  147. System.out.println("GENDER:" + gender);
  148. System.out.println("BIRTHDAY:" + birthday);
  149.  
  150. // Family information
  151. boolean married_check = false;
  152. char married ='\0';
  153. if(request.getParameter("married")!= null) married_check = true;
  154.  
  155. if(married_check == true) married = '1';
  156. else married = '0';
  157.  
  158.  
  159. String dependants = new String(request.getParameter("count_dependants").getBytes("ISO-8859-1"),"UTF-8");
  160. int num_dependants = Math.max(Integer.parseInt(dependants),0);
  161.  
  162. System.out.println(num_dependants);
  163. ArrayList<Member> dep_members = new ArrayList<Member>();
  164. if(num_dependants!= 0)
  165. dep_members.addAll((parseMembers(request, num_dependants,id)));
  166.  
  167. for(Member m:dep_members)
  168. System.out.println(m.toString());
  169.  
  170. // Degrees
  171. String degrees = new String(request.getParameter("count_titles").getBytes("ISO-8859-1"),"UTF-8");
  172. int num_degrees = Math.max(Integer.parseInt(degrees),0);
  173. System.out.println(num_degrees);
  174.  
  175. ArrayList<Degree> Degrees = new ArrayList<Degree>();
  176. if(num_degrees!= 0)
  177. {
  178. System.out.println("NUM OF DEGREES:" + num_degrees);
  179. Degrees.addAll((parseDegree(request, num_degrees,id)));
  180. System.out.println("DEGREES SIZE:" + Degrees.size());
  181. }
  182.  
  183. // Contract
  184.  
  185.  
  186.  
  187. ContrFin contractFinite = null;
  188. ContrInf contractInfinite = null;
  189.  
  190.  
  191. if(request.getParameter("temporary") != null)
  192. contractFinite = contractParseFin(request,id);
  193. else
  194. contractInfinite = contractParseInf(request,id);
  195.  
  196.  
  197.  
  198. // Insertions JUMP
  199.  
  200. Admin administrator = new Admin(id,firstname,lastname, fathername, gender, birthday,amka,afm,department
  201. ,married,address,bank,iban,'0',position,duties,telephone);
  202.  
  203.  
  204. String administratorInsert = administrator.insertToTable();
  205.  
  206. if(request.getParameter("modify")==null)
  207. {
  208. Statement stmt = this.proc.getConnection().con.createStatement();
  209. stmt.executeUpdate(administratorInsert);
  210. }
  211. // Insert Contract ---------------
  212.  
  213. if(contractFinite != null)
  214. {
  215. Statement statement = this.proc.getConnection().con.createStatement();
  216.  
  217. statement.executeUpdate(contractFinite.insertToTable());
  218. }
  219. else if(contractInfinite != null)
  220. {
  221. Statement statement = this.proc.getConnection().con.createStatement();
  222.  
  223. statement.executeUpdate(contractInfinite.insertToTable());
  224. }
  225.  
  226. //-------------------------------------
  227.  
  228. //Insert Dependant Members ------------
  229. ArrayList<String> dep_statements = new ArrayList<String>();
  230. for(Member m: dep_members)
  231. dep_statements.add(m.insertToTable());
  232.  
  233. for(String s: dep_statements)
  234. {
  235. Statement statement = this.proc.getConnection().con.createStatement();
  236.  
  237. statement.executeUpdate(s);
  238. }
  239.  
  240. //-------------------------------------
  241.  
  242. //Insert Titles -----------------------
  243. ArrayList<String> degree_statements = new ArrayList<String>();
  244. for(Degree d: Degrees)
  245. degree_statements.add(d.insertToTable());
  246.  
  247. for(String d: degree_statements)
  248. {
  249. Statement statement = this.proc.getConnection().con.createStatement();
  250.  
  251. statement.executeUpdate(d);
  252. }
  253.  
  254. //-------------------------------------
  255. return administrator;
  256. }
  257.  
  258.  
  259.  
  260.  
  261.  
  262. private Teacher actionEdu(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException, SQLException
  263. {
  264. // Basic information
  265. int id = 1+ proc.getLatestId("Teaching_Stuff", "ID_Stuff");
  266.  
  267. String firstname = new String(request.getParameter("firstname").getBytes("ISO-8859-1"),"UTF-8");
  268. String fathername = new String(request.getParameter("fathername").getBytes("ISO-8859-1"),"UTF-8");
  269. String lastname = new String(request.getParameter("lastname").getBytes("ISO-8859-1"),"UTF-8");
  270. String amka = new String(request.getParameter("amka").getBytes("ISO-8859-1"),"UTF-8");
  271. String afm = new String(request.getParameter("afm").getBytes("ISO-8859-1"),"UTF-8");
  272. String birthday = new String(request.getParameter("birthday").getBytes("ISO-8859-1"),"UTF-8");
  273. String gend = new String(request.getParameter("gender").getBytes("ISO-8859-1"),"UTF-8");
  274. String address = new String(request.getParameter("address").getBytes("ISO-8859-1"),"UTF-8");
  275. String telephone = new String(request.getParameter("telephone").getBytes("ISO-8859-1"),"UTF-8");
  276. String bank = new String(request.getParameter("bank").getBytes("ISO-8859-1"),"UTF-8");
  277. String iban = new String(request.getParameter("iban").getBytes("ISO-8859-1"),"UTF-8");
  278. String department = new String(request.getParameter("department").getBytes("ISO-8859-1"),"UTF-8");
  279. String position = new String(request.getParameter("position").getBytes("ISO-8859-1"),"UTF-8");
  280.  
  281. char gender = gend.charAt(0);
  282.  
  283. System.out.println("BIRTHDAY:" + birthday);
  284.  
  285. // Family information
  286. boolean married_check = false;
  287. char married ='\0';
  288. if(request.getParameter("married")!= null) married_check = true;
  289.  
  290. if(married_check == true) married = '1';
  291. else married = '0';
  292.  
  293.  
  294. String dependants = new String(request.getParameter("count_dependants").getBytes("ISO-8859-1"),"UTF-8");
  295. int num_dependants = Math.max(Integer.parseInt(dependants),0);
  296.  
  297. System.out.println(num_dependants);
  298. ArrayList<Member> dep_members = new ArrayList<Member>();
  299. if(num_dependants!= 0)
  300. dep_members.addAll((parseMembers(request, num_dependants,id)));
  301.  
  302. for(Member m:dep_members)
  303. System.out.println(m.toString());
  304.  
  305. // Degrees
  306. String degrees = new String(request.getParameter("count_titles").getBytes("ISO-8859-1"),"UTF-8");
  307. int num_degrees = Math.max(Integer.parseInt(degrees),0);
  308. System.out.println(num_degrees);
  309.  
  310. ArrayList<Degree> Degrees = new ArrayList<Degree>();
  311. if(num_degrees!= 0)
  312. Degrees.addAll((parseDegree(request, num_dependants,id)));
  313.  
  314. // Projects
  315. String project = new String(request.getParameter("count_projects").getBytes("ISO-8859-1"),"UTF-8");
  316. int num_projects = Math.max(Integer.parseInt(project),0);
  317. System.out.println("Project Number:" + num_projects);
  318. ArrayList<Project> projects = new ArrayList<Project>();
  319. if(num_projects!= 0)
  320. projects.addAll(parseProjects(request,num_projects));
  321.  
  322.  
  323. // Project Relation
  324. ArrayList<Participates_In> participants = parseParticipants(request,projects,num_projects,id);
  325.  
  326.  
  327. // Lessons
  328.  
  329. String lessons = new String(request.getParameter("count_lessons").getBytes("ISO-8859-1"),"UTF-8");
  330. int num_lessons = Math.max(Integer.parseInt(lessons),0);
  331. System.out.println(num_lessons);
  332. ArrayList<Course> courses = new ArrayList<Course>();
  333. if(num_lessons!= 0)
  334. courses.addAll(parseLessons(request,num_lessons,id));
  335.  
  336.  
  337. // Contract
  338. ContrFin contractFinite = null;
  339. ContrInf contractInfinite = null;
  340.  
  341. if(request.getParameter("modify")==null)
  342. {
  343. if(request.getParameter("temporary") != null)
  344. contractFinite = contractParseFin(request,id);
  345. else
  346. contractInfinite = contractParseInf(request,id);
  347. }
  348.  
  349. // Insertions JUMP
  350.  
  351. Teacher teacher = new Teacher(id,firstname,lastname, fathername, gender, birthday,amka,afm,department
  352. ,married,address,bank,iban,'0',position,telephone);
  353.  
  354.  
  355.  
  356. String educatorInsert = teacher.insertToTable();
  357.  
  358. if(request.getParameter("modify")==null)
  359. {
  360. System.out.println("Not modifying");
  361. Statement stmt = this.proc.getConnection().con.createStatement();
  362. stmt.executeUpdate(educatorInsert);
  363. }
  364.  
  365. // Insert Contract ---------------
  366.  
  367. if(contractFinite != null)
  368. {
  369. Statement statement = this.proc.getConnection().con.createStatement();
  370.  
  371. statement.executeUpdate(contractFinite.insertToTable());
  372. }
  373. else if(contractInfinite != null)
  374. {
  375. Statement statement = this.proc.getConnection().con.createStatement();
  376.  
  377. statement.executeUpdate(contractInfinite.insertToTable());
  378. }
  379.  
  380. //-------------------------------------
  381.  
  382. //Insert Dependant Members ------------
  383. ArrayList<String> dep_statements = new ArrayList<String>();
  384. for(Member m: dep_members)
  385. dep_statements.add(m.insertToTable());
  386.  
  387. for(String s: dep_statements)
  388. {
  389. Statement statement = this.proc.getConnection().con.createStatement();
  390.  
  391. statement.executeUpdate(s);
  392. }
  393.  
  394. //-------------------------------------
  395.  
  396. //Insert Titles -----------------------
  397. ArrayList<String> degree_statements = new ArrayList<String>();
  398. for(Degree d: Degrees)
  399. degree_statements.add(d.insertToTable());
  400.  
  401. for(String d: degree_statements)
  402. {
  403. Statement statement = this.proc.getConnection().con.createStatement();
  404.  
  405. statement.executeUpdate(d);
  406. }
  407.  
  408. //-------------------------------------
  409.  
  410. //Insert Projects ---------------------
  411. ArrayList<String> project_statements = new ArrayList<String>();
  412. for(Project p: projects)
  413. project_statements.add(p.insertToTable());
  414.  
  415. for(String p : project_statements)
  416. {
  417. Statement statement = this.proc.getConnection().con.createStatement();
  418.  
  419. statement.executeUpdate(p);
  420. }
  421.  
  422. ArrayList<String> participants_statements = new ArrayList<String>();
  423. for(Participates_In p: participants)
  424. participants_statements.add(p.insertToTable());
  425.  
  426. for(String p : participants_statements)
  427. {
  428. Statement statement = this.proc.getConnection().con.createStatement();
  429.  
  430. statement.executeUpdate(p);
  431. }
  432.  
  433. //Insert Lessons-----------------------
  434.  
  435. ArrayList<String> lesson_statements = new ArrayList<String>();
  436. for(Course c: courses)
  437. lesson_statements.add(c.insertToTable());
  438.  
  439. for(String c : lesson_statements)
  440. {
  441. Statement statement = this.proc.getConnection().con.createStatement();
  442.  
  443. statement.executeUpdate(c);
  444. }
  445.  
  446. //-------------------------------------
  447. return teacher;
  448. }
  449.  
  450.  
  451.  
  452. /* The user is not allowed to change the contract *JUMP*
  453. * */
  454.  
  455.  
  456.  
  457. private void changeEduEmploy(HttpServletRequest request, HttpServletResponse response) throws SQLException, UnsupportedEncodingException
  458. {
  459. System.out.println("INSIDE EDU CHANGE ");
  460.  
  461. String id_string = null;
  462.  
  463. id_string = new String(request.getParameter("employee_id").getBytes("ISO-8859-1"),"UTF-8");
  464.  
  465.  
  466. int id = Integer.parseInt(id_string);
  467.  
  468. Teacher old = proc.getTeacher(id);
  469. Teacher updated = this.actionEdu(request, response);
  470. old.updateTeacher(updated);
  471. String teacherUpdate = old.updateToTable();
  472. //aaa
  473. Statement stmt = this.proc.getConnection().con.createStatement();
  474. stmt.executeUpdate(teacherUpdate);
  475.  
  476. }
  477.  
  478. private void changeAdminEmploy(HttpServletRequest request, HttpServletResponse response) throws SQLException, UnsupportedEncodingException
  479. {
  480. System.out.println("INSIDE ADMIN CHANGE ");
  481.  
  482. String id_string = null;
  483.  
  484. id_string = new String(request.getParameter("employee_id").getBytes("ISO-8859-1"),"UTF-8");
  485.  
  486.  
  487. int id = Integer.parseInt(id_string);
  488.  
  489. Admin old = proc.getAdmin(id);
  490. Admin updated = this.actionAdmin(request, response);
  491. old.updateAdmin(updated);
  492. String adminUpdate = old.updateToTable();
  493. Statement stmt = this.proc.getConnection().con.createStatement();
  494. stmt.executeUpdate(adminUpdate);
  495.  
  496. }
  497.  
  498. ArrayList<Degree> parseDegree(HttpServletRequest request,int num,int emp_id) throws UnsupportedEncodingException, SQLException
  499. {
  500.  
  501. String[] title = request.getParameterValues("title_d");
  502. String[] unis = request.getParameterValues("university");
  503. String[] yeargrads = request.getParameterValues("graduation");
  504. String[] gradeunis = request.getParameterValues("grade");
  505.  
  506. int year[] = new int[num];
  507. float grade[] = new float[num];
  508.  
  509. for(int i=0; i<num ; i++)
  510. {
  511. year[i] = Integer.parseInt(yeargrads[i]);
  512. grade[i] = Float.parseFloat(gradeunis[i]);
  513.  
  514. }
  515.  
  516. ArrayList<String> titles = new ArrayList<String>();
  517. ArrayList<String> universities = new ArrayList<String>();
  518.  
  519.  
  520. for(int i=0 ;i<num ; i++)
  521. {
  522. titles.add(new String(title[i].getBytes("ISO-8859-1"),"UTF-8"));
  523. universities.add(new String(unis[i].getBytes("ISO-8859-1"),"UTF-8"));
  524. }
  525.  
  526.  
  527. ArrayList<Degree> degrees = new ArrayList<Degree>();
  528. int id = 1 +proc.getLatestId("Participates_In", "id_Project");
  529.  
  530. for(int i=0 ; i<num ; i++)
  531. degrees.add(new Degree(id,titles.get(i) , year[i], grade[i], universities.get(i),
  532. emp_id));
  533.  
  534.  
  535. return degrees;
  536.  
  537.  
  538. }
  539.  
  540.  
  541.  
  542. ContrFin contractParseFin(HttpServletRequest request, int emp_id) throws UnsupportedEncodingException, SQLException
  543. {
  544. String dateBegin = new String(request.getParameter("date_emp").getBytes("ISO-8859-1"),"UTF-8");
  545. String dateEnd = new String(request.getParameter("date_leave").getBytes("ISO-8859-1"),"UTF-8");
  546. String daysOff = new String(request.getParameter("daysoff").getBytes("ISO-8859-1"),"UTF-8");
  547. String hoursWe = new String(request.getParameter("weekhours").getBytes("ISO-8859-1"),"UTF-8");
  548.  
  549. int hoursWeek = Integer.parseInt(hoursWe);
  550. int daysLeave = Integer.parseInt(daysOff);
  551.  
  552. int id = 1+ proc.getLatestId("Contract_Fin","id_Contract");
  553.  
  554. return new ContrFin(id,dateBegin,hoursWeek,daysLeave,'0',dateEnd,emp_id);
  555.  
  556. }
  557.  
  558. ContrInf contractParseInf(HttpServletRequest request, int emp_id) throws UnsupportedEncodingException, SQLException
  559. {
  560. String dateBegin = new String(request.getParameter("date_emp").getBytes("ISO-8859-1"),"UTF-8");
  561. String daysOff = new String(request.getParameter("daysoff").getBytes("ISO-8859-1"),"UTF-8");
  562. String hoursWe = new String(request.getParameter("weekhours").getBytes("ISO-8859-1"),"UTF-8");
  563.  
  564.  
  565. int hoursWeek = Integer.parseInt(hoursWe);
  566. int daysLeave = Integer.parseInt(daysOff);
  567.  
  568. int id = 1+ proc.getLatestId("Contract_Inf","id_Contract");
  569.  
  570. return new ContrInf(id,dateBegin,hoursWeek,daysLeave,'0',emp_id);
  571.  
  572.  
  573.  
  574. }
  575.  
  576. ArrayList<Project> parseProjects(HttpServletRequest request, int num) throws UnsupportedEncodingException, SQLException
  577. {
  578. String[] p_name = request.getParameterValues("project_field");
  579.  
  580. ArrayList<String> projectName = new ArrayList<String>();
  581.  
  582. for(int i=0; i< num ; i++)
  583. {
  584. projectName.add(new String(p_name[i].getBytes("ISO-8859-1"),"UTF-8"));
  585.  
  586. }
  587.  
  588. //TO-DO RETURN
  589. int id = 1 + proc.getLatestId("Project", "id_Project");
  590. ArrayList<Project> projects = new ArrayList<Project>();
  591. for(int i=0; i< num ; i++)
  592. projects.add(new Project(id,projectName.get(i)));
  593.  
  594.  
  595.  
  596. return projects;
  597.  
  598. }
  599.  
  600.  
  601. ArrayList<Participates_In> parseParticipants(HttpServletRequest request,ArrayList<Project> projects, int id_emp, int id) throws UnsupportedEncodingException
  602. {
  603. String[] p_begin = request.getParameterValues("project_begin");
  604. String[] p_end = request.getParameterValues("project_end");
  605.  
  606. ArrayList<String> projectBegin = new ArrayList<String>();
  607. ArrayList<String> projectEnd = new ArrayList<String>();
  608.  
  609. for(int i = 0 ; i < projects.size() ; i++)
  610. {
  611. projectBegin.add(new String(p_begin[i].getBytes("ISO-8859-1"),"UTF-8"));
  612. projectEnd.add(new String(p_end[i].getBytes("ISO-8859-1"),"UTF-8"));
  613. }
  614.  
  615. ArrayList<Participates_In> participants = new ArrayList<Participates_In>();
  616.  
  617. for(int i = 0 ; i < projects.size() ; i++)
  618. {
  619. participants.add(new Participates_In(projects.get(i).getId(),projectBegin.get(i),projectEnd.get(i),id_emp));
  620. }
  621.  
  622. return participants;
  623.  
  624. }
  625.  
  626.  
  627. ArrayList<Course> parseLessons(HttpServletRequest request, int num,int emp_id) throws UnsupportedEncodingException, SQLException
  628. {
  629. String[] l_name = request.getParameterValues("lesson_field");
  630.  
  631. ArrayList<String> lessonNames = new ArrayList<String>();
  632. for(int i=0; i< num ; i++)
  633. {
  634. lessonNames.add(new String(l_name[i].getBytes("ISO-8859-1"),"UTF-8"));
  635.  
  636. }
  637.  
  638. int id = 1 + proc.getLatestId("Course", "id_Course");
  639. ArrayList<Course> courses = new ArrayList<Course>();
  640. for(int i=0; i< num ; i++)
  641. courses.add(new Course(id,lessonNames.get(i),emp_id));
  642.  
  643.  
  644.  
  645. return courses;
  646. //TO-DO RETURN
  647.  
  648.  
  649. }
  650.  
  651.  
  652.  
  653. ArrayList<Member> parseMembers(HttpServletRequest request, int num, int emp_id) throws UnsupportedEncodingException, SQLException
  654. {
  655. ArrayList<Member> members = new ArrayList<Member>();
  656.  
  657. String[] d_lastname = request.getParameterValues("d_lastname");
  658. String[] d_firstname = request.getParameterValues("d_firstname");
  659. String[] d_birthday = request.getParameterValues("d_birthday");
  660. String[] d_gender = request.getParameterValues("d_gender");
  661. String[] d_amka = request.getParameterValues("d_amka");
  662. String[] d_relationship = request.getParameterValues("d_relationship");
  663.  
  664. for(int i=0; i< num ; i++)
  665. System.out.println("LN:" +d_lastname[i]+ " " + "FN:" + d_firstname[i] + d_lastname.length);
  666.  
  667. ArrayList<String> lastname = new ArrayList<String>();
  668. ArrayList<String> firstname = new ArrayList<String>();
  669. ArrayList<String> birthdate = new ArrayList<String>();
  670. ArrayList<String> gender = new ArrayList<String>();
  671. ArrayList<String> amka = new ArrayList<String>();
  672. ArrayList<String> relationship = new ArrayList<String>();
  673.  
  674.  
  675.  
  676. for(int i=0 ;i<num ; i++)
  677. {
  678. lastname.add(new String(d_lastname[i].getBytes("ISO-8859-1"),"UTF-8"));
  679. firstname.add(new String(d_firstname[i].getBytes("ISO-8859-1"),"UTF-8"));
  680. birthdate.add(new String(d_birthday[i].getBytes("ISO-8859-1"),"UTF-8"));
  681. gender.add(new String(d_gender[i].getBytes("ISO-8859-1"),"UTF-8"));
  682. amka.add(new String(d_amka[i].getBytes("ISO-8859-1"),"UTF-8"));
  683. relationship.add(new String(d_relationship[i].getBytes("ISO-8859-1"),"UTF-8"));
  684. }
  685.  
  686.  
  687. char[] relation = new char[num];
  688. char[] gen = new char[num];
  689.  
  690. for(int i=0 ;i<num ; i++)
  691. {
  692. gen[i] = gender.get(i).charAt(0);
  693. relation[i] = relationship.get(i).charAt(0);
  694.  
  695. }
  696.  
  697. for(int i=0 ;i<num ; i++)
  698. {
  699. switch(relation[i])
  700. {
  701. case 'σ' :
  702. relation[i] = 's';
  703. break;
  704. case 'π' :
  705. relation[i] = 'c';
  706. break;
  707. }
  708.  
  709. }
  710.  
  711. int id = 1+ proc.getLatestId("Family_Member", "id_Member");
  712.  
  713.  
  714. for(int i=0; i<num; i++)
  715. {
  716. members.add(new Member(id + i, firstname.get(i),lastname.get(i), relation[i], gen[i],birthdate.get(i),
  717. amka.get(i),emp_id));
  718. }
  719.  
  720. //TO-DO RETURN
  721. return members;
  722. }
  723.  
  724.  
  725.  
  726. private void modifyWages(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException, SQLException {
  727.  
  728. String change_wage_admin = new String(request.getParameter("change_wage_admin").getBytes("ISO-8859-1"),"UTF-8");
  729.  
  730. String change_wage_edu = new String(request.getParameter("change_wage_edu").getBytes("ISO-8859-1"),"UTF-8");
  731.  
  732. String change_allowance_lib = new String(request.getParameter("change_allowance_lib").getBytes("ISO-8859-1"),"UTF-8");
  733.  
  734. String change_allowance_res = new String(request.getParameter("change_allowance_res").getBytes("ISO-8859-1"),"UTF-8");
  735.  
  736.  
  737.  
  738. float wageAdmin = -1.0f;
  739. float wageEdu = -1.0f;
  740. float allowanceLib = -1.0f;
  741. float allowanceRes = -1.0f;
  742.  
  743.  
  744.  
  745. if(change_wage_admin!=null && !change_wage_admin.isEmpty())
  746. wageAdmin = Float.parseFloat(change_wage_admin);
  747. if(change_wage_edu!=null && !change_wage_edu.isEmpty())
  748. wageEdu = Float.parseFloat(change_wage_edu);
  749. if(change_allowance_lib!=null && !change_allowance_lib.isEmpty())
  750. allowanceLib = Float.parseFloat(change_allowance_lib);
  751. if(change_allowance_res!=null && !change_allowance_res.isEmpty())
  752. allowanceRes = Float.parseFloat(change_allowance_res);
  753.  
  754. // change GValues fields
  755. Globals g = proc.getGlobals();
  756. Globals newGlobals = new Globals(wageAdmin, wageEdu,allowanceLib ,allowanceRes);
  757. g.updateGlobals(newGlobals);
  758. String updateGlobals =g.updateToTable();
  759.  
  760. Statement stmt = this.proc.getConnection().con.createStatement();
  761. stmt.executeUpdate(updateGlobals);
  762.  
  763.  
  764. }
  765.  
  766.  
  767. private void layOffEmploy(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException, SQLException {
  768.  
  769. String idEmploy = new String(request.getParameter("id").getBytes("ISO-8859-1"),"UTF-8");
  770. if(idEmploy!=null && !idEmploy.isEmpty())
  771. System.out.println("ID: " + idEmploy);
  772. int id = Integer.parseInt(idEmploy);
  773. proc.terminateContract(id);
  774. }
  775.  
  776.  
  777. private void promoteEmploy(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException, SQLException {
  778.  
  779.  
  780. String idEmploy = new String(request.getParameter("id").getBytes("ISO-8859-1"),"UTF-8");
  781. if(idEmploy!=null && !idEmploy.isEmpty())
  782. System.out.println("ID: " + idEmploy);
  783. // find current active contract and terminate
  784. int id = Integer.parseInt(idEmploy);
  785. ContrFin contractFinite = null;
  786. ContrInf contractInfinite = null;
  787.  
  788. if(request.getParameter("modify")==null)
  789. {
  790. if(request.getParameter("temporary") != null)
  791. contractFinite = contractParseFin(request,id);
  792. else
  793. contractInfinite = contractParseInf(request,id);
  794. }
  795.  
  796. // Insert Contract ---------------
  797.  
  798. if(contractFinite != null)
  799. {
  800. Statement statement = this.proc.getConnection().con.createStatement();
  801.  
  802. statement.executeUpdate(contractFinite.insertToTable());
  803. }
  804. else if(contractInfinite != null)
  805. {
  806. Statement statement = this.proc.getConnection().con.createStatement();
  807.  
  808. statement.executeUpdate(contractInfinite.insertToTable());
  809. }
  810.  
  811.  
  812.  
  813. }
  814.  
  815.  
  816.  
  817. public void init(ServletConfig config) throws ServletException {
  818. //this.connection = new JDBCConnection();
  819. this.proc = Main.proc;
  820. }
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement