Advertisement
Guest User

Untitled

a guest
Jan 19th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.43 KB | None | 0 0
  1. public class TAplikacja {
  2.  
  3. public List<TKlient> listaKlient = new ArrayList<>();
  4. private List<TPracownik> listaPracownik = new ArrayList<>();
  5.  
  6. enum Komunikaty { _error, _success, _brakLokat, _errorID, _brakKasy, _niePuste, _niePoprawnyWniosek, _brakZdolnosci, _udzielonoKredytu}
  7.  
  8. enum MenuContent { _entryMenu, _klientMenu, _pracownikMenu}
  9. MenuContent currentContent = MenuContent._entryMenu;
  10.  
  11. public void displayMenu() {
  12.  
  13. switch (currentContent){
  14. case _entryMenu: System.out.println("***********************************************************************\n"
  15. + "Wybierz funkcjonalnosci: \n" + "1. Klient\n" + "2. Pracownik\n" + "0. Wyjdz\n");
  16. break;
  17. case _klientMenu: System.out.println("***********************************************************************\n"
  18. + "Klient: " + listaKlient.get(0).getImie() + " " + listaKlient.get(0).getNazwisko() + "\n"
  19. + "Twoje saldo = " + listaKlient.get(0).listaKont.get(0).getSaldo() +"\n" + "1. Zaloz lokate\n" + "2. Zerwij lokate\n"
  20. + "3. Przelej srodki\n" + "4. Zloz wniosek kredytowy\n" + "5. Pobierz Wyciag\n" + "6. Zamknij konto\n" + "0. Wyjdz\n");
  21. break;
  22. case _pracownikMenu: System.out.println("***********************************************************************\n"
  23. + "Pracownik: " + listaPracownik.get(0).getImie() + " " + listaPracownik.get(0).getNazwisko() + "\n"
  24. + "Oczekujace wnioski = " + listaPracownik.get(0).listaWnioskow.size() + "\n" + "1. Zaloz Konto\n" + "2. Weryfikacja Wniosku Kredytowego\n" + "0. Wyjdz\n");
  25. break;
  26. default:
  27. break;
  28. }
  29. }
  30.  
  31. public void operationMenu(){
  32. int param = 0;
  33. do {
  34. currentContent = MenuContent._entryMenu;
  35. displayMenu();
  36. Scanner choice = new Scanner(System.in);
  37. switch (param = choice.nextInt()){
  38. case 1:
  39. currentContent = MenuContent._klientMenu;
  40. displayMenu();
  41. int paramK = 0;
  42. do {
  43. switch (paramK = choice.nextInt()){
  44. case 1:
  45. //zalozenieLokaty();
  46. break;
  47. case 2: zerwijLokate();
  48. break;
  49. case 3:
  50. System.out.println("Podaj nr rachunku: ");
  51. Scanner odczyt = new Scanner(System.in);
  52. int nr = odczyt.nextInt();
  53. System.out.println("Wprowadz kwote: ");
  54. long kwota = odczyt.nextLong();
  55. //przelejSrodki(nr, kwota);
  56. break;
  57. case 4: zlozenieWnioskuKredytowego();
  58. break;
  59. case 5:
  60. //pobierzWyciag();
  61. break;
  62. case 6:
  63. //zamknijKonto();
  64. break;
  65. default:
  66. break;
  67. }
  68. }while (paramK != 0);
  69. break;
  70. case 2:
  71. currentContent = MenuContent._pracownikMenu;
  72. displayMenu();
  73. int paramP = 0;
  74. do {
  75. switch (paramP = choice.nextInt()){
  76. case 1:
  77. //zalozKonto();
  78. break;
  79. case 2: weryfikacjaWnioskuKredytowego();
  80. break;
  81. default:
  82. break;
  83. }
  84. }while (paramP !=0);
  85. break;
  86. default:
  87. break;
  88. }
  89. }while (param != 0);
  90. }
  91.  
  92. /**
  93. *
  94. * @param k
  95. */
  96. public void wyslijKomunikat(Komunikaty k) {
  97. switch (k){
  98. case _error:
  99. System.out.println("Error\n");
  100. break;
  101. case _success:
  102. System.out.println("Zadanie zakonczone powodzeniem!\n");
  103. break;
  104. case _brakLokat:
  105. System.out.println("Brak lokat");
  106. break;
  107. case _errorID:
  108. System.out.println("Nieprawidlowy index");
  109. break;
  110. case _brakKasy:
  111. System.out.println("Brak wystarczajacej ilosci srodkow na koncie");
  112. break;
  113. case _niePuste:
  114. System.out.println("Na koncie sa srodki!!!");
  115. break;
  116. case _niePoprawnyWniosek:
  117. System.out.println("Niepoprawny wniosek!");
  118. break;
  119. case _brakZdolnosci:
  120. System.out.println("Brak zdolnosci kredytowej");
  121. break;
  122. case _udzielonoKredytu:
  123. System.out.println("Udzielono kredytu. Gratulacje!");
  124. }
  125. }
  126.  
  127. /**
  128. *
  129. * @param kwota
  130. */
  131. public boolean przelejSrodki(float kwota, TKonto konto1, TKonto konto2) {
  132. // if (sprawdzSaldoWystarczajace(kwota)){
  133. // listaKlient.get(0).listaKont.get(0).setSaldo(listaKlient.get(0).listaKont.get(0).getSaldo() - kwota);
  134. // // TODO dodac dodawanie srodkow na zadany rachunek
  135. // Calendar calendar = Calendar.getInstance();
  136. // Date data = calendar.getTime();
  137. // listaKlient.get(0).listaKont.get(0).listaTransakcja.add(new TTransakcja(listaKlient.get(0).listaKont.get(0).listaTransakcja.size() + 1, data, "Przelew", new Date()));
  138. // wyslijKomunikat(Komunikaty._success);
  139. // }
  140. // else
  141. // wyslijKomunikat(Komunikaty._brakKasy);
  142. if (sprawdzSaldo(kwota, konto1)){
  143. konto1.setSaldo(konto1.getSaldo() - kwota);
  144. konto2.setSaldo(konto2.getSaldo() + kwota);
  145. return true;
  146. }
  147. else {
  148. return false;
  149. }
  150.  
  151. }
  152.  
  153. public boolean zalozenieLokaty(float kwota, TKonto konto, int okres) {
  154. // TLokata lokata = new TLokata();
  155. // System.out.println("Podaj kwote: ");
  156. // Scanner odczytKwota = new Scanner(System.in);
  157. // long kwota = odczytKwota.nextLong();
  158. // if (sprawdzSaldoWystarczajace(kwota)){
  159. // lokata.setKwota(kwota);
  160. // System.out.println("Podaj okres: ");
  161. // Scanner odczytOkres = new Scanner(System.in);
  162. // int okres = odczytOkres.nextInt();
  163. //
  164. // Calendar calendar = Calendar.getInstance();
  165. //// SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
  166. //// System.out.println(calendar.getTime());
  167. // Date dataZakonczenia = new Date();
  168. // dataZakonczenia = calendar.getTime();
  169. // dataZakonczenia.setMonth(dataZakonczenia.getMonth() + okres);
  170. //// System.out.println(dataZakonczenia);
  171. // lokata.setDataZakonczenia(dataZakonczenia);
  172. //
  173. // int liczIdex = listaKlient.get(0).listaLokat.size();
  174. // listaKlient.get(0).listaLokat.add(new TLokata(liczIdex, dataZakonczenia, kwota, 3));
  175. // przelejSrodki(00000000, kwota);
  176. // wyslijKomunikat(Komunikaty._success);
  177. // }
  178. // else{
  179. // wyslijKomunikat(Komunikaty._error);
  180. // }
  181. TLokata lokata = new TLokata();
  182. if (sprawdzSaldo(kwota, konto)){
  183. lokata.setKwota(kwota);
  184. Calendar calendar = Calendar.getInstance();
  185. SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
  186. //System.out.println(calendar.getTime());
  187. Date dataZakonczenia = new Date();
  188. dataZakonczenia = calendar.getTime();
  189. dataZakonczenia.setMonth(dataZakonczenia.getMonth() + okres);
  190. //System.out.println(dataZakonczenia);
  191. lokata.setDataZakonczenia(dataZakonczenia);
  192. przelejSrodki(kwota, konto, new TKonto(1000000));
  193. return true;
  194. }
  195. else {
  196. return false;
  197. }
  198. }
  199.  
  200. public boolean sprawdzSaldo(float kwota, TKonto konto) {
  201. // if (listaKlient.get(0).listaKont.get(0).getSaldo() > kwota){
  202. // return true;
  203. // }
  204. // else
  205. // return false;
  206. if (konto.getSaldo() >= kwota && kwota >= 0){
  207. return true;
  208. }
  209. else return false;
  210. }
  211.  
  212. public void zerwijLokate() {
  213. // if (listaKlient.get(0).listaLokat.size() < 1){
  214. // wyslijKomunikat(Komunikaty._brakLokat);
  215. // }
  216. // else {
  217. // System.out.println("Twoje lokaty: ");
  218. // for (TLokata lokata : listaKlient.get(0).listaLokat) {
  219. // System.out.println(lokata.toString());
  220. // }
  221. // System.out.println("Podaj index lokaty do usuniecia: ");
  222. // Scanner odczyt = new Scanner(System.in);
  223. // int id = odczyt.nextInt();
  224. // try {
  225. // listaKlient.get(0).listaKont.get(0).setSaldo(listaKlient.get(0).listaKont.get(0).getSaldo() + listaKlient.get(0).listaLokat.get(id).getKwota());
  226. // listaKlient.get(0).listaLokat.remove(id);
  227. // wyslijKomunikat(Komunikaty._success);
  228. // } catch (IndexOutOfBoundsException e) {
  229. // wyslijKomunikat(Komunikaty._errorID);
  230. // }
  231. // }
  232. }
  233.  
  234. public boolean czyLokatyZakonczone(TLokata lokata, Date time) {
  235. if (time.after(lokata.getDataZakonczenia())){
  236. return true;
  237. }
  238. else {
  239. return false;
  240. }
  241. }
  242.  
  243. public void zalozKonto(TKlient klient, TKonto konto) {
  244. // try {
  245. // listaKlient.get(0).listaKont.add(new TKonto(listaKlient.get(0).listaKont.size() + 100, 0));
  246. // wyslijKomunikat(Komunikaty._success);
  247. // }catch (Exception e){
  248. // wyslijKomunikat(Komunikaty._error);
  249. // }
  250. klient.listaKont.add(konto);
  251. }
  252.  
  253. public void zamknijKonto(TKlient klient, TKonto konto) {
  254. // System.out.println("Twoje konta: ");
  255. // for (TKonto konto : listaKlient.get(0).listaKont) {
  256. // System.out.println(konto.toString());
  257. // }
  258. // System.out.println("Podaj index konta do usuniecia: ");
  259. // Scanner odczyt = new Scanner(System.in);
  260. // int id = odczyt.nextInt();
  261. // try {
  262. // if (listaKlient.get(0).listaKont.get(id).getSaldo() < 1){
  263. // listaKlient.get(0).listaKont.remove(id);
  264. // wyslijKomunikat(Komunikaty._success);
  265. // }
  266. // else {
  267. // wyslijKomunikat(Komunikaty._niePuste);
  268. // }
  269. // } catch (IndexOutOfBoundsException e) {
  270. // wyslijKomunikat(Komunikaty._errorID);
  271. // }
  272. klient.listaKont.remove(konto);
  273. klient.listaKont.clear();
  274. }
  275.  
  276. public void zlozenieWnioskuKredytowego() {
  277. // Scanner odczyt = new Scanner(System.in);
  278. // TWniosek wniosek = new TWniosek();
  279. // wniosek.setIdWniosek(listaPracownik.get(0).listaWnioskow.size()+1);
  280. // System.out.println("Podaj cel: ");
  281. // wniosek.setCel(odczyt.next());
  282. // System.out.println("Podaj kwote: ");
  283. // wniosek.setKwota(odczyt.nextLong());
  284. // System.out.println("Podaj okres: ");
  285. // wniosek.setOkres(odczyt.nextInt());
  286. // System.out.println("Podaj ubezpieczenie: ");
  287. // wniosek.setUbezpieczenie(odczyt.next());
  288. // System.out.println("Podaj dochody");
  289. // wniosek.setDochod(odczyt.nextFloat());
  290. // wniosek.setZlozonoZasDoch(true);
  291. // System.out.println("Podaj liczbe czlonkow rodziny: ");
  292. // wniosek.setLiczbaCzlonkowRodziny(odczyt.nextInt());
  293. // Calendar calendar = Calendar.getInstance();
  294. // Date data = calendar.getTime();
  295. // wniosek.setDataRopatrzenia(data);
  296. // listaPracownik.get(0).listaWnioskow.add(wniosek);
  297. // wyslijKomunikat(Komunikaty._success);
  298. }
  299.  
  300. public void weryfikacjaWnioskuKredytowego() {
  301. // for (TWniosek wniosek:listaPracownik.get(0).listaWnioskow) {
  302. // System.out.println(wniosek.toString());
  303. // }
  304. // System.out.println("Podaj index wniosku: ");
  305. // Scanner odczyt = new Scanner(System.in);
  306. // int id = odczyt.nextInt();
  307. // try {
  308. // System.out.println("Czy wniosek poprawny?");
  309. // if (odczyt.next().equals("tak")){
  310. // listaPracownik.get(0).listaWnioskow.get(id).setCzyPoprawny(true);
  311. // System.out.println("Czy zdolnosc kredytowa?");
  312. // if (odczyt.next().equals("tak")){
  313. // listaPracownik.get(0).listaWnioskow.get(id).setCzyZdolnosc(true);
  314. // udzielKredytu(id);
  315. // wyslijKomunikat(Komunikaty._udzielonoKredytu);
  316. // }
  317. // else {
  318. // wyslijKomunikat(Komunikaty._brakZdolnosci);
  319. // }
  320. // }
  321. // else{
  322. // wyslijKomunikat(Komunikaty._niePoprawnyWniosek);
  323. // }
  324. // }catch (Exception e){
  325. // wyslijKomunikat(Komunikaty._error);
  326. // }
  327. }
  328.  
  329. public boolean czyZalega(float saldo) {
  330. if (saldo < 0){
  331. return true;
  332. }
  333. else {
  334. return false;
  335. }
  336. }
  337.  
  338. public void udzielKredytu(int id, float kwota, TKonto konto) {
  339. // listaKlient.get(0).listaKont.get(0).setSaldo(listaKlient.get(0).listaKont.get(0).getSaldo() + listaPracownik.get(0).listaWnioskow.get(id).getKwota());
  340. // Calendar calendar = Calendar.getInstance();
  341. // Date data = calendar.getTime();
  342. // Date dataZakonczenia = data;
  343. // dataZakonczenia.setMonth(dataZakonczenia.getMonth() + listaPracownik.get(0).listaWnioskow.get(id).getOkres());
  344. // listaKlient.get(0).listaKredytow.add(new TKredyt(listaPracownik.get(0).listaWnioskow.get(id).getKwota(), listaPracownik.get(0).listaWnioskow.get(id).getCel(), listaPracownik.get(0).listaWnioskow.get(id).getOkres(), listaPracownik.get(0).listaWnioskow.get(id).getUbezpieczenie(), dataZakonczenia, data));
  345. przelejSrodki(kwota, new TKonto(10000000), konto);
  346. }
  347.  
  348. public List<TTransakcja> pobierzWyciag(List<TTransakcja> listaTransakcji) {
  349. List<TTransakcja> wyciag = new ArrayList<>();
  350. for (TTransakcja transakcja : listaTransakcji) {
  351. wyciag.add(transakcja);
  352. }
  353. return wyciag;
  354. }
  355.  
  356. public TAplikacja(){
  357. listaPracownik.add(new TPracownik(1, "Pawel", "Kowalski"));
  358. listaKlient.add(new TKlient(1, "Jan", "Klocek", 981108023, "ul. Kobry 11", "99500", "Szlaufy", "456-980-123", "APR123456"));
  359. }
  360.  
  361. public TAplikacja(boolean start){
  362. // Dodanie na sztywno 1 pracownika ze wzgledu na brak bazy danych na tym etapie
  363. listaPracownik.add(new TPracownik(1, "Pawel", "Kowalski"));
  364. listaKlient.add(new TKlient(1, "Jan", "Klocek", 981108023, "ul. Kobry 11", "99500", "Szlaufy", "456-980-123", "APR123456"));
  365. operationMenu();
  366. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement