Advertisement
Guest User

Untitled

a guest
Jan 29th, 2017
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.04 KB | None | 0 0
  1.  
  2. import java.io.BufferedReader;
  3. import java.io.FileInputStream;
  4. import java.io.FileNotFoundException;
  5. import java.io.InputStreamReader;
  6. import java.io.UnsupportedEncodingException;
  7. import java.util.ArrayList;
  8. import java.util.Scanner;
  9.  
  10. import POJOS.*;
  11.  
  12. public class Main {
  13.  
  14. public final static String LOGIN_NAME = "root";
  15. public final static String LOGIN_PASS = "";
  16. public final static String URL_MYSQL = "jdbc:mysql://localhost:3306/cotxes";
  17.  
  18. public static void main(String[] args) throws Exception {
  19. // TODO Auto-generated method stub
  20. BufferedReader brProducts = new BufferedReader(new InputStreamReader(new FileInputStream("Products.txt"),"unicode"));
  21. BufferedReader brOrders = new BufferedReader(new InputStreamReader(new FileInputStream("Orders.txt"),"unicode"));
  22. BufferedReader brOrdersDetails = new BufferedReader(new InputStreamReader(new FileInputStream("OrdresDetails.txt"),"unicode"));
  23. BufferedReader brCustomers = new BufferedReader(new InputStreamReader(new FileInputStream("Customers.txt"),"unicode"));
  24.  
  25. ArrayList<Order> orders = getOrders(brOrders);
  26. ArrayList<Product> products = getProducts(brProducts);
  27. ArrayList<Customer> customers = getCustomers(brCustomers);
  28.  
  29. try
  30. {
  31. AccesMySQL bdAccess = new AccesMySQL(URL_MYSQL,LOGIN_NAME,LOGIN_PASS);
  32.  
  33. for (Customer customer:customers)
  34. {
  35. bdAccess.InsertCustomer(customer);
  36. }
  37. for (Product product:products)
  38. {
  39. bdAccess.InsertModel(product);
  40. }
  41.  
  42. int i=0;
  43. boolean correct = true;
  44.  
  45. while (i<orders.size() && correct)
  46. {
  47. OrderDetail orderDetail=new OrderDetail(getLineOrders(orders.get(i),brOrdersDetails),orders.get(i).getOrderNumber());
  48. correct = bdAccess.InsertComanda(orders.get(i),orderDetail);
  49. i++;
  50. }
  51. boolean complete = false;
  52. Scanner sc = new Scanner(System.in);
  53.  
  54. do {
  55. System.out.print("Introdueix el codi de la comanda (0 per sortir): ");
  56. String s = sc.next();
  57.  
  58. if (!s.equals("0"))
  59. {
  60. Order order = bdAccess.GetOrder(Integer.parseInt(s));
  61. if (order!= null)
  62. {
  63. OrderDetail oDetail = bdAccess.GetOrderDetail(Integer.parseInt(s));
  64. double impTotal = bdAccess.GetTotalOrder(Integer.parseInt(s));
  65. System.out.println("\n");
  66. System.out.println("COMANDA");
  67. System.out.println("Ordre: " +order.getOrderNumber());
  68. System.out.println("Estat: " +order.getStatus());
  69. System.out.println("Data de comanda nº: " +order.getOrderDate());
  70. System.out.println("Data d'enviamentº: " +order.getShippedDate());
  71. System.out.println("Data prevista: "+ order.getRequiredDate());
  72. System.out.println("Número de client: " +order.getCustomerNumber());
  73. System.out.println("Comentaris: " +order.getComments());
  74. System.out.println("\n");
  75.  
  76. for(LineOrder lOrder:oDetail.getLineOrders())
  77. {
  78. System.out.println("Informació: ");
  79. System.out.println("Codi del producte: " +lOrder.getProductCode());
  80. System.out.println("Quantitat: " +lOrder.getQuantityOrdered());
  81. System.out.println("€/unitat: " +lOrder.getPriceEach());
  82. System.out.println("Ordre nº: " +lOrder.getOrderLineNumber());
  83. System.out.println("\n");
  84. }
  85.  
  86.  
  87. System.out.println("Total: " + impTotal+"€");
  88. System.out.println("\n");
  89.  
  90. }
  91. else
  92. System.out.println("Codi Incorrecte o Inexistent.");
  93.  
  94. }
  95. else complete = true;
  96. }while (!complete);
  97. System.out.println("Adeu.");
  98. }
  99. catch (Exception e)
  100. {
  101. System.out.println(e.getMessage());
  102. }
  103. finally{
  104. brCustomers.close();
  105. brOrdersDetails.close();
  106. brOrders.close();
  107. brProducts.close();
  108. }
  109. }
  110.  
  111. private static String agafarNumeros (String cadena)
  112. {
  113. String resultat = "";
  114.  
  115. for (char caracter : cadena.toCharArray())
  116. {
  117. if (Character.isDigit(caracter))
  118. resultat += caracter;
  119. }
  120.  
  121. return resultat;
  122. }
  123.  
  124. private static String agafarCaracters (String cadena)
  125. {
  126. String resultat = "";
  127.  
  128. for (char caracter : cadena.toCharArray())
  129. {
  130. if (caracter != 0)
  131. resultat += caracter;
  132. }
  133.  
  134. return resultat;
  135. }
  136.  
  137. private static String agafarData(String cadena)
  138. {
  139. String[] data;
  140. String resultat = "";
  141.  
  142. if (cadena.equals("NULL")) resultat = cadena;
  143. else
  144. {
  145. data = cadena.split(" ");
  146. resultat = data[0] + "/" + data[1] + "/" + data[2];
  147. }
  148.  
  149. return resultat;
  150. }
  151.  
  152. private static ArrayList<Order> getOrders(BufferedReader brOrders)
  153. {
  154. ArrayList<Order> orders = new ArrayList<>();
  155. String linia;
  156. String[] camps;
  157.  
  158. try
  159. {
  160. linia=brOrders.readLine();
  161. while(linia!=null)
  162. {
  163. camps=linia.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
  164. orders.add(new Order(
  165. camps[5],
  166. agafarData(camps[1]),
  167. agafarData(camps[2]),
  168. agafarData(camps[3]),
  169. camps[4],
  170. Integer.parseInt(camps[0]),
  171. Integer.parseInt(camps[6])));
  172. linia=brOrders.readLine();
  173. }
  174. }
  175. catch(Exception ex)
  176. {
  177. System.out.println(ex.getMessage());
  178. }
  179. return orders;
  180. }
  181.  
  182. private static ArrayList<LineOrder> getLineOrders(Order o, BufferedReader brODetails)throws Exception{
  183.  
  184. int orderCode=o.getOrderNumber();
  185. ArrayList<LineOrder> orders=new ArrayList<>();
  186.  
  187. String linia;
  188. String[] camps;
  189.  
  190. boolean trobat = false;
  191. linia=brODetails.readLine();
  192.  
  193. try{
  194. while(linia!=null&&!trobat){
  195.  
  196. camps=linia.split(",");
  197. trobat=Integer.parseInt(camps[0])>orderCode;
  198.  
  199. if(orderCode==Integer.parseInt(camps[0])&&!trobat){
  200. orders.add(new LineOrder(
  201. camps[1],
  202. Double.parseDouble(camps[2]),
  203. Integer.parseInt(camps[3]),
  204. Integer.parseInt(camps[4])));
  205. }
  206. linia=brODetails.readLine();
  207. }
  208. }
  209. catch(Exception ex){
  210. System.out.println(ex.getMessage());
  211. }
  212. return orders;
  213. }
  214.  
  215. private static ArrayList<Product> getProducts(BufferedReader brProducts) throws Exception
  216. {
  217. ArrayList<Product> products = new ArrayList<>();
  218. String linia;
  219. String segonaLinia;
  220. String[] camps;
  221. int i = 1;
  222. boolean endOfFile= false;
  223. try
  224. {
  225. linia = brProducts.readLine();
  226.  
  227. while (linia != null)
  228. {
  229. StringBuffer sBuffer = new StringBuffer(linia);
  230. segonaLinia = brProducts.readLine();
  231. while (segonaLinia != null && !endOfFile)
  232. {
  233. if (segonaLinia != null && segonaLinia.charAt(0) != '"')
  234. {
  235. sBuffer.append(segonaLinia);
  236. segonaLinia = brProducts.readLine();
  237. }
  238. else endOfFile = true;
  239. }
  240. linia = sBuffer.toString();
  241. endOfFile = false;
  242. camps = linia.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
  243. products.add(new Product(
  244. agafarCaracters(camps[0]),
  245. agafarCaracters(camps[1]),
  246. Integer.parseInt(agafarCaracters(camps[6])),
  247. Double.parseDouble(agafarNumeros(camps[7])),
  248. Double.parseDouble(agafarNumeros(camps[8]))));
  249. linia = segonaLinia;
  250. }
  251. }
  252. catch (Exception ex)
  253. {
  254. System.out.println("Exception: " + ex.getMessage());
  255. }
  256.  
  257. return products;
  258. }
  259.  
  260. private static ArrayList<Customer> getCustomers (BufferedReader brCustomers)
  261. {
  262. ArrayList<Customer> customers = new ArrayList<>();
  263. Customer customer;
  264. String camps[];
  265. String linia;
  266. int i = 0;
  267. int vendes;
  268. try
  269. {
  270. linia = brCustomers.readLine();
  271. while (linia != null)
  272. {
  273. camps = linia.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
  274. if (agafarCaracters(camps[11]).equals("NULL"))
  275. vendes = 0;
  276. else
  277. vendes = Integer.parseInt(agafarNumeros(camps[11]));
  278. if (agafarCaracters(camps[9]).equals(""))
  279. camps[9] = "NULL";
  280. customer = new Customer(
  281. Integer.parseInt(agafarNumeros(camps[0])),
  282. camps[1],
  283. camps[2],
  284. camps[3],
  285. camps[4],
  286. camps[5],
  287. camps[6],
  288. camps[7],
  289. camps[8],
  290. camps[9],
  291. camps[10],
  292. vendes,
  293. Double.parseDouble(agafarNumeros(camps[12])));
  294. customers.add(customer);
  295. linia = brCustomers.readLine();
  296. }
  297. }
  298. catch (Exception ex)
  299. {
  300. System.out.println(ex.getMessage());
  301. }
  302.  
  303. return customers;
  304. }
  305. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement