sped2db 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (972) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +11 -0
  3. data/.gitignore +10 -0
  4. data/.rspec +2 -0
  5. data/.rubocop.yml +36 -0
  6. data/.travis.yml +4 -0
  7. data/Gemfile +4 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +72 -0
  10. data/Rakefile +6 -0
  11. data/bin/sped2db +5 -0
  12. data/lib/sped2db/cli.rb +181 -0
  13. data/lib/sped2db/db_tools.rb +43 -0
  14. data/lib/sped2db/extractor.rb +95 -0
  15. data/lib/sped2db/layout.rb +32 -0
  16. data/lib/sped2db/registro.rb +77 -0
  17. data/lib/sped2db/sped_error.rb +11 -0
  18. data/lib/sped2db/utils.rb +37 -0
  19. data/lib/sped2db/version.rb +3 -0
  20. data/lib/sped2db.rb +16 -0
  21. data/meta/metadata-contrib-v002.yml +1985 -0
  22. data/meta/metadata-contrib-v003.yml +2207 -0
  23. data/meta/metadata-fiscal-v009.yml +2220 -0
  24. data/meta/metadata-fiscal-v010.yml +2390 -0
  25. data/meta/metadata-fiscal-v011.yml +2489 -0
  26. data/migrations/contrib/v002/001_create_table_reg_0000.rb +22 -0
  27. data/migrations/contrib/v002/002_create_table_reg_0001.rb +10 -0
  28. data/migrations/contrib/v002/003_create_table_reg_0100.rb +22 -0
  29. data/migrations/contrib/v002/004_create_table_reg_0110.rb +12 -0
  30. data/migrations/contrib/v002/005_create_table_reg_0111.rb +14 -0
  31. data/migrations/contrib/v002/006_create_table_reg_0120.rb +11 -0
  32. data/migrations/contrib/v002/007_create_table_reg_0140.rb +17 -0
  33. data/migrations/contrib/v002/008_create_table_reg_0145.rb +14 -0
  34. data/migrations/contrib/v002/009_create_table_reg_0150.rb +21 -0
  35. data/migrations/contrib/v002/010_create_table_reg_0190.rb +11 -0
  36. data/migrations/contrib/v002/011_create_table_reg_0200.rb +20 -0
  37. data/migrations/contrib/v002/012_create_table_reg_0205.rb +13 -0
  38. data/migrations/contrib/v002/013_create_table_reg_0206.rb +10 -0
  39. data/migrations/contrib/v002/014_create_table_reg_0208.rb +12 -0
  40. data/migrations/contrib/v002/015_create_table_reg_0400.rb +11 -0
  41. data/migrations/contrib/v002/016_create_table_reg_0450.rb +11 -0
  42. data/migrations/contrib/v002/017_create_table_reg_0500.rb +17 -0
  43. data/migrations/contrib/v002/018_create_table_reg_0600.rb +12 -0
  44. data/migrations/contrib/v002/019_create_table_reg_0990.rb +10 -0
  45. data/migrations/contrib/v002/020_create_table_reg_1001.rb +10 -0
  46. data/migrations/contrib/v002/021_create_table_reg_1010.rb +15 -0
  47. data/migrations/contrib/v002/022_create_table_reg_1020.rb +12 -0
  48. data/migrations/contrib/v002/023_create_table_reg_1100.rb +26 -0
  49. data/migrations/contrib/v002/024_create_table_reg_1101.rb +30 -0
  50. data/migrations/contrib/v002/025_create_table_reg_1102.rb +12 -0
  51. data/migrations/contrib/v002/026_create_table_reg_1200.rb +19 -0
  52. data/migrations/contrib/v002/027_create_table_reg_1210.rb +19 -0
  53. data/migrations/contrib/v002/028_create_table_reg_1220.rb +13 -0
  54. data/migrations/contrib/v002/029_create_table_reg_1300.rb +16 -0
  55. data/migrations/contrib/v002/030_create_table_reg_1500.rb +26 -0
  56. data/migrations/contrib/v002/031_create_table_reg_1501.rb +30 -0
  57. data/migrations/contrib/v002/032_create_table_reg_1502.rb +12 -0
  58. data/migrations/contrib/v002/033_create_table_reg_1600.rb +19 -0
  59. data/migrations/contrib/v002/034_create_table_reg_1610.rb +19 -0
  60. data/migrations/contrib/v002/035_create_table_reg_1620.rb +13 -0
  61. data/migrations/contrib/v002/036_create_table_reg_1700.rb +16 -0
  62. data/migrations/contrib/v002/037_create_table_reg_1800.rb +17 -0
  63. data/migrations/contrib/v002/038_create_table_reg_1809.rb +11 -0
  64. data/migrations/contrib/v002/039_create_table_reg_1990.rb +10 -0
  65. data/migrations/contrib/v002/040_create_table_reg_9001.rb +10 -0
  66. data/migrations/contrib/v002/041_create_table_reg_9900.rb +11 -0
  67. data/migrations/contrib/v002/042_create_table_reg_9990.rb +10 -0
  68. data/migrations/contrib/v002/043_create_table_reg_9999.rb +10 -0
  69. data/migrations/contrib/v002/044_create_table_reg_a001.rb +10 -0
  70. data/migrations/contrib/v002/045_create_table_reg_a010.rb +10 -0
  71. data/migrations/contrib/v002/046_create_table_reg_a100.rb +29 -0
  72. data/migrations/contrib/v002/047_create_table_reg_a110.rb +11 -0
  73. data/migrations/contrib/v002/048_create_table_reg_a111.rb +11 -0
  74. data/migrations/contrib/v002/049_create_table_reg_a120.rb +17 -0
  75. data/migrations/contrib/v002/050_create_table_reg_a170.rb +26 -0
  76. data/migrations/contrib/v002/051_create_table_reg_a990.rb +10 -0
  77. data/migrations/contrib/v002/052_create_table_reg_c001.rb +10 -0
  78. data/migrations/contrib/v002/053_create_table_reg_c010.rb +11 -0
  79. data/migrations/contrib/v002/054_create_table_reg_c100.rb +37 -0
  80. data/migrations/contrib/v002/055_create_table_reg_c110.rb +11 -0
  81. data/migrations/contrib/v002/056_create_table_reg_c111.rb +11 -0
  82. data/migrations/contrib/v002/057_create_table_reg_c120.rb +14 -0
  83. data/migrations/contrib/v002/058_create_table_reg_c170.rb +45 -0
  84. data/migrations/contrib/v002/059_create_table_reg_c180.rb +16 -0
  85. data/migrations/contrib/v002/060_create_table_reg_c181.rb +19 -0
  86. data/migrations/contrib/v002/061_create_table_reg_c185.rb +19 -0
  87. data/migrations/contrib/v002/062_create_table_reg_c188.rb +11 -0
  88. data/migrations/contrib/v002/063_create_table_reg_c190.rb +16 -0
  89. data/migrations/contrib/v002/064_create_table_reg_c191.rb +20 -0
  90. data/migrations/contrib/v002/065_create_table_reg_c195.rb +20 -0
  91. data/migrations/contrib/v002/066_create_table_reg_c198.rb +11 -0
  92. data/migrations/contrib/v002/067_create_table_reg_c199.rb +14 -0
  93. data/migrations/contrib/v002/068_create_table_reg_c380.rb +16 -0
  94. data/migrations/contrib/v002/069_create_table_reg_c381.rb +18 -0
  95. data/migrations/contrib/v002/070_create_table_reg_c385.rb +18 -0
  96. data/migrations/contrib/v002/071_create_table_reg_c395.rb +16 -0
  97. data/migrations/contrib/v002/072_create_table_reg_c396.rb +22 -0
  98. data/migrations/contrib/v002/073_create_table_reg_c400.rb +13 -0
  99. data/migrations/contrib/v002/074_create_table_reg_c405.rb +15 -0
  100. data/migrations/contrib/v002/075_create_table_reg_c481.rb +18 -0
  101. data/migrations/contrib/v002/076_create_table_reg_c485.rb +18 -0
  102. data/migrations/contrib/v002/077_create_table_reg_c489.rb +11 -0
  103. data/migrations/contrib/v002/078_create_table_reg_c490.rb +12 -0
  104. data/migrations/contrib/v002/079_create_table_reg_c491.rb +19 -0
  105. data/migrations/contrib/v002/080_create_table_reg_c495.rb +19 -0
  106. data/migrations/contrib/v002/081_create_table_reg_c499.rb +11 -0
  107. data/migrations/contrib/v002/082_create_table_reg_c500.rb +22 -0
  108. data/migrations/contrib/v002/083_create_table_reg_c501.rb +16 -0
  109. data/migrations/contrib/v002/084_create_table_reg_c505.rb +16 -0
  110. data/migrations/contrib/v002/085_create_table_reg_c509.rb +11 -0
  111. data/migrations/contrib/v002/086_create_table_reg_c600.rb +30 -0
  112. data/migrations/contrib/v002/087_create_table_reg_c601.rb +15 -0
  113. data/migrations/contrib/v002/088_create_table_reg_c605.rb +15 -0
  114. data/migrations/contrib/v002/089_create_table_reg_c609.rb +11 -0
  115. data/migrations/contrib/v002/090_create_table_reg_c990.rb +10 -0
  116. data/migrations/contrib/v002/091_create_table_reg_d001.rb +10 -0
  117. data/migrations/contrib/v002/092_create_table_reg_d010.rb +10 -0
  118. data/migrations/contrib/v002/093_create_table_reg_d100.rb +31 -0
  119. data/migrations/contrib/v002/094_create_table_reg_d101.rb +17 -0
  120. data/migrations/contrib/v002/095_create_table_reg_d105.rb +17 -0
  121. data/migrations/contrib/v002/096_create_table_reg_d111.rb +11 -0
  122. data/migrations/contrib/v002/097_create_table_reg_d200.rb +19 -0
  123. data/migrations/contrib/v002/098_create_table_reg_d201.rb +15 -0
  124. data/migrations/contrib/v002/099_create_table_reg_d205.rb +15 -0
  125. data/migrations/contrib/v002/100_create_table_reg_d209.rb +11 -0
  126. data/migrations/contrib/v002/101_create_table_reg_d300.rb +27 -0
  127. data/migrations/contrib/v002/102_create_table_reg_d309.rb +11 -0
  128. data/migrations/contrib/v002/103_create_table_reg_d350.rb +31 -0
  129. data/migrations/contrib/v002/104_create_table_reg_d359.rb +11 -0
  130. data/migrations/contrib/v002/105_create_table_reg_d500.rb +30 -0
  131. data/migrations/contrib/v002/106_create_table_reg_d501.rb +16 -0
  132. data/migrations/contrib/v002/107_create_table_reg_d505.rb +16 -0
  133. data/migrations/contrib/v002/108_create_table_reg_d509.rb +11 -0
  134. data/migrations/contrib/v002/109_create_table_reg_d600.rb +27 -0
  135. data/migrations/contrib/v002/110_create_table_reg_d601.rb +17 -0
  136. data/migrations/contrib/v002/111_create_table_reg_d605.rb +17 -0
  137. data/migrations/contrib/v002/112_create_table_reg_d609.rb +11 -0
  138. data/migrations/contrib/v002/113_create_table_reg_d990.rb +10 -0
  139. data/migrations/contrib/v002/114_create_table_reg_f001.rb +10 -0
  140. data/migrations/contrib/v002/115_create_table_reg_f010.rb +10 -0
  141. data/migrations/contrib/v002/116_create_table_reg_f100.rb +27 -0
  142. data/migrations/contrib/v002/117_create_table_reg_f111.rb +11 -0
  143. data/migrations/contrib/v002/118_create_table_reg_f120.rb +26 -0
  144. data/migrations/contrib/v002/119_create_table_reg_f129.rb +11 -0
  145. data/migrations/contrib/v002/120_create_table_reg_f130.rb +29 -0
  146. data/migrations/contrib/v002/121_create_table_reg_f139.rb +11 -0
  147. data/migrations/contrib/v002/122_create_table_reg_f150.rb +22 -0
  148. data/migrations/contrib/v002/123_create_table_reg_f200.rb +30 -0
  149. data/migrations/contrib/v002/124_create_table_reg_f205.rb +26 -0
  150. data/migrations/contrib/v002/125_create_table_reg_f210.rb +19 -0
  151. data/migrations/contrib/v002/126_create_table_reg_f211.rb +11 -0
  152. data/migrations/contrib/v002/127_create_table_reg_f600.rb +19 -0
  153. data/migrations/contrib/v002/128_create_table_reg_f700.rb +16 -0
  154. data/migrations/contrib/v002/129_create_table_reg_f800.rb +17 -0
  155. data/migrations/contrib/v002/130_create_table_reg_f990.rb +10 -0
  156. data/migrations/contrib/v002/131_create_table_reg_m001.rb +10 -0
  157. data/migrations/contrib/v002/132_create_table_reg_m100.rb +23 -0
  158. data/migrations/contrib/v002/133_create_table_reg_m105.rb +18 -0
  159. data/migrations/contrib/v002/134_create_table_reg_m110.rb +15 -0
  160. data/migrations/contrib/v002/135_create_table_reg_m200.rb +21 -0
  161. data/migrations/contrib/v002/136_create_table_reg_m210.rb +21 -0
  162. data/migrations/contrib/v002/137_create_table_reg_m211.rb +14 -0
  163. data/migrations/contrib/v002/138_create_table_reg_m220.rb +15 -0
  164. data/migrations/contrib/v002/139_create_table_reg_m230.rb +15 -0
  165. data/migrations/contrib/v002/140_create_table_reg_m300.rb +16 -0
  166. data/migrations/contrib/v002/141_create_table_reg_m350.rb +14 -0
  167. data/migrations/contrib/v002/142_create_table_reg_m400.rb +13 -0
  168. data/migrations/contrib/v002/143_create_table_reg_m410.rb +13 -0
  169. data/migrations/contrib/v002/144_create_table_reg_m500.rb +23 -0
  170. data/migrations/contrib/v002/145_create_table_reg_m505.rb +18 -0
  171. data/migrations/contrib/v002/146_create_table_reg_m510.rb +15 -0
  172. data/migrations/contrib/v002/147_create_table_reg_m600.rb +21 -0
  173. data/migrations/contrib/v002/148_create_table_reg_m610.rb +21 -0
  174. data/migrations/contrib/v002/149_create_table_reg_m611.rb +14 -0
  175. data/migrations/contrib/v002/150_create_table_reg_m620.rb +15 -0
  176. data/migrations/contrib/v002/151_create_table_reg_m630.rb +15 -0
  177. data/migrations/contrib/v002/152_create_table_reg_m700.rb +16 -0
  178. data/migrations/contrib/v002/153_create_table_reg_m800.rb +13 -0
  179. data/migrations/contrib/v002/154_create_table_reg_m810.rb +13 -0
  180. data/migrations/contrib/v002/155_create_table_reg_m990.rb +10 -0
  181. data/migrations/contrib/v002/156_create_table_reg_p001.rb +10 -0
  182. data/migrations/contrib/v002/157_create_table_reg_p010.rb +10 -0
  183. data/migrations/contrib/v002/158_create_table_reg_p100.rb +20 -0
  184. data/migrations/contrib/v002/159_create_table_reg_p110.rb +13 -0
  185. data/migrations/contrib/v002/160_create_table_reg_p199.rb +11 -0
  186. data/migrations/contrib/v002/161_create_table_reg_p200.rb +15 -0
  187. data/migrations/contrib/v002/162_create_table_reg_p210.rb +15 -0
  188. data/migrations/contrib/v002/163_create_table_reg_p990.rb +10 -0
  189. data/migrations/contrib/v003/001_create_table_reg_0000.rb +22 -0
  190. data/migrations/contrib/v003/002_create_table_reg_0001.rb +10 -0
  191. data/migrations/contrib/v003/003_create_table_reg_0035.rb +12 -0
  192. data/migrations/contrib/v003/004_create_table_reg_0100.rb +22 -0
  193. data/migrations/contrib/v003/005_create_table_reg_0110.rb +13 -0
  194. data/migrations/contrib/v003/006_create_table_reg_0111.rb +14 -0
  195. data/migrations/contrib/v003/007_create_table_reg_0120.rb +11 -0
  196. data/migrations/contrib/v003/008_create_table_reg_0140.rb +17 -0
  197. data/migrations/contrib/v003/009_create_table_reg_0145.rb +14 -0
  198. data/migrations/contrib/v003/010_create_table_reg_0150.rb +21 -0
  199. data/migrations/contrib/v003/011_create_table_reg_0190.rb +11 -0
  200. data/migrations/contrib/v003/012_create_table_reg_0200.rb +20 -0
  201. data/migrations/contrib/v003/013_create_table_reg_0205.rb +13 -0
  202. data/migrations/contrib/v003/014_create_table_reg_0206.rb +10 -0
  203. data/migrations/contrib/v003/015_create_table_reg_0208.rb +12 -0
  204. data/migrations/contrib/v003/016_create_table_reg_0400.rb +11 -0
  205. data/migrations/contrib/v003/017_create_table_reg_0450.rb +11 -0
  206. data/migrations/contrib/v003/018_create_table_reg_0500.rb +17 -0
  207. data/migrations/contrib/v003/019_create_table_reg_0600.rb +12 -0
  208. data/migrations/contrib/v003/020_create_table_reg_0990.rb +10 -0
  209. data/migrations/contrib/v003/021_create_table_reg_1001.rb +10 -0
  210. data/migrations/contrib/v003/022_create_table_reg_1010.rb +15 -0
  211. data/migrations/contrib/v003/023_create_table_reg_1020.rb +12 -0
  212. data/migrations/contrib/v003/024_create_table_reg_1100.rb +26 -0
  213. data/migrations/contrib/v003/025_create_table_reg_1300.rb +16 -0
  214. data/migrations/contrib/v003/026_create_table_reg_1500.rb +26 -0
  215. data/migrations/contrib/v003/027_create_table_reg_1700.rb +16 -0
  216. data/migrations/contrib/v003/028_create_table_reg_1800.rb +17 -0
  217. data/migrations/contrib/v003/029_create_table_reg_1809.rb +11 -0
  218. data/migrations/contrib/v003/030_create_table_reg_1900.rb +21 -0
  219. data/migrations/contrib/v003/031_create_table_reg_1990.rb +10 -0
  220. data/migrations/contrib/v003/032_create_table_reg_9001.rb +10 -0
  221. data/migrations/contrib/v003/033_create_table_reg_9900.rb +11 -0
  222. data/migrations/contrib/v003/034_create_table_reg_9990.rb +10 -0
  223. data/migrations/contrib/v003/035_create_table_reg_9999.rb +10 -0
  224. data/migrations/contrib/v003/036_create_table_reg_a001.rb +10 -0
  225. data/migrations/contrib/v003/037_create_table_reg_a010.rb +10 -0
  226. data/migrations/contrib/v003/038_create_table_reg_a100.rb +29 -0
  227. data/migrations/contrib/v003/039_create_table_reg_a110.rb +11 -0
  228. data/migrations/contrib/v003/040_create_table_reg_a111.rb +11 -0
  229. data/migrations/contrib/v003/041_create_table_reg_a120.rb +17 -0
  230. data/migrations/contrib/v003/042_create_table_reg_a170.rb +26 -0
  231. data/migrations/contrib/v003/043_create_table_reg_a990.rb +10 -0
  232. data/migrations/contrib/v003/044_create_table_reg_c001.rb +10 -0
  233. data/migrations/contrib/v003/045_create_table_reg_c010.rb +11 -0
  234. data/migrations/contrib/v003/046_create_table_reg_c100.rb +37 -0
  235. data/migrations/contrib/v003/047_create_table_reg_c110.rb +11 -0
  236. data/migrations/contrib/v003/048_create_table_reg_c111.rb +11 -0
  237. data/migrations/contrib/v003/049_create_table_reg_c120.rb +14 -0
  238. data/migrations/contrib/v003/050_create_table_reg_c170.rb +45 -0
  239. data/migrations/contrib/v003/051_create_table_reg_c175.rb +26 -0
  240. data/migrations/contrib/v003/052_create_table_reg_c180.rb +16 -0
  241. data/migrations/contrib/v003/053_create_table_reg_c181.rb +19 -0
  242. data/migrations/contrib/v003/054_create_table_reg_c185.rb +19 -0
  243. data/migrations/contrib/v003/055_create_table_reg_c188.rb +11 -0
  244. data/migrations/contrib/v003/056_create_table_reg_c190.rb +16 -0
  245. data/migrations/contrib/v003/057_create_table_reg_c191.rb +20 -0
  246. data/migrations/contrib/v003/058_create_table_reg_c195.rb +20 -0
  247. data/migrations/contrib/v003/059_create_table_reg_c198.rb +11 -0
  248. data/migrations/contrib/v003/060_create_table_reg_c199.rb +14 -0
  249. data/migrations/contrib/v003/061_create_table_reg_c380.rb +16 -0
  250. data/migrations/contrib/v003/062_create_table_reg_c381.rb +18 -0
  251. data/migrations/contrib/v003/063_create_table_reg_c385.rb +18 -0
  252. data/migrations/contrib/v003/064_create_table_reg_c395.rb +16 -0
  253. data/migrations/contrib/v003/065_create_table_reg_c396.rb +22 -0
  254. data/migrations/contrib/v003/066_create_table_reg_c400.rb +13 -0
  255. data/migrations/contrib/v003/067_create_table_reg_c405.rb +15 -0
  256. data/migrations/contrib/v003/068_create_table_reg_c481.rb +18 -0
  257. data/migrations/contrib/v003/069_create_table_reg_c485.rb +18 -0
  258. data/migrations/contrib/v003/070_create_table_reg_c489.rb +11 -0
  259. data/migrations/contrib/v003/071_create_table_reg_c490.rb +12 -0
  260. data/migrations/contrib/v003/072_create_table_reg_c491.rb +19 -0
  261. data/migrations/contrib/v003/073_create_table_reg_c495.rb +19 -0
  262. data/migrations/contrib/v003/074_create_table_reg_c499.rb +11 -0
  263. data/migrations/contrib/v003/075_create_table_reg_c500.rb +22 -0
  264. data/migrations/contrib/v003/076_create_table_reg_c501.rb +16 -0
  265. data/migrations/contrib/v003/077_create_table_reg_c505.rb +16 -0
  266. data/migrations/contrib/v003/078_create_table_reg_c509.rb +11 -0
  267. data/migrations/contrib/v003/079_create_table_reg_c600.rb +30 -0
  268. data/migrations/contrib/v003/080_create_table_reg_c601.rb +15 -0
  269. data/migrations/contrib/v003/081_create_table_reg_c605.rb +15 -0
  270. data/migrations/contrib/v003/082_create_table_reg_c609.rb +11 -0
  271. data/migrations/contrib/v003/083_create_table_reg_c860.rb +14 -0
  272. data/migrations/contrib/v003/084_create_table_reg_c870.rb +22 -0
  273. data/migrations/contrib/v003/085_create_table_reg_c880.rb +22 -0
  274. data/migrations/contrib/v003/086_create_table_reg_c890.rb +11 -0
  275. data/migrations/contrib/v003/087_create_table_reg_c990.rb +10 -0
  276. data/migrations/contrib/v003/088_create_table_reg_d001.rb +10 -0
  277. data/migrations/contrib/v003/089_create_table_reg_d010.rb +10 -0
  278. data/migrations/contrib/v003/090_create_table_reg_d100.rb +31 -0
  279. data/migrations/contrib/v003/091_create_table_reg_d101.rb +17 -0
  280. data/migrations/contrib/v003/092_create_table_reg_d105.rb +17 -0
  281. data/migrations/contrib/v003/093_create_table_reg_d111.rb +11 -0
  282. data/migrations/contrib/v003/094_create_table_reg_d200.rb +19 -0
  283. data/migrations/contrib/v003/095_create_table_reg_d201.rb +15 -0
  284. data/migrations/contrib/v003/096_create_table_reg_d205.rb +15 -0
  285. data/migrations/contrib/v003/097_create_table_reg_d209.rb +11 -0
  286. data/migrations/contrib/v003/098_create_table_reg_d300.rb +27 -0
  287. data/migrations/contrib/v003/099_create_table_reg_d309.rb +11 -0
  288. data/migrations/contrib/v003/100_create_table_reg_d350.rb +31 -0
  289. data/migrations/contrib/v003/101_create_table_reg_d359.rb +11 -0
  290. data/migrations/contrib/v003/102_create_table_reg_d500.rb +30 -0
  291. data/migrations/contrib/v003/103_create_table_reg_d501.rb +16 -0
  292. data/migrations/contrib/v003/104_create_table_reg_d505.rb +16 -0
  293. data/migrations/contrib/v003/105_create_table_reg_d509.rb +11 -0
  294. data/migrations/contrib/v003/106_create_table_reg_d600.rb +27 -0
  295. data/migrations/contrib/v003/107_create_table_reg_d601.rb +17 -0
  296. data/migrations/contrib/v003/108_create_table_reg_d605.rb +17 -0
  297. data/migrations/contrib/v003/109_create_table_reg_d609.rb +11 -0
  298. data/migrations/contrib/v003/110_create_table_reg_d990.rb +10 -0
  299. data/migrations/contrib/v003/111_create_table_reg_f001.rb +10 -0
  300. data/migrations/contrib/v003/112_create_table_reg_f010.rb +10 -0
  301. data/migrations/contrib/v003/113_create_table_reg_f100.rb +27 -0
  302. data/migrations/contrib/v003/114_create_table_reg_f111.rb +11 -0
  303. data/migrations/contrib/v003/115_create_table_reg_f120.rb +26 -0
  304. data/migrations/contrib/v003/116_create_table_reg_f129.rb +11 -0
  305. data/migrations/contrib/v003/117_create_table_reg_f130.rb +29 -0
  306. data/migrations/contrib/v003/118_create_table_reg_f139.rb +11 -0
  307. data/migrations/contrib/v003/119_create_table_reg_f150.rb +22 -0
  308. data/migrations/contrib/v003/120_create_table_reg_f200.rb +30 -0
  309. data/migrations/contrib/v003/121_create_table_reg_f205.rb +26 -0
  310. data/migrations/contrib/v003/122_create_table_reg_f210.rb +19 -0
  311. data/migrations/contrib/v003/123_create_table_reg_f211.rb +11 -0
  312. data/migrations/contrib/v003/124_create_table_reg_f500.rb +24 -0
  313. data/migrations/contrib/v003/125_create_table_reg_f509.rb +11 -0
  314. data/migrations/contrib/v003/126_create_table_reg_f510.rb +24 -0
  315. data/migrations/contrib/v003/127_create_table_reg_f519.rb +11 -0
  316. data/migrations/contrib/v003/128_create_table_reg_f525.rb +19 -0
  317. data/migrations/contrib/v003/129_create_table_reg_f550.rb +24 -0
  318. data/migrations/contrib/v003/130_create_table_reg_f559.rb +11 -0
  319. data/migrations/contrib/v003/131_create_table_reg_f560.rb +24 -0
  320. data/migrations/contrib/v003/132_create_table_reg_f569.rb +11 -0
  321. data/migrations/contrib/v003/133_create_table_reg_f600.rb +19 -0
  322. data/migrations/contrib/v003/134_create_table_reg_f700.rb +16 -0
  323. data/migrations/contrib/v003/135_create_table_reg_f800.rb +17 -0
  324. data/migrations/contrib/v003/136_create_table_reg_f990.rb +10 -0
  325. data/migrations/contrib/v003/137_create_table_reg_i001.rb +10 -0
  326. data/migrations/contrib/v003/138_create_table_reg_i010.rb +12 -0
  327. data/migrations/contrib/v003/139_create_table_reg_i100.rb +20 -0
  328. data/migrations/contrib/v003/140_create_table_reg_i199.rb +11 -0
  329. data/migrations/contrib/v003/141_create_table_reg_i200.rb +14 -0
  330. data/migrations/contrib/v003/142_create_table_reg_i299.rb +11 -0
  331. data/migrations/contrib/v003/143_create_table_reg_i300.rb +13 -0
  332. data/migrations/contrib/v003/144_create_table_reg_i399.rb +11 -0
  333. data/migrations/contrib/v003/145_create_table_reg_i990.rb +10 -0
  334. data/migrations/contrib/v003/146_create_table_reg_m001.rb +10 -0
  335. data/migrations/contrib/v003/147_create_table_reg_m100.rb +23 -0
  336. data/migrations/contrib/v003/148_create_table_reg_m105.rb +18 -0
  337. data/migrations/contrib/v003/149_create_table_reg_m110.rb +15 -0
  338. data/migrations/contrib/v003/150_create_table_reg_m115.rb +17 -0
  339. data/migrations/contrib/v003/151_create_table_reg_m200.rb +21 -0
  340. data/migrations/contrib/v003/152_create_table_reg_m205.rb +12 -0
  341. data/migrations/contrib/v003/153_create_table_reg_m210.rb +21 -0
  342. data/migrations/contrib/v003/154_create_table_reg_m211.rb +14 -0
  343. data/migrations/contrib/v003/155_create_table_reg_m220.rb +15 -0
  344. data/migrations/contrib/v003/156_create_table_reg_m225.rb +17 -0
  345. data/migrations/contrib/v003/157_create_table_reg_m230.rb +15 -0
  346. data/migrations/contrib/v003/158_create_table_reg_m300.rb +16 -0
  347. data/migrations/contrib/v003/159_create_table_reg_m350.rb +14 -0
  348. data/migrations/contrib/v003/160_create_table_reg_m400.rb +13 -0
  349. data/migrations/contrib/v003/161_create_table_reg_m410.rb +13 -0
  350. data/migrations/contrib/v003/162_create_table_reg_m500.rb +23 -0
  351. data/migrations/contrib/v003/163_create_table_reg_m505.rb +18 -0
  352. data/migrations/contrib/v003/164_create_table_reg_m510.rb +15 -0
  353. data/migrations/contrib/v003/165_create_table_reg_m515.rb +17 -0
  354. data/migrations/contrib/v003/166_create_table_reg_m600.rb +21 -0
  355. data/migrations/contrib/v003/167_create_table_reg_m605.rb +12 -0
  356. data/migrations/contrib/v003/168_create_table_reg_m610.rb +21 -0
  357. data/migrations/contrib/v003/169_create_table_reg_m611.rb +14 -0
  358. data/migrations/contrib/v003/170_create_table_reg_m620.rb +15 -0
  359. data/migrations/contrib/v003/171_create_table_reg_m625.rb +17 -0
  360. data/migrations/contrib/v003/172_create_table_reg_m630.rb +15 -0
  361. data/migrations/contrib/v003/173_create_table_reg_m700.rb +16 -0
  362. data/migrations/contrib/v003/174_create_table_reg_m800.rb +13 -0
  363. data/migrations/contrib/v003/175_create_table_reg_m810.rb +13 -0
  364. data/migrations/contrib/v003/176_create_table_reg_m990.rb +10 -0
  365. data/migrations/contrib/v003/177_create_table_reg_p001.rb +10 -0
  366. data/migrations/contrib/v003/178_create_table_reg_p010.rb +10 -0
  367. data/migrations/contrib/v003/179_create_table_reg_p100.rb +20 -0
  368. data/migrations/contrib/v003/180_create_table_reg_p110.rb +13 -0
  369. data/migrations/contrib/v003/181_create_table_reg_p199.rb +11 -0
  370. data/migrations/contrib/v003/182_create_table_reg_p200.rb +15 -0
  371. data/migrations/contrib/v003/183_create_table_reg_p210.rb +15 -0
  372. data/migrations/contrib/v003/184_create_table_reg_p990.rb +10 -0
  373. data/migrations/fiscal/v009/001_create_table_reg_0000.rb +23 -0
  374. data/migrations/fiscal/v009/002_create_table_reg_0001.rb +10 -0
  375. data/migrations/fiscal/v009/003_create_table_reg_0005.rb +18 -0
  376. data/migrations/fiscal/v009/004_create_table_reg_0015.rb +11 -0
  377. data/migrations/fiscal/v009/005_create_table_reg_0100.rb +22 -0
  378. data/migrations/fiscal/v009/006_create_table_reg_0150.rb +21 -0
  379. data/migrations/fiscal/v009/007_create_table_reg_0175.rb +12 -0
  380. data/migrations/fiscal/v009/008_create_table_reg_0190.rb +11 -0
  381. data/migrations/fiscal/v009/009_create_table_reg_0200.rb +20 -0
  382. data/migrations/fiscal/v009/010_create_table_reg_0205.rb +13 -0
  383. data/migrations/fiscal/v009/011_create_table_reg_0206.rb +10 -0
  384. data/migrations/fiscal/v009/012_create_table_reg_0220.rb +11 -0
  385. data/migrations/fiscal/v009/013_create_table_reg_0300.rb +15 -0
  386. data/migrations/fiscal/v009/014_create_table_reg_0305.rb +12 -0
  387. data/migrations/fiscal/v009/015_create_table_reg_0400.rb +11 -0
  388. data/migrations/fiscal/v009/016_create_table_reg_0450.rb +11 -0
  389. data/migrations/fiscal/v009/017_create_table_reg_0460.rb +11 -0
  390. data/migrations/fiscal/v009/018_create_table_reg_0500.rb +15 -0
  391. data/migrations/fiscal/v009/019_create_table_reg_0600.rb +12 -0
  392. data/migrations/fiscal/v009/020_create_table_reg_0990.rb +10 -0
  393. data/migrations/fiscal/v009/021_create_table_reg_1001.rb +10 -0
  394. data/migrations/fiscal/v009/022_create_table_reg_1010.rb +18 -0
  395. data/migrations/fiscal/v009/023_create_table_reg_1100.rb +20 -0
  396. data/migrations/fiscal/v009/024_create_table_reg_1105.rb +15 -0
  397. data/migrations/fiscal/v009/025_create_table_reg_1110.rb +18 -0
  398. data/migrations/fiscal/v009/026_create_table_reg_1200.rb +15 -0
  399. data/migrations/fiscal/v009/027_create_table_reg_1210.rb +12 -0
  400. data/migrations/fiscal/v009/028_create_table_reg_1300.rb +19 -0
  401. data/migrations/fiscal/v009/029_create_table_reg_1310.rb +18 -0
  402. data/migrations/fiscal/v009/030_create_table_reg_1320.rb +19 -0
  403. data/migrations/fiscal/v009/031_create_table_reg_1350.rb +13 -0
  404. data/migrations/fiscal/v009/032_create_table_reg_1360.rb +11 -0
  405. data/migrations/fiscal/v009/033_create_table_reg_1370.rb +12 -0
  406. data/migrations/fiscal/v009/034_create_table_reg_1390.rb +10 -0
  407. data/migrations/fiscal/v009/035_create_table_reg_1391.rb +25 -0
  408. data/migrations/fiscal/v009/036_create_table_reg_1400.rb +12 -0
  409. data/migrations/fiscal/v009/037_create_table_reg_1500.rb +35 -0
  410. data/migrations/fiscal/v009/038_create_table_reg_1510.rb +29 -0
  411. data/migrations/fiscal/v009/039_create_table_reg_1600.rb +12 -0
  412. data/migrations/fiscal/v009/040_create_table_reg_1700.rb +16 -0
  413. data/migrations/fiscal/v009/041_create_table_reg_1710.rb +11 -0
  414. data/migrations/fiscal/v009/042_create_table_reg_1800.rb +18 -0
  415. data/migrations/fiscal/v009/043_create_table_reg_1900.rb +11 -0
  416. data/migrations/fiscal/v009/044_create_table_reg_1910.rb +11 -0
  417. data/migrations/fiscal/v009/045_create_table_reg_1920.rb +21 -0
  418. data/migrations/fiscal/v009/046_create_table_reg_1921.rb +12 -0
  419. data/migrations/fiscal/v009/047_create_table_reg_1922.rb +14 -0
  420. data/migrations/fiscal/v009/048_create_table_reg_1923.rb +17 -0
  421. data/migrations/fiscal/v009/049_create_table_reg_1925.rb +12 -0
  422. data/migrations/fiscal/v009/050_create_table_reg_1926.rb +18 -0
  423. data/migrations/fiscal/v009/051_create_table_reg_1990.rb +10 -0
  424. data/migrations/fiscal/v009/052_create_table_reg_9001.rb +10 -0
  425. data/migrations/fiscal/v009/053_create_table_reg_9900.rb +11 -0
  426. data/migrations/fiscal/v009/054_create_table_reg_9990.rb +10 -0
  427. data/migrations/fiscal/v009/055_create_table_reg_9999.rb +10 -0
  428. data/migrations/fiscal/v009/056_create_table_reg_c001.rb +10 -0
  429. data/migrations/fiscal/v009/057_create_table_reg_c100.rb +37 -0
  430. data/migrations/fiscal/v009/058_create_table_reg_c105.rb +11 -0
  431. data/migrations/fiscal/v009/059_create_table_reg_c110.rb +11 -0
  432. data/migrations/fiscal/v009/060_create_table_reg_c111.rb +11 -0
  433. data/migrations/fiscal/v009/061_create_table_reg_c112.rb +16 -0
  434. data/migrations/fiscal/v009/062_create_table_reg_c113.rb +17 -0
  435. data/migrations/fiscal/v009/063_create_table_reg_c114.rb +14 -0
  436. data/migrations/fiscal/v009/064_create_table_reg_c115.rb +18 -0
  437. data/migrations/fiscal/v009/065_create_table_reg_c116.rb +14 -0
  438. data/migrations/fiscal/v009/066_create_table_reg_c120.rb +14 -0
  439. data/migrations/fiscal/v009/067_create_table_reg_c130.rb +16 -0
  440. data/migrations/fiscal/v009/068_create_table_reg_c140.rb +15 -0
  441. data/migrations/fiscal/v009/069_create_table_reg_c141.rb +12 -0
  442. data/migrations/fiscal/v009/070_create_table_reg_c160.rb +15 -0
  443. data/migrations/fiscal/v009/071_create_table_reg_c165.rb +21 -0
  444. data/migrations/fiscal/v009/072_create_table_reg_c170.rb +45 -0
  445. data/migrations/fiscal/v009/073_create_table_reg_c171.rb +11 -0
  446. data/migrations/fiscal/v009/074_create_table_reg_c172.rb +12 -0
  447. data/migrations/fiscal/v009/075_create_table_reg_c173.rb +16 -0
  448. data/migrations/fiscal/v009/076_create_table_reg_c174.rb +12 -0
  449. data/migrations/fiscal/v009/077_create_table_reg_c175.rb +13 -0
  450. data/migrations/fiscal/v009/078_create_table_reg_c176.rb +17 -0
  451. data/migrations/fiscal/v009/079_create_table_reg_c177.rb +11 -0
  452. data/migrations/fiscal/v009/080_create_table_reg_c178.rb +12 -0
  453. data/migrations/fiscal/v009/081_create_table_reg_c179.rb +14 -0
  454. data/migrations/fiscal/v009/082_create_table_reg_c190.rb +20 -0
  455. data/migrations/fiscal/v009/083_create_table_reg_c195.rb +11 -0
  456. data/migrations/fiscal/v009/084_create_table_reg_c197.rb +16 -0
  457. data/migrations/fiscal/v009/085_create_table_reg_c300.rb +19 -0
  458. data/migrations/fiscal/v009/086_create_table_reg_c310.rb +10 -0
  459. data/migrations/fiscal/v009/087_create_table_reg_c320.rb +17 -0
  460. data/migrations/fiscal/v009/088_create_table_reg_c321.rb +18 -0
  461. data/migrations/fiscal/v009/089_create_table_reg_c350.rb +20 -0
  462. data/migrations/fiscal/v009/090_create_table_reg_c370.rb +15 -0
  463. data/migrations/fiscal/v009/091_create_table_reg_c390.rb +17 -0
  464. data/migrations/fiscal/v009/092_create_table_reg_c400.rb +13 -0
  465. data/migrations/fiscal/v009/093_create_table_reg_c405.rb +15 -0
  466. data/migrations/fiscal/v009/094_create_table_reg_c410.rb +11 -0
  467. data/migrations/fiscal/v009/095_create_table_reg_c420.rb +13 -0
  468. data/migrations/fiscal/v009/096_create_table_reg_c425.rb +15 -0
  469. data/migrations/fiscal/v009/097_create_table_reg_c460.rb +18 -0
  470. data/migrations/fiscal/v009/098_create_table_reg_c465.rb +11 -0
  471. data/migrations/fiscal/v009/099_create_table_reg_c470.rb +19 -0
  472. data/migrations/fiscal/v009/100_create_table_reg_c490.rb +16 -0
  473. data/migrations/fiscal/v009/101_create_table_reg_c500.rb +35 -0
  474. data/migrations/fiscal/v009/102_create_table_reg_c510.rb +29 -0
  475. data/migrations/fiscal/v009/103_create_table_reg_c590.rb +19 -0
  476. data/migrations/fiscal/v009/104_create_table_reg_c600.rb +30 -0
  477. data/migrations/fiscal/v009/105_create_table_reg_c601.rb +10 -0
  478. data/migrations/fiscal/v009/106_create_table_reg_c610.rb +25 -0
  479. data/migrations/fiscal/v009/107_create_table_reg_c690.rb +19 -0
  480. data/migrations/fiscal/v009/108_create_table_reg_c700.rb +17 -0
  481. data/migrations/fiscal/v009/109_create_table_reg_c790.rb +19 -0
  482. data/migrations/fiscal/v009/110_create_table_reg_c791.rb +12 -0
  483. data/migrations/fiscal/v009/111_create_table_reg_c800.rb +25 -0
  484. data/migrations/fiscal/v009/112_create_table_reg_c850.rb +16 -0
  485. data/migrations/fiscal/v009/113_create_table_reg_c860.rb +14 -0
  486. data/migrations/fiscal/v009/114_create_table_reg_c890.rb +16 -0
  487. data/migrations/fiscal/v009/115_create_table_reg_c990.rb +10 -0
  488. data/migrations/fiscal/v009/116_create_table_reg_d001.rb +10 -0
  489. data/migrations/fiscal/v009/117_create_table_reg_d100.rb +31 -0
  490. data/migrations/fiscal/v009/118_create_table_reg_d110.rb +13 -0
  491. data/migrations/fiscal/v009/119_create_table_reg_d120.rb +13 -0
  492. data/migrations/fiscal/v009/120_create_table_reg_d130.rb +22 -0
  493. data/migrations/fiscal/v009/121_create_table_reg_d140.rb +22 -0
  494. data/migrations/fiscal/v009/122_create_table_reg_d150.rb +19 -0
  495. data/migrations/fiscal/v009/123_create_table_reg_d160.rb +16 -0
  496. data/migrations/fiscal/v009/124_create_table_reg_d161.rb +16 -0
  497. data/migrations/fiscal/v009/125_create_table_reg_d162.rb +18 -0
  498. data/migrations/fiscal/v009/126_create_table_reg_d170.rb +22 -0
  499. data/migrations/fiscal/v009/127_create_table_reg_d180.rb +25 -0
  500. data/migrations/fiscal/v009/128_create_table_reg_d190.rb +17 -0
  501. data/migrations/fiscal/v009/129_create_table_reg_d195.rb +11 -0
  502. data/migrations/fiscal/v009/130_create_table_reg_d197.rb +16 -0
  503. data/migrations/fiscal/v009/131_create_table_reg_d300.rb +28 -0
  504. data/migrations/fiscal/v009/132_create_table_reg_d301.rb +10 -0
  505. data/migrations/fiscal/v009/133_create_table_reg_d310.rb +13 -0
  506. data/migrations/fiscal/v009/134_create_table_reg_d350.rb +13 -0
  507. data/migrations/fiscal/v009/135_create_table_reg_d355.rb +15 -0
  508. data/migrations/fiscal/v009/136_create_table_reg_d360.rb +11 -0
  509. data/migrations/fiscal/v009/137_create_table_reg_d365.rb +13 -0
  510. data/migrations/fiscal/v009/138_create_table_reg_d370.rb +14 -0
  511. data/migrations/fiscal/v009/139_create_table_reg_d390.rb +19 -0
  512. data/migrations/fiscal/v009/140_create_table_reg_d400.rb +24 -0
  513. data/migrations/fiscal/v009/141_create_table_reg_d410.rb +23 -0
  514. data/migrations/fiscal/v009/142_create_table_reg_d411.rb +10 -0
  515. data/migrations/fiscal/v009/143_create_table_reg_d420.rb +13 -0
  516. data/migrations/fiscal/v009/144_create_table_reg_d500.rb +32 -0
  517. data/migrations/fiscal/v009/145_create_table_reg_d510.rb +28 -0
  518. data/migrations/fiscal/v009/146_create_table_reg_d530.rb +15 -0
  519. data/migrations/fiscal/v009/147_create_table_reg_d590.rb +19 -0
  520. data/migrations/fiscal/v009/148_create_table_reg_d600.rb +26 -0
  521. data/migrations/fiscal/v009/149_create_table_reg_d610.rb +26 -0
  522. data/migrations/fiscal/v009/150_create_table_reg_d690.rb +19 -0
  523. data/migrations/fiscal/v009/151_create_table_reg_d695.rb +17 -0
  524. data/migrations/fiscal/v009/152_create_table_reg_d696.rb +19 -0
  525. data/migrations/fiscal/v009/153_create_table_reg_d697.rb +12 -0
  526. data/migrations/fiscal/v009/154_create_table_reg_d990.rb +10 -0
  527. data/migrations/fiscal/v009/155_create_table_reg_e001.rb +10 -0
  528. data/migrations/fiscal/v009/156_create_table_reg_e100.rb +11 -0
  529. data/migrations/fiscal/v009/157_create_table_reg_e110.rb +23 -0
  530. data/migrations/fiscal/v009/158_create_table_reg_e111.rb +12 -0
  531. data/migrations/fiscal/v009/159_create_table_reg_e112.rb +14 -0
  532. data/migrations/fiscal/v009/160_create_table_reg_e113.rb +17 -0
  533. data/migrations/fiscal/v009/161_create_table_reg_e115.rb +12 -0
  534. data/migrations/fiscal/v009/162_create_table_reg_e116.rb +18 -0
  535. data/migrations/fiscal/v009/163_create_table_reg_e200.rb +12 -0
  536. data/migrations/fiscal/v009/164_create_table_reg_e210.rb +23 -0
  537. data/migrations/fiscal/v009/165_create_table_reg_e220.rb +12 -0
  538. data/migrations/fiscal/v009/166_create_table_reg_e230.rb +14 -0
  539. data/migrations/fiscal/v009/167_create_table_reg_e240.rb +17 -0
  540. data/migrations/fiscal/v009/168_create_table_reg_e250.rb +18 -0
  541. data/migrations/fiscal/v009/169_create_table_reg_e500.rb +12 -0
  542. data/migrations/fiscal/v009/170_create_table_reg_e510.rb +14 -0
  543. data/migrations/fiscal/v009/171_create_table_reg_e520.rb +16 -0
  544. data/migrations/fiscal/v009/172_create_table_reg_e530.rb +15 -0
  545. data/migrations/fiscal/v009/173_create_table_reg_e990.rb +10 -0
  546. data/migrations/fiscal/v009/174_create_table_reg_g001.rb +10 -0
  547. data/migrations/fiscal/v009/175_create_table_reg_g110.rb +18 -0
  548. data/migrations/fiscal/v009/176_create_table_reg_g125.rb +18 -0
  549. data/migrations/fiscal/v009/177_create_table_reg_g126.rb +17 -0
  550. data/migrations/fiscal/v009/178_create_table_reg_g130.rb +16 -0
  551. data/migrations/fiscal/v009/179_create_table_reg_g140.rb +11 -0
  552. data/migrations/fiscal/v009/180_create_table_reg_g990.rb +10 -0
  553. data/migrations/fiscal/v009/181_create_table_reg_h001.rb +10 -0
  554. data/migrations/fiscal/v009/182_create_table_reg_h005.rb +12 -0
  555. data/migrations/fiscal/v009/183_create_table_reg_h010.rb +19 -0
  556. data/migrations/fiscal/v009/184_create_table_reg_h020.rb +12 -0
  557. data/migrations/fiscal/v009/185_create_table_reg_h990.rb +10 -0
  558. data/migrations/fiscal/v010/001_create_table_reg_0000.rb +23 -0
  559. data/migrations/fiscal/v010/002_create_table_reg_0001.rb +10 -0
  560. data/migrations/fiscal/v010/003_create_table_reg_0005.rb +18 -0
  561. data/migrations/fiscal/v010/004_create_table_reg_0015.rb +11 -0
  562. data/migrations/fiscal/v010/005_create_table_reg_0100.rb +22 -0
  563. data/migrations/fiscal/v010/006_create_table_reg_0150.rb +21 -0
  564. data/migrations/fiscal/v010/007_create_table_reg_0175.rb +12 -0
  565. data/migrations/fiscal/v010/008_create_table_reg_0190.rb +11 -0
  566. data/migrations/fiscal/v010/009_create_table_reg_0200.rb +20 -0
  567. data/migrations/fiscal/v010/010_create_table_reg_0205.rb +13 -0
  568. data/migrations/fiscal/v010/011_create_table_reg_0206.rb +10 -0
  569. data/migrations/fiscal/v010/012_create_table_reg_0210.rb +12 -0
  570. data/migrations/fiscal/v010/013_create_table_reg_0220.rb +11 -0
  571. data/migrations/fiscal/v010/014_create_table_reg_0300.rb +15 -0
  572. data/migrations/fiscal/v010/015_create_table_reg_0305.rb +12 -0
  573. data/migrations/fiscal/v010/016_create_table_reg_0400.rb +11 -0
  574. data/migrations/fiscal/v010/017_create_table_reg_0450.rb +11 -0
  575. data/migrations/fiscal/v010/018_create_table_reg_0460.rb +11 -0
  576. data/migrations/fiscal/v010/019_create_table_reg_0500.rb +15 -0
  577. data/migrations/fiscal/v010/020_create_table_reg_0600.rb +12 -0
  578. data/migrations/fiscal/v010/021_create_table_reg_0990.rb +10 -0
  579. data/migrations/fiscal/v010/022_create_table_reg_1001.rb +10 -0
  580. data/migrations/fiscal/v010/023_create_table_reg_1010.rb +18 -0
  581. data/migrations/fiscal/v010/024_create_table_reg_1100.rb +20 -0
  582. data/migrations/fiscal/v010/025_create_table_reg_1105.rb +15 -0
  583. data/migrations/fiscal/v010/026_create_table_reg_1110.rb +18 -0
  584. data/migrations/fiscal/v010/027_create_table_reg_1200.rb +15 -0
  585. data/migrations/fiscal/v010/028_create_table_reg_1210.rb +12 -0
  586. data/migrations/fiscal/v010/029_create_table_reg_1300.rb +19 -0
  587. data/migrations/fiscal/v010/030_create_table_reg_1310.rb +18 -0
  588. data/migrations/fiscal/v010/031_create_table_reg_1320.rb +19 -0
  589. data/migrations/fiscal/v010/032_create_table_reg_1350.rb +13 -0
  590. data/migrations/fiscal/v010/033_create_table_reg_1360.rb +11 -0
  591. data/migrations/fiscal/v010/034_create_table_reg_1370.rb +12 -0
  592. data/migrations/fiscal/v010/035_create_table_reg_1390.rb +10 -0
  593. data/migrations/fiscal/v010/036_create_table_reg_1391.rb +25 -0
  594. data/migrations/fiscal/v010/037_create_table_reg_1400.rb +12 -0
  595. data/migrations/fiscal/v010/038_create_table_reg_1500.rb +35 -0
  596. data/migrations/fiscal/v010/039_create_table_reg_1510.rb +29 -0
  597. data/migrations/fiscal/v010/040_create_table_reg_1600.rb +12 -0
  598. data/migrations/fiscal/v010/041_create_table_reg_1700.rb +16 -0
  599. data/migrations/fiscal/v010/042_create_table_reg_1710.rb +11 -0
  600. data/migrations/fiscal/v010/043_create_table_reg_1800.rb +18 -0
  601. data/migrations/fiscal/v010/044_create_table_reg_1900.rb +11 -0
  602. data/migrations/fiscal/v010/045_create_table_reg_1910.rb +11 -0
  603. data/migrations/fiscal/v010/046_create_table_reg_1920.rb +21 -0
  604. data/migrations/fiscal/v010/047_create_table_reg_1921.rb +12 -0
  605. data/migrations/fiscal/v010/048_create_table_reg_1922.rb +14 -0
  606. data/migrations/fiscal/v010/049_create_table_reg_1923.rb +17 -0
  607. data/migrations/fiscal/v010/050_create_table_reg_1925.rb +12 -0
  608. data/migrations/fiscal/v010/051_create_table_reg_1926.rb +18 -0
  609. data/migrations/fiscal/v010/052_create_table_reg_1990.rb +10 -0
  610. data/migrations/fiscal/v010/053_create_table_reg_9001.rb +10 -0
  611. data/migrations/fiscal/v010/054_create_table_reg_9900.rb +11 -0
  612. data/migrations/fiscal/v010/055_create_table_reg_9990.rb +10 -0
  613. data/migrations/fiscal/v010/056_create_table_reg_9999.rb +10 -0
  614. data/migrations/fiscal/v010/057_create_table_reg_c001.rb +10 -0
  615. data/migrations/fiscal/v010/058_create_table_reg_c100.rb +37 -0
  616. data/migrations/fiscal/v010/059_create_table_reg_c101.rb +12 -0
  617. data/migrations/fiscal/v010/060_create_table_reg_c105.rb +11 -0
  618. data/migrations/fiscal/v010/061_create_table_reg_c110.rb +11 -0
  619. data/migrations/fiscal/v010/062_create_table_reg_c111.rb +11 -0
  620. data/migrations/fiscal/v010/063_create_table_reg_c112.rb +16 -0
  621. data/migrations/fiscal/v010/064_create_table_reg_c113.rb +17 -0
  622. data/migrations/fiscal/v010/065_create_table_reg_c114.rb +14 -0
  623. data/migrations/fiscal/v010/066_create_table_reg_c115.rb +18 -0
  624. data/migrations/fiscal/v010/067_create_table_reg_c116.rb +14 -0
  625. data/migrations/fiscal/v010/068_create_table_reg_c120.rb +14 -0
  626. data/migrations/fiscal/v010/069_create_table_reg_c130.rb +16 -0
  627. data/migrations/fiscal/v010/070_create_table_reg_c140.rb +15 -0
  628. data/migrations/fiscal/v010/071_create_table_reg_c141.rb +12 -0
  629. data/migrations/fiscal/v010/072_create_table_reg_c160.rb +15 -0
  630. data/migrations/fiscal/v010/073_create_table_reg_c165.rb +21 -0
  631. data/migrations/fiscal/v010/074_create_table_reg_c170.rb +45 -0
  632. data/migrations/fiscal/v010/075_create_table_reg_c171.rb +11 -0
  633. data/migrations/fiscal/v010/076_create_table_reg_c172.rb +12 -0
  634. data/migrations/fiscal/v010/077_create_table_reg_c173.rb +16 -0
  635. data/migrations/fiscal/v010/078_create_table_reg_c174.rb +12 -0
  636. data/migrations/fiscal/v010/079_create_table_reg_c175.rb +13 -0
  637. data/migrations/fiscal/v010/080_create_table_reg_c176.rb +17 -0
  638. data/migrations/fiscal/v010/081_create_table_reg_c177.rb +11 -0
  639. data/migrations/fiscal/v010/082_create_table_reg_c178.rb +12 -0
  640. data/migrations/fiscal/v010/083_create_table_reg_c179.rb +14 -0
  641. data/migrations/fiscal/v010/084_create_table_reg_c190.rb +20 -0
  642. data/migrations/fiscal/v010/085_create_table_reg_c195.rb +11 -0
  643. data/migrations/fiscal/v010/086_create_table_reg_c197.rb +16 -0
  644. data/migrations/fiscal/v010/087_create_table_reg_c300.rb +19 -0
  645. data/migrations/fiscal/v010/088_create_table_reg_c310.rb +10 -0
  646. data/migrations/fiscal/v010/089_create_table_reg_c320.rb +17 -0
  647. data/migrations/fiscal/v010/090_create_table_reg_c321.rb +18 -0
  648. data/migrations/fiscal/v010/091_create_table_reg_c350.rb +20 -0
  649. data/migrations/fiscal/v010/092_create_table_reg_c370.rb +15 -0
  650. data/migrations/fiscal/v010/093_create_table_reg_c390.rb +17 -0
  651. data/migrations/fiscal/v010/094_create_table_reg_c400.rb +13 -0
  652. data/migrations/fiscal/v010/095_create_table_reg_c405.rb +15 -0
  653. data/migrations/fiscal/v010/096_create_table_reg_c410.rb +11 -0
  654. data/migrations/fiscal/v010/097_create_table_reg_c420.rb +13 -0
  655. data/migrations/fiscal/v010/098_create_table_reg_c425.rb +15 -0
  656. data/migrations/fiscal/v010/099_create_table_reg_c460.rb +18 -0
  657. data/migrations/fiscal/v010/100_create_table_reg_c465.rb +11 -0
  658. data/migrations/fiscal/v010/101_create_table_reg_c470.rb +19 -0
  659. data/migrations/fiscal/v010/102_create_table_reg_c490.rb +16 -0
  660. data/migrations/fiscal/v010/103_create_table_reg_c500.rb +35 -0
  661. data/migrations/fiscal/v010/104_create_table_reg_c510.rb +29 -0
  662. data/migrations/fiscal/v010/105_create_table_reg_c590.rb +19 -0
  663. data/migrations/fiscal/v010/106_create_table_reg_c600.rb +30 -0
  664. data/migrations/fiscal/v010/107_create_table_reg_c601.rb +10 -0
  665. data/migrations/fiscal/v010/108_create_table_reg_c610.rb +25 -0
  666. data/migrations/fiscal/v010/109_create_table_reg_c690.rb +19 -0
  667. data/migrations/fiscal/v010/110_create_table_reg_c700.rb +17 -0
  668. data/migrations/fiscal/v010/111_create_table_reg_c790.rb +19 -0
  669. data/migrations/fiscal/v010/112_create_table_reg_c791.rb +12 -0
  670. data/migrations/fiscal/v010/113_create_table_reg_c800.rb +25 -0
  671. data/migrations/fiscal/v010/114_create_table_reg_c850.rb +16 -0
  672. data/migrations/fiscal/v010/115_create_table_reg_c860.rb +14 -0
  673. data/migrations/fiscal/v010/116_create_table_reg_c890.rb +16 -0
  674. data/migrations/fiscal/v010/117_create_table_reg_c990.rb +10 -0
  675. data/migrations/fiscal/v010/118_create_table_reg_d001.rb +10 -0
  676. data/migrations/fiscal/v010/119_create_table_reg_d100.rb +31 -0
  677. data/migrations/fiscal/v010/120_create_table_reg_d101.rb +12 -0
  678. data/migrations/fiscal/v010/121_create_table_reg_d110.rb +13 -0
  679. data/migrations/fiscal/v010/122_create_table_reg_d120.rb +13 -0
  680. data/migrations/fiscal/v010/123_create_table_reg_d130.rb +22 -0
  681. data/migrations/fiscal/v010/124_create_table_reg_d140.rb +22 -0
  682. data/migrations/fiscal/v010/125_create_table_reg_d150.rb +19 -0
  683. data/migrations/fiscal/v010/126_create_table_reg_d160.rb +16 -0
  684. data/migrations/fiscal/v010/127_create_table_reg_d161.rb +16 -0
  685. data/migrations/fiscal/v010/128_create_table_reg_d162.rb +18 -0
  686. data/migrations/fiscal/v010/129_create_table_reg_d170.rb +22 -0
  687. data/migrations/fiscal/v010/130_create_table_reg_d180.rb +25 -0
  688. data/migrations/fiscal/v010/131_create_table_reg_d190.rb +17 -0
  689. data/migrations/fiscal/v010/132_create_table_reg_d195.rb +11 -0
  690. data/migrations/fiscal/v010/133_create_table_reg_d197.rb +16 -0
  691. data/migrations/fiscal/v010/134_create_table_reg_d300.rb +28 -0
  692. data/migrations/fiscal/v010/135_create_table_reg_d301.rb +10 -0
  693. data/migrations/fiscal/v010/136_create_table_reg_d310.rb +13 -0
  694. data/migrations/fiscal/v010/137_create_table_reg_d350.rb +13 -0
  695. data/migrations/fiscal/v010/138_create_table_reg_d355.rb +15 -0
  696. data/migrations/fiscal/v010/139_create_table_reg_d360.rb +11 -0
  697. data/migrations/fiscal/v010/140_create_table_reg_d365.rb +13 -0
  698. data/migrations/fiscal/v010/141_create_table_reg_d370.rb +14 -0
  699. data/migrations/fiscal/v010/142_create_table_reg_d390.rb +19 -0
  700. data/migrations/fiscal/v010/143_create_table_reg_d400.rb +24 -0
  701. data/migrations/fiscal/v010/144_create_table_reg_d410.rb +23 -0
  702. data/migrations/fiscal/v010/145_create_table_reg_d411.rb +10 -0
  703. data/migrations/fiscal/v010/146_create_table_reg_d420.rb +13 -0
  704. data/migrations/fiscal/v010/147_create_table_reg_d500.rb +32 -0
  705. data/migrations/fiscal/v010/148_create_table_reg_d510.rb +28 -0
  706. data/migrations/fiscal/v010/149_create_table_reg_d530.rb +15 -0
  707. data/migrations/fiscal/v010/150_create_table_reg_d590.rb +19 -0
  708. data/migrations/fiscal/v010/151_create_table_reg_d600.rb +26 -0
  709. data/migrations/fiscal/v010/152_create_table_reg_d610.rb +26 -0
  710. data/migrations/fiscal/v010/153_create_table_reg_d690.rb +19 -0
  711. data/migrations/fiscal/v010/154_create_table_reg_d695.rb +17 -0
  712. data/migrations/fiscal/v010/155_create_table_reg_d696.rb +19 -0
  713. data/migrations/fiscal/v010/156_create_table_reg_d697.rb +12 -0
  714. data/migrations/fiscal/v010/157_create_table_reg_d990.rb +10 -0
  715. data/migrations/fiscal/v010/158_create_table_reg_e001.rb +10 -0
  716. data/migrations/fiscal/v010/159_create_table_reg_e100.rb +11 -0
  717. data/migrations/fiscal/v010/160_create_table_reg_e110.rb +23 -0
  718. data/migrations/fiscal/v010/161_create_table_reg_e111.rb +12 -0
  719. data/migrations/fiscal/v010/162_create_table_reg_e112.rb +14 -0
  720. data/migrations/fiscal/v010/163_create_table_reg_e113.rb +17 -0
  721. data/migrations/fiscal/v010/164_create_table_reg_e115.rb +12 -0
  722. data/migrations/fiscal/v010/165_create_table_reg_e116.rb +18 -0
  723. data/migrations/fiscal/v010/166_create_table_reg_e200.rb +12 -0
  724. data/migrations/fiscal/v010/167_create_table_reg_e210.rb +23 -0
  725. data/migrations/fiscal/v010/168_create_table_reg_e220.rb +12 -0
  726. data/migrations/fiscal/v010/169_create_table_reg_e230.rb +14 -0
  727. data/migrations/fiscal/v010/170_create_table_reg_e240.rb +17 -0
  728. data/migrations/fiscal/v010/171_create_table_reg_e250.rb +18 -0
  729. data/migrations/fiscal/v010/172_create_table_reg_e300.rb +12 -0
  730. data/migrations/fiscal/v010/173_create_table_reg_e310.rb +22 -0
  731. data/migrations/fiscal/v010/174_create_table_reg_e311.rb +12 -0
  732. data/migrations/fiscal/v010/175_create_table_reg_e312.rb +14 -0
  733. data/migrations/fiscal/v010/176_create_table_reg_e313.rb +18 -0
  734. data/migrations/fiscal/v010/177_create_table_reg_e316.rb +18 -0
  735. data/migrations/fiscal/v010/178_create_table_reg_e500.rb +12 -0
  736. data/migrations/fiscal/v010/179_create_table_reg_e510.rb +14 -0
  737. data/migrations/fiscal/v010/180_create_table_reg_e520.rb +16 -0
  738. data/migrations/fiscal/v010/181_create_table_reg_e530.rb +15 -0
  739. data/migrations/fiscal/v010/182_create_table_reg_e990.rb +10 -0
  740. data/migrations/fiscal/v010/183_create_table_reg_g001.rb +10 -0
  741. data/migrations/fiscal/v010/184_create_table_reg_g110.rb +18 -0
  742. data/migrations/fiscal/v010/185_create_table_reg_g125.rb +18 -0
  743. data/migrations/fiscal/v010/186_create_table_reg_g126.rb +17 -0
  744. data/migrations/fiscal/v010/187_create_table_reg_g130.rb +16 -0
  745. data/migrations/fiscal/v010/188_create_table_reg_g140.rb +11 -0
  746. data/migrations/fiscal/v010/189_create_table_reg_g990.rb +10 -0
  747. data/migrations/fiscal/v010/190_create_table_reg_h001.rb +10 -0
  748. data/migrations/fiscal/v010/191_create_table_reg_h005.rb +12 -0
  749. data/migrations/fiscal/v010/192_create_table_reg_h010.rb +19 -0
  750. data/migrations/fiscal/v010/193_create_table_reg_h020.rb +12 -0
  751. data/migrations/fiscal/v010/194_create_table_reg_h990.rb +10 -0
  752. data/migrations/fiscal/v010/195_create_table_reg_k001.rb +10 -0
  753. data/migrations/fiscal/v010/196_create_table_reg_k100.rb +11 -0
  754. data/migrations/fiscal/v010/197_create_table_reg_k200.rb +14 -0
  755. data/migrations/fiscal/v010/198_create_table_reg_k220.rb +13 -0
  756. data/migrations/fiscal/v010/199_create_table_reg_k230.rb +14 -0
  757. data/migrations/fiscal/v010/200_create_table_reg_k235.rb +13 -0
  758. data/migrations/fiscal/v010/201_create_table_reg_k250.rb +12 -0
  759. data/migrations/fiscal/v010/202_create_table_reg_k255.rb +13 -0
  760. data/migrations/fiscal/v010/203_create_table_reg_k990.rb +10 -0
  761. data/migrations/fiscal/v011/001_create_table_reg_0000.rb +23 -0
  762. data/migrations/fiscal/v011/002_create_table_reg_0001.rb +10 -0
  763. data/migrations/fiscal/v011/003_create_table_reg_0005.rb +18 -0
  764. data/migrations/fiscal/v011/004_create_table_reg_0015.rb +11 -0
  765. data/migrations/fiscal/v011/005_create_table_reg_0100.rb +22 -0
  766. data/migrations/fiscal/v011/006_create_table_reg_0150.rb +21 -0
  767. data/migrations/fiscal/v011/007_create_table_reg_0175.rb +12 -0
  768. data/migrations/fiscal/v011/008_create_table_reg_0190.rb +11 -0
  769. data/migrations/fiscal/v011/009_create_table_reg_0200.rb +21 -0
  770. data/migrations/fiscal/v011/010_create_table_reg_0205.rb +13 -0
  771. data/migrations/fiscal/v011/011_create_table_reg_0206.rb +10 -0
  772. data/migrations/fiscal/v011/012_create_table_reg_0210.rb +12 -0
  773. data/migrations/fiscal/v011/013_create_table_reg_0220.rb +11 -0
  774. data/migrations/fiscal/v011/014_create_table_reg_0300.rb +15 -0
  775. data/migrations/fiscal/v011/015_create_table_reg_0305.rb +12 -0
  776. data/migrations/fiscal/v011/016_create_table_reg_0400.rb +11 -0
  777. data/migrations/fiscal/v011/017_create_table_reg_0450.rb +11 -0
  778. data/migrations/fiscal/v011/018_create_table_reg_0460.rb +11 -0
  779. data/migrations/fiscal/v011/019_create_table_reg_0500.rb +15 -0
  780. data/migrations/fiscal/v011/020_create_table_reg_0600.rb +12 -0
  781. data/migrations/fiscal/v011/021_create_table_reg_0990.rb +10 -0
  782. data/migrations/fiscal/v011/022_create_table_reg_1001.rb +10 -0
  783. data/migrations/fiscal/v011/023_create_table_reg_1010.rb +18 -0
  784. data/migrations/fiscal/v011/024_create_table_reg_1100.rb +20 -0
  785. data/migrations/fiscal/v011/025_create_table_reg_1105.rb +15 -0
  786. data/migrations/fiscal/v011/026_create_table_reg_1110.rb +18 -0
  787. data/migrations/fiscal/v011/027_create_table_reg_1200.rb +15 -0
  788. data/migrations/fiscal/v011/028_create_table_reg_1210.rb +13 -0
  789. data/migrations/fiscal/v011/029_create_table_reg_1300.rb +19 -0
  790. data/migrations/fiscal/v011/030_create_table_reg_1310.rb +18 -0
  791. data/migrations/fiscal/v011/031_create_table_reg_1320.rb +19 -0
  792. data/migrations/fiscal/v011/032_create_table_reg_1350.rb +13 -0
  793. data/migrations/fiscal/v011/033_create_table_reg_1360.rb +11 -0
  794. data/migrations/fiscal/v011/034_create_table_reg_1370.rb +12 -0
  795. data/migrations/fiscal/v011/035_create_table_reg_1390.rb +10 -0
  796. data/migrations/fiscal/v011/036_create_table_reg_1391.rb +25 -0
  797. data/migrations/fiscal/v011/037_create_table_reg_1400.rb +12 -0
  798. data/migrations/fiscal/v011/038_create_table_reg_1500.rb +35 -0
  799. data/migrations/fiscal/v011/039_create_table_reg_1510.rb +29 -0
  800. data/migrations/fiscal/v011/040_create_table_reg_1600.rb +12 -0
  801. data/migrations/fiscal/v011/041_create_table_reg_1700.rb +16 -0
  802. data/migrations/fiscal/v011/042_create_table_reg_1710.rb +11 -0
  803. data/migrations/fiscal/v011/043_create_table_reg_1800.rb +18 -0
  804. data/migrations/fiscal/v011/044_create_table_reg_1900.rb +11 -0
  805. data/migrations/fiscal/v011/045_create_table_reg_1910.rb +11 -0
  806. data/migrations/fiscal/v011/046_create_table_reg_1920.rb +21 -0
  807. data/migrations/fiscal/v011/047_create_table_reg_1921.rb +12 -0
  808. data/migrations/fiscal/v011/048_create_table_reg_1922.rb +14 -0
  809. data/migrations/fiscal/v011/049_create_table_reg_1923.rb +18 -0
  810. data/migrations/fiscal/v011/050_create_table_reg_1925.rb +12 -0
  811. data/migrations/fiscal/v011/051_create_table_reg_1926.rb +18 -0
  812. data/migrations/fiscal/v011/052_create_table_reg_1990.rb +10 -0
  813. data/migrations/fiscal/v011/053_create_table_reg_9001.rb +10 -0
  814. data/migrations/fiscal/v011/054_create_table_reg_9900.rb +11 -0
  815. data/migrations/fiscal/v011/055_create_table_reg_9990.rb +10 -0
  816. data/migrations/fiscal/v011/056_create_table_reg_9999.rb +10 -0
  817. data/migrations/fiscal/v011/057_create_table_reg_c001.rb +10 -0
  818. data/migrations/fiscal/v011/058_create_table_reg_c100.rb +37 -0
  819. data/migrations/fiscal/v011/059_create_table_reg_c101.rb +12 -0
  820. data/migrations/fiscal/v011/060_create_table_reg_c105.rb +11 -0
  821. data/migrations/fiscal/v011/061_create_table_reg_c110.rb +11 -0
  822. data/migrations/fiscal/v011/062_create_table_reg_c111.rb +11 -0
  823. data/migrations/fiscal/v011/063_create_table_reg_c112.rb +16 -0
  824. data/migrations/fiscal/v011/064_create_table_reg_c113.rb +18 -0
  825. data/migrations/fiscal/v011/065_create_table_reg_c114.rb +14 -0
  826. data/migrations/fiscal/v011/066_create_table_reg_c115.rb +18 -0
  827. data/migrations/fiscal/v011/067_create_table_reg_c116.rb +14 -0
  828. data/migrations/fiscal/v011/068_create_table_reg_c120.rb +14 -0
  829. data/migrations/fiscal/v011/069_create_table_reg_c130.rb +16 -0
  830. data/migrations/fiscal/v011/070_create_table_reg_c140.rb +15 -0
  831. data/migrations/fiscal/v011/071_create_table_reg_c141.rb +12 -0
  832. data/migrations/fiscal/v011/072_create_table_reg_c160.rb +15 -0
  833. data/migrations/fiscal/v011/073_create_table_reg_c165.rb +21 -0
  834. data/migrations/fiscal/v011/074_create_table_reg_c170.rb +45 -0
  835. data/migrations/fiscal/v011/075_create_table_reg_c171.rb +11 -0
  836. data/migrations/fiscal/v011/076_create_table_reg_c172.rb +12 -0
  837. data/migrations/fiscal/v011/077_create_table_reg_c173.rb +16 -0
  838. data/migrations/fiscal/v011/078_create_table_reg_c174.rb +12 -0
  839. data/migrations/fiscal/v011/079_create_table_reg_c175.rb +13 -0
  840. data/migrations/fiscal/v011/080_create_table_reg_c176.rb +34 -0
  841. data/migrations/fiscal/v011/081_create_table_reg_c177.rb +11 -0
  842. data/migrations/fiscal/v011/082_create_table_reg_c178.rb +12 -0
  843. data/migrations/fiscal/v011/083_create_table_reg_c179.rb +14 -0
  844. data/migrations/fiscal/v011/084_create_table_reg_c190.rb +20 -0
  845. data/migrations/fiscal/v011/085_create_table_reg_c195.rb +11 -0
  846. data/migrations/fiscal/v011/086_create_table_reg_c197.rb +16 -0
  847. data/migrations/fiscal/v011/087_create_table_reg_c300.rb +19 -0
  848. data/migrations/fiscal/v011/088_create_table_reg_c310.rb +10 -0
  849. data/migrations/fiscal/v011/089_create_table_reg_c320.rb +17 -0
  850. data/migrations/fiscal/v011/090_create_table_reg_c321.rb +18 -0
  851. data/migrations/fiscal/v011/091_create_table_reg_c350.rb +20 -0
  852. data/migrations/fiscal/v011/092_create_table_reg_c370.rb +15 -0
  853. data/migrations/fiscal/v011/093_create_table_reg_c390.rb +17 -0
  854. data/migrations/fiscal/v011/094_create_table_reg_c400.rb +13 -0
  855. data/migrations/fiscal/v011/095_create_table_reg_c405.rb +15 -0
  856. data/migrations/fiscal/v011/096_create_table_reg_c410.rb +11 -0
  857. data/migrations/fiscal/v011/097_create_table_reg_c420.rb +13 -0
  858. data/migrations/fiscal/v011/098_create_table_reg_c425.rb +15 -0
  859. data/migrations/fiscal/v011/099_create_table_reg_c460.rb +18 -0
  860. data/migrations/fiscal/v011/100_create_table_reg_c465.rb +11 -0
  861. data/migrations/fiscal/v011/101_create_table_reg_c470.rb +19 -0
  862. data/migrations/fiscal/v011/102_create_table_reg_c490.rb +16 -0
  863. data/migrations/fiscal/v011/103_create_table_reg_c500.rb +35 -0
  864. data/migrations/fiscal/v011/104_create_table_reg_c510.rb +29 -0
  865. data/migrations/fiscal/v011/105_create_table_reg_c590.rb +19 -0
  866. data/migrations/fiscal/v011/106_create_table_reg_c600.rb +30 -0
  867. data/migrations/fiscal/v011/107_create_table_reg_c601.rb +10 -0
  868. data/migrations/fiscal/v011/108_create_table_reg_c610.rb +25 -0
  869. data/migrations/fiscal/v011/109_create_table_reg_c690.rb +19 -0
  870. data/migrations/fiscal/v011/110_create_table_reg_c700.rb +17 -0
  871. data/migrations/fiscal/v011/111_create_table_reg_c790.rb +19 -0
  872. data/migrations/fiscal/v011/112_create_table_reg_c791.rb +12 -0
  873. data/migrations/fiscal/v011/113_create_table_reg_c800.rb +25 -0
  874. data/migrations/fiscal/v011/114_create_table_reg_c850.rb +16 -0
  875. data/migrations/fiscal/v011/115_create_table_reg_c860.rb +14 -0
  876. data/migrations/fiscal/v011/116_create_table_reg_c890.rb +16 -0
  877. data/migrations/fiscal/v011/117_create_table_reg_c990.rb +10 -0
  878. data/migrations/fiscal/v011/118_create_table_reg_d001.rb +10 -0
  879. data/migrations/fiscal/v011/119_create_table_reg_d100.rb +31 -0
  880. data/migrations/fiscal/v011/120_create_table_reg_d101.rb +12 -0
  881. data/migrations/fiscal/v011/121_create_table_reg_d110.rb +13 -0
  882. data/migrations/fiscal/v011/122_create_table_reg_d120.rb +13 -0
  883. data/migrations/fiscal/v011/123_create_table_reg_d130.rb +22 -0
  884. data/migrations/fiscal/v011/124_create_table_reg_d140.rb +22 -0
  885. data/migrations/fiscal/v011/125_create_table_reg_d150.rb +19 -0
  886. data/migrations/fiscal/v011/126_create_table_reg_d160.rb +16 -0
  887. data/migrations/fiscal/v011/127_create_table_reg_d161.rb +16 -0
  888. data/migrations/fiscal/v011/128_create_table_reg_d162.rb +18 -0
  889. data/migrations/fiscal/v011/129_create_table_reg_d170.rb +22 -0
  890. data/migrations/fiscal/v011/130_create_table_reg_d180.rb +25 -0
  891. data/migrations/fiscal/v011/131_create_table_reg_d190.rb +17 -0
  892. data/migrations/fiscal/v011/132_create_table_reg_d195.rb +11 -0
  893. data/migrations/fiscal/v011/133_create_table_reg_d197.rb +16 -0
  894. data/migrations/fiscal/v011/134_create_table_reg_d300.rb +28 -0
  895. data/migrations/fiscal/v011/135_create_table_reg_d301.rb +10 -0
  896. data/migrations/fiscal/v011/136_create_table_reg_d310.rb +13 -0
  897. data/migrations/fiscal/v011/137_create_table_reg_d350.rb +13 -0
  898. data/migrations/fiscal/v011/138_create_table_reg_d355.rb +15 -0
  899. data/migrations/fiscal/v011/139_create_table_reg_d360.rb +11 -0
  900. data/migrations/fiscal/v011/140_create_table_reg_d365.rb +13 -0
  901. data/migrations/fiscal/v011/141_create_table_reg_d370.rb +14 -0
  902. data/migrations/fiscal/v011/142_create_table_reg_d390.rb +19 -0
  903. data/migrations/fiscal/v011/143_create_table_reg_d400.rb +24 -0
  904. data/migrations/fiscal/v011/144_create_table_reg_d410.rb +23 -0
  905. data/migrations/fiscal/v011/145_create_table_reg_d411.rb +10 -0
  906. data/migrations/fiscal/v011/146_create_table_reg_d420.rb +13 -0
  907. data/migrations/fiscal/v011/147_create_table_reg_d500.rb +32 -0
  908. data/migrations/fiscal/v011/148_create_table_reg_d510.rb +28 -0
  909. data/migrations/fiscal/v011/149_create_table_reg_d530.rb +15 -0
  910. data/migrations/fiscal/v011/150_create_table_reg_d590.rb +19 -0
  911. data/migrations/fiscal/v011/151_create_table_reg_d600.rb +26 -0
  912. data/migrations/fiscal/v011/152_create_table_reg_d610.rb +26 -0
  913. data/migrations/fiscal/v011/153_create_table_reg_d690.rb +19 -0
  914. data/migrations/fiscal/v011/154_create_table_reg_d695.rb +17 -0
  915. data/migrations/fiscal/v011/155_create_table_reg_d696.rb +19 -0
  916. data/migrations/fiscal/v011/156_create_table_reg_d697.rb +12 -0
  917. data/migrations/fiscal/v011/157_create_table_reg_d990.rb +10 -0
  918. data/migrations/fiscal/v011/158_create_table_reg_e001.rb +10 -0
  919. data/migrations/fiscal/v011/159_create_table_reg_e100.rb +11 -0
  920. data/migrations/fiscal/v011/160_create_table_reg_e110.rb +23 -0
  921. data/migrations/fiscal/v011/161_create_table_reg_e111.rb +12 -0
  922. data/migrations/fiscal/v011/162_create_table_reg_e112.rb +14 -0
  923. data/migrations/fiscal/v011/163_create_table_reg_e113.rb +18 -0
  924. data/migrations/fiscal/v011/164_create_table_reg_e115.rb +12 -0
  925. data/migrations/fiscal/v011/165_create_table_reg_e116.rb +18 -0
  926. data/migrations/fiscal/v011/166_create_table_reg_e200.rb +12 -0
  927. data/migrations/fiscal/v011/167_create_table_reg_e210.rb +23 -0
  928. data/migrations/fiscal/v011/168_create_table_reg_e220.rb +12 -0
  929. data/migrations/fiscal/v011/169_create_table_reg_e230.rb +14 -0
  930. data/migrations/fiscal/v011/170_create_table_reg_e240.rb +18 -0
  931. data/migrations/fiscal/v011/171_create_table_reg_e250.rb +18 -0
  932. data/migrations/fiscal/v011/172_create_table_reg_e300.rb +12 -0
  933. data/migrations/fiscal/v011/173_create_table_reg_e310.rb +30 -0
  934. data/migrations/fiscal/v011/174_create_table_reg_e311.rb +12 -0
  935. data/migrations/fiscal/v011/175_create_table_reg_e312.rb +14 -0
  936. data/migrations/fiscal/v011/176_create_table_reg_e313.rb +18 -0
  937. data/migrations/fiscal/v011/177_create_table_reg_e316.rb +18 -0
  938. data/migrations/fiscal/v011/178_create_table_reg_e500.rb +12 -0
  939. data/migrations/fiscal/v011/179_create_table_reg_e510.rb +14 -0
  940. data/migrations/fiscal/v011/180_create_table_reg_e520.rb +16 -0
  941. data/migrations/fiscal/v011/181_create_table_reg_e530.rb +15 -0
  942. data/migrations/fiscal/v011/182_create_table_reg_e990.rb +10 -0
  943. data/migrations/fiscal/v011/183_create_table_reg_g001.rb +10 -0
  944. data/migrations/fiscal/v011/184_create_table_reg_g110.rb +18 -0
  945. data/migrations/fiscal/v011/185_create_table_reg_g125.rb +18 -0
  946. data/migrations/fiscal/v011/186_create_table_reg_g126.rb +17 -0
  947. data/migrations/fiscal/v011/187_create_table_reg_g130.rb +16 -0
  948. data/migrations/fiscal/v011/188_create_table_reg_g140.rb +11 -0
  949. data/migrations/fiscal/v011/189_create_table_reg_g990.rb +10 -0
  950. data/migrations/fiscal/v011/190_create_table_reg_h001.rb +10 -0
  951. data/migrations/fiscal/v011/191_create_table_reg_h005.rb +12 -0
  952. data/migrations/fiscal/v011/192_create_table_reg_h010.rb +19 -0
  953. data/migrations/fiscal/v011/193_create_table_reg_h020.rb +12 -0
  954. data/migrations/fiscal/v011/194_create_table_reg_h990.rb +10 -0
  955. data/migrations/fiscal/v011/195_create_table_reg_k001.rb +10 -0
  956. data/migrations/fiscal/v011/196_create_table_reg_k100.rb +11 -0
  957. data/migrations/fiscal/v011/197_create_table_reg_k200.rb +14 -0
  958. data/migrations/fiscal/v011/198_create_table_reg_k210.rb +14 -0
  959. data/migrations/fiscal/v011/199_create_table_reg_k215.rb +11 -0
  960. data/migrations/fiscal/v011/200_create_table_reg_k220.rb +13 -0
  961. data/migrations/fiscal/v011/201_create_table_reg_k230.rb +14 -0
  962. data/migrations/fiscal/v011/202_create_table_reg_k235.rb +13 -0
  963. data/migrations/fiscal/v011/203_create_table_reg_k250.rb +12 -0
  964. data/migrations/fiscal/v011/204_create_table_reg_k255.rb +13 -0
  965. data/migrations/fiscal/v011/205_create_table_reg_k260.rb +15 -0
  966. data/migrations/fiscal/v011/206_create_table_reg_k265.rb +12 -0
  967. data/migrations/fiscal/v011/207_create_table_reg_k270.rb +16 -0
  968. data/migrations/fiscal/v011/208_create_table_reg_k275.rb +13 -0
  969. data/migrations/fiscal/v011/209_create_table_reg_k280.rb +15 -0
  970. data/migrations/fiscal/v011/210_create_table_reg_k990.rb +10 -0
  971. data/sped2db.gemspec +34 -0
  972. metadata +1141 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ad09f676034b84b559018d4f402f5df413d9cc50
4
+ data.tar.gz: c0ce5a28c092dd878e6cc82cdf0af3c0a50158fd
5
+ SHA512:
6
+ metadata.gz: 012f612a2f111828aa646d12548f68a20447aba4b11cfdf9d0a030c66ecd7613619a8c25b44fe3accadd7e85881bb4e27d235bff85151857268e4e9e0075429e
7
+ data.tar.gz: a5f049a222a0d0278a2217437194c7b8621619bc86f38f053b7ff67b6b57ffb4eed6f9daf36d2170aee0ca9edc1532113cf20051996dd190364442a00bd1a6a8
data/.editorconfig ADDED
@@ -0,0 +1,11 @@
1
+ root = true
2
+
3
+ [*]
4
+ indent_style = space
5
+ indent_size = 2
6
+ trim_trailing_whitespace = true
7
+ insert_final_newline = true
8
+
9
+ [*.md]
10
+ trim_trailing_whitespace = false
11
+ insert_final_newline = false
data/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ .idea/
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.rubocop.yml ADDED
@@ -0,0 +1,36 @@
1
+ Lint/HandleExceptions:
2
+ Exclude:
3
+ - 'spec/**/*'
4
+
5
+ Lint/UnifiedInteger:
6
+ Exclude:
7
+ - 'migrations/**/*'
8
+
9
+ Metrics/AbcSize:
10
+ Enabled: false
11
+
12
+ Metrics/ClassLength:
13
+ Exclude:
14
+ - 'lib/**/cli.rb'
15
+ - 'spec/**/*'
16
+
17
+ Metrics/BlockLength:
18
+ Exclude:
19
+ - 'migrations/**/*'
20
+ - 'spec/**/*'
21
+
22
+ Metrics/LineLength:
23
+ Max: 100
24
+ Exclude:
25
+ - 'sped2db.gemspec'
26
+ - 'spec/**/*'
27
+
28
+ Metrics/MethodLength:
29
+ Max: 20
30
+
31
+ Metrics/ModuleLength:
32
+ Exclude:
33
+ - 'spec/**/*'
34
+
35
+ Style/Documentation:
36
+ Enabled: false
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.2.2
4
+ before_install: gem install bundler -v 1.11.2
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in sped2db.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2017 Elvis Luciano
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,72 @@
1
+ # Sped2db
2
+
3
+ [![Gem Version](https://badge.fury.io/rb/sped2db.svg)](https://badge.fury.io/rb/sped2db) [![Build Status](https://travis-ci.org/elvisgs/sped2db.svg?branch=master)](https://travis-ci.org/elvisgs/sped2db)
4
+
5
+ Importa registros de arquivos no formato [SPED](http://sped.rfb.gov.br) fiscal/contribuições para um Banco de Dados
6
+
7
+ ## Instalação
8
+
9
+ O sped2db usa o [Sequel](https://github.com/jeremyevans/sequel) para acesso ao banco de dados. Para tanto, é necessário instalar também o driver ruby adequado.
10
+
11
+
12
+ ```
13
+ $ gem install sped2db
14
+ $ gem install <driver do seu BD>
15
+ ```
16
+
17
+ Sendo que driver pode ser `sqlite3`, `pg`, `mysql2`, etc.
18
+
19
+ ## Uso
20
+
21
+ ```
22
+ $ sped2db [opções] <caminho sped>
23
+ Opções:
24
+ -c, --config Arquivo de configuração ou URI de conexão (default: ./sped2db.yml)
25
+ -n, --dbname Nome do BD (sobrescreve config)
26
+ -u, --user Nome do usuário do BD (sobrescreve config)
27
+ -p, --passwd Senha do usuário (sobrescreve config)
28
+ -e, --continue-on-error Continua se encontrar erro (default: false)
29
+ -v, --version
30
+ -h, --help
31
+ ```
32
+
33
+ O caminho SPED pode ser um único arquivo ou um diretório contendo arquivos SPED.
34
+
35
+ ## Exemplos
36
+
37
+ 1. Usa configurações de conexão do `sped2db.yml` (se existir) no diretório atual e carrega arquivo `~/sped.txt` no BD teste:
38
+ ```
39
+ $ sped2db -n teste ~/sped.txt
40
+ ```
41
+
42
+ 2. Usa configurações de conexão contidas em `~/database.yml` com usuário john, senha 123 e carrega arquivo `~/sped.txt`:
43
+ ```
44
+ $ sped2db -c ~/database.yml -u john -p 123 ~/sped.txt
45
+ ```
46
+
47
+ 3. Usa URI de conexão e carrega todos os arquivos SPED do diretório `~/sped-files/`, mesmo se algum tiver erros:
48
+ ```
49
+ $ sped2db -c postgres://localhost/teste -e ~/sped-files/
50
+ ```
51
+
52
+ Um arquivo de configuração tem o seguinte formato:
53
+ ```yaml
54
+ adapter: postgres
55
+ host: localhost
56
+ port: 5432
57
+ user: myUser
58
+ password: myPassword
59
+ database: sped
60
+ ```
61
+ Para mais detalhes sobre configuração e strings de conexão, consulte a [documentação](https://github.com/jeremyevans/sequel/blob/master/doc/opening_databases.rdoc) do Sequel.
62
+
63
+ ## Desenvolvimento
64
+
65
+ Depois de clonar o repo, execute `bundle install` para instalar as dependências, então execute `rake spec` para rodar os testes. Execute `bundle exec sped2db` para usar a gem neste diretório, ignorando outras cópias desta gem instaladas.
66
+
67
+ Para instalar esta gem na sua máquina local, execute `bundle exec rake install`. Para fazer o release de uma nova versão, atualize o número de versão em `version.rb` e então execute `bundle exec rake release`, que criará uma tag git para a versão, fará push no git dos commits e tags e mandará o `.gem` para [rubygems.org](https://rubygems.org).
68
+
69
+ ## Licença
70
+
71
+ Esta gem está disponível como open source sob os termos da [MIT License](http://opensource.org/licenses/MIT).
72
+
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task default: :spec
data/bin/sped2db ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'sped2db'
4
+
5
+ Sped2DB::CLI.new.run ARGV
@@ -0,0 +1,181 @@
1
+ module Sped2DB
2
+ class CLI
3
+ include Utils
4
+
5
+ DEFAULT_CONFIG_FILE = 'sped2db.yml'.freeze
6
+ CONFIG_NOT_PROVIDED = 'Arquivo de configuração não encontrado
7
+ e opção -c não especificada'.freeze
8
+ CONFIG_INVALID = 'Arquivo de configuração ou URI inválido(a)'.freeze
9
+ SPED_PATH_INVALID = 'Caminho de arquivo(s) SPED inválido'.freeze
10
+ SPED_FILES_NOT_FOUND = 'O caminho especificado não é ou não contém arquivo(s) SPED'.freeze
11
+
12
+ attr_reader :opts
13
+
14
+ def initialize(io = $stdout, extractor = nil, db_tools = nil)
15
+ @io = io
16
+ @extractor = extractor
17
+ @db_tools = db_tools
18
+ @exe = 'sped2db'
19
+ end
20
+
21
+ def run(args)
22
+ @args = args
23
+ @opts = parse_args(args)
24
+
25
+ process_opts
26
+ end
27
+
28
+ private
29
+
30
+ def parse_args(args)
31
+ Slop.parse(args) do |o|
32
+ o.banner = "Uso: #{@exe} [opções] <caminho sped>"
33
+ o.separator 'Opções:'
34
+ o.string '-c', '--config',
35
+ 'Arquivo de configuração ou URI de conexão (default: ./sped2db.yml)'
36
+ o.string '-n', '--dbname', 'Nome do BD (sobrescreve config)'
37
+ o.string '-u', '--user', 'Nome do usuário do BD (sobrescreve config)'
38
+ o.string '-p', '--passwd', 'Senha do usuário (sobrescreve config)'
39
+ o.bool '-e', '--continue-on-error', 'Continua se encontrar erro (default: false)',
40
+ default: false
41
+ o.on('-v', '--version') { show_version }
42
+ o.on('-h', '--help') { show_help(o) }
43
+ end
44
+ end
45
+
46
+ def process_opts
47
+ show_help if @args.nil? || @args.empty?
48
+ show_error CONFIG_NOT_PROVIDED unless exist_config?
49
+
50
+ db_config = fetch_db_config
51
+ db_opts = fetch_db_opts
52
+ @sped_files = fetch_sped_files
53
+ @layout = get_layout @sped_files.first
54
+
55
+ @io.puts "SPED #{@layout.type.to_s.capitalize} v#{@layout.version}"
56
+
57
+ @db = Sequel.connect(db_config, db_opts)
58
+ bootstrap_db
59
+ import
60
+ rescue => e
61
+ @io.puts format_error(e)
62
+ ensure
63
+ @db.disconnect unless @db.nil?
64
+ end
65
+
66
+ def fetch_db_config
67
+ config = opts[:config] || DEFAULT_CONFIG_FILE
68
+ config_hash = YAML.load_file(config) if File.exist?(config)
69
+ config_hash || config
70
+ end
71
+
72
+ def fetch_db_opts
73
+ db_name = opts[:dbname]
74
+ user = opts[:user]
75
+ passwd = opts[:passwd]
76
+ db_opts = {}
77
+ db_opts.update(database: db_name) unless db_name.nil?
78
+ db_opts.update(user: user) unless user.nil?
79
+ db_opts.update(password: passwd) unless passwd.nil?
80
+ db_opts
81
+ end
82
+
83
+ def fetch_sped_files
84
+ path = opts.args[0]
85
+ show_error SPED_PATH_INVALID if path.nil?
86
+ show_error SPED_PATH_INVALID unless file_or_dir?(path)
87
+
88
+ sped_files = Find.find(path).select { |f| sped_file?(f) }
89
+ show_error SPED_FILES_NOT_FOUND if sped_files.size.zero?
90
+
91
+ sped_files
92
+ end
93
+
94
+ def bootstrap_db
95
+ @db_tools ||= DbTools.new(@db, @layout)
96
+
97
+ if @db_tools.exists?
98
+ @io.puts 'Banco de dados existente'
99
+ else
100
+ @io.puts 'Criando Banco de dados'
101
+ @db_tools.create_database
102
+ end
103
+
104
+ @io.puts 'Criando tabelas'
105
+ @db_tools.create_tables
106
+ end
107
+
108
+ def import
109
+ @extractor ||= Extractor.new@sped_files, @db, continue_on_error: opts.continue_on_error?
110
+ @files_count = @sped_files.size
111
+
112
+ configure_progress_listeners
113
+
114
+ @extractor.import
115
+ end
116
+
117
+ def configure_progress_listeners
118
+ progressbar = nil
119
+ io = @io
120
+ files_count = @files_count
121
+ format_error = method(:format_error)
122
+
123
+ @extractor.on :process_file_start do |file, index|
124
+ file = File.basename(file)
125
+ io.puts format("\n[%03d/%03d] %s", index + 1, files_count, file)
126
+ progressbar = ProgressBar.create(title: 'Progresso', format: '[%B] %p%%', output: io)
127
+ end
128
+ @extractor.on :progress do |progress|
129
+ progressbar.progress = progress if progress > progressbar.progress
130
+ end
131
+ @extractor.on(:process_file_end) { progressbar.finish }
132
+ @extractor.on :error do |e|
133
+ progressbar.stop
134
+ io.puts format_error[e]
135
+ end
136
+ end
137
+
138
+ def show_version
139
+ @io.puts Sped2DB::VERSION
140
+ exit
141
+ end
142
+
143
+ def show_help(opts = nil)
144
+ @io.puts opts || @opts
145
+ @io.puts "\nExemplos:"
146
+
147
+ @io.puts "\n# Usa configurações de conexão do sped2db.yml no diretório"
148
+ @io.puts '# atual e carrega arquivo ~/sped.txt no BD teste'
149
+ @io.puts "#{@exe} -n teste ~/sped.txt"
150
+
151
+ @io.puts "\n# Usa configurações de conexão contidas em ~/database.yml"
152
+ @io.puts '# com usuário john, senha 123 e carrega arquivo ~/sped.txt'
153
+ @io.puts "#{@exe} -c ~/database.yml -u john -p 123 ~/sped.txt"
154
+
155
+ @io.puts "\n# Usa URI de conexão e carrega todos os arquivos SPED do"
156
+ @io.puts '# diretório ~/sped-files/, mesmo se algum tiver erros'
157
+ @io.puts "#{@exe} -c postgres://localhost/teste -e ~/sped-files/"
158
+ exit
159
+ end
160
+
161
+ def format_error(e)
162
+ msg = "Erro: #{e.class}: #{e.message}\n#{e.backtrace.first}\n"
163
+ msg << "Linha #{e.lineno}: #{e.line}" if e.instance_of? SpedError
164
+ msg
165
+ end
166
+
167
+ def show_error(msg)
168
+ @io.puts "Erro: #{msg}"
169
+ @io.puts "Para mais detalhes: #{@exe} --help"
170
+ exit 1
171
+ end
172
+
173
+ def exist_config?
174
+ !opts[:config].nil? || File.exist?(DEFAULT_CONFIG_FILE)
175
+ end
176
+
177
+ def file_or_dir?(path)
178
+ File.file?(path) || File.directory?(path)
179
+ end
180
+ end
181
+ end
@@ -0,0 +1,43 @@
1
+ Sequel.extension :migration
2
+
3
+ module Sped2DB
4
+ class DbTools
5
+ DEFAULT_DATABASES = {
6
+ ado: 'master',
7
+ mysql2: 'mysql',
8
+ postgres: 'template1'
9
+ }.freeze
10
+
11
+ def initialize(db, layout)
12
+ @db = db
13
+ @layout = layout
14
+ end
15
+
16
+ def exists?
17
+ @db.test_connection
18
+ rescue Sequel::DatabaseConnectionError
19
+ false
20
+ end
21
+
22
+ def create_database
23
+ db_opts = @db.opts.dup
24
+ adapter = db_opts[:adapter].to_sym
25
+
26
+ return unless DEFAULT_DATABASES.keys.include? adapter
27
+
28
+ db_name = db_opts[:database]
29
+ db_opts[:database] = DEFAULT_DATABASES[adapter]
30
+
31
+ Sequel.connect(db_opts) do |db|
32
+ db.run "create database #{db_name}"
33
+ end
34
+ end
35
+
36
+ def create_tables
37
+ directory = "../../../migrations/#{@layout.type}/v#{@layout.version}"
38
+ Sequel::Migrator.run @db, File.expand_path(directory, __FILE__)
39
+
40
+ # @db.drop_table? :schema_info
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,95 @@
1
+ module Sped2DB
2
+ class Extractor
3
+ include EventEmitter
4
+ include Utils
5
+
6
+ attr_reader :layout
7
+
8
+ def initialize(sped_files, db, opts = {})
9
+ @sped_files = sped_files
10
+ @db = db
11
+ @continue_on_error = opts.fetch(:continue_on_error, false)
12
+ @layout = get_layout(sped_files.first)
13
+ @metadata = load_metadata
14
+ @ids = {}
15
+ end
16
+
17
+ def import
18
+ @sped_files.each_with_index { |f, i| process_file(f, i) }
19
+ end
20
+
21
+ private
22
+
23
+ def load_metadata
24
+ metadata_file = "metadata-#{@layout.type}-v#{layout.version}.yml"
25
+ metadata_path = File.expand_path("../../../meta/#{metadata_file}", __FILE__)
26
+ YAML.load_file(metadata_path)
27
+ end
28
+
29
+ def process_file(f, index)
30
+ emit :process_file_start, f, index
31
+
32
+ total_lines = count_lines f
33
+ sped = File.open(f, 'r:CP850:UTF-8')
34
+ @cnpj_pai = nil
35
+
36
+ @db.transaction(rollback: :reraise) do
37
+ sped.each_line do |line|
38
+ process_line(line, sped.lineno)
39
+
40
+ progress = ((sped.lineno * 100) / total_lines).round
41
+ emit :progress, progress, f, index
42
+ end
43
+ end
44
+
45
+ emit :process_file_end, f, index
46
+ rescue => e
47
+ raise unless @continue_on_error
48
+ emit :error, e, f, index
49
+ ensure
50
+ sped.close unless sped.nil?
51
+ end
52
+
53
+ def process_line(line, lineno)
54
+ reg = Registro.new line, @metadata
55
+ reg_table = @db[table_name(reg)]
56
+
57
+ @cnpj_pai = get_cnpj_pai(reg)
58
+ id = next_id(reg)
59
+ id_pai = @ids[reg.pai] || (@layout == :contrib ? 1 : 0)
60
+
61
+ values = { id: id, id_pai: id_pai, cnpj_pai: @cnpj_pai }
62
+ values.update reg.to_h
63
+
64
+ reg_table.insert values
65
+ rescue SpedError => e
66
+ e.line = line
67
+ e.lineno = lineno
68
+ raise e
69
+ end
70
+
71
+ def get_cnpj_pai(reg)
72
+ cnpj = @cnpj_pai
73
+ name = reg.nome
74
+
75
+ if @layout == :fiscal && name == '0000'
76
+ cnpj = reg[:cnpj]
77
+ elsif @layout == :contrib
78
+ cnpj = reg[:cnpj] if name.end_with?('010') || name == '0140'
79
+ end
80
+
81
+ cnpj
82
+ end
83
+
84
+ def table_name(reg)
85
+ "reg_#{reg.nome}".downcase.to_sym
86
+ end
87
+
88
+ def next_id(reg)
89
+ reg_table = @db[table_name(reg)]
90
+ id = @ids[reg.nome] || Integer(reg_table.max(:id) || 0)
91
+ id += 1
92
+ (@ids[reg.nome] = id)
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,32 @@
1
+ module Sped2DB
2
+ class Layout
3
+ VERSIONS = {
4
+ fiscal: %w[009 010 011],
5
+ contrib: %w[002 003]
6
+ }.freeze
7
+
8
+ attr_reader :type, :version
9
+
10
+ def initialize(type, version)
11
+ raise ArgumentError, 'type is nil' if type.nil?
12
+ type = type.to_sym
13
+
14
+ layouts = VERSIONS.keys.join(', ')
15
+ raise ArgumentError, "type must be one of #{layouts}" unless
16
+ VERSIONS.key? type
17
+
18
+ raise ArgumentError, 'version is nil' if version.nil?
19
+
20
+ versions = VERSIONS[type].join(', ')
21
+ raise ArgumentError, "version must be one of #{versions}" unless
22
+ versions.include? version
23
+
24
+ @type = type
25
+ @version = version
26
+ end
27
+
28
+ def to_s
29
+ "SPED #{type.to_s.capitalize} v#{version}"
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,77 @@
1
+ module Sped2DB
2
+ class Registro
3
+ attr_reader :nome, :pai, :campos, :valores
4
+
5
+ def initialize(linha, metadados)
6
+ @linha = linha
7
+ @metadados = metadados
8
+ @valores = dividir_linha_em_valores linha
9
+ @nome = @valores.shift.upcase
10
+
11
+ validar_registro
12
+
13
+ @pai = @metadados[@nome]['pai']
14
+ @campos = @metadados[@nome]['campos']
15
+
16
+ validar_campos
17
+
18
+ corrigir_caracteres_especiais
19
+ corrigir_datas
20
+
21
+ @hash = to_h
22
+ end
23
+
24
+ def to_h
25
+ valores = @valores.map { |v| v.empty? ? nil : v }
26
+ @campos.map(&:to_sym).zip(valores).to_h
27
+ end
28
+
29
+ def [](key)
30
+ @hash[key.to_sym]
31
+ end
32
+
33
+ private
34
+
35
+ def dividir_linha_em_valores(linha)
36
+ linha.sub(/^\|/, '').sub(/\|$/, '').gsub('\\', '\\\\\\\\').split('|', -1)
37
+ end
38
+
39
+ def corrigir_caracteres_especiais
40
+ @valores.map! do |c|
41
+ c.strip!
42
+ c.sub!(/,/, '.') if eh_decimal? c
43
+ c.gsub!(/'/, "''")
44
+ c
45
+ end
46
+ end
47
+
48
+ def eh_decimal?(str)
49
+ str =~ /^-?\d+,\d+$/
50
+ end
51
+
52
+ def corrigir_datas
53
+ @campos.each_with_index do |campo, i|
54
+ if campo.start_with?('dt_', 'dat_')
55
+ @valores[i] = formatar_data @valores[i]
56
+ end
57
+ end
58
+
59
+ @valores[0] = '0' if @nome == 'C495' && @valores[0] == ''
60
+ end
61
+
62
+ def formatar_data(d)
63
+ d != '' ? Date.strptime(d, '%d%m%Y').strftime('%Y-%m-%d') : ''
64
+ end
65
+
66
+ def validar_registro
67
+ msg = "Registro #{@nome} nao suportado"
68
+ raise SpedError.new msg, @linha unless @metadados.key? @nome
69
+ end
70
+
71
+ def validar_campos
72
+ msg = "Linha contem #{@valores.size + 1} campo(s), "
73
+ msg << "mas #{@campos.size + 1} eram esperado(s)"
74
+ raise SpedError.new msg, @linha if @valores.size != @campos.size
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,11 @@
1
+ module Sped2DB
2
+ class SpedError < RuntimeError
3
+ attr_accessor :line, :lineno
4
+
5
+ def initialize(msg, line, lineno = nil)
6
+ super msg
7
+ @line = line
8
+ @lineno = lineno
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,37 @@
1
+ module Sped2DB
2
+ module Utils
3
+ def get_first_line(file_path)
4
+ file = File.open(file_path, 'r:CP850:UTF-8')
5
+ file.readline
6
+ ensure
7
+ file.close unless file.nil?
8
+ end
9
+
10
+ def get_first_line_fields(file_path)
11
+ get_first_line(file_path).split('|', -1)
12
+ end
13
+
14
+ def count_lines(file_path)
15
+ # linux
16
+ `wc -l "#{file_path}"`.strip.split(' ')[0].to_i
17
+ rescue
18
+ # windows
19
+ `find /v /c "" "#{file_path}"`.strip.split(' ').last.to_i
20
+ end
21
+
22
+ def sped_file?(file_path)
23
+ File.file?(file_path) && get_first_line_fields(file_path)[1] == '0000'
24
+ end
25
+
26
+ def get_layout(file_path)
27
+ fields = get_first_line_fields(file_path)
28
+ type = date_string?(fields[4]) ? :fiscal : :contrib
29
+ version = fields[2]
30
+ Layout.new type, version
31
+ end
32
+
33
+ def date_string?(str)
34
+ str =~ /^\d{8}$/
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,3 @@
1
+ module Sped2DB
2
+ VERSION = '1.0.0'.freeze
3
+ end