Guest User

Untitled

a guest
Nov 20th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.35 KB | None | 0 0
  1. class String
  2. def sized(wanted)
  3. wanted = wanted.to_i
  4. return self[0...wanted] if length > wanted
  5. self + (' ' * (wanted - length))
  6. end
  7. end
  8.  
  9. class NilClass
  10. def sized(wanted)
  11. ' ' * wanted.to_i
  12. end
  13. end
  14.  
  15. locatie_mapping = {
  16. '4d5a7171d363e95db7000007' => 'OUD',
  17. '4d5a7130d363e95db7000006' => 'BER',
  18. '4d5a70eed363e95db7000003' => 'HOO',
  19. '4dccfe15d363e905c8000007' => 'HEI',
  20. '4fa7b10a27656b0f7f00001c' => 'DOO',
  21. '4dccfe09d363e905c8000004' => 'SPO'
  22. }
  23.  
  24. str = ''
  25. debugstr = ''
  26.  
  27. start_at = Time.parse('01/01/2012')
  28. end_at = Time.parse('31/07/2012')
  29. prenoon_collection = Reservation.where(:accepted => true, :prenoon => true, :date.gte => start_at, :date.lt => end_at).all
  30. afternoon_collection = Reservation.where(:accepted => true, :afternoon => true, :date.gte => start_at, :date.lt => end_at).all
  31. fullday_collection = Array.new
  32.  
  33. puts 'Voor/namiddagen startcijfer: ' + prenoon_collection.count.to_s + ' / ' + afternoon_collection.count.to_s
  34.  
  35. prenoon_collection.each do |prenoonr|
  36. if found = afternoon_collection.detect {|afternoonr| afternoonr.reserver_id = prenoonr.reserver_id, afternoonr.date = prenoonr.date}
  37. fullday_collection << found
  38. prenoon_collection.delete(prenoonr)
  39. afternoon_collection.delete(found)
  40. end
  41. end
  42.  
  43. puts 'Voormiddag: ' + prenoon_collection.count.to_s
  44. puts 'Namiddag: ' + afternoon_collection.count.to_s
  45. puts 'Volle dagen: ' + fullday_collection.count.to_s
  46.  
  47. prenoon_collection.each do |record|
  48. reserver = record.reserver
  49. address = reserver.addresses.first
  50. unit = record.reservation_unit
  51.  
  52. record.children_ids.each do |child_id|
  53. child = reserver.children.find(child_id)
  54. next unless child
  55.  
  56. begin
  57. row = ''
  58. row << record.id.generation_time.strftime('%Y%m%d%H%M%S').sized(14)
  59. row << ''.sized(11) # rrnr kind
  60. row << child.unique_number.sized(7)
  61. row << child.first_name.sized(15)
  62. row << child.last_name.sized(30)
  63. row << address.street.sized(35)
  64. row << address.post_code.sized(6)
  65. row << address.city.sized(30)
  66. row << ''.sized(20) # telefoon
  67. row << reserver.email.sized(50)
  68. row << record.date.strftime('%Y%m%d').sized(8)
  69. row << '1'.sized(1) # voormiddag
  70. row << '0'.sized(1)
  71. row << '0800'.sized(4)
  72. row << '1300'.sized(4)
  73. row << '0000'.sized(4) # van2
  74. row << '0000'.sized(4) # tot2
  75. row << locatie_mapping[unit.id.to_s].sized(3) # loc1
  76. row << locatie_mapping[unit.id.to_s].sized(3) # loc2
  77. row << '000'.sized(3) # activiteit
  78. row << '0'.sized(1) # extra1
  79. row << '0'.sized(1) # extra2
  80. row << '0'.sized(1) # extra3
  81. row << "\r\n"
  82. str << row
  83. rescue
  84. row = ''
  85. row << record.id.generation_time.strftime('%Y%m%d%H%M%S').sized(14)
  86. row << ''.sized(11) # rrnr kind
  87. row << child.unique_number.sized(7)
  88. row << child.first_name.sized(15)
  89. row << child.last_name.sized(30)
  90. row << ''.sized(35)
  91. row << ''.sized(6)
  92. row << ''.sized(30)
  93. row << ''.sized(20) # telefoon
  94. row << reserver.email.sized(50)
  95. row << record.date.strftime('%Y%m%d').sized(8)
  96. row << '1'.sized(1) # voormiddag
  97. row << '0'.sized(1)
  98. row << '0800'.sized(4)
  99. row << '1300'.sized(4)
  100. row << '0000'.sized(4) # van2
  101. row << '0000'.sized(4) # tot2
  102. row << locatie_mapping[unit.id.to_s].sized(3) # loc1
  103. row << locatie_mapping[unit.id.to_s].sized(3) # loc2
  104. row << '000'.sized(3) # activiteit
  105. row << '0'.sized(1) # extra1
  106. row << '0'.sized(1) # extra2
  107. row << '0'.sized(1) # extra3
  108. row << "\r\n"
  109. debugstr << row
  110. next
  111. end
  112. end
  113. end
  114.  
  115. puts 'Voormiddagen geexporteerd'
  116.  
  117. afternoon_collection.each do |record|
  118. reserver = record.reserver
  119. address = reserver.addresses.first
  120. unit = record.reservation_unit
  121.  
  122. record.children_ids.each do |child_id|
  123. child = reserver.children.find(child_id)
  124. next unless child
  125.  
  126. begin
  127. row = ''
  128. row << record.id.generation_time.strftime('%Y%m%d%H%M%S').sized(14)
  129. row << ''.sized(11) # rrnr kind
  130. row << child.unique_number.sized(7)
  131. row << child.first_name.sized(15)
  132. row << child.last_name.sized(30)
  133. row << address.street.sized(35)
  134. row << address.post_code.sized(6)
  135. row << address.city.sized(30)
  136. row << ''.sized(20) # telefoon
  137. row << reserver.email.sized(50)
  138. row << record.date.strftime('%Y%m%d').sized(8)
  139. row << '0'.sized(1)
  140. row << '1'.sized(1) # namiddag
  141. row << '1300'.sized(4)
  142. row << '1700'.sized(4)
  143. row << '0000'.sized(4) # van2
  144. row << '0000'.sized(4) # tot2
  145. row << locatie_mapping[unit.id.to_s].sized(3) # loc1
  146. row << locatie_mapping[unit.id.to_s].sized(3) # loc2
  147. row << '000'.sized(3) # activiteit
  148. row << '0'.sized(1) # extra1
  149. row << '0'.sized(1) # extra2
  150. row << '0'.sized(1) # extra3
  151. row << "\r\n"
  152. str << row
  153. rescue
  154. row = ''
  155. row << record.id.generation_time.strftime('%Y%m%d%H%M%S').sized(14)
  156. row << ''.sized(11) # rrnr kind
  157. row << child.unique_number.sized(7)
  158. row << child.first_name.sized(15)
  159. row << child.last_name.sized(30)
  160. row << ''.sized(35)
  161. row << ''.sized(6)
  162. row << ''.sized(30)
  163. row << ''.sized(20) # telefoon
  164. row << reserver.email.sized(50)
  165. row << record.date.strftime('%Y%m%d').sized(8)
  166. row << '0'.sized(1)
  167. row << '1'.sized(1) # namiddag
  168. row << '1300'.sized(4)
  169. row << '1700'.sized(4)
  170. row << '0000'.sized(4) # van2
  171. row << '0000'.sized(4) # tot2
  172. row << locatie_mapping[unit.id.to_s].sized(3) # loc1
  173. row << locatie_mapping[unit.id.to_s].sized(3) # loc2
  174. row << '000'.sized(3) # activiteit
  175. row << '0'.sized(1) # extra1
  176. row << '0'.sized(1) # extra2
  177. row << '0'.sized(1) # extra3
  178. row << "\r\n"
  179. debugstr << row
  180. next
  181. end
  182. end
  183. end
  184.  
  185. puts 'Namiddagen geexporteerd'
  186.  
  187. fullday_collection.each do |record|
  188.  
  189. reserver = record.reserver
  190. #address = reserver.addresses.first
  191. #unit = record.reservation_unit
  192.  
  193.  
  194.  
  195. record.children_ids.each do |child_id|
  196. child = reserver.children.find(child_id)
  197. next unless child
  198.  
  199. begin
  200. rescue
  201. next
  202. end
  203. end
  204. end
  205.  
  206. puts 'Volledige dagen geexporteerd'
  207.  
  208. file = File.new('export.sdf', 'w+')
  209. file.write str
  210. file.close
  211.  
  212. puts 'Exportfile weggeschreven'
  213.  
  214. debug = File.new('fails.sdf', 'w+')
  215. debug.write debugstr
  216. debug.close
  217.  
  218. puts 'Errorfile weggeschreven'
Add Comment
Please, Sign In to add comment