Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.07 KB | None | 0 0
  1.  
  2. import java.io.File;
  3. import java.io.FileInputStream;
  4. import java.io.FileNotFoundException;
  5. import java.io.FileOutputStream;
  6. import java.io.IOException;
  7. import java.io.ObjectInputStream;
  8. import java.io.ObjectOutputStream;
  9. import java.util.ArrayList;
  10. import java.util.Collections;
  11. import java.util.HashSet;
  12. import java.util.logging.Level;
  13. import java.util.logging.Logger;
  14.  
  15. /*
  16. * To change this license header, choose License Headers in Project Properties.
  17. * To change this template file, choose Tools | Templates
  18. * and open the template in the editor.
  19. */
  20.  
  21. /**
  22. *
  23. * @author ebesard
  24. */
  25. public class AankoopManagement {
  26. private HashSet<AankoopProces> aankoopProcessen;
  27. private String gebruiker;
  28.  
  29. public AankoopManagement(File file){
  30. try{
  31. int ingelezenProcessen= leesAankoopProcessen(file);
  32. System.out.println(ingelezenProcessen + " processen ingeladen!");
  33. }catch(Exception e){
  34. System.out.println("Geen processen ingeladen!");
  35. }
  36.  
  37. }
  38.  
  39. public int leesAankoopProcessen(File file)throws IOException, ClassNotFoundException{
  40. FileInputStream aankoopproces=null;
  41. aankoopproces= new FileInputStream(file);
  42. ObjectInputStream ois= new ObjectInputStream(aankoopproces);
  43. this.aankoopProcessen=(HashSet)ois.readObject();
  44. return this.aankoopProcessen.size();
  45. }
  46.  
  47. public void schrijfAankoopProcessen(File file){
  48. FileOutputStream fout;
  49. try {
  50. fout = new FileOutputStream(file);
  51. ObjectOutputStream oos= new ObjectOutputStream(fout);
  52. oos.writeObject(this.aankoopProcessen);
  53. } catch (Exception ex) {
  54. System.out.println("Het bestand kan niet uitgeschreven worden!");
  55. }
  56. }
  57.  
  58. public void setGebruiker(String gebruiker) {
  59. this.gebruiker = gebruiker;
  60. }
  61.  
  62. public AankoopProces getAankoopProces(String aankoopOrderID){
  63. AankoopProces gezochtProces=null;
  64. for(AankoopProces proces:this.aankoopProcessen){
  65. if(proces.getOrder().getAankoopID().equals(aankoopOrderID)){
  66. gezochtProces=proces;
  67. }
  68. }
  69. return gezochtProces;
  70. }
  71.  
  72. public String toevoegenAankoopOrder(String productID, int hoeveelheid, String leveranciersID){
  73. AankoopOrder nieuworder= new AankoopOrder(productID, leveranciersID, hoeveelheid, gebruiker);
  74. AankoopProces nieuwproces= new AankoopProces(nieuworder);
  75. this.aankoopProcessen.add(nieuwproces);
  76. return nieuworder.getAankoopID();
  77. }
  78.  
  79. public void toevoegenGoederenOntvangen(String productID, int hoeveelheid, String leveranciersID, String aankoperID) throws AankoopException{
  80.  
  81. GoederenOntvangen g = new GoederenOntvangen(productID, hoeveelheid, leveranciersID, gebruiker);
  82.  
  83. AankoopProces p = getAankoopProces(aankoperID);
  84.  
  85. if(p == null){
  86. throw new AankoopException(aankoperID + " hoort niet bij een gekend aankoop proces!");
  87. }
  88. //throw stopt uitvoering van uw methode
  89. p.setGoederenOntvangen(g);
  90. }
  91.  
  92. public void toevoegenFactuur(String factuurID, String productID, int hoeveelheid,
  93. String leveranciersID, String aankoopOrderID)throws AankoopException{
  94. Factuur factuur = new Factuur(factuurID, productID, hoeveelheid, leveranciersID, gebruiker);
  95. AankoopProces p = getAankoopProces(aankoopOrderID);
  96. if(p==null){
  97. throw new AankoopException(aankoopOrderID + " hoort niet bij een gekend aankoop proces!");
  98. }
  99. p.setFactuur(factuur);
  100. }
  101.  
  102. public HashSet<AankoopProces> interneControle(){
  103. HashSet<AankoopProces> afgerond= new HashSet<AankoopProces>();
  104. for(AankoopProces proces: this.aankoopProcessen){
  105. if(proces.isAfgerond() && proces.seperationOfDuties() && proces.threeWayMatch()){
  106. afgerond.add(proces);
  107. }
  108. }
  109. return afgerond;
  110. }
  111.  
  112. /**public String printLog(){
  113. ArrayList<AankoopDocument>gesorteerdeProcessen= new ArrayList<>();
  114. for(AankoopProces proces: this.aankoopProcessen){
  115. if(proces.getFactuur()!= null){
  116. gesorteerdeProcessen.add(proces.getFactuur());
  117. }
  118. else if(proces.getGoederenOntvangen()!= null){
  119. gesorteerdeProcessen.add(proces.getGoederenOntvangen());
  120. }
  121. gesorteerdeProcessen.add(proces.getOrder());
  122. }
  123. if(gesorteerdeProcessen.isEmpty()){
  124. System.out.println("De log is leeg...");
  125. return "";
  126. }
  127. Collections.sort(gesorteerdeProcessen);
  128. String line="";
  129. for(AankoopDocument document: gesorteerdeProcessen){
  130. line += document.getAankoopID() + ";" + document.getPrefix() + ";"
  131. + document.getDatumTijd() + ";" + document.getUitvoerder() + "\n";
  132.  
  133. }
  134. return line;
  135. }**/
  136. public String printLog(){
  137.  
  138. ArrayList<AankoopDocument> list = new ArrayList<>();
  139.  
  140. for(AankoopProces next : aankoopProcessen)
  141. {
  142. if(next.getFactuur()!=null){
  143.  
  144. list.add(next.getFactuur());
  145.  
  146. }
  147.  
  148. if(next.getGoederenOntvangen()!=null){
  149.  
  150. list.add(next.getGoederenOntvangen());
  151.  
  152. }
  153.  
  154. list.add(next.getOrder());
  155.  
  156.  
  157. }
  158.  
  159. if(list.isEmpty())
  160. {
  161. System.out.println("De log is leeg...");
  162. return "";
  163. }
  164.  
  165. Collections.sort(list);
  166.  
  167. String line = "";
  168.  
  169. for(AankoopDocument next : list){
  170.  
  171. line += next.getAankoopID() + ";" + next.getPrefix() + ";"
  172. + next.getDatumTijd() + ";" + next.getUitvoerder() +"\n";
  173.  
  174. }
  175. return line;
  176. }
  177.  
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement