@senior-agronegocio/angular-components 0.0.9883 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (728) hide show
  1. package/README.md +25 -0
  2. package/agro-angular-components.module.d.ts +13 -9
  3. package/common/agro-array-utils.class.d.ts +48 -48
  4. package/common/agro-cookie-utils.class.d.ts +9 -9
  5. package/common/agro-date-utils.class.d.ts +88 -88
  6. package/common/agro-logics.class.d.ts +23 -23
  7. package/common/agro-name-utils.class.d.ts +22 -22
  8. package/common/agro-number-utils.class.d.ts +77 -77
  9. package/common/agro-object-stringifier.class.d.ts +16 -16
  10. package/common/agro-object-utils.class.d.ts +184 -173
  11. package/common/agro-platform-utils.class.d.ts +60 -60
  12. package/common/agro-regex.constant.d.ts +155 -155
  13. package/common/agro-string-utils.class.d.ts +97 -97
  14. package/common/agro-unit-converter.class.d.ts +23 -23
  15. package/common/colors.class.d.ts +78 -78
  16. package/common/edl-query-builder.class.d.ts +27 -0
  17. package/common/index.d.ts +15 -12
  18. package/components/cancel-event-dialog/cancel-event-dialog-config.d.ts +8 -8
  19. package/components/cancel-event-dialog/cancel-event-dialog.component.d.ts +34 -33
  20. package/components/cancel-event-dialog/cancel-event-dialog.module.d.ts +14 -2
  21. package/components/cancel-event-dialog/index.d.ts +3 -3
  22. package/components/event-control-board/common/control-status.d.ts +5 -5
  23. package/components/event-control-board/common/documentsToIssue.d.ts +4 -4
  24. package/components/event-control-board/common/event-control-constants.d.ts +11 -11
  25. package/components/event-control-board/common/event-operation.d.ts +52 -52
  26. package/components/event-control-board/common/event-origin.d.ts +12 -12
  27. package/components/event-control-board/common/event-status.d.ts +7 -7
  28. package/components/event-control-board/common/input-fields-translate.d.ts +5 -5
  29. package/components/event-control-board/common/input-fields.d.ts +5 -5
  30. package/components/event-control-board/common/invoice-type.d.ts +9 -9
  31. package/components/event-control-board/common/lookup-error-message.constants.d.ts +3 -3
  32. package/components/event-control-board/common/operation.d.ts +5 -5
  33. package/components/event-control-board/common/operationType.d.ts +5 -5
  34. package/components/event-control-board/common/status-entity.d.ts +4 -4
  35. package/components/event-control-board/common/ticket-status.d.ts +7 -7
  36. package/components/event-control-board/common/transfer-status.d.ts +6 -6
  37. package/components/event-control-board/event-control-board.component.d.ts +120 -106
  38. package/components/event-control-board/event-control-board.module.d.ts +31 -2
  39. package/components/event-control-board/index.d.ts +22 -22
  40. package/components/event-control-board/service/e001pes/e001pes-dto.d.ts +12 -12
  41. package/components/event-control-board/service/e001pes/e001pes.d.ts +15 -15
  42. package/components/event-control-board/service/e001pes/e001pes.module.d.ts +7 -2
  43. package/components/event-control-board/service/e001pes/e001pes.service.d.ts +16 -13
  44. package/components/event-control-board/service/e001tns/e001tns-dto.d.ts +14 -14
  45. package/components/event-control-board/service/e001tns/e001tns.d.ts +19 -19
  46. package/components/event-control-board/service/e001tns/e001tns.module.d.ts +7 -2
  47. package/components/event-control-board/service/e001tns/e001tns.service.d.ts +14 -11
  48. package/components/event-control-board/service/e012fam/e012fam-dto.d.ts +11 -11
  49. package/components/event-control-board/service/e012fam/e012fam.d.ts +14 -14
  50. package/components/event-control-board/service/e012fam/e012fam.service.d.ts +14 -11
  51. package/components/event-control-board/service/e070emp/e070emp-dto.d.ts +10 -10
  52. package/components/event-control-board/service/e070emp/e070emp.d.ts +13 -13
  53. package/components/event-control-board/service/e070emp/e070emp.module.d.ts +7 -2
  54. package/components/event-control-board/service/e070emp/e070emp.service.d.ts +15 -12
  55. package/components/event-control-board/service/e070fil/e070fil-dto.d.ts +14 -14
  56. package/components/event-control-board/service/e070fil/e070fil.d.ts +17 -17
  57. package/components/event-control-board/service/e070fil/e070fil.module.d.ts +7 -2
  58. package/components/event-control-board/service/e070fil/e070fil.service.d.ts +15 -12
  59. package/components/event-control-board/service/e075der/e075der-dto.d.ts +15 -15
  60. package/components/event-control-board/service/e075der/e075der.d.ts +18 -18
  61. package/components/event-control-board/service/e075der/e075der.module.d.ts +7 -2
  62. package/components/event-control-board/service/e075der/e075der.service.d.ts +15 -12
  63. package/components/event-control-board/service/e113saf/e113saf-dto.d.ts +11 -11
  64. package/components/event-control-board/service/e113saf/e113saf.d.ts +14 -14
  65. package/components/event-control-board/service/e205dep/deposit-dto.d.ts +11 -11
  66. package/components/event-control-board/service/e205dep/e205dep-dto.d.ts +15 -15
  67. package/components/event-control-board/service/e205dep/e205dep.d.ts +16 -16
  68. package/components/event-control-board/service/e205dep/e205dep.service.d.ts +15 -12
  69. package/components/event-control-board/service/event-control/event-control-dto.d.ts +15 -15
  70. package/components/event-control-board/service/event-control/event-control.d.ts +21 -21
  71. package/components/event-control-board/service/event-control/event-control.module.d.ts +7 -2
  72. package/components/event-control-board/service/event-control/event-control.service.d.ts +14 -11
  73. package/components/event-control-board/service/event-control-item/event-control-item-dto.d.ts +18 -18
  74. package/components/event-control-board/service/event-control-item/event-control-item.d.ts +25 -25
  75. package/components/event-control-board/service/event-control-item/event-control-item.module.d.ts +7 -2
  76. package/components/event-control-board/service/event-control-item/event-control-item.service.d.ts +18 -15
  77. package/components/event-control-board/service/external-invoice/external-invoice-dto.d.ts +13 -13
  78. package/components/event-control-board/service/external-invoice/external-invoice.d.ts +13 -13
  79. package/components/event-control-board/service/external-invoice/external-invoice.module.d.ts +7 -2
  80. package/components/event-control-board/service/external-invoice/external-invoice.service.d.ts +14 -11
  81. package/components/event-control-board/service/fixation-entity/fixation-dto.d.ts +41 -41
  82. package/components/event-control-board/service/fixation-entity/fixation.module.d.ts +7 -2
  83. package/components/event-control-board/service/fixation-entity/fixation.service.d.ts +18 -15
  84. package/components/event-control-board/service/invoice/invoice-dto.d.ts +15 -15
  85. package/components/event-control-board/service/invoice/invoice.d.ts +21 -21
  86. package/components/event-control-board/service/invoice/invoice.module.d.ts +7 -2
  87. package/components/event-control-board/service/invoice/invoice.service.d.ts +14 -11
  88. package/components/event-control-board/service/origination/operationType.d.ts +5 -5
  89. package/components/event-control-board/service/origination/origination-dto.d.ts +50 -50
  90. package/components/event-control-board/service/origination/origination.d.ts +51 -51
  91. package/components/event-control-board/service/origination/origination.module.d.ts +7 -2
  92. package/components/event-control-board/service/origination/origination.service.d.ts +14 -11
  93. package/components/event-control-board/service/paginator-storage.service.d.ts +8 -8
  94. package/components/event-control-board/service/rural-estate/rural-estate-dto.d.ts +28 -28
  95. package/components/event-control-board/service/rural-estate/rural-estate.d.ts +34 -34
  96. package/components/event-control-board/service/rural-estate/rural-estate.module.d.ts +7 -2
  97. package/components/event-control-board/service/rural-estate/rural-estate.service.d.ts +14 -11
  98. package/components/event-control-board/service/ticket/ticket-dto.d.ts +17 -17
  99. package/components/event-control-board/service/ticket/ticket.d.ts +18 -18
  100. package/components/event-control-board/service/ticket/ticket.module.d.ts +7 -2
  101. package/components/event-control-board/service/ticket/ticket.service.d.ts +48 -45
  102. package/components/event-control-board/service/transfer/transfer-dto.d.ts +32 -32
  103. package/components/event-control-board/service/transfer/transfer.module.d.ts +7 -2
  104. package/components/event-control-board/service/transfer/transfer.service.d.ts +16 -13
  105. package/components/event-control-board/shared.module.d.ts +31 -2
  106. package/components/event-steps/event-steps.component.d.ts +39 -36
  107. package/components/event-steps/event-steps.module.d.ts +9 -2
  108. package/components/event-steps/index.d.ts +2 -2
  109. package/components/financial-title-table/financial-title-table-options.interface.d.ts +10 -10
  110. package/components/financial-title-table/financial-title-table.component.d.ts +128 -126
  111. package/components/financial-title-table/financial-title-table.module.d.ts +26 -2
  112. package/components/financial-title-table/index.d.ts +4 -4
  113. package/components/financial-title-table/services/financial/agro-financial.service.d.ts +26 -23
  114. package/components/financial-title-table/services/financial/enums.d.ts +27 -27
  115. package/components/financial-title-table/services/financial/index.d.ts +3 -3
  116. package/components/financial-title-table/services/financial/intefaces.d.ts +107 -107
  117. package/components/index.d.ts +5 -5
  118. package/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.d.ts +5 -5
  119. package/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.d.ts +40 -36
  120. package/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.d.ts +26 -2
  121. package/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.d.ts +32 -28
  122. package/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.d.ts +26 -2
  123. package/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.d.ts +20 -17
  124. package/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.d.ts +26 -2
  125. package/components/modal-invoice-pj/index.d.ts +9 -9
  126. package/components/modal-invoice-pj/modal-invoice-pj-base.class.d.ts +64 -55
  127. package/components/modal-invoice-pj/modal-invoice-pj-options.interface.d.ts +10 -10
  128. package/components/modal-invoice-pj/modal-shared-imports.d.ts +7 -8
  129. package/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.d.ts +8 -2
  130. package/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.d.ts +19 -16
  131. package/components/modal-invoice-pj/services/agro-invoice/index.d.ts +2 -2
  132. package/components/modal-invoice-pj/services/agro-invoice/interfaces.d.ts +75 -75
  133. package/enums/agro-entity-status.enum.d.ts +4 -4
  134. package/enums/agro-numbers.enum.d.ts +1008 -1008
  135. package/enums/agro-string-masks.enum.d.ts +10 -10
  136. package/enums/date-comparison-type.enum.d.ts +4 -4
  137. package/enums/fixation-status.d.ts +8 -8
  138. package/enums/http-codes.enum.d.ts +64 -64
  139. package/enums/index.d.ts +8 -7
  140. package/enums/invoice-status.enum.d.ts +12 -12
  141. package/enums/number-comparison-type.enum.d.ts +8 -8
  142. package/enums/unit-measurement.enum.d.ts +49 -49
  143. package/esm2022/agro-angular-components.module.mjs +24 -0
  144. package/esm2022/common/agro-array-utils.class.mjs +74 -0
  145. package/esm2022/common/agro-cookie-utils.class.mjs +47 -0
  146. package/esm2022/common/agro-date-utils.class.mjs +121 -0
  147. package/esm2022/common/agro-logics.class.mjs +54 -0
  148. package/esm2022/common/agro-name-utils.class.mjs +60 -0
  149. package/esm2022/common/agro-number-utils.class.mjs +129 -0
  150. package/esm2022/common/agro-object-stringifier.class.mjs +34 -0
  151. package/esm2022/common/agro-object-utils.class.mjs +320 -0
  152. package/esm2022/common/agro-platform-utils.class.mjs +119 -0
  153. package/esm2022/common/agro-regex.constant.mjs +156 -0
  154. package/esm2022/common/agro-string-utils.class.mjs +363 -0
  155. package/esm2022/common/agro-unit-converter.class.mjs +254 -0
  156. package/esm2022/common/colors.class.mjs +79 -0
  157. package/esm2022/common/edl-query-builder.class.mjs +141 -0
  158. package/esm2022/common/index.mjs +14 -0
  159. package/esm2022/components/cancel-event-dialog/cancel-event-dialog-config.mjs +2 -0
  160. package/esm2022/components/cancel-event-dialog/cancel-event-dialog.component.mjs +117 -0
  161. package/esm2022/components/cancel-event-dialog/cancel-event-dialog.module.mjs +24 -0
  162. package/esm2022/components/cancel-event-dialog/index.mjs +3 -0
  163. package/esm2022/components/event-control-board/common/control-status.mjs +7 -0
  164. package/esm2022/components/event-control-board/common/documentsToIssue.mjs +6 -0
  165. package/esm2022/components/event-control-board/common/event-control-constants.mjs +113 -0
  166. package/esm2022/components/event-control-board/common/event-operation.mjs +54 -0
  167. package/esm2022/components/event-control-board/common/event-origin.mjs +14 -0
  168. package/esm2022/components/event-control-board/common/event-status.mjs +9 -0
  169. package/esm2022/components/event-control-board/common/input-fields-translate.mjs +11 -0
  170. package/esm2022/components/event-control-board/common/input-fields.mjs +7 -0
  171. package/esm2022/components/event-control-board/common/invoice-type.mjs +11 -0
  172. package/esm2022/components/event-control-board/common/lookup-error-message.constants.mjs +11 -0
  173. package/esm2022/components/event-control-board/common/operation.mjs +7 -0
  174. package/esm2022/components/event-control-board/common/operationType.mjs +7 -0
  175. package/esm2022/components/event-control-board/common/status-entity.mjs +6 -0
  176. package/esm2022/components/event-control-board/common/ticket-status.mjs +9 -0
  177. package/esm2022/components/event-control-board/common/transfer-status.mjs +8 -0
  178. package/esm2022/components/event-control-board/event-control-board.component.mjs +609 -0
  179. package/esm2022/components/event-control-board/event-control-board.module.mjs +120 -0
  180. package/esm2022/components/event-control-board/index.mjs +22 -0
  181. package/esm2022/components/event-control-board/service/e001pes/e001pes-dto.mjs +2 -0
  182. package/esm2022/components/event-control-board/service/e001pes/e001pes.mjs +30 -0
  183. package/esm2022/components/event-control-board/service/e001pes/e001pes.module.mjs +34 -0
  184. package/esm2022/components/event-control-board/service/e001pes/e001pes.service.mjs +33 -0
  185. package/esm2022/components/event-control-board/service/e001tns/e001tns-dto.mjs +2 -0
  186. package/esm2022/components/event-control-board/service/e001tns/e001tns.mjs +51 -0
  187. package/esm2022/components/event-control-board/service/e001tns/e001tns.module.mjs +38 -0
  188. package/esm2022/components/event-control-board/service/e001tns/e001tns.service.mjs +23 -0
  189. package/esm2022/components/event-control-board/service/e012fam/e012fam-dto.mjs +2 -0
  190. package/esm2022/components/event-control-board/service/e012fam/e012fam.mjs +29 -0
  191. package/esm2022/components/event-control-board/service/e012fam/e012fam.service.mjs +23 -0
  192. package/esm2022/components/event-control-board/service/e070emp/e070emp-dto.mjs +2 -0
  193. package/esm2022/components/event-control-board/service/e070emp/e070emp.mjs +37 -0
  194. package/esm2022/components/event-control-board/service/e070emp/e070emp.module.mjs +34 -0
  195. package/esm2022/components/event-control-board/service/e070emp/e070emp.service.mjs +30 -0
  196. package/esm2022/components/event-control-board/service/e070fil/e070fil-dto.mjs +2 -0
  197. package/esm2022/components/event-control-board/service/e070fil/e070fil.mjs +52 -0
  198. package/esm2022/components/event-control-board/service/e070fil/e070fil.module.mjs +34 -0
  199. package/esm2022/components/event-control-board/service/e070fil/e070fil.service.mjs +30 -0
  200. package/esm2022/components/event-control-board/service/e075der/e075der-dto.mjs +2 -0
  201. package/esm2022/components/event-control-board/service/e075der/e075der.mjs +41 -0
  202. package/esm2022/components/event-control-board/service/e075der/e075der.module.mjs +34 -0
  203. package/esm2022/components/event-control-board/service/e075der/e075der.service.mjs +28 -0
  204. package/esm2022/components/event-control-board/service/e113saf/e113saf-dto.mjs +2 -0
  205. package/{esm2015/components/event-control-board/service/e113saf/e113saf.js → esm2022/components/event-control-board/service/e113saf/e113saf.mjs} +29 -20
  206. package/esm2022/components/event-control-board/service/e205dep/deposit-dto.mjs +2 -0
  207. package/esm2022/components/event-control-board/service/e205dep/e205dep-dto.mjs +2 -0
  208. package/esm2022/components/event-control-board/service/e205dep/e205dep.mjs +31 -0
  209. package/esm2022/components/event-control-board/service/e205dep/e205dep.service.mjs +28 -0
  210. package/esm2022/components/event-control-board/service/event-control/event-control-dto.mjs +2 -0
  211. package/esm2022/components/event-control-board/service/event-control/event-control.mjs +32 -0
  212. package/esm2022/components/event-control-board/service/event-control/event-control.module.mjs +34 -0
  213. package/esm2022/components/event-control-board/service/event-control/event-control.service.mjs +23 -0
  214. package/esm2022/components/event-control-board/service/event-control-item/event-control-item-dto.mjs +2 -0
  215. package/esm2022/components/event-control-board/service/event-control-item/event-control-item.mjs +52 -0
  216. package/esm2022/components/event-control-board/service/event-control-item/event-control-item.module.mjs +34 -0
  217. package/esm2022/components/event-control-board/service/event-control-item/event-control-item.service.mjs +28 -0
  218. package/esm2022/components/event-control-board/service/external-invoice/external-invoice-dto.mjs +2 -0
  219. package/esm2022/components/event-control-board/service/external-invoice/external-invoice.mjs +28 -0
  220. package/esm2022/components/event-control-board/service/external-invoice/external-invoice.module.mjs +34 -0
  221. package/esm2022/components/event-control-board/service/external-invoice/external-invoice.service.mjs +23 -0
  222. package/esm2022/components/event-control-board/service/fixation-entity/fixation-dto.mjs +2 -0
  223. package/esm2022/components/event-control-board/service/fixation-entity/fixation.module.mjs +34 -0
  224. package/esm2022/components/event-control-board/service/fixation-entity/fixation.service.mjs +28 -0
  225. package/esm2022/components/event-control-board/service/invoice/invoice-dto.mjs +2 -0
  226. package/esm2022/components/event-control-board/service/invoice/invoice.mjs +56 -0
  227. package/esm2022/components/event-control-board/service/invoice/invoice.module.mjs +38 -0
  228. package/esm2022/components/event-control-board/service/invoice/invoice.service.mjs +23 -0
  229. package/esm2022/components/event-control-board/service/origination/operationType.mjs +7 -0
  230. package/esm2022/components/event-control-board/service/origination/origination-dto.mjs +2 -0
  231. package/esm2022/components/event-control-board/service/origination/origination.mjs +86 -0
  232. package/esm2022/components/event-control-board/service/origination/origination.module.mjs +34 -0
  233. package/esm2022/components/event-control-board/service/origination/origination.service.mjs +23 -0
  234. package/esm2022/components/event-control-board/service/paginator-storage.service.mjs +21 -0
  235. package/esm2022/components/event-control-board/service/rural-estate/rural-estate-dto.mjs +2 -0
  236. package/esm2022/components/event-control-board/service/rural-estate/rural-estate.mjs +102 -0
  237. package/esm2022/components/event-control-board/service/rural-estate/rural-estate.module.mjs +34 -0
  238. package/esm2022/components/event-control-board/service/rural-estate/rural-estate.service.mjs +23 -0
  239. package/esm2022/components/event-control-board/service/ticket/ticket-dto.mjs +2 -0
  240. package/esm2022/components/event-control-board/service/ticket/ticket.mjs +51 -0
  241. package/esm2022/components/event-control-board/service/ticket/ticket.module.mjs +38 -0
  242. package/esm2022/components/event-control-board/service/ticket/ticket.service.mjs +58 -0
  243. package/esm2022/components/event-control-board/service/transfer/transfer-dto.mjs +2 -0
  244. package/esm2022/components/event-control-board/service/transfer/transfer.module.mjs +38 -0
  245. package/esm2022/components/event-control-board/service/transfer/transfer.service.mjs +33 -0
  246. package/esm2022/components/event-control-board/shared.module.mjs +200 -0
  247. package/esm2022/components/event-steps/event-steps.component.mjs +129 -0
  248. package/esm2022/components/event-steps/event-steps.module.mjs +19 -0
  249. package/esm2022/components/event-steps/index.mjs +3 -0
  250. package/esm2022/components/financial-title-table/financial-title-table-options.interface.mjs +2 -0
  251. package/esm2022/components/financial-title-table/financial-title-table.component.mjs +422 -0
  252. package/esm2022/components/financial-title-table/financial-title-table.module.mjs +100 -0
  253. package/esm2022/components/financial-title-table/index.mjs +4 -0
  254. package/esm2022/components/financial-title-table/services/financial/agro-financial.service.mjs +68 -0
  255. package/esm2022/components/financial-title-table/services/financial/enums.mjs +33 -0
  256. package/esm2022/components/financial-title-table/services/financial/index.mjs +3 -0
  257. package/esm2022/components/financial-title-table/services/financial/intefaces.mjs +2 -0
  258. package/esm2022/components/index.mjs +6 -0
  259. package/esm2022/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.mjs +2 -0
  260. package/esm2022/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.mjs +190 -0
  261. package/esm2022/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.mjs +38 -0
  262. package/esm2022/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.mjs +67 -0
  263. package/esm2022/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.mjs +38 -0
  264. package/esm2022/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.mjs +41 -0
  265. package/esm2022/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.mjs +38 -0
  266. package/esm2022/components/modal-invoice-pj/index.mjs +8 -0
  267. package/esm2022/components/modal-invoice-pj/modal-invoice-pj-base.class.mjs +207 -0
  268. package/esm2022/components/modal-invoice-pj/modal-invoice-pj-options.interface.mjs +2 -0
  269. package/esm2022/components/modal-invoice-pj/modal-shared-imports.mjs +42 -0
  270. package/esm2022/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.mjs +41 -0
  271. package/esm2022/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.mjs +48 -0
  272. package/esm2022/components/modal-invoice-pj/services/agro-invoice/index.mjs +3 -0
  273. package/esm2022/components/modal-invoice-pj/services/agro-invoice/interfaces.mjs +13 -0
  274. package/esm2022/enums/agro-entity-status.enum.mjs +6 -0
  275. package/{esm5/enums/agro-numbers.enum.js → esm2022/enums/agro-numbers.enum.mjs} +1009 -1009
  276. package/esm2022/enums/agro-string-masks.enum.mjs +12 -0
  277. package/esm2022/enums/date-comparison-type.enum.mjs +6 -0
  278. package/esm2022/enums/fixation-status.mjs +10 -0
  279. package/{esm2015/enums/http-codes.enum.js → esm2022/enums/http-codes.enum.mjs} +66 -66
  280. package/esm2022/enums/index.mjs +8 -0
  281. package/esm2022/enums/invoice-status.enum.mjs +14 -0
  282. package/esm2022/enums/number-comparison-type.enum.mjs +10 -0
  283. package/esm2022/enums/unit-measurement.enum.mjs +60 -0
  284. package/esm2022/form-validator/agro-form-validator.mjs +315 -0
  285. package/esm2022/form-validator/index.mjs +2 -0
  286. package/esm2022/lib-translation.module.mjs +26 -0
  287. package/esm2022/pipe/cnpj-cpf/cnpj-cpf.pipe.mjs +30 -0
  288. package/esm2022/pipe/cnpj-cpf/cnpj-cpf.pipe.module.mjs +18 -0
  289. package/esm2022/pipe/cnpj-cpf/index.mjs +3 -0
  290. package/esm2022/pipe/index.mjs +6 -0
  291. package/esm2022/pipe/kilogram/index.mjs +3 -0
  292. package/esm2022/pipe/kilogram/kilogram.module.mjs +20 -0
  293. package/esm2022/pipe/kilogram/kilogram.pipe.mjs +38 -0
  294. package/esm2022/pipe/lib-translate.pipe.mjs +24 -0
  295. package/esm2022/pipe/stringifier/index.mjs +3 -0
  296. package/esm2022/pipe/stringifier/stringifier.pipe.mjs +15 -0
  297. package/esm2022/pipe/stringifier/stringifier.pipe.module.mjs +18 -0
  298. package/esm2022/pipe/telephone/index.mjs +3 -0
  299. package/esm2022/pipe/telephone/telephone.pipe.mjs +93 -0
  300. package/esm2022/pipe/telephone/telephone.pipe.module.mjs +18 -0
  301. package/esm2022/public-api.mjs +11 -0
  302. package/esm2022/senior-agronegocio-angular-components.mjs +5 -0
  303. package/esm2022/services/agro-entity-service.mjs +137 -0
  304. package/esm2022/services/i18n/en-US.mjs +322 -0
  305. package/esm2022/services/i18n/es-CO.mjs +322 -0
  306. package/esm2022/services/i18n/pt-BR.mjs +322 -0
  307. package/esm2022/services/index.mjs +3 -0
  308. package/esm2022/services/lib-translation.service.mjs +58 -0
  309. package/esm2022/services/producer-invoice/index.mjs +3 -0
  310. package/esm2022/services/producer-invoice/producer-invoice-dto.mjs +2 -0
  311. package/esm2022/services/producer-invoice/producer-invoice.mjs +49 -0
  312. package/esm2022/services/producer-invoice/producer-invoice.service.mjs +56 -0
  313. package/esm2022/services/websocket/async-lock.mjs +27 -0
  314. package/esm2022/services/websocket/index.mjs +7 -0
  315. package/esm2022/services/websocket/models/index.mjs +2 -0
  316. package/esm2022/services/websocket/models/primitive-manager.mjs +45 -0
  317. package/esm2022/services/websocket/protocols/index.mjs +2 -0
  318. package/esm2022/services/websocket/protocols/on-event-options.mjs +2 -0
  319. package/esm2022/services/websocket/protocols/primitive-event.mjs +2 -0
  320. package/esm2022/services/websocket/user-information.service.mjs +34 -0
  321. package/esm2022/services/websocket/websocket.module.mjs +27 -0
  322. package/esm2022/services/websocket/websocket.service.mjs +327 -0
  323. package/{fesm2015/senior-agronegocio-angular-components.js → fesm2022/senior-agronegocio-angular-components.mjs} +8600 -7930
  324. package/fesm2022/senior-agronegocio-angular-components.mjs.map +1 -0
  325. package/form-validator/agro-form-validator.d.ts +117 -117
  326. package/form-validator/index.d.ts +1 -1
  327. package/index.d.ts +5 -0
  328. package/lib-translation.module.d.ts +8 -2
  329. package/package.json +60 -29
  330. package/pipe/cnpj-cpf/cnpj-cpf.pipe.d.ts +7 -4
  331. package/pipe/cnpj-cpf/cnpj-cpf.pipe.module.d.ts +8 -2
  332. package/pipe/cnpj-cpf/index.d.ts +2 -2
  333. package/pipe/index.d.ts +5 -5
  334. package/pipe/kilogram/index.d.ts +2 -2
  335. package/pipe/kilogram/kilogram.module.d.ts +8 -2
  336. package/pipe/kilogram/kilogram.pipe.d.ts +11 -8
  337. package/pipe/lib-translate.pipe.d.ts +10 -7
  338. package/pipe/stringifier/index.d.ts +2 -2
  339. package/pipe/stringifier/stringifier.pipe.d.ts +12 -9
  340. package/pipe/stringifier/stringifier.pipe.module.d.ts +8 -2
  341. package/pipe/telephone/index.d.ts +2 -2
  342. package/pipe/telephone/telephone.pipe.d.ts +24 -21
  343. package/pipe/telephone/telephone.pipe.module.d.ts +8 -2
  344. package/public-api.d.ts +9 -8
  345. package/services/agro-entity-service.d.ts +63 -62
  346. package/services/i18n/en-US.d.ts +321 -321
  347. package/services/i18n/es-CO.d.ts +321 -321
  348. package/services/i18n/pt-BR.d.ts +321 -321
  349. package/services/index.d.ts +2 -2
  350. package/services/lib-translation.service.d.ts +19 -16
  351. package/services/producer-invoice/index.d.ts +3 -3
  352. package/services/producer-invoice/producer-invoice-dto.d.ts +26 -26
  353. package/services/producer-invoice/producer-invoice.d.ts +27 -27
  354. package/services/producer-invoice/producer-invoice.service.d.ts +21 -18
  355. package/services/websocket/async-lock.d.ts +6 -6
  356. package/services/websocket/index.d.ts +6 -6
  357. package/services/websocket/models/index.d.ts +1 -1
  358. package/services/websocket/models/primitive-manager.d.ts +19 -19
  359. package/services/websocket/protocols/index.d.ts +2 -2
  360. package/services/websocket/protocols/on-event-options.d.ts +8 -8
  361. package/services/websocket/protocols/primitive-event.d.ts +10 -10
  362. package/services/websocket/user-information.service.d.ts +10 -7
  363. package/services/websocket/websocket.module.d.ts +7 -2
  364. package/services/websocket/websocket.service.d.ts +103 -100
  365. package/bundles/senior-agronegocio-angular-components.umd.js +0 -8888
  366. package/bundles/senior-agronegocio-angular-components.umd.js.map +0 -1
  367. package/bundles/senior-agronegocio-angular-components.umd.min.js +0 -17
  368. package/bundles/senior-agronegocio-angular-components.umd.min.js.map +0 -1
  369. package/esm2015/agro-angular-components.module.js +0 -22
  370. package/esm2015/common/agro-array-utils.class.js +0 -74
  371. package/esm2015/common/agro-cookie-utils.class.js +0 -47
  372. package/esm2015/common/agro-date-utils.class.js +0 -121
  373. package/esm2015/common/agro-logics.class.js +0 -54
  374. package/esm2015/common/agro-name-utils.class.js +0 -60
  375. package/esm2015/common/agro-number-utils.class.js +0 -129
  376. package/esm2015/common/agro-object-stringifier.class.js +0 -34
  377. package/esm2015/common/agro-object-utils.class.js +0 -301
  378. package/esm2015/common/agro-platform-utils.class.js +0 -119
  379. package/esm2015/common/agro-regex.constant.js +0 -156
  380. package/esm2015/common/agro-string-utils.class.js +0 -364
  381. package/esm2015/common/agro-unit-converter.class.js +0 -255
  382. package/esm2015/common/colors.class.js +0 -79
  383. package/esm2015/common/index.js +0 -13
  384. package/esm2015/components/cancel-event-dialog/cancel-event-dialog-config.js +0 -1
  385. package/esm2015/components/cancel-event-dialog/cancel-event-dialog.component.js +0 -117
  386. package/esm2015/components/cancel-event-dialog/cancel-event-dialog.module.js +0 -19
  387. package/esm2015/components/cancel-event-dialog/index.js +0 -3
  388. package/esm2015/components/event-control-board/common/control-status.js +0 -7
  389. package/esm2015/components/event-control-board/common/documentsToIssue.js +0 -6
  390. package/esm2015/components/event-control-board/common/event-control-constants.js +0 -113
  391. package/esm2015/components/event-control-board/common/event-operation.js +0 -54
  392. package/esm2015/components/event-control-board/common/event-origin.js +0 -14
  393. package/esm2015/components/event-control-board/common/event-status.js +0 -9
  394. package/esm2015/components/event-control-board/common/input-fields-translate.js +0 -11
  395. package/esm2015/components/event-control-board/common/input-fields.js +0 -7
  396. package/esm2015/components/event-control-board/common/invoice-type.js +0 -11
  397. package/esm2015/components/event-control-board/common/lookup-error-message.constants.js +0 -11
  398. package/esm2015/components/event-control-board/common/operation.js +0 -7
  399. package/esm2015/components/event-control-board/common/operationType.js +0 -7
  400. package/esm2015/components/event-control-board/common/status-entity.js +0 -6
  401. package/esm2015/components/event-control-board/common/ticket-status.js +0 -9
  402. package/esm2015/components/event-control-board/common/transfer-status.js +0 -8
  403. package/esm2015/components/event-control-board/event-control-board.component.js +0 -597
  404. package/esm2015/components/event-control-board/event-control-board.module.js +0 -66
  405. package/esm2015/components/event-control-board/index.js +0 -22
  406. package/esm2015/components/event-control-board/service/e001pes/e001pes-dto.js +0 -1
  407. package/esm2015/components/event-control-board/service/e001pes/e001pes.js +0 -20
  408. package/esm2015/components/event-control-board/service/e001pes/e001pes.module.js +0 -24
  409. package/esm2015/components/event-control-board/service/e001pes/e001pes.service.js +0 -34
  410. package/esm2015/components/event-control-board/service/e001tns/e001tns-dto.js +0 -1
  411. package/esm2015/components/event-control-board/service/e001tns/e001tns.js +0 -42
  412. package/esm2015/components/event-control-board/service/e001tns/e001tns.module.js +0 -26
  413. package/esm2015/components/event-control-board/service/e001tns/e001tns.service.js +0 -24
  414. package/esm2015/components/event-control-board/service/e012fam/e012fam-dto.js +0 -1
  415. package/esm2015/components/event-control-board/service/e012fam/e012fam.js +0 -20
  416. package/esm2015/components/event-control-board/service/e012fam/e012fam.service.js +0 -24
  417. package/esm2015/components/event-control-board/service/e070emp/e070emp-dto.js +0 -1
  418. package/esm2015/components/event-control-board/service/e070emp/e070emp.js +0 -29
  419. package/esm2015/components/event-control-board/service/e070emp/e070emp.module.js +0 -24
  420. package/esm2015/components/event-control-board/service/e070emp/e070emp.service.js +0 -31
  421. package/esm2015/components/event-control-board/service/e070fil/e070fil-dto.js +0 -1
  422. package/esm2015/components/event-control-board/service/e070fil/e070fil.js +0 -41
  423. package/esm2015/components/event-control-board/service/e070fil/e070fil.module.js +0 -24
  424. package/esm2015/components/event-control-board/service/e070fil/e070fil.service.js +0 -31
  425. package/esm2015/components/event-control-board/service/e075der/e075der-dto.js +0 -1
  426. package/esm2015/components/event-control-board/service/e075der/e075der.js +0 -31
  427. package/esm2015/components/event-control-board/service/e075der/e075der.module.js +0 -24
  428. package/esm2015/components/event-control-board/service/e075der/e075der.service.js +0 -29
  429. package/esm2015/components/event-control-board/service/e113saf/e113saf-dto.js +0 -1
  430. package/esm2015/components/event-control-board/service/e205dep/deposit-dto.js +0 -1
  431. package/esm2015/components/event-control-board/service/e205dep/e205dep-dto.js +0 -1
  432. package/esm2015/components/event-control-board/service/e205dep/e205dep.js +0 -20
  433. package/esm2015/components/event-control-board/service/e205dep/e205dep.service.js +0 -29
  434. package/esm2015/components/event-control-board/service/event-control/event-control-dto.js +0 -1
  435. package/esm2015/components/event-control-board/service/event-control/event-control.js +0 -20
  436. package/esm2015/components/event-control-board/service/event-control/event-control.module.js +0 -24
  437. package/esm2015/components/event-control-board/service/event-control/event-control.service.js +0 -24
  438. package/esm2015/components/event-control-board/service/event-control-item/event-control-item-dto.js +0 -1
  439. package/esm2015/components/event-control-board/service/event-control-item/event-control-item.js +0 -35
  440. package/esm2015/components/event-control-board/service/event-control-item/event-control-item.module.js +0 -24
  441. package/esm2015/components/event-control-board/service/event-control-item/event-control-item.service.js +0 -29
  442. package/esm2015/components/event-control-board/service/external-invoice/external-invoice-dto.js +0 -1
  443. package/esm2015/components/event-control-board/service/external-invoice/external-invoice.js +0 -20
  444. package/esm2015/components/event-control-board/service/external-invoice/external-invoice.module.js +0 -24
  445. package/esm2015/components/event-control-board/service/external-invoice/external-invoice.service.js +0 -24
  446. package/esm2015/components/event-control-board/service/fixation-entity/fixation-dto.js +0 -1
  447. package/esm2015/components/event-control-board/service/fixation-entity/fixation.module.js +0 -24
  448. package/esm2015/components/event-control-board/service/fixation-entity/fixation.service.js +0 -29
  449. package/esm2015/components/event-control-board/service/invoice/invoice-dto.js +0 -1
  450. package/esm2015/components/event-control-board/service/invoice/invoice.js +0 -43
  451. package/esm2015/components/event-control-board/service/invoice/invoice.module.js +0 -26
  452. package/esm2015/components/event-control-board/service/invoice/invoice.service.js +0 -24
  453. package/esm2015/components/event-control-board/service/origination/operationType.js +0 -7
  454. package/esm2015/components/event-control-board/service/origination/origination-dto.js +0 -1
  455. package/esm2015/components/event-control-board/service/origination/origination.js +0 -59
  456. package/esm2015/components/event-control-board/service/origination/origination.module.js +0 -24
  457. package/esm2015/components/event-control-board/service/origination/origination.service.js +0 -24
  458. package/esm2015/components/event-control-board/service/paginator-storage.service.js +0 -32
  459. package/esm2015/components/event-control-board/service/rural-estate/rural-estate-dto.js +0 -1
  460. package/esm2015/components/event-control-board/service/rural-estate/rural-estate.js +0 -78
  461. package/esm2015/components/event-control-board/service/rural-estate/rural-estate.module.js +0 -24
  462. package/esm2015/components/event-control-board/service/rural-estate/rural-estate.service.js +0 -24
  463. package/esm2015/components/event-control-board/service/ticket/ticket-dto.js +0 -1
  464. package/esm2015/components/event-control-board/service/ticket/ticket.js +0 -39
  465. package/esm2015/components/event-control-board/service/ticket/ticket.module.js +0 -26
  466. package/esm2015/components/event-control-board/service/ticket/ticket.service.js +0 -59
  467. package/esm2015/components/event-control-board/service/transfer/transfer-dto.js +0 -1
  468. package/esm2015/components/event-control-board/service/transfer/transfer.module.js +0 -26
  469. package/esm2015/components/event-control-board/service/transfer/transfer.service.js +0 -34
  470. package/esm2015/components/event-control-board/shared.module.js +0 -56
  471. package/esm2015/components/event-steps/event-steps.component.js +0 -103
  472. package/esm2015/components/event-steps/event-steps.module.js +0 -16
  473. package/esm2015/components/event-steps/index.js +0 -3
  474. package/esm2015/components/financial-title-table/financial-title-table-options.interface.js +0 -1
  475. package/esm2015/components/financial-title-table/financial-title-table.component.js +0 -416
  476. package/esm2015/components/financial-title-table/financial-title-table.module.js +0 -45
  477. package/esm2015/components/financial-title-table/index.js +0 -4
  478. package/esm2015/components/financial-title-table/services/financial/agro-financial.service.js +0 -69
  479. package/esm2015/components/financial-title-table/services/financial/enums.js +0 -33
  480. package/esm2015/components/financial-title-table/services/financial/index.js +0 -3
  481. package/esm2015/components/financial-title-table/services/financial/intefaces.js +0 -1
  482. package/esm2015/components/index.js +0 -6
  483. package/esm2015/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.js +0 -1
  484. package/esm2015/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.js +0 -191
  485. package/esm2015/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.js +0 -16
  486. package/esm2015/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.js +0 -64
  487. package/esm2015/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.js +0 -16
  488. package/esm2015/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.js +0 -37
  489. package/esm2015/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.js +0 -16
  490. package/esm2015/components/modal-invoice-pj/index.js +0 -8
  491. package/esm2015/components/modal-invoice-pj/modal-invoice-pj-base.class.js +0 -196
  492. package/esm2015/components/modal-invoice-pj/modal-invoice-pj-options.interface.js +0 -1
  493. package/esm2015/components/modal-invoice-pj/modal-shared-imports.js +0 -32
  494. package/esm2015/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.js +0 -28
  495. package/esm2015/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.js +0 -49
  496. package/esm2015/components/modal-invoice-pj/services/agro-invoice/index.js +0 -3
  497. package/esm2015/components/modal-invoice-pj/services/agro-invoice/interfaces.js +0 -13
  498. package/esm2015/enums/agro-entity-status.enum.js +0 -6
  499. package/esm2015/enums/agro-numbers.enum.js +0 -1009
  500. package/esm2015/enums/agro-string-masks.enum.js +0 -12
  501. package/esm2015/enums/date-comparison-type.enum.js +0 -6
  502. package/esm2015/enums/fixation-status.js +0 -10
  503. package/esm2015/enums/index.js +0 -8
  504. package/esm2015/enums/invoice-status.enum.js +0 -14
  505. package/esm2015/enums/number-comparison-type.enum.js +0 -10
  506. package/esm2015/enums/unit-measurement.enum.js +0 -60
  507. package/esm2015/form-validator/agro-form-validator.js +0 -319
  508. package/esm2015/form-validator/index.js +0 -2
  509. package/esm2015/lib-translation.module.js +0 -23
  510. package/esm2015/pipe/cnpj-cpf/cnpj-cpf.pipe.js +0 -28
  511. package/esm2015/pipe/cnpj-cpf/cnpj-cpf.pipe.module.js +0 -15
  512. package/esm2015/pipe/cnpj-cpf/index.js +0 -3
  513. package/esm2015/pipe/index.js +0 -6
  514. package/esm2015/pipe/kilogram/index.js +0 -3
  515. package/esm2015/pipe/kilogram/kilogram.module.js +0 -17
  516. package/esm2015/pipe/kilogram/kilogram.pipe.js +0 -38
  517. package/esm2015/pipe/lib-translate.pipe.js +0 -24
  518. package/esm2015/pipe/stringifier/index.js +0 -3
  519. package/esm2015/pipe/stringifier/stringifier.pipe.js +0 -13
  520. package/esm2015/pipe/stringifier/stringifier.pipe.module.js +0 -15
  521. package/esm2015/pipe/telephone/index.js +0 -3
  522. package/esm2015/pipe/telephone/telephone.pipe.js +0 -91
  523. package/esm2015/pipe/telephone/telephone.pipe.module.js +0 -15
  524. package/esm2015/public-api.js +0 -9
  525. package/esm2015/senior-agronegocio-angular-components.js +0 -7
  526. package/esm2015/services/agro-entity-service.js +0 -132
  527. package/esm2015/services/i18n/en-US.js +0 -322
  528. package/esm2015/services/i18n/es-CO.js +0 -322
  529. package/esm2015/services/i18n/pt-BR.js +0 -322
  530. package/esm2015/services/index.js +0 -3
  531. package/esm2015/services/lib-translation.service.js +0 -58
  532. package/esm2015/services/producer-invoice/index.js +0 -3
  533. package/esm2015/services/producer-invoice/producer-invoice-dto.js +0 -1
  534. package/esm2015/services/producer-invoice/producer-invoice.js +0 -32
  535. package/esm2015/services/producer-invoice/producer-invoice.service.js +0 -64
  536. package/esm2015/services/websocket/async-lock.js +0 -34
  537. package/esm2015/services/websocket/index.js +0 -6
  538. package/esm2015/services/websocket/models/index.js +0 -2
  539. package/esm2015/services/websocket/models/primitive-manager.js +0 -39
  540. package/esm2015/services/websocket/protocols/index.js +0 -1
  541. package/esm2015/services/websocket/protocols/on-event-options.js +0 -1
  542. package/esm2015/services/websocket/protocols/primitive-event.js +0 -1
  543. package/esm2015/services/websocket/user-information.service.js +0 -34
  544. package/esm2015/services/websocket/websocket.module.js +0 -21
  545. package/esm2015/services/websocket/websocket.service.js +0 -338
  546. package/esm5/agro-angular-components.module.js +0 -26
  547. package/esm5/common/agro-array-utils.class.js +0 -90
  548. package/esm5/common/agro-cookie-utils.class.js +0 -54
  549. package/esm5/common/agro-date-utils.class.js +0 -126
  550. package/esm5/common/agro-logics.class.js +0 -96
  551. package/esm5/common/agro-name-utils.class.js +0 -64
  552. package/esm5/common/agro-number-utils.class.js +0 -137
  553. package/esm5/common/agro-object-stringifier.class.js +0 -38
  554. package/esm5/common/agro-object-utils.class.js +0 -306
  555. package/esm5/common/agro-platform-utils.class.js +0 -123
  556. package/esm5/common/agro-regex.constant.js +0 -156
  557. package/esm5/common/agro-string-utils.class.js +0 -380
  558. package/esm5/common/agro-unit-converter.class.js +0 -258
  559. package/esm5/common/colors.class.js +0 -83
  560. package/esm5/common/index.js +0 -13
  561. package/esm5/components/cancel-event-dialog/cancel-event-dialog-config.js +0 -1
  562. package/esm5/components/cancel-event-dialog/cancel-event-dialog.component.js +0 -128
  563. package/esm5/components/cancel-event-dialog/cancel-event-dialog.module.js +0 -22
  564. package/esm5/components/cancel-event-dialog/index.js +0 -3
  565. package/esm5/components/event-control-board/common/control-status.js +0 -7
  566. package/esm5/components/event-control-board/common/documentsToIssue.js +0 -6
  567. package/esm5/components/event-control-board/common/event-control-constants.js +0 -113
  568. package/esm5/components/event-control-board/common/event-operation.js +0 -54
  569. package/esm5/components/event-control-board/common/event-origin.js +0 -14
  570. package/esm5/components/event-control-board/common/event-status.js +0 -9
  571. package/esm5/components/event-control-board/common/input-fields-translate.js +0 -11
  572. package/esm5/components/event-control-board/common/input-fields.js +0 -7
  573. package/esm5/components/event-control-board/common/invoice-type.js +0 -11
  574. package/esm5/components/event-control-board/common/lookup-error-message.constants.js +0 -11
  575. package/esm5/components/event-control-board/common/operation.js +0 -7
  576. package/esm5/components/event-control-board/common/operationType.js +0 -7
  577. package/esm5/components/event-control-board/common/status-entity.js +0 -6
  578. package/esm5/components/event-control-board/common/ticket-status.js +0 -9
  579. package/esm5/components/event-control-board/common/transfer-status.js +0 -8
  580. package/esm5/components/event-control-board/event-control-board.component.js +0 -619
  581. package/esm5/components/event-control-board/event-control-board.module.js +0 -69
  582. package/esm5/components/event-control-board/index.js +0 -22
  583. package/esm5/components/event-control-board/service/e001pes/e001pes-dto.js +0 -1
  584. package/esm5/components/event-control-board/service/e001pes/e001pes.js +0 -25
  585. package/esm5/components/event-control-board/service/e001pes/e001pes.module.js +0 -27
  586. package/esm5/components/event-control-board/service/e001pes/e001pes.service.js +0 -37
  587. package/esm5/components/event-control-board/service/e001tns/e001tns-dto.js +0 -1
  588. package/esm5/components/event-control-board/service/e001tns/e001tns.js +0 -45
  589. package/esm5/components/event-control-board/service/e001tns/e001tns.module.js +0 -29
  590. package/esm5/components/event-control-board/service/e001tns/e001tns.service.js +0 -27
  591. package/esm5/components/event-control-board/service/e012fam/e012fam-dto.js +0 -1
  592. package/esm5/components/event-control-board/service/e012fam/e012fam.js +0 -25
  593. package/esm5/components/event-control-board/service/e012fam/e012fam.service.js +0 -27
  594. package/esm5/components/event-control-board/service/e070emp/e070emp-dto.js +0 -1
  595. package/esm5/components/event-control-board/service/e070emp/e070emp.js +0 -34
  596. package/esm5/components/event-control-board/service/e070emp/e070emp.module.js +0 -27
  597. package/esm5/components/event-control-board/service/e070emp/e070emp.service.js +0 -34
  598. package/esm5/components/event-control-board/service/e070fil/e070fil-dto.js +0 -1
  599. package/esm5/components/event-control-board/service/e070fil/e070fil.js +0 -48
  600. package/esm5/components/event-control-board/service/e070fil/e070fil.module.js +0 -27
  601. package/esm5/components/event-control-board/service/e070fil/e070fil.service.js +0 -34
  602. package/esm5/components/event-control-board/service/e075der/e075der-dto.js +0 -1
  603. package/esm5/components/event-control-board/service/e075der/e075der.js +0 -36
  604. package/esm5/components/event-control-board/service/e075der/e075der.module.js +0 -27
  605. package/esm5/components/event-control-board/service/e075der/e075der.service.js +0 -32
  606. package/esm5/components/event-control-board/service/e113saf/e113saf-dto.js +0 -1
  607. package/esm5/components/event-control-board/service/e113saf/e113saf.js +0 -25
  608. package/esm5/components/event-control-board/service/e205dep/deposit-dto.js +0 -1
  609. package/esm5/components/event-control-board/service/e205dep/e205dep-dto.js +0 -1
  610. package/esm5/components/event-control-board/service/e205dep/e205dep.js +0 -25
  611. package/esm5/components/event-control-board/service/e205dep/e205dep.service.js +0 -32
  612. package/esm5/components/event-control-board/service/event-control/event-control-dto.js +0 -1
  613. package/esm5/components/event-control-board/service/event-control/event-control.js +0 -25
  614. package/esm5/components/event-control-board/service/event-control/event-control.module.js +0 -27
  615. package/esm5/components/event-control-board/service/event-control/event-control.service.js +0 -27
  616. package/esm5/components/event-control-board/service/event-control-item/event-control-item-dto.js +0 -1
  617. package/esm5/components/event-control-board/service/event-control-item/event-control-item.js +0 -40
  618. package/esm5/components/event-control-board/service/event-control-item/event-control-item.module.js +0 -27
  619. package/esm5/components/event-control-board/service/event-control-item/event-control-item.service.js +0 -32
  620. package/esm5/components/event-control-board/service/external-invoice/external-invoice-dto.js +0 -1
  621. package/esm5/components/event-control-board/service/external-invoice/external-invoice.js +0 -25
  622. package/esm5/components/event-control-board/service/external-invoice/external-invoice.module.js +0 -27
  623. package/esm5/components/event-control-board/service/external-invoice/external-invoice.service.js +0 -27
  624. package/esm5/components/event-control-board/service/fixation-entity/fixation-dto.js +0 -1
  625. package/esm5/components/event-control-board/service/fixation-entity/fixation.module.js +0 -27
  626. package/esm5/components/event-control-board/service/fixation-entity/fixation.service.js +0 -32
  627. package/esm5/components/event-control-board/service/invoice/invoice-dto.js +0 -1
  628. package/esm5/components/event-control-board/service/invoice/invoice.js +0 -48
  629. package/esm5/components/event-control-board/service/invoice/invoice.module.js +0 -29
  630. package/esm5/components/event-control-board/service/invoice/invoice.service.js +0 -27
  631. package/esm5/components/event-control-board/service/origination/operationType.js +0 -7
  632. package/esm5/components/event-control-board/service/origination/origination-dto.js +0 -1
  633. package/esm5/components/event-control-board/service/origination/origination.js +0 -62
  634. package/esm5/components/event-control-board/service/origination/origination.module.js +0 -27
  635. package/esm5/components/event-control-board/service/origination/origination.service.js +0 -27
  636. package/esm5/components/event-control-board/service/paginator-storage.service.js +0 -71
  637. package/esm5/components/event-control-board/service/rural-estate/rural-estate-dto.js +0 -1
  638. package/esm5/components/event-control-board/service/rural-estate/rural-estate.js +0 -83
  639. package/esm5/components/event-control-board/service/rural-estate/rural-estate.module.js +0 -27
  640. package/esm5/components/event-control-board/service/rural-estate/rural-estate.service.js +0 -27
  641. package/esm5/components/event-control-board/service/ticket/ticket-dto.js +0 -1
  642. package/esm5/components/event-control-board/service/ticket/ticket.js +0 -44
  643. package/esm5/components/event-control-board/service/ticket/ticket.module.js +0 -29
  644. package/esm5/components/event-control-board/service/ticket/ticket.service.js +0 -62
  645. package/esm5/components/event-control-board/service/transfer/transfer-dto.js +0 -1
  646. package/esm5/components/event-control-board/service/transfer/transfer.module.js +0 -29
  647. package/esm5/components/event-control-board/service/transfer/transfer.service.js +0 -37
  648. package/esm5/components/event-control-board/shared.module.js +0 -59
  649. package/esm5/components/event-steps/event-steps.component.js +0 -113
  650. package/esm5/components/event-steps/event-steps.module.js +0 -19
  651. package/esm5/components/event-steps/index.js +0 -3
  652. package/esm5/components/financial-title-table/financial-title-table-options.interface.js +0 -1
  653. package/esm5/components/financial-title-table/financial-title-table.component.js +0 -438
  654. package/esm5/components/financial-title-table/financial-title-table.module.js +0 -48
  655. package/esm5/components/financial-title-table/index.js +0 -4
  656. package/esm5/components/financial-title-table/services/financial/agro-financial.service.js +0 -76
  657. package/esm5/components/financial-title-table/services/financial/enums.js +0 -33
  658. package/esm5/components/financial-title-table/services/financial/index.js +0 -3
  659. package/esm5/components/financial-title-table/services/financial/intefaces.js +0 -1
  660. package/esm5/components/index.js +0 -6
  661. package/esm5/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.js +0 -1
  662. package/esm5/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.js +0 -223
  663. package/esm5/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.js +0 -19
  664. package/esm5/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.js +0 -67
  665. package/esm5/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.js +0 -19
  666. package/esm5/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.js +0 -40
  667. package/esm5/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.js +0 -19
  668. package/esm5/components/modal-invoice-pj/index.js +0 -8
  669. package/esm5/components/modal-invoice-pj/modal-invoice-pj-base.class.js +0 -213
  670. package/esm5/components/modal-invoice-pj/modal-invoice-pj-options.interface.js +0 -1
  671. package/esm5/components/modal-invoice-pj/modal-shared-imports.js +0 -32
  672. package/esm5/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.js +0 -31
  673. package/esm5/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.js +0 -56
  674. package/esm5/components/modal-invoice-pj/services/agro-invoice/index.js +0 -3
  675. package/esm5/components/modal-invoice-pj/services/agro-invoice/interfaces.js +0 -13
  676. package/esm5/enums/agro-entity-status.enum.js +0 -6
  677. package/esm5/enums/agro-string-masks.enum.js +0 -12
  678. package/esm5/enums/date-comparison-type.enum.js +0 -6
  679. package/esm5/enums/fixation-status.js +0 -10
  680. package/esm5/enums/http-codes.enum.js +0 -66
  681. package/esm5/enums/index.js +0 -8
  682. package/esm5/enums/invoice-status.enum.js +0 -14
  683. package/esm5/enums/number-comparison-type.enum.js +0 -10
  684. package/esm5/enums/unit-measurement.enum.js +0 -60
  685. package/esm5/form-validator/agro-form-validator.js +0 -341
  686. package/esm5/form-validator/index.js +0 -2
  687. package/esm5/lib-translation.module.js +0 -26
  688. package/esm5/pipe/cnpj-cpf/cnpj-cpf.pipe.js +0 -35
  689. package/esm5/pipe/cnpj-cpf/cnpj-cpf.pipe.module.js +0 -18
  690. package/esm5/pipe/cnpj-cpf/index.js +0 -3
  691. package/esm5/pipe/index.js +0 -6
  692. package/esm5/pipe/kilogram/index.js +0 -3
  693. package/esm5/pipe/kilogram/kilogram.module.js +0 -20
  694. package/esm5/pipe/kilogram/kilogram.pipe.js +0 -41
  695. package/esm5/pipe/lib-translate.pipe.js +0 -29
  696. package/esm5/pipe/stringifier/index.js +0 -3
  697. package/esm5/pipe/stringifier/stringifier.pipe.js +0 -16
  698. package/esm5/pipe/stringifier/stringifier.pipe.module.js +0 -18
  699. package/esm5/pipe/telephone/index.js +0 -3
  700. package/esm5/pipe/telephone/telephone.pipe.js +0 -95
  701. package/esm5/pipe/telephone/telephone.pipe.module.js +0 -18
  702. package/esm5/public-api.js +0 -9
  703. package/esm5/senior-agronegocio-angular-components.js +0 -7
  704. package/esm5/services/agro-entity-service.js +0 -143
  705. package/esm5/services/i18n/en-US.js +0 -322
  706. package/esm5/services/i18n/es-CO.js +0 -322
  707. package/esm5/services/i18n/pt-BR.js +0 -322
  708. package/esm5/services/index.js +0 -3
  709. package/esm5/services/lib-translation.service.js +0 -60
  710. package/esm5/services/producer-invoice/index.js +0 -3
  711. package/esm5/services/producer-invoice/producer-invoice-dto.js +0 -1
  712. package/esm5/services/producer-invoice/producer-invoice.js +0 -37
  713. package/esm5/services/producer-invoice/producer-invoice.service.js +0 -72
  714. package/esm5/services/websocket/async-lock.js +0 -43
  715. package/esm5/services/websocket/index.js +0 -6
  716. package/esm5/services/websocket/models/index.js +0 -2
  717. package/esm5/services/websocket/models/primitive-manager.js +0 -58
  718. package/esm5/services/websocket/protocols/index.js +0 -1
  719. package/esm5/services/websocket/protocols/on-event-options.js +0 -1
  720. package/esm5/services/websocket/protocols/primitive-event.js +0 -1
  721. package/esm5/services/websocket/user-information.service.js +0 -38
  722. package/esm5/services/websocket/websocket.module.js +0 -24
  723. package/esm5/services/websocket/websocket.service.js +0 -410
  724. package/fesm2015/senior-agronegocio-angular-components.js.map +0 -1
  725. package/fesm5/senior-agronegocio-angular-components.js +0 -8646
  726. package/fesm5/senior-agronegocio-angular-components.js.map +0 -1
  727. package/senior-agronegocio-angular-components.d.ts +0 -6
  728. package/senior-agronegocio-angular-components.metadata.json +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"senior-agronegocio-angular-components.mjs","sources":["../../projects/angular-components/enums/agro-entity-status.enum.ts","../../projects/angular-components/enums/agro-numbers.enum.ts","../../projects/angular-components/enums/agro-string-masks.enum.ts","../../projects/angular-components/enums/date-comparison-type.enum.ts","../../projects/angular-components/enums/http-codes.enum.ts","../../projects/angular-components/enums/number-comparison-type.enum.ts","../../projects/angular-components/enums/unit-measurement.enum.ts","../../projects/angular-components/common/agro-cookie-utils.class.ts","../../projects/angular-components/common/agro-object-utils.class.ts","../../projects/angular-components/common/agro-date-utils.class.ts","../../projects/angular-components/common/agro-regex.constant.ts","../../projects/angular-components/common/agro-string-utils.class.ts","../../projects/angular-components/common/agro-platform-utils.class.ts","../../projects/angular-components/common/agro-number-utils.class.ts","../../projects/angular-components/common/colors.class.ts","../../projects/angular-components/common/agro-name-utils.class.ts","../../projects/angular-components/common/agro-array-utils.class.ts","../../projects/angular-components/common/agro-logics.class.ts","../../projects/angular-components/common/agro-unit-converter.class.ts","../../projects/angular-components/common/edl-query-builder.class.ts","../../projects/angular-components/components/event-control-board/shared.module.ts","../../projects/angular-components/components/event-steps/event-steps.component.ts","../../projects/angular-components/components/event-steps/event-steps.component.html","../../projects/angular-components/components/event-steps/event-steps.module.ts","../../projects/angular-components/services/i18n/pt-BR.ts","../../projects/angular-components/services/i18n/en-US.ts","../../projects/angular-components/services/i18n/es-CO.ts","../../projects/angular-components/services/lib-translation.service.ts","../../projects/angular-components/pipe/lib-translate.pipe.ts","../../projects/angular-components/components/cancel-event-dialog/cancel-event-dialog.component.ts","../../projects/angular-components/components/cancel-event-dialog/cancel-event-dialog.component.html","../../projects/angular-components/components/event-control-board/common/event-operation.ts","../../projects/angular-components/components/event-control-board/common/input-fields.ts","../../projects/angular-components/components/event-control-board/common/event-control-constants.ts","../../projects/angular-components/components/event-control-board/common/event-origin.ts","../../projects/angular-components/components/event-control-board/common/event-status.ts","../../projects/angular-components/components/event-control-board/common/invoice-type.ts","../../projects/angular-components/components/event-control-board/common/input-fields-translate.ts","../../projects/angular-components/components/event-control-board/common/lookup-error-message.constants.ts","../../projects/angular-components/services/websocket/async-lock.ts","../../projects/angular-components/services/websocket/models/primitive-manager.ts","../../projects/angular-components/services/websocket/user-information.service.ts","../../projects/angular-components/services/websocket/websocket.service.ts","../../projects/angular-components/services/websocket/websocket.module.ts","../../projects/angular-components/services/agro-entity-service.ts","../../projects/angular-components/components/event-control-board/service/event-control/event-control.service.ts","../../projects/angular-components/components/event-control-board/service/paginator-storage.service.ts","../../projects/angular-components/components/event-control-board/service/event-control-item/event-control-item.service.ts","../../projects/angular-components/services/producer-invoice/producer-invoice.ts","../../projects/angular-components/services/producer-invoice/producer-invoice.service.ts","../../projects/angular-components/components/event-control-board/event-control-board.component.ts","../../projects/angular-components/components/event-control-board/event-control-board.component.html","../../projects/angular-components/components/event-control-board/service/e001pes/e001pes.service.ts","../../projects/angular-components/components/event-control-board/service/e001pes/e001pes.module.ts","../../projects/angular-components/components/event-control-board/service/e001tns/e001tns.service.ts","../../projects/angular-components/components/event-control-board/service/e001tns/e001tns.module.ts","../../projects/angular-components/components/event-control-board/service/e012fam/e012fam.service.ts","../../projects/angular-components/components/event-control-board/service/e070emp/e070emp.service.ts","../../projects/angular-components/components/event-control-board/service/e070emp/e070emp.module.ts","../../projects/angular-components/components/event-control-board/service/e070fil/e070fil.service.ts","../../projects/angular-components/components/event-control-board/service/e070fil/e070fil.module.ts","../../projects/angular-components/components/event-control-board/service/e075der/e075der.service.ts","../../projects/angular-components/components/event-control-board/service/e075der/e075der.module.ts","../../projects/angular-components/components/event-control-board/service/e205dep/e205dep.service.ts","../../projects/angular-components/components/event-control-board/service/event-control/event-control.module.ts","../../projects/angular-components/components/event-control-board/service/event-control-item/event-control-item.module.ts","../../projects/angular-components/components/event-control-board/service/external-invoice/external-invoice.service.ts","../../projects/angular-components/components/event-control-board/service/external-invoice/external-invoice.module.ts","../../projects/angular-components/components/event-control-board/service/invoice/invoice.service.ts","../../projects/angular-components/components/event-control-board/service/invoice/invoice.module.ts","../../projects/angular-components/components/event-control-board/service/origination/origination.service.ts","../../projects/angular-components/components/event-control-board/service/origination/origination.module.ts","../../projects/angular-components/components/event-control-board/service/rural-estate/rural-estate.service.ts","../../projects/angular-components/components/event-control-board/service/rural-estate/rural-estate.module.ts","../../projects/angular-components/components/event-control-board/service/ticket/ticket.service.ts","../../projects/angular-components/components/event-control-board/service/ticket/ticket.module.ts","../../projects/angular-components/lib-translation.module.ts","../../projects/angular-components/components/event-control-board/service/transfer/transfer.service.ts","../../projects/angular-components/components/event-control-board/service/transfer/transfer.module.ts","../../projects/angular-components/components/event-control-board/service/fixation-entity/fixation.service.ts","../../projects/angular-components/components/event-control-board/service/fixation-entity/fixation.module.ts","../../projects/angular-components/components/cancel-event-dialog/cancel-event-dialog.module.ts","../../projects/angular-components/components/event-control-board/event-control-board.module.ts","../../projects/angular-components/components/modal-invoice-pj/services/agro-invoice/interfaces.ts","../../projects/angular-components/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.ts","../../projects/angular-components/pipe/kilogram/kilogram.pipe.ts","../../projects/angular-components/pipe/kilogram/kilogram.module.ts","../../projects/angular-components/components/modal-invoice-pj/modal-invoice-pj-base.class.ts","../../projects/angular-components/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.ts","../../projects/angular-components/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.ts","../../projects/angular-components/components/modal-invoice-pj/template.html","../../projects/angular-components/components/modal-invoice-pj/modal-shared-imports.ts","../../projects/angular-components/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.ts","../../projects/angular-components/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.ts","../../projects/angular-components/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.ts","../../projects/angular-components/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.ts","../../projects/angular-components/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.ts","../../projects/angular-components/components/financial-title-table/services/financial/enums.ts","../../projects/angular-components/components/financial-title-table/services/financial/agro-financial.service.ts","../../projects/angular-components/components/financial-title-table/financial-title-table.component.ts","../../projects/angular-components/components/financial-title-table/financial-title-table.component.html","../../projects/angular-components/components/financial-title-table/financial-title-table.module.ts","../../projects/angular-components/form-validator/agro-form-validator.ts","../../projects/angular-components/pipe/cnpj-cpf/cnpj-cpf.pipe.ts","../../projects/angular-components/pipe/cnpj-cpf/cnpj-cpf.pipe.module.ts","../../projects/angular-components/common/agro-object-stringifier.class.ts","../../projects/angular-components/pipe/stringifier/stringifier.pipe.ts","../../projects/angular-components/pipe/stringifier/stringifier.pipe.module.ts","../../projects/angular-components/pipe/telephone/telephone.pipe.ts","../../projects/angular-components/pipe/telephone/telephone.pipe.module.ts","../../projects/angular-components/agro-angular-components.module.ts","../../projects/angular-components/public-api.ts","../../projects/angular-components/senior-agronegocio-angular-components.ts"],"sourcesContent":["export enum AgroEntityStatus {\r\n VA = 'VA',\r\n VI = 'VI'\r\n}\r\n","export type NUMBERS = AGRO_NUMBERS;\r\n\r\nexport enum AGRO_NUMBERS {\r\n MINIMUM_WEIGHT = 0.001,\r\n MINUS_ONE = -1,\r\n EIGHT = 8,\r\n EIGHT_HUNDRED = 800,\r\n EIGHT_HUNDRED_AND_EIGHT = 808,\r\n EIGHT_HUNDRED_AND_EIGHTEEN = 818,\r\n EIGHT_HUNDRED_AND_EIGHTY_EIGHT = 888,\r\n EIGHT_HUNDRED_AND_EIGHTY_FIVE = 885,\r\n EIGHT_HUNDRED_AND_EIGHTY_FOUR = 884,\r\n EIGHT_HUNDRED_AND_EIGHTY_NINE = 889,\r\n EIGHT_HUNDRED_AND_EIGHTY_ONE = 881,\r\n EIGHT_HUNDRED_AND_EIGHTY_SEVEN = 887,\r\n EIGHT_HUNDRED_AND_EIGHTY_SIX = 886,\r\n EIGHT_HUNDRED_AND_EIGHTY_THREE = 883,\r\n EIGHT_HUNDRED_AND_EIGHTY_TWO = 882,\r\n EIGHT_HUNDRED_AND_EIGHTY_ZERO = 880,\r\n EIGHT_HUNDRED_AND_ELEVEN = 811,\r\n EIGHT_HUNDRED_AND_FIFTEEN = 815,\r\n EIGHT_HUNDRED_AND_FIFTY_EIGHT = 858,\r\n EIGHT_HUNDRED_AND_FIFTY_FIVE = 855,\r\n EIGHT_HUNDRED_AND_FIFTY_FOUR = 854,\r\n EIGHT_HUNDRED_AND_FIFTY_NINE = 859,\r\n EIGHT_HUNDRED_AND_FIFTY_ONE = 851,\r\n EIGHT_HUNDRED_AND_FIFTY_SEVEN = 857,\r\n EIGHT_HUNDRED_AND_FIFTY_SIX = 856,\r\n EIGHT_HUNDRED_AND_FIFTY_THREE = 853,\r\n EIGHT_HUNDRED_AND_FIFTY_TWO = 852,\r\n EIGHT_HUNDRED_AND_FIFTY_ZERO = 850,\r\n EIGHT_HUNDRED_AND_FIVE = 805,\r\n EIGHT_HUNDRED_AND_FORTY_EIGHT = 848,\r\n EIGHT_HUNDRED_AND_FORTY_FIVE = 845,\r\n EIGHT_HUNDRED_AND_FORTY_FOUR = 844,\r\n EIGHT_HUNDRED_AND_FORTY_NINE = 849,\r\n EIGHT_HUNDRED_AND_FORTY_ONE = 841,\r\n EIGHT_HUNDRED_AND_FORTY_SEVEN = 847,\r\n EIGHT_HUNDRED_AND_FORTY_SIX = 846,\r\n EIGHT_HUNDRED_AND_FORTY_THREE = 843,\r\n EIGHT_HUNDRED_AND_FORTY_TWO = 842,\r\n EIGHT_HUNDRED_AND_FORTY_ZERO = 840,\r\n EIGHT_HUNDRED_AND_FOUR = 804,\r\n EIGHT_HUNDRED_AND_FOURTEEN = 814,\r\n EIGHT_HUNDRED_AND_NINE = 809,\r\n EIGHT_HUNDRED_AND_NINETEEN = 819,\r\n EIGHT_HUNDRED_AND_NINETY_EIGHT = 898,\r\n EIGHT_HUNDRED_AND_NINETY_FIVE = 895,\r\n EIGHT_HUNDRED_AND_NINETY_FOUR = 894,\r\n EIGHT_HUNDRED_AND_NINETY_NINE = 899,\r\n EIGHT_HUNDRED_AND_NINETY_ONE = 891,\r\n EIGHT_HUNDRED_AND_NINETY_SEVEN = 897,\r\n EIGHT_HUNDRED_AND_NINETY_SIX = 896,\r\n EIGHT_HUNDRED_AND_NINETY_THREE = 893,\r\n EIGHT_HUNDRED_AND_NINETY_TWO = 892,\r\n EIGHT_HUNDRED_AND_NINETY_ZERO = 890,\r\n EIGHT_HUNDRED_AND_ONE = 801,\r\n EIGHT_HUNDRED_AND_SEVEN = 807,\r\n EIGHT_HUNDRED_AND_SEVENTEEN = 817,\r\n EIGHT_HUNDRED_AND_SEVENTY_EIGHT = 878,\r\n EIGHT_HUNDRED_AND_SEVENTY_FIVE = 875,\r\n EIGHT_HUNDRED_AND_SEVENTY_FOUR = 874,\r\n EIGHT_HUNDRED_AND_SEVENTY_NINE = 879,\r\n EIGHT_HUNDRED_AND_SEVENTY_ONE = 871,\r\n EIGHT_HUNDRED_AND_SEVENTY_SEVEN = 877,\r\n EIGHT_HUNDRED_AND_SEVENTY_SIX = 876,\r\n EIGHT_HUNDRED_AND_SEVENTY_THREE = 873,\r\n EIGHT_HUNDRED_AND_SEVENTY_TWO = 872,\r\n EIGHT_HUNDRED_AND_SEVENTY_ZERO = 870,\r\n EIGHT_HUNDRED_AND_SIX = 806,\r\n EIGHT_HUNDRED_AND_SIXTEEN = 816,\r\n EIGHT_HUNDRED_AND_SIXTY_EIGHT = 868,\r\n EIGHT_HUNDRED_AND_SIXTY_FIVE = 865,\r\n EIGHT_HUNDRED_AND_SIXTY_FOUR = 864,\r\n EIGHT_HUNDRED_AND_SIXTY_NINE = 869,\r\n EIGHT_HUNDRED_AND_SIXTY_ONE = 861,\r\n EIGHT_HUNDRED_AND_SIXTY_SEVEN = 867,\r\n EIGHT_HUNDRED_AND_SIXTY_SIX = 866,\r\n EIGHT_HUNDRED_AND_SIXTY_THREE = 863,\r\n EIGHT_HUNDRED_AND_SIXTY_TWO = 862,\r\n EIGHT_HUNDRED_AND_SIXTY_ZERO = 860,\r\n EIGHT_HUNDRED_AND_TEN = 810,\r\n EIGHT_HUNDRED_AND_THIRTEEN = 813,\r\n EIGHT_HUNDRED_AND_THIRTY_EIGHT = 838,\r\n EIGHT_HUNDRED_AND_THIRTY_FIVE = 835,\r\n EIGHT_HUNDRED_AND_THIRTY_FOUR = 834,\r\n EIGHT_HUNDRED_AND_THIRTY_NINE = 839,\r\n EIGHT_HUNDRED_AND_THIRTY_ONE = 831,\r\n EIGHT_HUNDRED_AND_THIRTY_SEVEN = 837,\r\n EIGHT_HUNDRED_AND_THIRTY_SIX = 836,\r\n EIGHT_HUNDRED_AND_THIRTY_THREE = 833,\r\n EIGHT_HUNDRED_AND_THIRTY_TWO = 832,\r\n EIGHT_HUNDRED_AND_THIRTY_ZERO = 830,\r\n EIGHT_HUNDRED_AND_THREE = 803,\r\n EIGHT_HUNDRED_AND_TWELVE = 812,\r\n EIGHT_HUNDRED_AND_TWENTY_EIGHT = 828,\r\n EIGHT_HUNDRED_AND_TWENTY_FIVE = 825,\r\n EIGHT_HUNDRED_AND_TWENTY_FOUR = 824,\r\n EIGHT_HUNDRED_AND_TWENTY_NINE = 829,\r\n EIGHT_HUNDRED_AND_TWENTY_ONE = 821,\r\n EIGHT_HUNDRED_AND_TWENTY_SEVEN = 827,\r\n EIGHT_HUNDRED_AND_TWENTY_SIX = 826,\r\n EIGHT_HUNDRED_AND_TWENTY_THREE = 823,\r\n EIGHT_HUNDRED_AND_TWENTY_TWO = 822,\r\n EIGHT_HUNDRED_AND_TWENTY_ZERO = 820,\r\n EIGHT_HUNDRED_AND_TWO = 802,\r\n EIGHTEEN = 18,\r\n EIGHTY_ = 80,\r\n EIGHTY_EIGHT = 88,\r\n EIGHTY_FIVE = 85,\r\n EIGHTY_FOUR = 84,\r\n EIGHTY_NINE = 89,\r\n EIGHTY_ONE = 81,\r\n EIGHTY_SEVEN = 87,\r\n EIGHTY_SIX = 86,\r\n EIGHTY_THREE = 83,\r\n EIGHTY_TWO = 82,\r\n ELEVEN = 11,\r\n FIFTEEN = 15,\r\n FIFTY_ = 50,\r\n FIFTY_EIGHT = 58,\r\n FIFTY_FIVE = 55,\r\n FIFTY_FOUR = 54,\r\n FIFTY_NINE = 59,\r\n FIFTY_ONE = 51,\r\n FIFTY_SEVEN = 57,\r\n FIFTY_SIX = 56,\r\n FIFTY_THREE = 53,\r\n FIFTY_TWO = 52,\r\n FIVE = 5,\r\n FIVE_HUNDRED = 500,\r\n FIVE_HUNDRED_AND_EIGHT = 508,\r\n FIVE_HUNDRED_AND_EIGHTEEN = 518,\r\n FIVE_HUNDRED_AND_EIGHTY_EIGHT = 588,\r\n FIVE_HUNDRED_AND_EIGHTY_FIVE = 585,\r\n FIVE_HUNDRED_AND_EIGHTY_FOUR = 584,\r\n FIVE_HUNDRED_AND_EIGHTY_NINE = 589,\r\n FIVE_HUNDRED_AND_EIGHTY_ONE = 581,\r\n FIVE_HUNDRED_AND_EIGHTY_SEVEN = 587,\r\n FIVE_HUNDRED_AND_EIGHTY_SIX = 586,\r\n FIVE_HUNDRED_AND_EIGHTY_THREE = 583,\r\n FIVE_HUNDRED_AND_EIGHTY_TWO = 582,\r\n FIVE_HUNDRED_AND_EIGHTY_ZERO = 580,\r\n FIVE_HUNDRED_AND_ELEVEN = 511,\r\n FIVE_HUNDRED_AND_FIFTEEN = 515,\r\n FIVE_HUNDRED_AND_FIFTY_EIGHT = 558,\r\n FIVE_HUNDRED_AND_FIFTY_FIVE = 555,\r\n FIVE_HUNDRED_AND_FIFTY_FOUR = 554,\r\n FIVE_HUNDRED_AND_FIFTY_NINE = 559,\r\n FIVE_HUNDRED_AND_FIFTY_ONE = 551,\r\n FIVE_HUNDRED_AND_FIFTY_SEVEN = 557,\r\n FIVE_HUNDRED_AND_FIFTY_SIX = 556,\r\n FIVE_HUNDRED_AND_FIFTY_THREE = 553,\r\n FIVE_HUNDRED_AND_FIFTY_TWO = 552,\r\n FIVE_HUNDRED_AND_FIFTY_ZERO = 550,\r\n FIVE_HUNDRED_AND_FIVE = 505,\r\n FIVE_HUNDRED_AND_FORTY_EIGHT = 548,\r\n FIVE_HUNDRED_AND_FORTY_FIVE = 545,\r\n FIVE_HUNDRED_AND_FORTY_FOUR = 544,\r\n FIVE_HUNDRED_AND_FORTY_NINE = 549,\r\n FIVE_HUNDRED_AND_FORTY_ONE = 541,\r\n FIVE_HUNDRED_AND_FORTY_SEVEN = 547,\r\n FIVE_HUNDRED_AND_FORTY_SIX = 546,\r\n FIVE_HUNDRED_AND_FORTY_THREE = 543,\r\n FIVE_HUNDRED_AND_FORTY_TWO = 542,\r\n FIVE_HUNDRED_AND_FORTY_ZERO = 540,\r\n FIVE_HUNDRED_AND_FOUR = 504,\r\n FIVE_HUNDRED_AND_FOURTEEN = 514,\r\n FIVE_HUNDRED_AND_NINE = 509,\r\n FIVE_HUNDRED_AND_NINETEEN = 519,\r\n FIVE_HUNDRED_AND_NINETY_EIGHT = 598,\r\n FIVE_HUNDRED_AND_NINETY_FIVE = 595,\r\n FIVE_HUNDRED_AND_NINETY_FOUR = 594,\r\n FIVE_HUNDRED_AND_NINETY_NINE = 599,\r\n FIVE_HUNDRED_AND_NINETY_ONE = 591,\r\n FIVE_HUNDRED_AND_NINETY_SEVEN = 597,\r\n FIVE_HUNDRED_AND_NINETY_SIX = 596,\r\n FIVE_HUNDRED_AND_NINETY_THREE = 593,\r\n FIVE_HUNDRED_AND_NINETY_TWO = 592,\r\n FIVE_HUNDRED_AND_NINETY_ZERO = 590,\r\n FIVE_HUNDRED_AND_ONE = 501,\r\n FIVE_HUNDRED_AND_SEVEN = 507,\r\n FIVE_HUNDRED_AND_SEVENTEEN = 517,\r\n FIVE_HUNDRED_AND_SEVENTY_EIGHT = 578,\r\n FIVE_HUNDRED_AND_SEVENTY_FIVE = 575,\r\n FIVE_HUNDRED_AND_SEVENTY_FOUR = 574,\r\n FIVE_HUNDRED_AND_SEVENTY_NINE = 579,\r\n FIVE_HUNDRED_AND_SEVENTY_ONE = 571,\r\n FIVE_HUNDRED_AND_SEVENTY_SEVEN = 577,\r\n FIVE_HUNDRED_AND_SEVENTY_SIX = 576,\r\n FIVE_HUNDRED_AND_SEVENTY_THREE = 573,\r\n FIVE_HUNDRED_AND_SEVENTY_TWO = 572,\r\n FIVE_HUNDRED_AND_SEVENTY_ZERO = 570,\r\n FIVE_HUNDRED_AND_SIX = 506,\r\n FIVE_HUNDRED_AND_SIXTEEN = 516,\r\n FIVE_HUNDRED_AND_SIXTY_EIGHT = 568,\r\n FIVE_HUNDRED_AND_SIXTY_FIVE = 565,\r\n FIVE_HUNDRED_AND_SIXTY_FOUR = 564,\r\n FIVE_HUNDRED_AND_SIXTY_NINE = 569,\r\n FIVE_HUNDRED_AND_SIXTY_ONE = 561,\r\n FIVE_HUNDRED_AND_SIXTY_SEVEN = 567,\r\n FIVE_HUNDRED_AND_SIXTY_SIX = 566,\r\n FIVE_HUNDRED_AND_SIXTY_THREE = 563,\r\n FIVE_HUNDRED_AND_SIXTY_TWO = 562,\r\n FIVE_HUNDRED_AND_SIXTY_ZERO = 560,\r\n FIVE_HUNDRED_AND_TEN = 510,\r\n FIVE_HUNDRED_AND_THIRTEEN = 513,\r\n FIVE_HUNDRED_AND_THIRTY_EIGHT = 538,\r\n FIVE_HUNDRED_AND_THIRTY_FIVE = 535,\r\n FIVE_HUNDRED_AND_THIRTY_FOUR = 534,\r\n FIVE_HUNDRED_AND_THIRTY_NINE = 539,\r\n FIVE_HUNDRED_AND_THIRTY_ONE = 531,\r\n FIVE_HUNDRED_AND_THIRTY_SEVEN = 537,\r\n FIVE_HUNDRED_AND_THIRTY_SIX = 536,\r\n FIVE_HUNDRED_AND_THIRTY_THREE = 533,\r\n FIVE_HUNDRED_AND_THIRTY_TWO = 532,\r\n FIVE_HUNDRED_AND_THIRTY_ZERO = 530,\r\n FIVE_HUNDRED_AND_THREE = 503,\r\n FIVE_HUNDRED_AND_TWELVE = 512,\r\n FIVE_HUNDRED_AND_TWENTY_EIGHT = 528,\r\n FIVE_HUNDRED_AND_TWENTY_FIVE = 525,\r\n FIVE_HUNDRED_AND_TWENTY_FOUR = 524,\r\n FIVE_HUNDRED_AND_TWENTY_NINE = 529,\r\n FIVE_HUNDRED_AND_TWENTY_ONE = 521,\r\n FIVE_HUNDRED_AND_TWENTY_SEVEN = 527,\r\n FIVE_HUNDRED_AND_TWENTY_SIX = 526,\r\n FIVE_HUNDRED_AND_TWENTY_THREE = 523,\r\n FIVE_HUNDRED_AND_TWENTY_TWO = 522,\r\n FIVE_HUNDRED_AND_TWENTY_ZERO = 520,\r\n FIVE_HUNDRED_AND_TWO = 502,\r\n FORTY_ = 40,\r\n FORTY_EIGHT = 48,\r\n FORTY_FIVE = 45,\r\n FORTY_FOUR = 44,\r\n FORTY_NINE = 49,\r\n FORTY_ONE = 41,\r\n FORTY_SEVEN = 47,\r\n FORTY_SIX = 46,\r\n FORTY_THREE = 43,\r\n FORTY_TWO = 42,\r\n FOUR = 4,\r\n FOUR_HUNDRED = 400,\r\n FOUR_HUNDRED_AND_EIGHT = 408,\r\n FOUR_HUNDRED_AND_EIGHTEEN = 418,\r\n FOUR_HUNDRED_AND_EIGHTY_EIGHT = 488,\r\n FOUR_HUNDRED_AND_EIGHTY_FIVE = 485,\r\n FOUR_HUNDRED_AND_EIGHTY_FOUR = 484,\r\n FOUR_HUNDRED_AND_EIGHTY_NINE = 489,\r\n FOUR_HUNDRED_AND_EIGHTY_ONE = 481,\r\n FOUR_HUNDRED_AND_EIGHTY_SEVEN = 487,\r\n FOUR_HUNDRED_AND_EIGHTY_SIX = 486,\r\n FOUR_HUNDRED_AND_EIGHTY_THREE = 483,\r\n FOUR_HUNDRED_AND_EIGHTY_TWO = 482,\r\n FOUR_HUNDRED_AND_EIGHTY_ZERO = 480,\r\n FOUR_HUNDRED_AND_ELEVEN = 411,\r\n FOUR_HUNDRED_AND_FIFTEEN = 415,\r\n FOUR_HUNDRED_AND_FIFTY_EIGHT = 458,\r\n FOUR_HUNDRED_AND_FIFTY_FIVE = 455,\r\n FOUR_HUNDRED_AND_FIFTY_FOUR = 454,\r\n FOUR_HUNDRED_AND_FIFTY_NINE = 459,\r\n FOUR_HUNDRED_AND_FIFTY_ONE = 451,\r\n FOUR_HUNDRED_AND_FIFTY_SEVEN = 457,\r\n FOUR_HUNDRED_AND_FIFTY_SIX = 456,\r\n FOUR_HUNDRED_AND_FIFTY_THREE = 453,\r\n FOUR_HUNDRED_AND_FIFTY_TWO = 452,\r\n FOUR_HUNDRED_AND_FIFTY_ZERO = 450,\r\n FOUR_HUNDRED_AND_FIVE = 405,\r\n FOUR_HUNDRED_AND_FORTY_EIGHT = 448,\r\n FOUR_HUNDRED_AND_FORTY_FIVE = 445,\r\n FOUR_HUNDRED_AND_FORTY_FOUR = 444,\r\n FOUR_HUNDRED_AND_FORTY_NINE = 449,\r\n FOUR_HUNDRED_AND_FORTY_ONE = 441,\r\n FOUR_HUNDRED_AND_FORTY_SEVEN = 447,\r\n FOUR_HUNDRED_AND_FORTY_SIX = 446,\r\n FOUR_HUNDRED_AND_FORTY_THREE = 443,\r\n FOUR_HUNDRED_AND_FORTY_TWO = 442,\r\n FOUR_HUNDRED_AND_FORTY_ZERO = 440,\r\n FOUR_HUNDRED_AND_FOUR = 404,\r\n FOUR_HUNDRED_AND_FOURTEEN = 414,\r\n FOUR_HUNDRED_AND_NINE = 409,\r\n FOUR_HUNDRED_AND_NINETEEN = 419,\r\n FOUR_HUNDRED_AND_NINETY_EIGHT = 498,\r\n FOUR_HUNDRED_AND_NINETY_FIVE = 495,\r\n FOUR_HUNDRED_AND_NINETY_FOUR = 494,\r\n FOUR_HUNDRED_AND_NINETY_NINE = 499,\r\n FOUR_HUNDRED_AND_NINETY_ONE = 491,\r\n FOUR_HUNDRED_AND_NINETY_SEVEN = 497,\r\n FOUR_HUNDRED_AND_NINETY_SIX = 496,\r\n FOUR_HUNDRED_AND_NINETY_THREE = 493,\r\n FOUR_HUNDRED_AND_NINETY_TWO = 492,\r\n FOUR_HUNDRED_AND_NINETY_ZERO = 490,\r\n FOUR_HUNDRED_AND_ONE = 401,\r\n FOUR_HUNDRED_AND_SEVEN = 407,\r\n FOUR_HUNDRED_AND_SEVENTEEN = 417,\r\n FOUR_HUNDRED_AND_SEVENTY_EIGHT = 478,\r\n FOUR_HUNDRED_AND_SEVENTY_FIVE = 475,\r\n FOUR_HUNDRED_AND_SEVENTY_FOUR = 474,\r\n FOUR_HUNDRED_AND_SEVENTY_NINE = 479,\r\n FOUR_HUNDRED_AND_SEVENTY_ONE = 471,\r\n FOUR_HUNDRED_AND_SEVENTY_SEVEN = 477,\r\n FOUR_HUNDRED_AND_SEVENTY_SIX = 476,\r\n FOUR_HUNDRED_AND_SEVENTY_THREE = 473,\r\n FOUR_HUNDRED_AND_SEVENTY_TWO = 472,\r\n FOUR_HUNDRED_AND_SEVENTY_ZERO = 470,\r\n FOUR_HUNDRED_AND_SIX = 406,\r\n FOUR_HUNDRED_AND_SIXTEEN = 416,\r\n FOUR_HUNDRED_AND_SIXTY_EIGHT = 468,\r\n FOUR_HUNDRED_AND_SIXTY_FIVE = 465,\r\n FOUR_HUNDRED_AND_SIXTY_FOUR = 464,\r\n FOUR_HUNDRED_AND_SIXTY_NINE = 469,\r\n FOUR_HUNDRED_AND_SIXTY_ONE = 461,\r\n FOUR_HUNDRED_AND_SIXTY_SEVEN = 467,\r\n FOUR_HUNDRED_AND_SIXTY_SIX = 466,\r\n FOUR_HUNDRED_AND_SIXTY_THREE = 463,\r\n FOUR_HUNDRED_AND_SIXTY_TWO = 462,\r\n FOUR_HUNDRED_AND_SIXTY_ZERO = 460,\r\n FOUR_HUNDRED_AND_TEN = 410,\r\n FOUR_HUNDRED_AND_THIRTEEN = 413,\r\n FOUR_HUNDRED_AND_THIRTY_EIGHT = 438,\r\n FOUR_HUNDRED_AND_THIRTY_FIVE = 435,\r\n FOUR_HUNDRED_AND_THIRTY_FOUR = 434,\r\n FOUR_HUNDRED_AND_THIRTY_NINE = 439,\r\n FOUR_HUNDRED_AND_THIRTY_ONE = 431,\r\n FOUR_HUNDRED_AND_THIRTY_SEVEN = 437,\r\n FOUR_HUNDRED_AND_THIRTY_SIX = 436,\r\n FOUR_HUNDRED_AND_THIRTY_THREE = 433,\r\n FOUR_HUNDRED_AND_THIRTY_TWO = 432,\r\n FOUR_HUNDRED_AND_THIRTY_ZERO = 430,\r\n FOUR_HUNDRED_AND_THREE = 403,\r\n FOUR_HUNDRED_AND_TWELVE = 412,\r\n FOUR_HUNDRED_AND_TWENTY_EIGHT = 428,\r\n FOUR_HUNDRED_AND_TWENTY_FIVE = 425,\r\n FOUR_HUNDRED_AND_TWENTY_FOUR = 424,\r\n FOUR_HUNDRED_AND_TWENTY_NINE = 429,\r\n FOUR_HUNDRED_AND_TWENTY_ONE = 421,\r\n FOUR_HUNDRED_AND_TWENTY_SEVEN = 427,\r\n FOUR_HUNDRED_AND_TWENTY_SIX = 426,\r\n FOUR_HUNDRED_AND_TWENTY_THREE = 423,\r\n FOUR_HUNDRED_AND_TWENTY_TWO = 422,\r\n FOUR_HUNDRED_AND_TWENTY_ZERO = 420,\r\n FOUR_HUNDRED_AND_TWO = 402,\r\n FOURTEEN = 14,\r\n NINE = 9,\r\n NINE_HUNDRED = 900,\r\n NINE_HUNDRED_AND_EIGHT = 908,\r\n NINE_HUNDRED_AND_EIGHTEEN = 918,\r\n NINE_HUNDRED_AND_EIGHTY_EIGHT = 988,\r\n NINE_HUNDRED_AND_EIGHTY_FIVE = 985,\r\n NINE_HUNDRED_AND_EIGHTY_FOUR = 984,\r\n NINE_HUNDRED_AND_EIGHTY_NINE = 989,\r\n NINE_HUNDRED_AND_EIGHTY_ONE = 981,\r\n NINE_HUNDRED_AND_EIGHTY_SEVEN = 987,\r\n NINE_HUNDRED_AND_EIGHTY_SIX = 986,\r\n NINE_HUNDRED_AND_EIGHTY_THREE = 983,\r\n NINE_HUNDRED_AND_EIGHTY_TWO = 982,\r\n NINE_HUNDRED_AND_EIGHTY_ZERO = 980,\r\n NINE_HUNDRED_AND_ELEVEN = 911,\r\n NINE_HUNDRED_AND_FIFTEEN = 915,\r\n NINE_HUNDRED_AND_FIFTY_EIGHT = 958,\r\n NINE_HUNDRED_AND_FIFTY_FIVE = 955,\r\n NINE_HUNDRED_AND_FIFTY_FOUR = 954,\r\n NINE_HUNDRED_AND_FIFTY_NINE = 959,\r\n NINE_HUNDRED_AND_FIFTY_ONE = 951,\r\n NINE_HUNDRED_AND_FIFTY_SEVEN = 957,\r\n NINE_HUNDRED_AND_FIFTY_SIX = 956,\r\n NINE_HUNDRED_AND_FIFTY_THREE = 953,\r\n NINE_HUNDRED_AND_FIFTY_TWO = 952,\r\n NINE_HUNDRED_AND_FIFTY_ZERO = 950,\r\n NINE_HUNDRED_AND_FIVE = 905,\r\n NINE_HUNDRED_AND_FORTY_EIGHT = 948,\r\n NINE_HUNDRED_AND_FORTY_FIVE = 945,\r\n NINE_HUNDRED_AND_FORTY_FOUR = 944,\r\n NINE_HUNDRED_AND_FORTY_NINE = 949,\r\n NINE_HUNDRED_AND_FORTY_ONE = 941,\r\n NINE_HUNDRED_AND_FORTY_SEVEN = 947,\r\n NINE_HUNDRED_AND_FORTY_SIX = 946,\r\n NINE_HUNDRED_AND_FORTY_THREE = 943,\r\n NINE_HUNDRED_AND_FORTY_TWO = 942,\r\n NINE_HUNDRED_AND_FORTY_ZERO = 940,\r\n NINE_HUNDRED_AND_FOUR = 904,\r\n NINE_HUNDRED_AND_FOURTEEN = 914,\r\n NINE_HUNDRED_AND_NINE = 909,\r\n NINE_HUNDRED_AND_NINETEEN = 919,\r\n NINE_HUNDRED_AND_NINETY_EIGHT = 998,\r\n NINE_HUNDRED_AND_NINETY_FIVE = 995,\r\n NINE_HUNDRED_AND_NINETY_FOUR = 994,\r\n NINE_HUNDRED_AND_NINETY_NINE = 999,\r\n NINE_HUNDRED_AND_NINETY_ONE = 991,\r\n NINE_HUNDRED_AND_NINETY_SEVEN = 997,\r\n NINE_HUNDRED_AND_NINETY_SIX = 996,\r\n NINE_HUNDRED_AND_NINETY_THREE = 993,\r\n NINE_HUNDRED_AND_NINETY_TWO = 992,\r\n NINE_HUNDRED_AND_NINETY_ZERO = 990,\r\n NINE_HUNDRED_AND_ONE = 901,\r\n NINE_HUNDRED_AND_SEVEN = 907,\r\n NINE_HUNDRED_AND_SEVENTEEN = 917,\r\n NINE_HUNDRED_AND_SEVENTY_EIGHT = 978,\r\n NINE_HUNDRED_AND_SEVENTY_FIVE = 975,\r\n NINE_HUNDRED_AND_SEVENTY_FOUR = 974,\r\n NINE_HUNDRED_AND_SEVENTY_NINE = 979,\r\n NINE_HUNDRED_AND_SEVENTY_ONE = 971,\r\n NINE_HUNDRED_AND_SEVENTY_SEVEN = 977,\r\n NINE_HUNDRED_AND_SEVENTY_SIX = 976,\r\n NINE_HUNDRED_AND_SEVENTY_THREE = 973,\r\n NINE_HUNDRED_AND_SEVENTY_TWO = 972,\r\n NINE_HUNDRED_AND_SEVENTY_ZERO = 970,\r\n NINE_HUNDRED_AND_SIX = 906,\r\n NINE_HUNDRED_AND_SIXTEEN = 916,\r\n NINE_HUNDRED_AND_SIXTY_EIGHT = 968,\r\n NINE_HUNDRED_AND_SIXTY_FIVE = 965,\r\n NINE_HUNDRED_AND_SIXTY_FOUR = 964,\r\n NINE_HUNDRED_AND_SIXTY_NINE = 969,\r\n NINE_HUNDRED_AND_SIXTY_ONE = 961,\r\n NINE_HUNDRED_AND_SIXTY_SEVEN = 967,\r\n NINE_HUNDRED_AND_SIXTY_SIX = 966,\r\n NINE_HUNDRED_AND_SIXTY_THREE = 963,\r\n NINE_HUNDRED_AND_SIXTY_TWO = 962,\r\n NINE_HUNDRED_AND_SIXTY_ZERO = 960,\r\n NINE_HUNDRED_AND_TEN = 910,\r\n NINE_HUNDRED_AND_THIRTEEN = 913,\r\n NINE_HUNDRED_AND_THIRTY_EIGHT = 938,\r\n NINE_HUNDRED_AND_THIRTY_FIVE = 935,\r\n NINE_HUNDRED_AND_THIRTY_FOUR = 934,\r\n NINE_HUNDRED_AND_THIRTY_NINE = 939,\r\n NINE_HUNDRED_AND_THIRTY_ONE = 931,\r\n NINE_HUNDRED_AND_THIRTY_SEVEN = 937,\r\n NINE_HUNDRED_AND_THIRTY_SIX = 936,\r\n NINE_HUNDRED_AND_THIRTY_THREE = 933,\r\n NINE_HUNDRED_AND_THIRTY_TWO = 932,\r\n NINE_HUNDRED_AND_THIRTY_ZERO = 930,\r\n NINE_HUNDRED_AND_THREE = 903,\r\n NINE_HUNDRED_AND_TWELVE = 912,\r\n NINE_HUNDRED_AND_TWENTY_EIGHT = 928,\r\n NINE_HUNDRED_AND_TWENTY_FIVE = 925,\r\n NINE_HUNDRED_AND_TWENTY_FOUR = 924,\r\n NINE_HUNDRED_AND_TWENTY_NINE = 929,\r\n NINE_HUNDRED_AND_TWENTY_ONE = 921,\r\n NINE_HUNDRED_AND_TWENTY_SEVEN = 927,\r\n NINE_HUNDRED_AND_TWENTY_SIX = 926,\r\n NINE_HUNDRED_AND_TWENTY_THREE = 923,\r\n NINE_HUNDRED_AND_TWENTY_TWO = 922,\r\n NINE_HUNDRED_AND_TWENTY_ZERO = 920,\r\n NINE_HUNDRED_AND_TWO = 902,\r\n NINETEEN = 19,\r\n NINETY_ = 90,\r\n NINETY_EIGHT = 98,\r\n NINETY_FIVE = 95,\r\n NINETY_FOUR = 94,\r\n NINETY_NINE = 99,\r\n NINETY_ONE = 91,\r\n NINETY_SEVEN = 97,\r\n NINETY_SIX = 96,\r\n NINETY_THREE = 93,\r\n NINETY_TWO = 92,\r\n ONE = 1,\r\n ONE_HUNDRED = 100,\r\n ONE_HUNDRED_AND_EIGHT = 108,\r\n ONE_HUNDRED_AND_EIGHTEEN = 118,\r\n ONE_HUNDRED_AND_EIGHTY_EIGHT = 188,\r\n ONE_HUNDRED_AND_EIGHTY_FIVE = 185,\r\n ONE_HUNDRED_AND_EIGHTY_FOUR = 184,\r\n ONE_HUNDRED_AND_EIGHTY_NINE = 189,\r\n ONE_HUNDRED_AND_EIGHTY_ONE = 181,\r\n ONE_HUNDRED_AND_EIGHTY_SEVEN = 187,\r\n ONE_HUNDRED_AND_EIGHTY_SIX = 186,\r\n ONE_HUNDRED_AND_EIGHTY_THREE = 183,\r\n ONE_HUNDRED_AND_EIGHTY_TWO = 182,\r\n ONE_HUNDRED_AND_EIGHTY_ZERO = 180,\r\n ONE_HUNDRED_AND_ELEVEN = 111,\r\n ONE_HUNDRED_AND_FIFTEEN = 115,\r\n ONE_HUNDRED_AND_FIFTY_EIGHT = 158,\r\n ONE_HUNDRED_AND_FIFTY_FIVE = 155,\r\n ONE_HUNDRED_AND_FIFTY_FOUR = 154,\r\n ONE_HUNDRED_AND_FIFTY_NINE = 159,\r\n ONE_HUNDRED_AND_FIFTY_ONE = 151,\r\n ONE_HUNDRED_AND_FIFTY_SEVEN = 157,\r\n ONE_HUNDRED_AND_FIFTY_SIX = 156,\r\n ONE_HUNDRED_AND_FIFTY_THREE = 153,\r\n ONE_HUNDRED_AND_FIFTY_TWO = 152,\r\n ONE_HUNDRED_AND_FIFTY_ZERO = 150,\r\n ONE_HUNDRED_AND_FIVE = 105,\r\n ONE_HUNDRED_AND_FORTY_EIGHT = 148,\r\n ONE_HUNDRED_AND_FORTY_FIVE = 145,\r\n ONE_HUNDRED_AND_FORTY_FOUR = 144,\r\n ONE_HUNDRED_AND_FORTY_NINE = 149,\r\n ONE_HUNDRED_AND_FORTY_ONE = 141,\r\n ONE_HUNDRED_AND_FORTY_SEVEN = 147,\r\n ONE_HUNDRED_AND_FORTY_SIX = 146,\r\n ONE_HUNDRED_AND_FORTY_THREE = 143,\r\n ONE_HUNDRED_AND_FORTY_TWO = 142,\r\n ONE_HUNDRED_AND_FORTY_ZERO = 140,\r\n ONE_HUNDRED_AND_FOUR = 104,\r\n ONE_HUNDRED_AND_FOURTEEN = 114,\r\n ONE_HUNDRED_AND_NINE = 109,\r\n ONE_HUNDRED_AND_NINETEEN = 119,\r\n ONE_HUNDRED_AND_NINETY_EIGHT = 198,\r\n ONE_HUNDRED_AND_NINETY_FIVE = 195,\r\n ONE_HUNDRED_AND_NINETY_FOUR = 194,\r\n ONE_HUNDRED_AND_NINETY_NINE = 199,\r\n ONE_HUNDRED_AND_NINETY_ONE = 191,\r\n ONE_HUNDRED_AND_NINETY_SEVEN = 197,\r\n ONE_HUNDRED_AND_NINETY_SIX = 196,\r\n ONE_HUNDRED_AND_NINETY_THREE = 193,\r\n ONE_HUNDRED_AND_NINETY_TWO = 192,\r\n ONE_HUNDRED_AND_NINETY_ZERO = 190,\r\n ONE_HUNDRED_AND_ONE = 101,\r\n ONE_HUNDRED_AND_SEVEN = 107,\r\n ONE_HUNDRED_AND_SEVENTEEN = 117,\r\n ONE_HUNDRED_AND_SEVENTY_EIGHT = 178,\r\n ONE_HUNDRED_AND_SEVENTY_FIVE = 175,\r\n ONE_HUNDRED_AND_SEVENTY_FOUR = 174,\r\n ONE_HUNDRED_AND_SEVENTY_NINE = 179,\r\n ONE_HUNDRED_AND_SEVENTY_ONE = 171,\r\n ONE_HUNDRED_AND_SEVENTY_SEVEN = 177,\r\n ONE_HUNDRED_AND_SEVENTY_SIX = 176,\r\n ONE_HUNDRED_AND_SEVENTY_THREE = 173,\r\n ONE_HUNDRED_AND_SEVENTY_TWO = 172,\r\n ONE_HUNDRED_AND_SEVENTY_ZERO = 170,\r\n ONE_HUNDRED_AND_SIX = 106,\r\n ONE_HUNDRED_AND_SIXTEEN = 116,\r\n ONE_HUNDRED_AND_SIXTY_EIGHT = 168,\r\n ONE_HUNDRED_AND_SIXTY_FIVE = 165,\r\n ONE_HUNDRED_AND_SIXTY_FOUR = 164,\r\n ONE_HUNDRED_AND_SIXTY_NINE = 169,\r\n ONE_HUNDRED_AND_SIXTY_ONE = 161,\r\n ONE_HUNDRED_AND_SIXTY_SEVEN = 167,\r\n ONE_HUNDRED_AND_SIXTY_SIX = 166,\r\n ONE_HUNDRED_AND_SIXTY_THREE = 163,\r\n ONE_HUNDRED_AND_SIXTY_TWO = 162,\r\n ONE_HUNDRED_AND_SIXTY_ZERO = 160,\r\n ONE_HUNDRED_AND_TEN = 110,\r\n ONE_HUNDRED_AND_THIRTEEN = 113,\r\n ONE_HUNDRED_AND_THIRTY_EIGHT = 138,\r\n ONE_HUNDRED_AND_THIRTY_FIVE = 135,\r\n ONE_HUNDRED_AND_THIRTY_FOUR = 134,\r\n ONE_HUNDRED_AND_THIRTY_NINE = 139,\r\n ONE_HUNDRED_AND_THIRTY_ONE = 131,\r\n ONE_HUNDRED_AND_THIRTY_SEVEN = 137,\r\n ONE_HUNDRED_AND_THIRTY_SIX = 136,\r\n ONE_HUNDRED_AND_THIRTY_THREE = 133,\r\n ONE_HUNDRED_AND_THIRTY_TWO = 132,\r\n ONE_HUNDRED_AND_THIRTY_ZERO = 130,\r\n ONE_HUNDRED_AND_THREE = 103,\r\n ONE_HUNDRED_AND_TWELVE = 112,\r\n ONE_HUNDRED_AND_TWENTY_EIGHT = 128,\r\n ONE_HUNDRED_AND_TWENTY_FIVE = 125,\r\n ONE_HUNDRED_AND_TWENTY_FOUR = 124,\r\n ONE_HUNDRED_AND_TWENTY_NINE = 129,\r\n ONE_HUNDRED_AND_TWENTY_ONE = 121,\r\n ONE_HUNDRED_AND_TWENTY_SEVEN = 127,\r\n ONE_HUNDRED_AND_TWENTY_SIX = 126,\r\n ONE_HUNDRED_AND_TWENTY_THREE = 123,\r\n ONE_HUNDRED_AND_TWENTY_TWO = 122,\r\n ONE_HUNDRED_AND_TWENTY_ZERO = 120,\r\n ONE_HUNDRED_AND_TWO = 102,\r\n ONETHOUSAND = 1000,\r\n SEVEN = 7,\r\n SEVEN_HUNDRED = 700,\r\n SEVEN_HUNDRED_AND_EIGHT = 708,\r\n SEVEN_HUNDRED_AND_EIGHTEEN = 718,\r\n SEVEN_HUNDRED_AND_EIGHTY_EIGHT = 788,\r\n SEVEN_HUNDRED_AND_EIGHTY_FIVE = 785,\r\n SEVEN_HUNDRED_AND_EIGHTY_FOUR = 784,\r\n SEVEN_HUNDRED_AND_EIGHTY_NINE = 789,\r\n SEVEN_HUNDRED_AND_EIGHTY_ONE = 781,\r\n SEVEN_HUNDRED_AND_EIGHTY_SEVEN = 787,\r\n SEVEN_HUNDRED_AND_EIGHTY_SIX = 786,\r\n SEVEN_HUNDRED_AND_EIGHTY_THREE = 783,\r\n SEVEN_HUNDRED_AND_EIGHTY_TWO = 782,\r\n SEVEN_HUNDRED_AND_EIGHTY_ZERO = 780,\r\n SEVEN_HUNDRED_AND_ELEVEN = 711,\r\n SEVEN_HUNDRED_AND_FIFTEEN = 715,\r\n SEVEN_HUNDRED_AND_FIFTY_EIGHT = 758,\r\n SEVEN_HUNDRED_AND_FIFTY_FIVE = 755,\r\n SEVEN_HUNDRED_AND_FIFTY_FOUR = 754,\r\n SEVEN_HUNDRED_AND_FIFTY_NINE = 759,\r\n SEVEN_HUNDRED_AND_FIFTY_ONE = 751,\r\n SEVEN_HUNDRED_AND_FIFTY_SEVEN = 757,\r\n SEVEN_HUNDRED_AND_FIFTY_SIX = 756,\r\n SEVEN_HUNDRED_AND_FIFTY_THREE = 753,\r\n SEVEN_HUNDRED_AND_FIFTY_TWO = 752,\r\n SEVEN_HUNDRED_AND_FIFTY_ZERO = 750,\r\n SEVEN_HUNDRED_AND_FIVE = 705,\r\n SEVEN_HUNDRED_AND_FORTY_EIGHT = 748,\r\n SEVEN_HUNDRED_AND_FORTY_FIVE = 745,\r\n SEVEN_HUNDRED_AND_FORTY_FOUR = 744,\r\n SEVEN_HUNDRED_AND_FORTY_NINE = 749,\r\n SEVEN_HUNDRED_AND_FORTY_ONE = 741,\r\n SEVEN_HUNDRED_AND_FORTY_SEVEN = 747,\r\n SEVEN_HUNDRED_AND_FORTY_SIX = 746,\r\n SEVEN_HUNDRED_AND_FORTY_THREE = 743,\r\n SEVEN_HUNDRED_AND_FORTY_TWO = 742,\r\n SEVEN_HUNDRED_AND_FORTY_ZERO = 740,\r\n SEVEN_HUNDRED_AND_FOUR = 704,\r\n SEVEN_HUNDRED_AND_FOURTEEN = 714,\r\n SEVEN_HUNDRED_AND_NINE = 709,\r\n SEVEN_HUNDRED_AND_NINETEEN = 719,\r\n SEVEN_HUNDRED_AND_NINETY_EIGHT = 798,\r\n SEVEN_HUNDRED_AND_NINETY_FIVE = 795,\r\n SEVEN_HUNDRED_AND_NINETY_FOUR = 794,\r\n SEVEN_HUNDRED_AND_NINETY_NINE = 799,\r\n SEVEN_HUNDRED_AND_NINETY_ONE = 791,\r\n SEVEN_HUNDRED_AND_NINETY_SEVEN = 797,\r\n SEVEN_HUNDRED_AND_NINETY_SIX = 796,\r\n SEVEN_HUNDRED_AND_NINETY_THREE = 793,\r\n SEVEN_HUNDRED_AND_NINETY_TWO = 792,\r\n SEVEN_HUNDRED_AND_NINETY_ZERO = 790,\r\n SEVEN_HUNDRED_AND_ONE = 701,\r\n SEVEN_HUNDRED_AND_SEVEN = 707,\r\n SEVEN_HUNDRED_AND_SEVENTEEN = 717,\r\n SEVEN_HUNDRED_AND_SEVENTY_EIGHT = 778,\r\n SEVEN_HUNDRED_AND_SEVENTY_FIVE = 775,\r\n SEVEN_HUNDRED_AND_SEVENTY_FOUR = 774,\r\n SEVEN_HUNDRED_AND_SEVENTY_NINE = 779,\r\n SEVEN_HUNDRED_AND_SEVENTY_ONE = 771,\r\n SEVEN_HUNDRED_AND_SEVENTY_SEVEN = 777,\r\n SEVEN_HUNDRED_AND_SEVENTY_SIX = 776,\r\n SEVEN_HUNDRED_AND_SEVENTY_THREE = 773,\r\n SEVEN_HUNDRED_AND_SEVENTY_TWO = 772,\r\n SEVEN_HUNDRED_AND_SEVENTY_ZERO = 770,\r\n SEVEN_HUNDRED_AND_SIX = 706,\r\n SEVEN_HUNDRED_AND_SIXTEEN = 716,\r\n SEVEN_HUNDRED_AND_SIXTY_EIGHT = 768,\r\n SEVEN_HUNDRED_AND_SIXTY_FIVE = 765,\r\n SEVEN_HUNDRED_AND_SIXTY_FOUR = 764,\r\n SEVEN_HUNDRED_AND_SIXTY_NINE = 769,\r\n SEVEN_HUNDRED_AND_SIXTY_ONE = 761,\r\n SEVEN_HUNDRED_AND_SIXTY_SEVEN = 767,\r\n SEVEN_HUNDRED_AND_SIXTY_SIX = 766,\r\n SEVEN_HUNDRED_AND_SIXTY_THREE = 763,\r\n SEVEN_HUNDRED_AND_SIXTY_TWO = 762,\r\n SEVEN_HUNDRED_AND_SIXTY_ZERO = 760,\r\n SEVEN_HUNDRED_AND_TEN = 710,\r\n SEVEN_HUNDRED_AND_THIRTEEN = 713,\r\n SEVEN_HUNDRED_AND_THIRTY_EIGHT = 738,\r\n SEVEN_HUNDRED_AND_THIRTY_FIVE = 735,\r\n SEVEN_HUNDRED_AND_THIRTY_FOUR = 734,\r\n SEVEN_HUNDRED_AND_THIRTY_NINE = 739,\r\n SEVEN_HUNDRED_AND_THIRTY_ONE = 731,\r\n SEVEN_HUNDRED_AND_THIRTY_SEVEN = 737,\r\n SEVEN_HUNDRED_AND_THIRTY_SIX = 736,\r\n SEVEN_HUNDRED_AND_THIRTY_THREE = 733,\r\n SEVEN_HUNDRED_AND_THIRTY_TWO = 732,\r\n SEVEN_HUNDRED_AND_THIRTY_ZERO = 730,\r\n SEVEN_HUNDRED_AND_THREE = 703,\r\n SEVEN_HUNDRED_AND_TWELVE = 712,\r\n SEVEN_HUNDRED_AND_TWENTY_EIGHT = 728,\r\n SEVEN_HUNDRED_AND_TWENTY_FIVE = 725,\r\n SEVEN_HUNDRED_AND_TWENTY_FOUR = 724,\r\n SEVEN_HUNDRED_AND_TWENTY_NINE = 729,\r\n SEVEN_HUNDRED_AND_TWENTY_ONE = 721,\r\n SEVEN_HUNDRED_AND_TWENTY_SEVEN = 727,\r\n SEVEN_HUNDRED_AND_TWENTY_SIX = 726,\r\n SEVEN_HUNDRED_AND_TWENTY_THREE = 723,\r\n SEVEN_HUNDRED_AND_TWENTY_TWO = 722,\r\n SEVEN_HUNDRED_AND_TWENTY_ZERO = 720,\r\n SEVEN_HUNDRED_AND_TWO = 702,\r\n SEVENTEEN = 17,\r\n SEVENTY_ = 70,\r\n SEVENTY_EIGHT = 78,\r\n SEVENTY_FIVE = 75,\r\n SEVENTY_FOUR = 74,\r\n SEVENTY_NINE = 79,\r\n SEVENTY_ONE = 71,\r\n SEVENTY_SEVEN = 77,\r\n SEVENTY_SIX = 76,\r\n SEVENTY_THREE = 73,\r\n SEVENTY_TWO = 72,\r\n SIX = 6,\r\n SIX_HUNDRED = 600,\r\n SIX_HUNDRED_AND_EIGHT = 608,\r\n SIX_HUNDRED_AND_EIGHTEEN = 618,\r\n SIX_HUNDRED_AND_EIGHTY_EIGHT = 688,\r\n SIX_HUNDRED_AND_EIGHTY_FIVE = 685,\r\n SIX_HUNDRED_AND_EIGHTY_FOUR = 684,\r\n SIX_HUNDRED_AND_EIGHTY_NINE = 689,\r\n SIX_HUNDRED_AND_EIGHTY_ONE = 681,\r\n SIX_HUNDRED_AND_EIGHTY_SEVEN = 687,\r\n SIX_HUNDRED_AND_EIGHTY_SIX = 686,\r\n SIX_HUNDRED_AND_EIGHTY_THREE = 683,\r\n SIX_HUNDRED_AND_EIGHTY_TWO = 682,\r\n SIX_HUNDRED_AND_EIGHTY_ZERO = 680,\r\n SIX_HUNDRED_AND_ELEVEN = 611,\r\n SIX_HUNDRED_AND_FIFTEEN = 615,\r\n SIX_HUNDRED_AND_FIFTY_EIGHT = 658,\r\n SIX_HUNDRED_AND_FIFTY_FIVE = 655,\r\n SIX_HUNDRED_AND_FIFTY_FOUR = 654,\r\n SIX_HUNDRED_AND_FIFTY_NINE = 659,\r\n SIX_HUNDRED_AND_FIFTY_ONE = 651,\r\n SIX_HUNDRED_AND_FIFTY_SEVEN = 657,\r\n SIX_HUNDRED_AND_FIFTY_SIX = 656,\r\n SIX_HUNDRED_AND_FIFTY_THREE = 653,\r\n SIX_HUNDRED_AND_FIFTY_TWO = 652,\r\n SIX_HUNDRED_AND_FIFTY_ZERO = 650,\r\n SIX_HUNDRED_AND_FIVE = 605,\r\n SIX_HUNDRED_AND_FORTY_EIGHT = 648,\r\n SIX_HUNDRED_AND_FORTY_FIVE = 645,\r\n SIX_HUNDRED_AND_FORTY_FOUR = 644,\r\n SIX_HUNDRED_AND_FORTY_NINE = 649,\r\n SIX_HUNDRED_AND_FORTY_ONE = 641,\r\n SIX_HUNDRED_AND_FORTY_SEVEN = 647,\r\n SIX_HUNDRED_AND_FORTY_SIX = 646,\r\n SIX_HUNDRED_AND_FORTY_THREE = 643,\r\n SIX_HUNDRED_AND_FORTY_TWO = 642,\r\n SIX_HUNDRED_AND_FORTY_ZERO = 640,\r\n SIX_HUNDRED_AND_FOUR = 604,\r\n SIX_HUNDRED_AND_FOURTEEN = 614,\r\n SIX_HUNDRED_AND_NINE = 609,\r\n SIX_HUNDRED_AND_NINETEEN = 619,\r\n SIX_HUNDRED_AND_NINETY_EIGHT = 698,\r\n SIX_HUNDRED_AND_NINETY_FIVE = 695,\r\n SIX_HUNDRED_AND_NINETY_FOUR = 694,\r\n SIX_HUNDRED_AND_NINETY_NINE = 699,\r\n SIX_HUNDRED_AND_NINETY_ONE = 691,\r\n SIX_HUNDRED_AND_NINETY_SEVEN = 697,\r\n SIX_HUNDRED_AND_NINETY_SIX = 696,\r\n SIX_HUNDRED_AND_NINETY_THREE = 693,\r\n SIX_HUNDRED_AND_NINETY_TWO = 692,\r\n SIX_HUNDRED_AND_NINETY_ZERO = 690,\r\n SIX_HUNDRED_AND_ONE = 601,\r\n SIX_HUNDRED_AND_SEVEN = 607,\r\n SIX_HUNDRED_AND_SEVENTEEN = 617,\r\n SIX_HUNDRED_AND_SEVENTY_EIGHT = 678,\r\n SIX_HUNDRED_AND_SEVENTY_FIVE = 675,\r\n SIX_HUNDRED_AND_SEVENTY_FOUR = 674,\r\n SIX_HUNDRED_AND_SEVENTY_NINE = 679,\r\n SIX_HUNDRED_AND_SEVENTY_ONE = 671,\r\n SIX_HUNDRED_AND_SEVENTY_SEVEN = 677,\r\n SIX_HUNDRED_AND_SEVENTY_SIX = 676,\r\n SIX_HUNDRED_AND_SEVENTY_THREE = 673,\r\n SIX_HUNDRED_AND_SEVENTY_TWO = 672,\r\n SIX_HUNDRED_AND_SEVENTY_ZERO = 670,\r\n SIX_HUNDRED_AND_SIX = 606,\r\n SIX_HUNDRED_AND_SIXTEEN = 616,\r\n SIX_HUNDRED_AND_SIXTY_EIGHT = 668,\r\n SIX_HUNDRED_AND_SIXTY_FIVE = 665,\r\n SIX_HUNDRED_AND_SIXTY_FOUR = 664,\r\n SIX_HUNDRED_AND_SIXTY_NINE = 669,\r\n SIX_HUNDRED_AND_SIXTY_ONE = 661,\r\n SIX_HUNDRED_AND_SIXTY_SEVEN = 667,\r\n SIX_HUNDRED_AND_SIXTY_SIX = 666,\r\n SIX_HUNDRED_AND_SIXTY_THREE = 663,\r\n SIX_HUNDRED_AND_SIXTY_TWO = 662,\r\n SIX_HUNDRED_AND_SIXTY_ZERO = 660,\r\n SIX_HUNDRED_AND_TEN = 610,\r\n SIX_HUNDRED_AND_THIRTEEN = 613,\r\n SIX_HUNDRED_AND_THIRTY_EIGHT = 638,\r\n SIX_HUNDRED_AND_THIRTY_FIVE = 635,\r\n SIX_HUNDRED_AND_THIRTY_FOUR = 634,\r\n SIX_HUNDRED_AND_THIRTY_NINE = 639,\r\n SIX_HUNDRED_AND_THIRTY_ONE = 631,\r\n SIX_HUNDRED_AND_THIRTY_SEVEN = 637,\r\n SIX_HUNDRED_AND_THIRTY_SIX = 636,\r\n SIX_HUNDRED_AND_THIRTY_THREE = 633,\r\n SIX_HUNDRED_AND_THIRTY_TWO = 632,\r\n SIX_HUNDRED_AND_THIRTY_ZERO = 630,\r\n SIX_HUNDRED_AND_THREE = 603,\r\n SIX_HUNDRED_AND_TWELVE = 612,\r\n SIX_HUNDRED_AND_TWENTY_EIGHT = 628,\r\n SIX_HUNDRED_AND_TWENTY_FIVE = 625,\r\n SIX_HUNDRED_AND_TWENTY_FOUR = 624,\r\n SIX_HUNDRED_AND_TWENTY_NINE = 629,\r\n SIX_HUNDRED_AND_TWENTY_ONE = 621,\r\n SIX_HUNDRED_AND_TWENTY_SEVEN = 627,\r\n SIX_HUNDRED_AND_TWENTY_SIX = 626,\r\n SIX_HUNDRED_AND_TWENTY_THREE = 623,\r\n SIX_HUNDRED_AND_TWENTY_TWO = 622,\r\n SIX_HUNDRED_AND_TWENTY_ZERO = 620,\r\n SIX_HUNDRED_AND_TWO = 602,\r\n SIXTEEN = 16,\r\n SIXTY_ = 60,\r\n SIXTY_EIGHT = 68,\r\n SIXTY_FIVE = 65,\r\n SIXTY_FOUR = 64,\r\n SIXTY_NINE = 69,\r\n SIXTY_ONE = 61,\r\n SIXTY_SEVEN = 67,\r\n SIXTY_SIX = 66,\r\n SIXTY_THREE = 63,\r\n SIXTY_TWO = 62,\r\n TEN = 10,\r\n THIRTEEN = 13,\r\n THIRTY_ = 30,\r\n THIRTY_EIGHT = 38,\r\n THIRTY_FIVE = 35,\r\n THIRTY_FOUR = 34,\r\n THIRTY_NINE = 39,\r\n THIRTY_ONE = 31,\r\n THIRTY_SEVEN = 37,\r\n THIRTY_SIX = 36,\r\n THIRTY_THREE = 33,\r\n THIRTY_TWO = 32,\r\n THREE = 3,\r\n THREE_HUNDRED = 300,\r\n THREE_HUNDRED_AND_EIGHT = 308,\r\n THREE_HUNDRED_AND_EIGHTEEN = 318,\r\n THREE_HUNDRED_AND_EIGHTY_EIGHT = 388,\r\n THREE_HUNDRED_AND_EIGHTY_FIVE = 385,\r\n THREE_HUNDRED_AND_EIGHTY_FOUR = 384,\r\n THREE_HUNDRED_AND_EIGHTY_NINE = 389,\r\n THREE_HUNDRED_AND_EIGHTY_ONE = 381,\r\n THREE_HUNDRED_AND_EIGHTY_SEVEN = 387,\r\n THREE_HUNDRED_AND_EIGHTY_SIX = 386,\r\n THREE_HUNDRED_AND_EIGHTY_THREE = 383,\r\n THREE_HUNDRED_AND_EIGHTY_TWO = 382,\r\n THREE_HUNDRED_AND_EIGHTY_ZERO = 380,\r\n THREE_HUNDRED_AND_ELEVEN = 311,\r\n THREE_HUNDRED_AND_FIFTEEN = 315,\r\n THREE_HUNDRED_AND_FIFTY_EIGHT = 358,\r\n THREE_HUNDRED_AND_FIFTY_FIVE = 355,\r\n THREE_HUNDRED_AND_FIFTY_FOUR = 354,\r\n THREE_HUNDRED_AND_FIFTY_NINE = 359,\r\n THREE_HUNDRED_AND_FIFTY_ONE = 351,\r\n THREE_HUNDRED_AND_FIFTY_SEVEN = 357,\r\n THREE_HUNDRED_AND_FIFTY_SIX = 356,\r\n THREE_HUNDRED_AND_FIFTY_THREE = 353,\r\n THREE_HUNDRED_AND_FIFTY_TWO = 352,\r\n THREE_HUNDRED_AND_FIFTY_ZERO = 350,\r\n THREE_HUNDRED_AND_FIVE = 305,\r\n THREE_HUNDRED_AND_FORTY_EIGHT = 348,\r\n THREE_HUNDRED_AND_FORTY_FIVE = 345,\r\n THREE_HUNDRED_AND_FORTY_FOUR = 344,\r\n THREE_HUNDRED_AND_FORTY_NINE = 349,\r\n THREE_HUNDRED_AND_FORTY_ONE = 341,\r\n THREE_HUNDRED_AND_FORTY_SEVEN = 347,\r\n THREE_HUNDRED_AND_FORTY_SIX = 346,\r\n THREE_HUNDRED_AND_FORTY_THREE = 343,\r\n THREE_HUNDRED_AND_FORTY_TWO = 342,\r\n THREE_HUNDRED_AND_FORTY_ZERO = 340,\r\n THREE_HUNDRED_AND_FOUR = 304,\r\n THREE_HUNDRED_AND_FOURTEEN = 314,\r\n THREE_HUNDRED_AND_NINE = 309,\r\n THREE_HUNDRED_AND_NINETEEN = 319,\r\n THREE_HUNDRED_AND_NINETY_EIGHT = 398,\r\n THREE_HUNDRED_AND_NINETY_FIVE = 395,\r\n THREE_HUNDRED_AND_NINETY_FOUR = 394,\r\n THREE_HUNDRED_AND_NINETY_NINE = 399,\r\n THREE_HUNDRED_AND_NINETY_ONE = 391,\r\n THREE_HUNDRED_AND_NINETY_SEVEN = 397,\r\n THREE_HUNDRED_AND_NINETY_SIX = 396,\r\n THREE_HUNDRED_AND_NINETY_THREE = 393,\r\n THREE_HUNDRED_AND_NINETY_TWO = 392,\r\n THREE_HUNDRED_AND_NINETY_ZERO = 390,\r\n THREE_HUNDRED_AND_ONE = 301,\r\n THREE_HUNDRED_AND_SEVEN = 307,\r\n THREE_HUNDRED_AND_SEVENTEEN = 317,\r\n THREE_HUNDRED_AND_SEVENTY_EIGHT = 378,\r\n THREE_HUNDRED_AND_SEVENTY_FIVE = 375,\r\n THREE_HUNDRED_AND_SEVENTY_FOUR = 374,\r\n THREE_HUNDRED_AND_SEVENTY_NINE = 379,\r\n THREE_HUNDRED_AND_SEVENTY_ONE = 371,\r\n THREE_HUNDRED_AND_SEVENTY_SEVEN = 377,\r\n THREE_HUNDRED_AND_SEVENTY_SIX = 376,\r\n THREE_HUNDRED_AND_SEVENTY_THREE = 373,\r\n THREE_HUNDRED_AND_SEVENTY_TWO = 372,\r\n THREE_HUNDRED_AND_SEVENTY_ZERO = 370,\r\n THREE_HUNDRED_AND_SIX = 306,\r\n THREE_HUNDRED_AND_SIXTEEN = 316,\r\n THREE_HUNDRED_AND_SIXTY_EIGHT = 368,\r\n THREE_HUNDRED_AND_SIXTY_FIVE = 365,\r\n THREE_HUNDRED_AND_SIXTY_FOUR = 364,\r\n THREE_HUNDRED_AND_SIXTY_NINE = 369,\r\n THREE_HUNDRED_AND_SIXTY_ONE = 361,\r\n THREE_HUNDRED_AND_SIXTY_SEVEN = 367,\r\n THREE_HUNDRED_AND_SIXTY_SIX = 366,\r\n THREE_HUNDRED_AND_SIXTY_THREE = 363,\r\n THREE_HUNDRED_AND_SIXTY_TWO = 362,\r\n THREE_HUNDRED_AND_SIXTY_ZERO = 360,\r\n THREE_HUNDRED_AND_TEN = 310,\r\n THREE_HUNDRED_AND_THIRTEEN = 313,\r\n THREE_HUNDRED_AND_THIRTY_EIGHT = 338,\r\n THREE_HUNDRED_AND_THIRTY_FIVE = 335,\r\n THREE_HUNDRED_AND_THIRTY_FOUR = 334,\r\n THREE_HUNDRED_AND_THIRTY_NINE = 339,\r\n THREE_HUNDRED_AND_THIRTY_ONE = 331,\r\n THREE_HUNDRED_AND_THIRTY_SEVEN = 337,\r\n THREE_HUNDRED_AND_THIRTY_SIX = 336,\r\n THREE_HUNDRED_AND_THIRTY_THREE = 333,\r\n THREE_HUNDRED_AND_THIRTY_TWO = 332,\r\n THREE_HUNDRED_AND_THIRTY_ZERO = 330,\r\n THREE_HUNDRED_AND_THREE = 303,\r\n THREE_HUNDRED_AND_TWELVE = 312,\r\n THREE_HUNDRED_AND_TWENTY_EIGHT = 328,\r\n THREE_HUNDRED_AND_TWENTY_FIVE = 325,\r\n THREE_HUNDRED_AND_TWENTY_FOUR = 324,\r\n THREE_HUNDRED_AND_TWENTY_NINE = 329,\r\n THREE_HUNDRED_AND_TWENTY_ONE = 321,\r\n THREE_HUNDRED_AND_TWENTY_SEVEN = 327,\r\n THREE_HUNDRED_AND_TWENTY_SIX = 326,\r\n THREE_HUNDRED_AND_TWENTY_THREE = 323,\r\n THREE_HUNDRED_AND_TWENTY_TWO = 322,\r\n THREE_HUNDRED_AND_TWENTY_ZERO = 320,\r\n THREE_HUNDRED_AND_TWO = 302,\r\n TWELVE = 12,\r\n TWENTY_ = 20,\r\n TWENTY_EIGHT = 28,\r\n TWENTY_FIVE = 25,\r\n TWENTY_FOUR = 24,\r\n TWENTY_NINE = 29,\r\n TWENTY_ONE = 21,\r\n TWENTY_SEVEN = 27,\r\n TWENTY_SIX = 26,\r\n TWENTY_THREE = 23,\r\n TWENTY_TWO = 22,\r\n TWO = 2,\r\n TWO_HUNDRED = 200,\r\n TWO_HUNDRED_AND_EIGHT = 208,\r\n TWO_HUNDRED_AND_EIGHTEEN = 218,\r\n TWO_HUNDRED_AND_EIGHTY_EIGHT = 288,\r\n TWO_HUNDRED_AND_EIGHTY_FIVE = 285,\r\n TWO_HUNDRED_AND_EIGHTY_FOUR = 284,\r\n TWO_HUNDRED_AND_EIGHTY_NINE = 289,\r\n TWO_HUNDRED_AND_EIGHTY_ONE = 281,\r\n TWO_HUNDRED_AND_EIGHTY_SEVEN = 287,\r\n TWO_HUNDRED_AND_EIGHTY_SIX = 286,\r\n TWO_HUNDRED_AND_EIGHTY_THREE = 283,\r\n TWO_HUNDRED_AND_EIGHTY_TWO = 282,\r\n TWO_HUNDRED_AND_EIGHTY_ZERO = 280,\r\n TWO_HUNDRED_AND_ELEVEN = 211,\r\n TWO_HUNDRED_AND_FIFTEEN = 215,\r\n TWO_HUNDRED_AND_FIFTY_EIGHT = 258,\r\n TWO_HUNDRED_AND_FIFTY_FIVE = 255,\r\n TWO_HUNDRED_AND_FIFTY_FOUR = 254,\r\n TWO_HUNDRED_AND_FIFTY_NINE = 259,\r\n TWO_HUNDRED_AND_FIFTY_ONE = 251,\r\n TWO_HUNDRED_AND_FIFTY_SEVEN = 257,\r\n TWO_HUNDRED_AND_FIFTY_SIX = 256,\r\n TWO_HUNDRED_AND_FIFTY_THREE = 253,\r\n TWO_HUNDRED_AND_FIFTY_TWO = 252,\r\n TWO_HUNDRED_AND_FIFTY_ZERO = 250,\r\n TWO_HUNDRED_AND_FIVE = 205,\r\n TWO_HUNDRED_AND_FORTY_EIGHT = 248,\r\n TWO_HUNDRED_AND_FORTY_FIVE = 245,\r\n TWO_HUNDRED_AND_FORTY_FOUR = 244,\r\n TWO_HUNDRED_AND_FORTY_NINE = 249,\r\n TWO_HUNDRED_AND_FORTY_ONE = 241,\r\n TWO_HUNDRED_AND_FORTY_SEVEN = 247,\r\n TWO_HUNDRED_AND_FORTY_SIX = 246,\r\n TWO_HUNDRED_AND_FORTY_THREE = 243,\r\n TWO_HUNDRED_AND_FORTY_TWO = 242,\r\n TWO_HUNDRED_AND_FORTY_ZERO = 240,\r\n TWO_HUNDRED_AND_FOUR = 204,\r\n TWO_HUNDRED_AND_FOURTEEN = 214,\r\n TWO_HUNDRED_AND_NINE = 209,\r\n TWO_HUNDRED_AND_NINETEEN = 219,\r\n TWO_HUNDRED_AND_NINETY_EIGHT = 298,\r\n TWO_HUNDRED_AND_NINETY_FIVE = 295,\r\n TWO_HUNDRED_AND_NINETY_FOUR = 294,\r\n TWO_HUNDRED_AND_NINETY_NINE = 299,\r\n TWO_HUNDRED_AND_NINETY_ONE = 291,\r\n TWO_HUNDRED_AND_NINETY_SEVEN = 297,\r\n TWO_HUNDRED_AND_NINETY_SIX = 296,\r\n TWO_HUNDRED_AND_NINETY_THREE = 293,\r\n TWO_HUNDRED_AND_NINETY_TWO = 292,\r\n TWO_HUNDRED_AND_NINETY_ZERO = 290,\r\n TWO_HUNDRED_AND_ONE = 201,\r\n TWO_HUNDRED_AND_SEVEN = 207,\r\n TWO_HUNDRED_AND_SEVENTEEN = 217,\r\n TWO_HUNDRED_AND_SEVENTY_EIGHT = 278,\r\n TWO_HUNDRED_AND_SEVENTY_FIVE = 275,\r\n TWO_HUNDRED_AND_SEVENTY_FOUR = 274,\r\n TWO_HUNDRED_AND_SEVENTY_NINE = 279,\r\n TWO_HUNDRED_AND_SEVENTY_ONE = 271,\r\n TWO_HUNDRED_AND_SEVENTY_SEVEN = 277,\r\n TWO_HUNDRED_AND_SEVENTY_SIX = 276,\r\n TWO_HUNDRED_AND_SEVENTY_THREE = 273,\r\n TWO_HUNDRED_AND_SEVENTY_TWO = 272,\r\n TWO_HUNDRED_AND_SEVENTY_ZERO = 270,\r\n TWO_HUNDRED_AND_SIX = 206,\r\n TWO_HUNDRED_AND_SIXTEEN = 216,\r\n TWO_HUNDRED_AND_SIXTY_EIGHT = 268,\r\n TWO_HUNDRED_AND_SIXTY_FIVE = 265,\r\n TWO_HUNDRED_AND_SIXTY_FOUR = 264,\r\n TWO_HUNDRED_AND_SIXTY_NINE = 269,\r\n TWO_HUNDRED_AND_SIXTY_ONE = 261,\r\n TWO_HUNDRED_AND_SIXTY_SEVEN = 267,\r\n TWO_HUNDRED_AND_SIXTY_SIX = 266,\r\n TWO_HUNDRED_AND_SIXTY_THREE = 263,\r\n TWO_HUNDRED_AND_SIXTY_TWO = 262,\r\n TWO_HUNDRED_AND_SIXTY_ZERO = 260,\r\n TWO_HUNDRED_AND_TEN = 210,\r\n TWO_HUNDRED_AND_THIRTEEN = 213,\r\n TWO_HUNDRED_AND_THIRTY_EIGHT = 238,\r\n TWO_HUNDRED_AND_THIRTY_FIVE = 235,\r\n TWO_HUNDRED_AND_THIRTY_FOUR = 234,\r\n TWO_HUNDRED_AND_THIRTY_NINE = 239,\r\n TWO_HUNDRED_AND_THIRTY_ONE = 231,\r\n TWO_HUNDRED_AND_THIRTY_SEVEN = 237,\r\n TWO_HUNDRED_AND_THIRTY_SIX = 236,\r\n TWO_HUNDRED_AND_THIRTY_THREE = 233,\r\n TWO_HUNDRED_AND_THIRTY_TWO = 232,\r\n TWO_HUNDRED_AND_THIRTY_ZERO = 230,\r\n TWO_HUNDRED_AND_THREE = 203,\r\n TWO_HUNDRED_AND_TWELVE = 212,\r\n TWO_HUNDRED_AND_TWENTY_EIGHT = 228,\r\n TWO_HUNDRED_AND_TWENTY_FIVE = 225,\r\n TWO_HUNDRED_AND_TWENTY_FOUR = 224,\r\n TWO_HUNDRED_AND_TWENTY_NINE = 229,\r\n TWO_HUNDRED_AND_TWENTY_ONE = 221,\r\n TWO_HUNDRED_AND_TWENTY_SEVEN = 227,\r\n TWO_HUNDRED_AND_TWENTY_SIX = 226,\r\n TWO_HUNDRED_AND_TWENTY_THREE = 223,\r\n TWO_HUNDRED_AND_TWENTY_TWO = 222,\r\n TWO_HUNDRED_AND_TWENTY_ZERO = 220,\r\n TWO_HUNDRED_AND_TWO = 202,\r\n ZERO = 0,\r\n FIVE_SECONDS = 5000,\r\n MS_PER_DAY = 86400000\r\n}\r\n","export enum AgroStringMasks {\r\n CNPJ = \"99.999.999/9999-99\",\r\n CPF = \"999.999.999-99\",\r\n CEP = \"99999-999\",\r\n CELLPHONE = \"(99) 99999-9999\",\r\n PHONE = \"(99) 9999-9999\",\r\n DATE = \"99/99/9999\",\r\n TIME = \"99:99\",\r\n DATETIME = \"99/99/9999 99:99\",\r\n}\r\n","export enum DateComparisonType {\r\n greatherThan = \"greatherThan\",\r\n lessThan = \"lessThan\",\r\n}\r\n","export enum HttpCodes {\r\n Continue = 100,\r\n SwitchingProtocols = 101,\r\n Processing = 102,\r\n EarlyHints = 103,\r\n OK = 200,\r\n Created = 201,\r\n Accepted = 202,\r\n NonAuthoritativeInformation = 203,\r\n NoContent = 204,\r\n ResetContent = 205,\r\n PartialContent = 206,\r\n MultiStatus = 207,\r\n AlreadyReported = 208,\r\n IMUsed = 226,\r\n MultipleChoices = 300,\r\n MovedPermanently = 301,\r\n Found = 302,\r\n SeeOther = 303,\r\n NotModified = 304,\r\n UseProxy = 305,\r\n TemporaryRedirect = 307,\r\n PermanentRedirect = 308,\r\n BadRequest = 400,\r\n Unauthorized = 401,\r\n PaymentRequired = 402,\r\n Forbidden = 403,\r\n NotFound = 404,\r\n MethodNotAllowed = 405,\r\n NotAcceptable = 406,\r\n ProxyAuthenticationRequired = 407,\r\n RequestTimeout = 408,\r\n Conflict = 409,\r\n Gone = 410,\r\n LengthRequired = 411,\r\n PreconditionFailed = 412,\r\n PayloadTooLarge = 413,\r\n URITooLong = 414,\r\n UnsupportedMediaType = 415,\r\n RangeNotSatisfiable = 416,\r\n ExpectationFailed = 417,\r\n ImATeapot = 418,\r\n MisdirectedRequest = 421,\r\n UnprocessableEntity = 422,\r\n Locked = 423,\r\n FailedDependency = 424,\r\n TooEarly = 425,\r\n UpgradeRequired = 426,\r\n PreconditionRequired = 428,\r\n TooManyRequests = 429,\r\n RequestHeaderFieldsTooLarge = 431,\r\n UnavailableForLegalReasons = 451,\r\n InternalServerError = 500,\r\n NotImplemented = 501,\r\n BadGateway = 502,\r\n ServiceUnavailable = 503,\r\n GatewayTimeout = 504,\r\n HTTPVersionNotSupported = 505,\r\n VariantAlsoNegotiates = 506,\r\n InsufficientStorage = 507,\r\n LoopDetected = 508,\r\n NotExtended = 510,\r\n NetworkAuthenticationRequired = 511\r\n}\r\n","export enum NumberComparisonType {\r\n EQUALS = \"EQUALS\",\r\n NOT_EQUALS = \"NOT_EQUALS\",\r\n LESS_THAN = \"LESS_THAN\",\r\n LESS_THAN_OR_EQUAL = \"LESS_THAN_OR_EQUAL\",\r\n GREATER_THAN = \"GREATER_THAN\",\r\n GREATER_THAN_OR_EQUAL = \"GREATER_THAN_OR_EQUAL\",\r\n}\r\n","export enum UnitOfMeasurement {\r\n // Comprimento\r\n METRO = \"m\",\r\n CENTIMETRO = \"cm\",\r\n MILIMETRO = \"mm\",\r\n QUILOMETRO = \"km\",\r\n POLEGADA = \"in\",\r\n PE = \"ft\",\r\n\r\n // Massa\r\n GRAMA = \"g\",\r\n QUILOGRAMA = \"kg\",\r\n TONELADA = \"t\",\r\n LIBRA = \"lb\",\r\n SACA = \"saca\",\r\n\r\n // Área\r\n METRO_QUADRADO = \"m²\",\r\n CENTIMETRO_QUADRADO = \"cm²\",\r\n HECTARE = \"ha\",\r\n ALQUEIRE_50x50 = \"alq50x50\",\r\n ALQUEIRE_50x75 = \"alq50x75\",\r\n ALQUEIRE_DO_NORTE = \"alqDoNorte\",\r\n ALQUEIRE_75x80 = \"alq75x80\",\r\n ALQUEIRE_79x79 = \"alq79x79\",\r\n ALQUEIRE_80x80 = \"alq80x80\",\r\n ALQUEIRE_75x100 = \"alq75x100\",\r\n ALQUEIRE_100x150 = \"alq100x150\",\r\n ALQUEIRE_BAIANO = \"alqBaiano\",\r\n ALQUEIRAO = \"alqueirao\",\r\n ALQUEIRE_PAULISTA = \"alqPaulista\",\r\n ALQUEIRE_MINEIRO = \"alqMineiro\",\r\n\r\n // Volume\r\n LITRO = \"L\",\r\n MILILITRO = \"mL\",\r\n METRO_CUBICO = \"m³\",\r\n\r\n // Tempo\r\n SEGUNDO = \"s\",\r\n MINUTO = \"min\",\r\n HORA = \"h\",\r\n DIA = \"dia\",\r\n\r\n // Temperatura\r\n CELSIUS = \"°C\",\r\n FAHRENHEIT = \"°F\",\r\n KELVIN = \"K\",\r\n\r\n // Energia\r\n JOULE = \"J\",\r\n CALORIA = \"cal\",\r\n QUILOWATT_HORA = \"kWh\",\r\n\r\n // Eletricidade\r\n VOLT = \"V\",\r\n AMPERE = \"A\",\r\n WATT = \"W\",\r\n\r\n // Dados digitais\r\n BYTE = \"B\",\r\n KILOBYTE = \"KB\",\r\n MEGABYTE = \"MB\",\r\n GIGABYTE = \"GB\",\r\n TERABYTE = \"TB\",\r\n}\r\n","\r\nimport { AGRO_NUMBERS } from \"../enums\";\r\nexport { AgroCookieUtils as ACU, AgroCookieUtils as CookieUtils };\r\n\r\nexport class AgroCookieUtils {\r\n\r\n public static getCookie(name: string, parseURIValue = false): string | undefined {\r\n const cookieValue = document.cookie.split(';')\r\n .map(cookie => cookie.trim())\r\n .find(cookie => cookie.startsWith(name));\r\n let result = cookieValue?.split('=')[1];\r\n\r\n if (parseURIValue && result) {\r\n result = decodeURIComponent(result);\r\n }\r\n return result;\r\n\r\n }\r\n\r\n public static parseCookieToObject(cookieString: string, parseURIString = false): { [key: string]: string } {\r\n const cookieObject: { [key: string]: string } = {};\r\n if (parseURIString) {\r\n cookieString = decodeURIComponent(cookieString);\r\n }\r\n if (AgroCookieUtils.isStringAnObject(cookieString)) {\r\n return JSON.parse(cookieString);\r\n }\r\n cookieString.split(';').forEach(cookie => {\r\n const [key, value] = cookie.split('=').map(c => c.trim());\r\n cookieObject[key] = value;\r\n });\r\n return cookieObject;\r\n }\r\n\r\n public static isStringAnObject(str: string) {\r\n try {\r\n const parsed = JSON.parse(str);\r\n return typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed);\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n public static setCookie(name: string, value: string, days: number) {\r\n if (days < AGRO_NUMBERS.ZERO) {\r\n throw new Error(\"O número de dias não pode ser negativo.\");\r\n }\r\n const date = new Date();\r\n date.setTime(date.getTime() + (days * AGRO_NUMBERS.MS_PER_DAY));\r\n const expires = 'expires=' + date.toUTCString();\r\n document.cookie = `${name}=${value};${expires};path=/`;\r\n }\r\n\r\n\r\n}\r\n","import moment from \"moment\";\r\nimport { AGRO_NUMBERS } from \"../enums\";\r\n\r\nexport { AgroObjectUtils as AOU, AgroObjectUtils as ObjectUtils };\r\n\r\n// Local enum for field types instead of importing from external package\r\nenum FieldType {\r\n String = \"String\",\r\n Date = \"Date\",\r\n Money = \"Money\"\r\n}\r\n\r\n/**\r\n * Classe utilitária para operações de objeto.\r\n */\r\nexport class AgroObjectUtils {\r\n /**\r\n * Verifica se um objeto é nulo ou indefinido.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for nulo ou indefinido, false caso contrário.\r\n */\r\n static isNullOrUndefined(obj: any): boolean {\r\n return obj === null || obj === undefined;\r\n }\r\n\r\n /**\r\n * Verifica se um objeto não é nulo e não é indefinido.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto não for nulo e não for indefinido, false caso contrário.\r\n */\r\n static isNotNullOrUndefined(obj: any): boolean {\r\n return !AgroObjectUtils.isNullOrUndefined(obj);\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é uma string.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for uma string, false caso contrário.\r\n */\r\n static isString(obj: any): boolean {\r\n return typeof obj === \"string\";\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é um número.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for um número, false caso contrário.\r\n */\r\n static isNumber(obj: any): boolean {\r\n return typeof obj === \"number\";\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é um booleano.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for um booleano, false caso contrário.\r\n */\r\n static isBoolean(obj: any): boolean {\r\n return typeof obj === \"boolean\";\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é uma função.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for uma função, false caso contrário.\r\n */\r\n static isFunction(obj: any): boolean {\r\n return typeof obj === \"function\";\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é um array.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for um array, false caso contrário.\r\n */\r\n static isArray(obj: any): boolean {\r\n return Array.isArray(obj);\r\n }\r\n\r\n /**\r\n * Verifica se o valor informado é um objeto.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for um objeto, false caso contrário.\r\n */\r\n static isObject(obj: any): boolean {\r\n return typeof obj === \"object\";\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é uma data.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for uma data, false caso contrário.\r\n */\r\n static isDate(obj: any): boolean {\r\n return obj instanceof Date;\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é um erro.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for um erro, false caso contrário.\r\n */\r\n static isError(obj: any): boolean {\r\n return obj instanceof Error;\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é uma expressão regular.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for uma expressão regular, false caso contrário.\r\n */\r\n static isRegExp(obj: any): boolean {\r\n return obj instanceof RegExp;\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é um valor primitivo.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for um valor primitivo, false caso contrário.\r\n */\r\n static isPrimitive(obj: any): boolean {\r\n return AgroObjectUtils.isString(obj) || AgroObjectUtils.isNumber(obj) || AgroObjectUtils.isBoolean(obj);\r\n }\r\n\r\n /**\r\n * Verifica se todos os valores de um objeto são nulos ou indefinidos.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se todos os valores do objeto forem nulos ou indefinidos, false caso contrário.\r\n */\r\n static allNull(obj: any): boolean {\r\n if (!AgroObjectUtils.isObject(obj)) {\r\n return false;\r\n }\r\n\r\n for (const key in obj) {\r\n if (obj.hasOwnProperty(key) && !AgroObjectUtils.isNullOrUndefined(obj[key])) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private static compareArrays(arr1: unknown[], arr2: unknown[]): boolean {\r\n if (arr1.length !== arr2.length) {\r\n return false;\r\n }\r\n return arr1.every((v, i) => AgroObjectUtils.isEqual(v, arr2[i]));\r\n }\r\n\r\n private static compareObjects(obj1: object, obj2: object): boolean {\r\n const keys1 = Object.keys(obj1);\r\n const keys2 = Object.keys(obj2);\r\n if (keys1.length !== keys2.length) {\r\n return false;\r\n }\r\n return keys1.every((key) => (obj2 as any).hasOwnProperty(key) && AgroObjectUtils.isEqual((obj1 as any)[key], (obj2 as any)[key]));\r\n }\r\n\r\n /**\r\n * Compara dois objetos para verificar se são iguais.\r\n * @param obj1 - O primeiro objeto a ser comparado.\r\n * @param obj2 - O segundo objeto a ser comparado.\r\n * @returns True se os objetos forem iguais, false caso contrário.\r\n */\r\n static isEqual(obj1: unknown, obj2: unknown): boolean {\r\n if (obj1 === obj2) {\r\n return true;\r\n }\r\n\r\n if (obj1 === null || obj2 === null || typeof obj1 !== \"object\" || typeof obj2 !== \"object\") {\r\n return false;\r\n }\r\n\r\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\r\n return this.compareArrays(obj1, obj2);\r\n }\r\n\r\n if (Array.isArray(obj1) || Array.isArray(obj2)) {\r\n return false;\r\n }\r\n\r\n return this.compareObjects(obj1, obj2);\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é nulo.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for nulo ou um objeto vazio, false caso contrário.\r\n */\r\n static isNull(obj: any): boolean {\r\n return obj === null;\r\n }\r\n\r\n /**\r\n * Verifica se um objeto não é nulo.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto não for nulo, false caso contrário.\r\n */\r\n static isNotNull(obj: any): boolean {\r\n return !AgroObjectUtils.isNull(obj);\r\n }\r\n\r\n /**\r\n * Converte um objeto para uma string JSON.\r\n * @param obj - O objeto a ser convertido.\r\n * @returns A string JSON representando o objeto.\r\n */\r\n static toJSON(obj: any): string {\r\n return JSON.stringify(obj);\r\n }\r\n\r\n /**\r\n * Verifica se um objeto não é vazio.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto não for vazio, false caso contrário.\r\n */\r\n static isNotEmpty(obj: any): boolean {\r\n if (!AgroObjectUtils.isObject(obj)) {\r\n return false;\r\n }\r\n return Object.keys(obj).length !== AGRO_NUMBERS.ZERO;\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é vazio.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for vazio, false caso contrário.\r\n */\r\n static isEmpty(obj: any): boolean {\r\n return !AgroObjectUtils.isNotEmpty(obj);\r\n }\r\n\r\n /**\r\n * Verifica se um objeto não está vazio e contém uma determinada propriedade.\r\n * @param obj - O objeto a ser verificado.\r\n * @param property - A propriedade a ser verificada.\r\n * @returns True se o objeto não estiver vazio e contiver a propriedade, false caso contrário.\r\n */\r\n static containsProperty(obj: any, property: string): boolean {\r\n return AgroObjectUtils.isNotEmpty(obj) && obj.hasOwnProperty(property);\r\n }\r\n\r\n /**\r\n * Verifica se o parâmetro recebido é um objeto e se ele contém a propriedade ID.\r\n */\r\n static hasId(obj: any): boolean {\r\n return AgroObjectUtils.isNotEmpty(obj) && obj.hasOwnProperty(\"id\");\r\n }\r\n\r\n /**\r\n * Verifica se o valor informado no parâmetro possui as propriedades de uma entidade SDL (id e createdAt).\r\n * @param obj\r\n * @returns\r\n */\r\n static isSDLEntity(obj: any): boolean {\r\n return AgroObjectUtils.isNotEmpty(obj) && obj.hasOwnProperty(\"id\") && obj.hasOwnProperty(\"createdAt\");\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é valido, considerando que haja no mínimo 1 propriedade\r\n */\r\n static isValid(obj: any): boolean {\r\n return Object.keys(obj).length > AGRO_NUMBERS.ZERO && AgroObjectUtils.isNotEmpty(obj);\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é inválido, considerando que não haja nenhuma propriedade\r\n */\r\n static isInvalid(obj: any): boolean {\r\n return !AgroObjectUtils.isValid(obj);\r\n }\r\n\r\n /**\r\n * Encontra uma propriedade em um objeto pelo nome e retorna seu valor.\r\n * Se o valor for um objeto, retorna o próprio objeto.\r\n *\r\n * @param obj O objeto onde buscar.\r\n * @param key O nome da propriedade a ser encontrada.\r\n * @param deepSearch Indica se a busca deve ser em profundidade (padrão: true).\r\n * @returns O valor da propriedade, ou undefined se não for encontrada.\r\n */\r\n static findProperty(obj: Record<string, any>, key: string, deepSearch: boolean = true): any {\r\n if (AgroObjectUtils.isInvalid(obj)) {\r\n throw new Error(\"O primeiro argumento deve ser um objeto.\");\r\n }\r\n\r\n if (key in obj) {\r\n return obj[key];\r\n }\r\n\r\n if (deepSearch) {\r\n for (const prop in obj) {\r\n if (obj.hasOwnProperty(prop) && typeof obj[prop] === \"object\") {\r\n const result = AgroObjectUtils.findProperty(obj[prop], key, deepSearch);\r\n if (result !== undefined) {\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Recebe uma string (JSON) e tenta converter para um objeto.\r\n * @param value\r\n */\r\n static fromString(value: string): any {\r\n try {\r\n return JSON.parse(value);\r\n } catch (e) {\r\n return undefined;\r\n }\r\n }\r\n\r\n /**\r\n * Copia as propriedades explicitadas de um objeto para outro\r\n * @param obj\r\n * @param keys\r\n * @returns\r\n */\r\n static pick<T, K extends keyof T>(obj: T, keys: readonly K[]): Pick<T, K> {\r\n const result = {} as Pick<T, K>;\r\n for (const key of keys) {\r\n result[key] = obj[key];\r\n }\r\n return result;\r\n }\r\n\r\n /**\r\n * Retorna o valor de uma propriedade de um objeto, formatado conforme o tipo especificado.\r\n *\r\n * @param obj - O objeto do qual a propriedade será extraída.\r\n * @param path - O caminho da propriedade no objeto (pode ser um caminho aninhado).\r\n * @param type - O tipo de formatação a ser aplicada (String, Date, Money).\r\n * @returns O valor formatado da propriedade.\r\n */\r\n static getPropAndFormatValue(obj: any, path: any, type: FieldType) {\r\n const r = path.split(\".\").reduce((result: any, prop: any) => (result[prop] === undefined ? \"\" : result[prop]), obj);\r\n if (!r) {\r\n return \"\";\r\n }\r\n if (type === FieldType.String) {\r\n return r;\r\n } else if (type === FieldType.Date) {\r\n return moment(r).format(\"L\");\r\n } else if (type === FieldType.Money) {\r\n return Number(r).toLocaleString(\"pt-BR\", { style: \"currency\", currency: \"BRL\" });\r\n } else {\r\n return r;\r\n }\r\n }\r\n}\r\n","import moment from 'moment';\r\nimport { AGRO_NUMBERS } from '../enums';\r\n\r\nconst DEFAULT_DATE_FORMAT = 'DD/MM/YYYY';\r\n\r\nexport class AgroDateUtils {\r\n /**\r\n * Verifica se uma data é nula ou indefinida.\r\n * @param date - A data a ser verificada.\r\n * @returns True se a data for nula ou indefinida, false caso contrário.\r\n */\r\n public static isNullOrUndefined(date: Date | null | undefined): boolean {\r\n return date === null || date === undefined;\r\n }\r\n\r\n /**\r\n * Verifica se uma data não é nula e não é indefinida.\r\n * @param date - A data a ser verificada.\r\n * @returns True se a data não for nula e não for indefinida, false caso contrário.\r\n */\r\n public static isNotNullOrUndefined(date: Date | null | undefined): boolean {\r\n return !AgroDateUtils.isNullOrUndefined(date);\r\n }\r\n\r\n /**\r\n * Verifica se uma data é válida.\r\n * @param date - A data a ser verificada.\r\n * @returns True se a data for válida, false caso contrário.\r\n */\r\n public static isValid(date: string): boolean {\r\n return !isNaN(Date.parse(date));\r\n }\r\n\r\n /**\r\n * Verifica se uma data é inválida.\r\n * @param date - A data a ser verificada.\r\n * @returns True se a data for inválida, false caso contrário.\r\n */\r\n public static isInvalid(date: string): boolean {\r\n return !AgroDateUtils.isValid(date);\r\n }\r\n\r\n /**\r\n * Verifica se uma data é antes de outra data.\r\n * @param date - A data a ser verificada.\r\n * @param otherDate - A outra data a ser comparada.\r\n * @returns True se a data for antes da outra data, false caso contrário.\r\n */\r\n public static isBefore(date: Date, otherDate: Date): boolean {\r\n return date < otherDate;\r\n }\r\n\r\n /**\r\n * Verifica se uma data é depois de outra data.\r\n * @param date - A data a ser verificada.\r\n * @param otherDate - A outra data a ser comparada.\r\n * @returns True se a data for depois da outra data, false caso contrário.\r\n */\r\n public static isAfter(date: Date, otherDate: Date): boolean {\r\n return date > otherDate;\r\n }\r\n\r\n /**\r\n * Verifica se uma data é igual a outra data.\r\n * @param date - A data a ser verificada.\r\n * @param otherDate - A outra data a ser comparada.\r\n * @returns True se a data for igual a outra data, false caso contrário.\r\n */\r\n public static isEqual(date: Date, otherDate: Date): boolean {\r\n return date.getTime() === otherDate.getTime();\r\n }\r\n\r\n /**\r\n * Verifica se uma data é menor ou igual a outra data.\r\n * @param date - A data a ser verificada.\r\n * @param otherDate - A outra data a ser comparada.\r\n * @returns True se a data for menor ou igual a outra data, false caso contrário.\r\n */\r\n public static isLessOrEqual(date: Date, otherDate: Date): boolean {\r\n return date <= otherDate;\r\n }\r\n\r\n /**\r\n * Verifica se uma data é maior ou igual a outra data.\r\n * @param date - A data a ser verificada.\r\n * @param otherDate - A outra data a ser comparada.\r\n * @returns True se a data for maior ou igual a outra data, false caso contrário.\r\n */\r\n public static isGreaterOrEqual(date: Date, otherDate: Date): boolean {\r\n return date >= otherDate;\r\n }\r\n\r\n /**\r\n * Verifica se uma data é menor que outra data.\r\n * @param date - A data a ser verificada.\r\n * @param otherDate - A outra data a ser comparada.\r\n * @returns True se a data for menor que outra data, false caso contrário.\r\n */\r\n public static isLess(date: Date, otherDate: Date): boolean {\r\n return date < otherDate;\r\n }\r\n\r\n /**\r\n * Verifica se uma data é maior que outra data.\r\n * @param date - A data a ser verificada.\r\n * @param otherDate - A outra data a ser comparada.\r\n * @returns True se a data for maior que outra data, false caso contrário.\r\n */\r\n public static isGreater(date: Date, otherDate: Date): boolean {\r\n return date > otherDate;\r\n }\r\n\r\n /**\r\n * Retorna a data formatada conforme o formato especificado.\r\n * @param date\r\n * @param format\r\n * @returns\r\n */\r\n static formatDate(date: Date, format: string = DEFAULT_DATE_FORMAT): string {\r\n return moment(date).utc().format(format);\r\n }\r\n\r\n /**\r\n * Retorna uma string com o número informado adicionando um 0 à esquerda, caso o número seja menor que 10.\r\n * @param value\r\n * @returns\r\n */\r\n static padZero(value: number): string {\r\n if (value < AGRO_NUMBERS.TEN) {\r\n return '0' + value;\r\n }\r\n return value.toString();\r\n }\r\n}","export const AGRO_REGEX = {\r\n /**\r\n * Validação de E-mail\r\n */\r\n isEmail: /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/,\r\n\r\n /**\r\n * Validação de Números Inteiros Positivos\r\n */\r\n positiveInteger: /^[1-9]\\d*$/,\r\n\r\n /**\r\n * Validação de Números Decimais Positivos\r\n */\r\n positiveDecimal: /^\\d*\\.?\\d+$/,\r\n\r\n /**\r\n * Validação de string que consiste apenas em espaços em branco ou está vazia.\r\n */\r\n onlyBlankSpaces: /^\\s*$/,\r\n\r\n /**\r\n * Validação de CEP (Código Postal)\r\n */\r\n zipCode: /^\\d{8}$|^\\d{5}-\\d{3}$/,\r\n\r\n /**\r\n * Validação de String (qualquer caractere)\r\n */\r\n isString: /^[\\s\\S]*$/,\r\n\r\n /**\r\n * Validação de UUID\r\n */\r\n isUUID: /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,\r\n\r\n /**\r\n * Validação de Número\r\n */\r\n isNumber: /^-?\\d+$/,\r\n\r\n /**\r\n * Validação de Número Decimal\r\n */\r\n isDecimal: /^\\d*\\.?\\d+$/,\r\n\r\n /**\r\n * Validação de Placa de Veículo\r\n */\r\n isLicensePlate: /^[A-Za-z0-9]{1,7}-?[A-Za-z0-9]{1,7}$/,\r\n\r\n /**\r\n * Validação de Número de Telefone\r\n */\r\n isPhoneNumber: /^\\+?\\d{1,4}-?\\d{6,11}$/,\r\n\r\n /**\r\n * Validação de Data (Formato YYYY-MM-DD)\r\n */\r\n isDate: /^\\d{4}-\\d{2}-\\d{2}$/,\r\n\r\n /**\r\n * Validação de Hora (Formato HH:mm)\r\n */\r\n isTime: /^(0\\d|1\\d|2[0-3]):[0-5]\\d$/,\r\n\r\n /**\r\n * Validação de Data e Hora (Formato YYYY-MM-DD HH:mm)\r\n */\r\n isDateTime: /^\\d{4}-\\d{2}-\\d{2} (0\\d|1\\d|2[0-3]):[0-5]\\d$/,\r\n\r\n /**\r\n * Validação de URL\r\n */\r\n isURL: /^(http|https):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%&=]*)?$/,\r\n\r\n /**\r\n * Validação de Número Hexadecimal\r\n */\r\n isHexNumber: /^[0-9a-fA-F]+$/,\r\n\r\n /**\r\n * Validação de Base64\r\n */\r\n isBase64: /^[a-zA-Z0-9+/]+={0,2}$/,\r\n\r\n /**\r\n * Validação de Nome de Usuário (3 a 20 caracteres alfanuméricos)\r\n */\r\n isUsername: /^\\w{3,20}$/,\r\n\r\n /**\r\n * Validação de Alfanumérico\r\n */\r\n isAlphanumeric: /^[a-zA-Z0-9]+$/,\r\n\r\n /**\r\n * Validação de Slug (letras minúsculas, números e traços)\r\n */\r\n isSlug: /^[a-z0-9-]+$/,\r\n\r\n /**\r\n * Validação de Número de Cartão de Crédito\r\n */\r\n isCreditCard: /^\\d{4}-\\d{4}-\\d{4}-\\d{4}$/,\r\n\r\n /**\r\n * Validação de Número Hexadecimal\r\n */\r\n isHexadecimal: /^[0-9a-fA-F]+$/,\r\n\r\n /**\r\n * Validação de Moeda\r\n */\r\n isCurrency: /^\\d+(\\.\\d{1,2})?$/,\r\n\r\n /**\r\n * Validação de Porcentagem\r\n */\r\n isPercentage: /^(100(\\.0{1,2})?|[1-9]?\\d(\\.\\d{1,2})?)$/,\r\n\r\n /**\r\n * Validação de Tag HTML Simples\r\n */\r\n isHTMLTag: /^<([a-z]+)([^<]+)*(?:>(.*)<\\/\\1>|\\s+\\/>)$/,\r\n\r\n /**\r\n * Validação de Nome de Usuário com Espaços (3 a 20 caracteres alfanuméricos e espaços)\r\n */\r\n isUsernameWithSpaces: /^[a-zA-Z0-9_ ]{3,20}$/,\r\n\r\n /**\r\n * Validação de Senha Forte (mínimo 8 caracteres, uma letra minúscula, uma letra maiúscula, um número e um caractere especial)\r\n */\r\n isStrongPassword: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}$/,\r\n\r\n /**\r\n * Validação de String Alfabética\r\n */\r\n isAlphabetic: /^[a-zA-Z]+$/,\r\n\r\n /**\r\n * Validação de Hora no Formato de 12 Horas\r\n */\r\n isTime12Hour: /^(0?[1-9]|1[0-2]):\\d{2} (AM|PM)$/i,\r\n\r\n /**\r\n * Validação de Latitude\r\n */\r\n isLatitude: /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?)$/,\r\n\r\n /**\r\n * Validação de Longitude\r\n */\r\n isLongitude: /^[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/,\r\n\r\n /**\r\n * Validação de Endereço MAC\r\n */\r\n isMACAddress: /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/,\r\n\r\n /**\r\n * Validação de Data de Expiração de Cartão de Crédito\r\n */\r\n isCreditCardExpiration: /^(0[1-9]|1[0-2])\\/\\d{2}$/,\r\n\r\n /**\r\n * Validação de Número de Seguro Social (SSN)\r\n */\r\n isSSN: /^\\d{3}-\\d{2}-\\d{4}$/,\r\n\r\n /**\r\n * Validação se todos os dígitos são iguais\r\n */\r\n isAllDigitsEqual: /^(.)\\1+$/,\r\n\r\n /**\r\n * Validação de Placa de Veículo do Mercosul\r\n * Formato: ABC1D23\r\n */\r\n isMercosulLicensePlate: /^[A-Z]{3}[0-9]{1}[A-Z]{1}[0-9]{2}$/,\r\n\r\n /**\r\n * Validação de Placa de Veículo Antiga\r\n * Formato: AAA-0000\r\n */\r\n isOldLicensePlate: /^[A-Z]{3}\\d{4}$/,\r\n\r\n isISODate: /^\\d{4}-\\d{2}-\\d{2}$/,\r\n isISOTime: /^\\d{2}:\\d{2}:\\d{2}$/,\r\n isISODateTime: /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z$/,\r\n};\r\n","import { AGRO_NUMBERS, AgroStringMasks } from \"../enums\";\r\nimport { AGRO_REGEX } from \"./agro-regex.constant\";\r\n\r\nexport { AgroStringUtils as StringUtils };\r\n\r\nexport type NullableString = string | null | undefined;\r\n\r\n/**\r\n * Classe utilitária para operações de string.\r\n */\r\nexport class AgroStringUtils {\r\n private static readonly CNPJ_TRADICIONAL_PESOS_1: number[] = [\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n AGRO_NUMBERS.NINE,\r\n AGRO_NUMBERS.EIGHT,\r\n AGRO_NUMBERS.SEVEN,\r\n AGRO_NUMBERS.SIX,\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n ];\r\n private static readonly CNPJ_TRADICIONAL_PESOS_2: number[] = [\r\n AGRO_NUMBERS.SIX,\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n AGRO_NUMBERS.NINE,\r\n AGRO_NUMBERS.EIGHT,\r\n AGRO_NUMBERS.SEVEN,\r\n AGRO_NUMBERS.SIX,\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n ];\r\n // Pesos utilizados para cálculo de dígitos verificadores do CNPJ alfanumérico (2026)\r\n private static readonly CNPJ_ALFANUMERICO_PESOS_1: number[] = [\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n AGRO_NUMBERS.NINE,\r\n AGRO_NUMBERS.EIGHT,\r\n AGRO_NUMBERS.SEVEN,\r\n AGRO_NUMBERS.SIX,\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n ];\r\n private static readonly CNPJ_ALFANUMERICO_PESOS_2: number[] = [\r\n AGRO_NUMBERS.SIX,\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n AGRO_NUMBERS.NINE,\r\n AGRO_NUMBERS.EIGHT,\r\n AGRO_NUMBERS.SEVEN,\r\n AGRO_NUMBERS.SIX,\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n ];\r\n /** Retorna true se a string contém apenas letras */\r\n static isOnlyLetters(str: NullableString): boolean {\r\n if (!str) {\r\n return false;\r\n }\r\n return /^[A-Za-z]+$/.test(str);\r\n }\r\n\r\n /** Retorna true se a string contém pelo menos uma letra */\r\n static hasLetters(str: NullableString): boolean {\r\n if (!str) {\r\n return false;\r\n }\r\n return /[A-Za-z]/.test(str);\r\n }\r\n\r\n /** Retorna true se a string contém apenas números */\r\n static isOnlyNumbers(str: NullableString): boolean {\r\n if (!str) {\r\n return false;\r\n }\r\n return /^\\d+$/.test(str);\r\n }\r\n\r\n /** Retorna true se a string contém pelo menos um número */\r\n static hasNumbers(str: NullableString): boolean {\r\n if (!str) {\r\n return false;\r\n }\r\n return /\\d/.test(str);\r\n }\r\n\r\n /**\r\n * Verifica se a string está vazia.\r\n */\r\n static isEmpty(str: NullableString): boolean {\r\n if (str && AgroStringUtils.isString(str)) {\r\n return str?.trim()?.length === AGRO_NUMBERS.ZERO;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Verifica se a string não está vazia.\r\n */\r\n static isNotEmpty(str: NullableString): boolean {\r\n if (str && AgroStringUtils.isString(str)) {\r\n return !AgroStringUtils.isEmpty(str);\r\n }\r\n return false;\r\n }\r\n\r\n /** Verifica se a string é nula, indefinida ou contém apenas espaços em branco */\r\n static isBlank(str: NullableString): boolean {\r\n return !str || AGRO_REGEX.onlyBlankSpaces.test(str);\r\n }\r\n\r\n /** Verifica se a string não é nula, indefinida ou contém apenas espaços em branco */\r\n static isNotBlank(str: NullableString): boolean {\r\n return !AgroStringUtils.isBlank(str);\r\n }\r\n\r\n /**\r\n * Remove espaços em branco do início e do fim da string.\r\n */\r\n static trimToNull(str: NullableString): string | null {\r\n if (!str) {\r\n return null;\r\n }\r\n const trimmed = str.trim();\r\n return trimmed === \"\" ? null : trimmed;\r\n }\r\n\r\n /**\r\n * Compara duas strings ignorando diferenças entre maiúsculas e minúsculas.\r\n */\r\n static equalsIgnoreCase(str1: NullableString, str2: NullableString): boolean {\r\n return str1?.toLowerCase() === str2?.toLowerCase();\r\n }\r\n\r\n /**\r\n * Compara duas strings considerando diferenças entre maiúsculas e minúsculas.\r\n */\r\n static equals(str1: NullableString, str2: NullableString): boolean {\r\n return str1 === str2;\r\n }\r\n\r\n static reverse(str: string): string {\r\n return str.split(\"\").reverse().join(\"\");\r\n }\r\n\r\n static isEmail(str: string): boolean {\r\n return AGRO_REGEX.isEmail.test(str);\r\n }\r\n\r\n static isPositiveInteger(str: string): boolean {\r\n return AGRO_REGEX.positiveInteger.test(str);\r\n }\r\n\r\n /** Retorna true se a string é uma string válida (não null, não undefined, não vazia) */\r\n static isString(value: any): boolean {\r\n return typeof value === \"string\" && value.trim().length > AGRO_NUMBERS.ZERO;\r\n }\r\n\r\n static isPositiveDecimal(str: string): boolean {\r\n return AGRO_REGEX.positiveDecimal.test(str);\r\n }\r\n\r\n static isZipCode(str: string): boolean {\r\n return AGRO_REGEX.zipCode.test(str);\r\n }\r\n\r\n static isUUID(str: string): boolean {\r\n return AGRO_REGEX.isUUID.test(str);\r\n }\r\n\r\n static isNumber(str: string): boolean {\r\n return [AGRO_REGEX.isNumber.test(str), AGRO_REGEX.isDecimal.test(str)].includes(true);\r\n }\r\n\r\n static validateCPF(cpf: string): boolean {\r\n cpf = cpf.replace(/\\D/g, \"\");\r\n\r\n if (cpf.length !== AGRO_NUMBERS.ELEVEN || /^(\\d)\\1+$/.test(cpf)) {\r\n return false;\r\n }\r\n\r\n const calcVerifier = (cpf: string, length: number): number => {\r\n let sum = AGRO_NUMBERS.ZERO;\r\n for (let i = AGRO_NUMBERS.ZERO; i < length; i++) {\r\n sum += parseInt(cpf[i], AGRO_NUMBERS.TEN) * (length + AGRO_NUMBERS.ONE - i);\r\n }\r\n const result = sum % AGRO_NUMBERS.ELEVEN;\r\n return result < AGRO_NUMBERS.TWO ? AGRO_NUMBERS.ZERO : AGRO_NUMBERS.ELEVEN - result;\r\n };\r\n\r\n const digit1 = calcVerifier(cpf, AGRO_NUMBERS.NINE);\r\n const digit2 = calcVerifier(cpf, AGRO_NUMBERS.TEN);\r\n\r\n return (\r\n digit1 === parseInt(cpf[AGRO_NUMBERS.NINE], AGRO_NUMBERS.TEN) && digit2 === parseInt(cpf[AGRO_NUMBERS.TEN], AGRO_NUMBERS.TEN)\r\n );\r\n }\r\n\r\n /**\r\n * Detecta automaticamente se é CNPJ antigo ou novo formato.\r\n */\r\n static validateCNPJ(cnpj: string): boolean {\r\n if (!cnpj) {\r\n return false;\r\n }\r\n cnpj = cnpj.trim();\r\n\r\n // Se contém letras → valida formato alfanumérico\r\n if (AgroStringUtils.hasLetters(cnpj)) {\r\n return AgroStringUtils.validateCNPJAlfanumerico(cnpj);\r\n }\r\n\r\n // Caso contrário, valida como CNPJ tradicional\r\n return AgroStringUtils.validateCNPJAntigo(cnpj);\r\n }\r\n\r\n /**\r\n * Valida o CNPJ tradicional (somente números)\r\n */\r\n private static validateCNPJAntigo(cnpj: string): boolean {\r\n cnpj = cnpj.replace(/\\D/g, \"\");\r\n\r\n if (!AgroStringUtils.isOnlyNumbers(cnpj)) {\r\n return false;\r\n }\r\n if (cnpj.length !== AGRO_NUMBERS.FOURTEEN) {\r\n return false;\r\n }\r\n if (/^(\\d)\\1{13}$/.test(cnpj)) {\r\n return false;\r\n }\r\n\r\n let soma = AGRO_NUMBERS.ZERO;\r\n for (let i = AGRO_NUMBERS.ZERO; i < AGRO_NUMBERS.TWELVE; i++) {\r\n soma += parseInt(cnpj.charAt(i), AGRO_NUMBERS.TEN) * AgroStringUtils.CNPJ_TRADICIONAL_PESOS_1[i];\r\n }\r\n let resto = soma % AGRO_NUMBERS.ELEVEN;\r\n const digito1 = resto < AGRO_NUMBERS.TWO ? AGRO_NUMBERS.ZERO : AGRO_NUMBERS.ELEVEN - resto;\r\n\r\n soma = AGRO_NUMBERS.ZERO;\r\n for (let i = AGRO_NUMBERS.ZERO; i < AGRO_NUMBERS.THIRTEEN; i++) {\r\n soma += parseInt(cnpj.charAt(i), AGRO_NUMBERS.TEN) * AgroStringUtils.CNPJ_TRADICIONAL_PESOS_2[i];\r\n }\r\n resto = soma % AGRO_NUMBERS.ELEVEN;\r\n const digito2 = resto < AGRO_NUMBERS.TWO ? AGRO_NUMBERS.ZERO : AGRO_NUMBERS.ELEVEN - resto;\r\n\r\n return (\r\n parseInt(cnpj.charAt(AGRO_NUMBERS.TWELVE), AGRO_NUMBERS.TEN) === digito1 &&\r\n parseInt(cnpj.charAt(AGRO_NUMBERS.THIRTEEN), AGRO_NUMBERS.TEN) === digito2\r\n );\r\n }\r\n\r\n /**\r\n * Valida o CNPJ em formato alfanumérico (padrão 2026)\r\n */\r\n private static validateCNPJAlfanumerico(cnpj: string): boolean {\r\n if (!AgroStringUtils.isString(cnpj)) {\r\n return false;\r\n }\r\n\r\n // Remove caracteres especiais (pontos, barra, traço, espaços)\r\n const clean = cnpj.replace(/[^A-Za-z0-9]/g, \"\").toUpperCase();\r\n\r\n // O CNPJ deve ter exatamente 14 posições\r\n if (clean.length !== AGRO_NUMBERS.FOURTEEN) {\r\n return false;\r\n }\r\n\r\n // Verifica se há pelo menos uma letra e um número\r\n if (!AgroStringUtils.hasLetters(clean) || !AgroStringUtils.hasNumbers(clean)) {\r\n return false;\r\n }\r\n\r\n // Calcula o primeiro dígito verificador\r\n const pesos1 = AgroStringUtils.CNPJ_ALFANUMERICO_PESOS_1;\r\n const pesos2 = AgroStringUtils.CNPJ_ALFANUMERICO_PESOS_2;\r\n\r\n // Pega os 12 primeiros caracteres\r\n const base = clean.substring(AGRO_NUMBERS.ZERO, AGRO_NUMBERS.TWELVE);\r\n const dvInformado = clean.substring(AGRO_NUMBERS.TWELVE, AGRO_NUMBERS.FOURTEEN);\r\n\r\n const calculaDV = (str: string, pesos: number[]): number => {\r\n let soma = AGRO_NUMBERS.ZERO;\r\n for (let i = AGRO_NUMBERS.ZERO; i < pesos.length; i++) {\r\n const char = str.charAt(i);\r\n const asciiValue = char.charCodeAt(0) - AGRO_NUMBERS.FORTY_EIGHT; // conforme documento (48 = '0')\r\n soma += asciiValue * pesos[i]; // asciiValue já calculado a partir do enum FORTY_EIGHT\r\n }\r\n const resto = soma % AGRO_NUMBERS.ELEVEN;\r\n const digito = AGRO_NUMBERS.ELEVEN - resto;\r\n return digito > AGRO_NUMBERS.NINE ? AGRO_NUMBERS.ZERO : digito; // segue mesma regra do CNPJ tradicional\r\n };\r\n\r\n const dv1 = calculaDV(base, pesos1);\r\n const dv2 = calculaDV(base + dv1.toString(), pesos2);\r\n\r\n const dvCalculado = `${dv1}${dv2}`;\r\n\r\n return dvCalculado === dvInformado;\r\n }\r\n\r\n /** Calcula a diferença entre duas strings em termos de número de caracteres diferentes */\r\n static difference(str1: string, str2: string): number {\r\n const len1 = str1.length;\r\n const len2 = str2.length;\r\n let diff = Math.abs(len1 - len2);\r\n for (let i = AGRO_NUMBERS.ZERO; i < Math.min(len1, len2); i++) {\r\n if (str1[i] !== str2[i]) {\r\n diff++;\r\n }\r\n }\r\n return diff;\r\n }\r\n\r\n /** Verifica se str1 termina com str2 */\r\n static endsWith(str1: string, str2: string): boolean {\r\n return str1.endsWith(str2);\r\n }\r\n\r\n /** Verifica se str1 começa com str2 */\r\n static startsWith(str1: string, str2: string): boolean {\r\n return str1.startsWith(str2);\r\n }\r\n\r\n /** Verifica se str1 contém str2 */\r\n static contains(str1: string, str2: string): boolean {\r\n return str1.includes(str2);\r\n }\r\n\r\n /** Verifica se str1 começa com str2, ignorando maiúsculas e minúsculas */\r\n static startsWithIgnoreCase(str1: string, str2: string): boolean {\r\n return str1.toLowerCase().startsWith(str2.toLowerCase());\r\n }\r\n\r\n /** Verifica se str1 termina com str2, ignorando maiúsculas e minúsculas */\r\n static endsWithIgnoreCase(str1: string, str2: string): boolean {\r\n return str1.toLowerCase().endsWith(str2.toLowerCase());\r\n }\r\n\r\n /** Inverte o caso de cada letra na string */\r\n static swapCase(str: string): string {\r\n let swapped = \"\";\r\n for (let i = AGRO_NUMBERS.ZERO; i < str.length; i++) {\r\n const char = str[i];\r\n swapped += char === char.toUpperCase() ? char.toLowerCase() : char.toUpperCase();\r\n }\r\n return swapped;\r\n }\r\n\r\n /** Coloca a primeira letra da string em maiúsculo */\r\n static capitalize(str: string): string {\r\n return str.charAt(AGRO_NUMBERS.ZERO).toUpperCase() + str.slice(1);\r\n }\r\n\r\n /** Coloca a primeira letra da string em minúsculo */\r\n static uncapitalize(str: string): string {\r\n return str.charAt(AGRO_NUMBERS.ZERO).toLowerCase() + str.slice(1);\r\n }\r\n\r\n /** Conta o número de ocorrências de uma substring dentro de uma string */\r\n static countMatches(str: string, substring: string): number {\r\n const regex = new RegExp(substring, \"g\");\r\n const matches = str.match(regex);\r\n return matches ? matches.length : AGRO_NUMBERS.ZERO;\r\n }\r\n\r\n /**\r\n * Aplica uma máscara simples à string fornecida.O padrão de máscaras é definido pelo enum AgroStringMasks ou\r\n * pode ser uma string personalizada onde '9' representa um dígito a ser substituído pelo caractere correspondente\r\n * da string.\r\n */\r\n static applyMask(value: string, mask: AgroStringMasks | string): string {\r\n const valueChars = value.replace(/[^A-Za-z0-9]/g, \"\");\r\n\r\n const maskChars = mask.split(\"\");\r\n let maskedValue = \"\";\r\n let j = AGRO_NUMBERS.ZERO;\r\n for (const maskChar of maskChars) {\r\n if (j >= valueChars.length) {\r\n break;\r\n }\r\n if (maskChar === \"9\") {\r\n maskedValue += valueChars[j];\r\n j += AGRO_NUMBERS.ONE; // increment extracted per Sonar recommendation\r\n } else {\r\n maskedValue += maskChar;\r\n }\r\n }\r\n return maskedValue;\r\n }\r\n\r\n static isValid(str: NullableString): boolean {\r\n return typeof str !== \"undefined\" && str !== null && this.isNotEmpty(str);\r\n }\r\n\r\n static isInvalid(str: NullableString): boolean {\r\n return !AgroStringUtils.isValid(str);\r\n }\r\n\r\n static isISODate(value: string): boolean {\r\n return AGRO_REGEX.isISODate.test(value);\r\n }\r\n\r\n static isISOTime(value: string): boolean {\r\n return AGRO_REGEX.isISOTime.test(value);\r\n }\r\n\r\n static isISODatetime(value: string): boolean {\r\n return AGRO_REGEX.isISODateTime.test(value);\r\n }\r\n}\r\n","import { AgroCookieUtils } from \"./agro-cookie-utils.class\";\r\nimport { AgroObjectUtils } from \"./agro-object-utils.class\";\r\nimport { StringUtils } from \"./agro-string-utils.class\";\r\n\r\n// Cookie name constants\r\nconst COOKIE_TOKEN = 'com.senior.token';\r\nconst COOKIE_BASE_URL = 'com.senior.base.url';\r\nconst COOKIE_SERVICES_URL = 'com.senior.services.url';\r\n\r\nexport {AgroPlatformUtils as APU, AgroPlatformUtils as PlatformUtils};\r\n\r\nexport class AgroPlatformUtils {\r\n /**\r\n * Retorna o tenant atual\r\n * Caso contrário, retorna uma instância de Error\r\n * @returns\r\n */\r\n static getCurrentTenant(): string {\r\n const tenant = AgroPlatformUtils.getTokenField(\"tenantName\");\r\n if (tenant) {\r\n return tenant;\r\n }\r\n throw new Error(`Cookie: \"${COOKIE_TOKEN}\" não encontrado.`);\r\n }\r\n\r\n /**\r\n * Retorna o locale do tenant atual\r\n *\r\n * @returns\r\n */\r\n static getCurrentTenantLocale(): string {\r\n const locale = AgroPlatformUtils.getTokenField(\"locale\");\r\n if (locale) {\r\n return locale;\r\n }\r\n throw new Error(`'locale' não encontrado para o tenant atual.`);\r\n }\r\n\r\n /**\r\n * @deprecated Use getCurrentTenantLocale()\r\n * Mantido por compatibilidade retroativa.\r\n */\r\n static getCurrenTenantLocale(): string {\r\n // legacy typo retained\r\n return AgroPlatformUtils.getCurrentTenantLocale();\r\n }\r\n\r\n /**\r\n * Retorna o nome completo do usuário logado\r\n * Caso contrário, retorna uma instância de Error\r\n * @returns string || null\r\n */\r\n static getCurrentUserName(): string | null {\r\n const name = AgroPlatformUtils.getTokenField(\"fullName\");\r\n return name || null;\r\n }\r\n /**\r\n * Retorna o nome de usuário logado\r\n * Ex: admin@tenant.com.br\r\n * Caso contrário, retorna uma instância de Error\r\n * @returns string || null\r\n */\r\n static getCurrentUserUsername(): string | null {\r\n const username = AgroPlatformUtils.getTokenField(\"username\");\r\n return username || null;\r\n }\r\n\r\n /**\r\n * Retorna o e-mail do usuário logado\r\n * Caso contrário, retorna uma instância de Error\r\n * @returns string\r\n */\r\n static getCurrentUserEmail(): string | null {\r\n const email = AgroPlatformUtils.getTokenField(\"email\");\r\n if (!email) {\r\n console.info(`Cookie: \"${COOKIE_TOKEN}\" não encontrado.`);\r\n }\r\n return email || null;\r\n }\r\n\r\n /**\r\n * Retorna uma string com a baseURL atual\r\n * Caso contrário, retorna uma instância de Error\r\n * @example \"https://cloud-leaf.senior.com.br\" || \"https://platform.senior.com.br\"\r\n */\r\n static getBaseURL(): string {\r\n const cookie = AgroCookieUtils.getCookie(COOKIE_BASE_URL);\r\n if (cookie) {\r\n return decodeURIComponent(cookie);\r\n }\r\n throw new Error(`Cookie: \"${COOKIE_BASE_URL}\" não encontrado.`);\r\n }\r\n\r\n /**\r\n * Retorna uma string com a URL dos serviços\r\n * Caso contrário, retorna uma instância de Error\r\n * @example \"https://cloud-leaf.senior.com.br/t/senior.com.br/bridge/1.0/\"\r\n */\r\n static getServicesURL(): string {\r\n const cookie = AgroCookieUtils.getCookie(COOKIE_SERVICES_URL);\r\n if (StringUtils.isNotEmpty(cookie)) {\r\n return decodeURIComponent(cookie!);\r\n }\r\n throw new Error(`Cookie: \"${COOKIE_SERVICES_URL}\" não encontrado.`);\r\n }\r\n\r\n /**\r\n * Retorna uma string com o token de acesso atual\r\n * Caso contrário, retorna uma instância de Error\r\n */\r\n static getCurrentAccessToken(): string | null {\r\n const token = AgroPlatformUtils.getTokenField(\"access_token\");\r\n if (!token) {\r\n console.info(`Cookie: \"${COOKIE_TOKEN}\" não encontrado.`);\r\n }\r\n return token || null;\r\n }\r\n\r\n /**\r\n * Helper para extrair um campo do cookie de token.\r\n */\r\n private static getTokenField(field: string): string | undefined {\r\n const cookie = AgroCookieUtils.getCookie(COOKIE_TOKEN);\r\n if (!cookie) {\r\n return undefined;\r\n }\r\n const obj = AgroCookieUtils.parseCookieToObject(cookie, true);\r\n return obj[field];\r\n }\r\n}\r\n","/**\r\n * Classe de utilitários para operações com números.\r\n */\r\n\r\nimport { AGRO_NUMBERS } from \"../enums\";\r\n\r\nexport class AgroNumberUtils {\r\n /**\r\n * Verifica se um número é nulo ou indefinido.\r\n * @param num - O número a ser verificado.\r\n * @returns True se o número for nulo ou indefinido, false caso contrário.\r\n */\r\n static isNullOrUndefined(num: any): boolean {\r\n return num === null || num === undefined;\r\n }\r\n\r\n /**\r\n * Verifica se um número não é nulo e não é indefinido.\r\n * @param num - O número a ser verificado.\r\n * @returns True se o número não for nulo e não for indefinido, false caso contrário.\r\n */\r\n static isNotNullOrUndefined(num: any): boolean {\r\n return !AgroNumberUtils.isNullOrUndefined(num);\r\n }\r\n\r\n /**\r\n * Verifica se um número é par.\r\n *\r\n * @param value O número a ser verificado.\r\n * @returns True se for par, false caso contrário.\r\n */\r\n static isEven(value: number): boolean {\r\n return value % AGRO_NUMBERS.TWO === AGRO_NUMBERS.ZERO;\r\n }\r\n\r\n /**\r\n * Verifica se um número é ímpar.\r\n *\r\n * @param value O número a ser verificado.\r\n * @returns True se for ímpar, false caso contrário.\r\n */\r\n static isOdd(value: number): boolean {\r\n return value % AGRO_NUMBERS.TWO !== AGRO_NUMBERS.ZERO;\r\n }\r\n\r\n /**\r\n * Calcula a porcentagem de um valor em relação a um total.\r\n *\r\n * @param partial O valor parcial.\r\n * @param total O valor total.\r\n * @returns A porcentagem calculada.\r\n */\r\n static percentage(partial: number, total: number): number {\r\n if (total === AGRO_NUMBERS.ZERO) {\r\n throw new Error(\"O total não pode ser zero.\");\r\n }\r\n return (partial / total) * AGRO_NUMBERS.ONE_HUNDRED;\r\n }\r\n\r\n /**\r\n * Formata um número para o formato monetário.\r\n *\r\n * @param value O número a ser formatado.\r\n * @param currency O símbolo da moeda (padrão: \"BRL\").\r\n * @param locale O código da localidade (padrão: \"pt-BR\").\r\n * @returns Uma string no formato monetário.\r\n */\r\n static toCurrency(value: number, currency: string = \"BRL\", locale: string = \"pt-BR\"): string {\r\n return new Intl.NumberFormat(locale, {\r\n style: \"currency\",\r\n currency: currency,\r\n }).format(value);\r\n }\r\n\r\n /**\r\n * Gera um número aleatório no intervalo especificado.\r\n *\r\n * @param min O valor mínimo (inclusivo).\r\n * @param max O valor máximo (exclusivo).\r\n * @returns Um número aleatório no intervalo.\r\n */\r\n static randomInRange(min: number, max: number): number {\r\n if (max <= min) {\r\n throw new Error(\"O valor máximo deve ser maior que o mínimo.\");\r\n }\r\n return Math.random() * (max - min) + min;\r\n }\r\n\r\n /**\r\n * Verifica se um número é primo.\r\n *\r\n * @param value O número a ser verificado.\r\n * @returns True se for primo, false caso contrário.\r\n */\r\n static isPrime(value: number): boolean {\r\n if (value <= AGRO_NUMBERS.ONE) {\r\n return false;\r\n }\r\n for (let i = AGRO_NUMBERS.TWO; i <= Math.sqrt(value); i++) {\r\n if (value % i === AGRO_NUMBERS.ZERO) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Arredonda um número para `n` casas decimais.\r\n *\r\n * @param value O número a ser arredondado.\r\n * @param decimals O número de casas decimais (padrão: 2).\r\n * @returns O número arredondado.\r\n */\r\n static roundTo(value: number, decimals: number = AGRO_NUMBERS.TWO): number {\r\n if (decimals < AGRO_NUMBERS.ZERO) {\r\n throw new Error(\"O número de casas decimais não pode ser negativo.\");\r\n }\r\n const factor = Math.pow(AGRO_NUMBERS.TEN, decimals);\r\n return Math.round(value * factor) / factor;\r\n }\r\n\r\n\r\n /**\r\n * Pega apenas números, convertendo strings para números e retornarndo apenas o maior inteiro encontrado.\r\n * @param value - O valor a ser processado.\r\n * @returns O maior número inteiro encontrado ou 0 se nenhum número for encontrado.\r\n */\r\n static getNearInteger(value: any): number {\r\n if (typeof value === \"number\") {\r\n return Math.floor(value);\r\n }\r\n\r\n if (typeof value === \"string\") {\r\n const numbers = value.match(/\\d+/g);\r\n if (numbers && numbers.length > 0) {\r\n return Math.max(...numbers.map(Number));\r\n }\r\n }\r\n\r\n return 0;\r\n }\r\n}\r\n","export class Colors {\r\n static readonly BASE = {\r\n LIME: \"#ADE500\",\r\n LIME_RGB: \"173, 229, 0\",\r\n HIPPIE_BLUE: \"#67ACBC\",\r\n HIPPIE_BLUE_RGB: \"103, 172, 188\",\r\n TEAL: \"#008080\",\r\n TEAL_RGB: \"0, 128, 128\",\r\n TARAWERA: \"#063951\",\r\n TARAWERA_RGB: \"6, 57, 81\",\r\n CLAIRVOYANT: \"#400753\",\r\n CLAIRVOYANT_RGB: \"64, 7, 83\",\r\n COCOA_BEAN: \"#50201F\",\r\n COCOA_BEAN_RGB: \"80, 32, 31\",\r\n SUNSET_ORANGE: \"#F45B5B\",\r\n SUNSET_ORANGE_RGB: \"244, 91, 91\",\r\n BUTTERCUP: \"#F5A319\",\r\n BUTTERCUP_RGB: \"245, 163, 25\"\r\n };\r\n\r\n static readonly GRAY_SCALE = {\r\n BLACK: \"#333333\",\r\n BLACK_RGB: \"51, 51, 51\",\r\n DISABLED_EDITION: \"#697882\",\r\n DISABLED_EDITION_RGB: \"105, 120, 130\",\r\n SECONDARY: \"#999999\",\r\n SECONDARY_RGB: \"153, 153, 153\",\r\n PRIMAEY_DISABLED: \"#CCCCCC\", // legacy typo\r\n PRIMAEY_DISABLED_RGB: \"204, 204, 204\", // legacy typo\r\n PRIMARY_DISABLED: \"#CCCCCC\",\r\n PRIMARY_DISABLED_RGB: \"204, 204, 204\",\r\n SECONDARY_DISABLED: \"#D8D8D8\",\r\n SECONDARY_DISABLED_RGB: \"216, 216, 216\",\r\n BLACK_HAZE: \"#E5EAEA\",\r\n BLACK_HAZE_RGB: \"229, 234, 234\",\r\n WHITE: \"#FFFFFF\",\r\n WHITE_RGB: \"255, 255, 255\"\r\n };\r\n\r\n static readonly CRITICAL = {\r\n RED: \"#C13018\",\r\n RED_RGB: \"193, 48, 24\",\r\n ORANGE: \"#F8931F\",\r\n ORANGE_RGB: \"248, 147, 31\",\r\n YELLOW: \"#FCBF10\",\r\n YELLOW_RGB: \"252, 191, 16\",\r\n GREEN: \"#0C9348\",\r\n GREEN_RGB: \"12, 147, 72\",\r\n BLUE: \"#428BCA\",\r\n BLUE_RGB: \"66, 139, 202\"\r\n };\r\n\r\n static readonly HIPPIE_BLUE = {\r\n HEX_900: \"#1D2F34\",\r\n RGB_900: \"rgb(29, 47, 52)\",\r\n HEX_700: \"#426E78\",\r\n RGB_700: \"rgb(66, 110, 120)\",\r\n HEX_500: \"#67ACBC\",\r\n RGB_500: \"rgb(103, 172, 188)\",\r\n HEX_300: \"#9ECAD4\",\r\n RGB_300: \"rgb(158, 202, 212)\",\r\n HEX_100: \"#D5E8EC\",\r\n RGB_100: \"rgb(213, 232, 236)\",\r\n HEX_50: \"#F1F7F8\",\r\n RGB_50: \"rgb(241, 247, 248)\"\r\n };\r\n\r\n static readonly TEAL = {\r\n HEX_900: \"#0C2827\",\r\n RGB_900: \"rgb(12, 40, 39)\",\r\n HEX_700: \"#005050\",\r\n RGB_700: \"rgb(0, 80, 80)\",\r\n HEX_500: \"#008080\",\r\n RGB_500: \"rgb(0, 128, 128)\",\r\n HEX_300: \"#4DA6A6\",\r\n RGB_300: \"rgb(77, 166, 166)\",\r\n HEX_100: \"#B3D9D9\",\r\n RGB_100: \"rgb(179, 217, 217)\",\r\n HEX_50: \"#E0F0F0\",\r\n RGB_50: \"rgb(224, 240, 240)\"\r\n };\r\n}\r\n","import { AgroStringUtils } from \"./agro-string-utils.class\";\r\nimport { AGRO_NUMBERS } from \"../enums\";\r\n\r\nexport class AgroNameUtils {\r\n /**\r\n * Abrevia o último sobrenome, mantendo o primeiro nome completo.\r\n * @param fullName valor completo do nome (Ex: Tiago Batista Corrêa)\r\n * @returns nome abreviado (Ex: Tiago C.)\r\n */\r\n static abbreviateName(fullName: string): string | null {\r\n if (AgroStringUtils.isInvalid(fullName)) {\r\n return null;\r\n }\r\n\r\n const parts = fullName.trim().split(/\\s+/);\r\n if (parts.length < AGRO_NUMBERS.TWO) {\r\n return fullName; // Retorna o nome original se não puder ser abreviado\r\n }\r\n\r\n const firstName = parts[0]; // Primeiro nome completo\r\n const lastName = parts[parts.length - 1]; // Último sobrenome\r\n\r\n // Retorna o nome abreviado\r\n return `${firstName} ${lastName.charAt(0)}.`;\r\n }\r\n\r\n /**\r\n * Abrevia todos os sobrenomes, mantendo o primeiro nome completo.\r\n *\r\n * @param fullName O nome completo. (Ex: Tiago Batista Corrêa)\r\n * @returns O nome com os sobrenomes abreviados. (Ex: Tiago B. C.)\r\n */\r\n static abbreviateAllLastNames(fullName: string): string | null {\r\n if (AgroStringUtils.isInvalid(fullName)) {\r\n return null;\r\n }\r\n\r\n const parts = fullName.trim().split(/\\s+/);\r\n if (parts.length < AGRO_NUMBERS.TWO) {\r\n return fullName;\r\n }\r\n\r\n const firstName = parts[0];\r\n const abbreviatedLastNames = parts\r\n .slice(1)\r\n .map((name) => `${name.charAt(0)}.`)\r\n .join(\" \");\r\n\r\n return `${firstName} ${abbreviatedLastNames}`;\r\n }\r\n\r\n /**\r\n * Retorna as iniciais do nome completo.\r\n *\r\n * @param fullName O nome completo. (Ex: Tiago Batista Corrêa)\r\n * @returns Uma string contendo as iniciais do nome. (Ex: TBC)\r\n */\r\n static getInitials(fullName: string): string | null {\r\n if (AgroStringUtils.isInvalid(fullName)) {\r\n return null;\r\n }\r\n\r\n return fullName\r\n .trim()\r\n .split(/\\s+/)\r\n .map((name) => name.charAt(0).toUpperCase())\r\n .join(\"\");\r\n }\r\n}\r\n","import { AgroObjectUtils } from \"./agro-object-utils.class\";\r\n\r\n/**\r\n * Classe com funções úteis para Arrays.\r\n */\r\nexport class AgroArrayUtils {\r\n /**\r\n * Verifica se o valor informado é um array.\r\n */\r\n public static isArray(value: any): boolean {\r\n return Array.isArray(value);\r\n }\r\n\r\n /**\r\n * Remove um item de um array.\r\n * @param array Array de onde o item será removido.\r\n * @param item Item a ser removido.\r\n */\r\n public static removeItem(array: any[], item: any): void {\r\n const index = array.indexOf(item);\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n }\r\n }\r\n\r\n /**\r\n * Remove um item de um array por índice.\r\n * @param array Array de onde o item será removido.\r\n * @param index Índice do item a ser removido.\r\n */\r\n public static removeItemByIndex(array: any[], index: number): void {\r\n array.splice(index, 1);\r\n }\r\n\r\n /**\r\n * Remove todos os itens de um array.\r\n * @param array Array de onde os itens serão removidos.\r\n */\r\n public static removeAllItems(array: any[]): void {\r\n array.splice(0, array.length);\r\n }\r\n\r\n /**\r\n * Verifica se um array é vazio.\r\n * @param array Array a ser verificado.\r\n */\r\n public static isEmpty(array: any[]): boolean {\r\n return AgroArrayUtils.isArray(array) && array.length === 0;\r\n }\r\n\r\n /**\r\n * Verifica se um array é vazio.\r\n * @param array Array a ser verificado.\r\n */\r\n public static isNotEmpty(array: any[]): boolean {\r\n return !AgroArrayUtils.isEmpty(array);\r\n }\r\n\r\n /**\r\n * Localiza um item em um array de objetos de acordo com a propriedade e valor informados.\r\n */\r\n public static findItemByProperty(array: any[], property: string, value: any): any {\r\n for (const item of array) {\r\n if (item[property] === value) {\r\n return item;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Valida se dois arrays são iguais.\r\n * Considera se os arrays possuem os mesmos elementos na mesma ordem.\r\n * @param arr1\r\n * @param arr2\r\n * @returns\r\n */\r\n public static arraysAreEqual(arr1: any[], arr2: any[]): boolean {\r\n return AgroObjectUtils.isEqual(arr1, arr2);\r\n }\r\n}\r\n","import { AGRO_NUMBERS } from '../enums';\r\ntype AnyRecord = Record<string, any>;\r\n\r\nexport interface DistributionResult<T> {\r\n data: Partial<T>;\r\n samplingSuccess: number; // percentage of total\r\n samplingQuantity: number; // absolute count\r\n}\r\n\r\nexport class AgroLogics {\r\n // 🔹 Constantes locais\r\n private static readonly FAHRENHEIT_OFFSET = 32;\r\n private static readonly FAHRENHEIT_NUMERATOR = 9;\r\n private static readonly FAHRENHEIT_DENOMINATOR = 5;\r\n private static readonly KELVIN_OFFSET = 273.15;\r\n private static readonly PERCENT = 100;\r\n\r\n /**\r\n * Agrupa o conjunto de dados pelos campos de entidade fornecidos e calcula\r\n * a distribuição de probabilidade (frequência e porcentagem).\r\n *\r\n * @param data - Array de objetos a serem analisados\r\n * @param keys - Chaves ou caminhos aninhados para agrupar (ex: [\"entity1\", \"entity2\"])\r\n * @returns Array de estatísticas agrupadas ordenadas por samplingSuccess (decrescente)\r\n */\r\n static entityDistributionStats<T extends AnyRecord>(\r\n data: T[],\r\n keys: (keyof T | string)[]\r\n ): DistributionResult<T>[] {\r\n const total = data.length;\r\n const map = new Map<string, { data: Partial<T>; count: number }>();\r\n\r\n const resolvePath = (source: any, path: string): any => {\r\n const parts = path.split('.');\r\n let value = source;\r\n for (const p of parts) {\r\n if (value == null) {\r\n return undefined;\r\n }\r\n value = value[p];\r\n }\r\n return value;\r\n };\r\n\r\n for (const item of data) {\r\n const keyValues = keys.map((k) => resolvePath(item, k as string));\r\n const uniqueKey = JSON.stringify(keyValues);\r\n\r\n if (!map.has(uniqueKey)) {\r\n const groupedData: Partial<T> = {};\r\n for (const k of keys) {\r\n const rootName = k.toString().split('.')[0];\r\n (groupedData as any)[rootName] = resolvePath(item, k as string);\r\n }\r\n map.set(uniqueKey, { data: groupedData, count: 0 });\r\n }\r\n const entry = map.get(uniqueKey);\r\n entry!.count += AGRO_NUMBERS.ONE;\r\n }\r\n\r\n const result: DistributionResult<T>[] = Array.from(map.values()).map((entry) => ({\r\n data: entry.data,\r\n samplingQuantity: entry.count,\r\n samplingSuccess: Math.round((entry.count / total) * this.PERCENT),\r\n }));\r\n\r\n result.sort((a, b) => b.samplingSuccess - a.samplingSuccess);\r\n\r\n return result;\r\n }\r\n}\r\n","import { UnitOfMeasurement } from \"../enums/unit-measurement.enum\";\r\nimport { AGRO_NUMBERS } from \"../enums\";\r\n\r\ntype ConversionUnit = {\r\n units: UnitOfMeasurement[];\r\n factorTable: { [key: string]: number };\r\n};\r\n\r\nconst TWO_HUNDRED_SEVENTY_THREE_POINT_ONE_FIVE = 273.15;\r\n\r\nexport class AgroUnitConverter {\r\n // 🔹 Comprimento\r\n readonly LENGTH_UNITS: UnitOfMeasurement[] = [\r\n UnitOfMeasurement.METRO,\r\n UnitOfMeasurement.CENTIMETRO,\r\n UnitOfMeasurement.MILIMETRO,\r\n UnitOfMeasurement.QUILOMETRO,\r\n UnitOfMeasurement.POLEGADA,\r\n UnitOfMeasurement.PE,\r\n ];\r\n\r\n // 🔹 Massa\r\n readonly MASS_UNITS: UnitOfMeasurement[] = [\r\n UnitOfMeasurement.GRAMA,\r\n UnitOfMeasurement.QUILOGRAMA,\r\n UnitOfMeasurement.TONELADA,\r\n UnitOfMeasurement.LIBRA,\r\n UnitOfMeasurement.SACA,\r\n ];\r\n\r\n // 🔹 Área\r\n readonly AREA_UNITS: UnitOfMeasurement[] = [\r\n UnitOfMeasurement.METRO_QUADRADO,\r\n UnitOfMeasurement.CENTIMETRO_QUADRADO,\r\n UnitOfMeasurement.HECTARE,\r\n UnitOfMeasurement.ALQUEIRE_50x50,\r\n UnitOfMeasurement.ALQUEIRE_50x75,\r\n UnitOfMeasurement.ALQUEIRE_DO_NORTE,\r\n UnitOfMeasurement.ALQUEIRE_75x80,\r\n UnitOfMeasurement.ALQUEIRE_79x79,\r\n UnitOfMeasurement.ALQUEIRE_80x80,\r\n UnitOfMeasurement.ALQUEIRE_75x100,\r\n UnitOfMeasurement.ALQUEIRE_100x150,\r\n UnitOfMeasurement.ALQUEIRE_BAIANO,\r\n UnitOfMeasurement.ALQUEIRAO,\r\n UnitOfMeasurement.ALQUEIRE_PAULISTA,\r\n UnitOfMeasurement.ALQUEIRE_MINEIRO,\r\n ];\r\n\r\n // 🔹 Volume\r\n readonly VOLUME_UNITS: UnitOfMeasurement[] = [UnitOfMeasurement.LITRO, UnitOfMeasurement.MILILITRO, UnitOfMeasurement.METRO_CUBICO];\r\n\r\n // 🔹 Tempo\r\n readonly TIME_UNITS: UnitOfMeasurement[] = [\r\n UnitOfMeasurement.SEGUNDO,\r\n UnitOfMeasurement.MINUTO,\r\n UnitOfMeasurement.HORA,\r\n UnitOfMeasurement.DIA,\r\n ];\r\n\r\n // 🔹 Temperatura\r\n readonly TEMPERATURE_UNITS: UnitOfMeasurement[] = [UnitOfMeasurement.CELSIUS, UnitOfMeasurement.FAHRENHEIT, UnitOfMeasurement.KELVIN];\r\n\r\n // 🔹 Energia\r\n readonly ENERGY_UNITS: UnitOfMeasurement[] = [UnitOfMeasurement.JOULE, UnitOfMeasurement.CALORIA, UnitOfMeasurement.QUILOWATT_HORA];\r\n\r\n // 🔹 Eletricidade\r\n readonly ELECTRICITY_UNITS: UnitOfMeasurement[] = [UnitOfMeasurement.VOLT, UnitOfMeasurement.AMPERE, UnitOfMeasurement.WATT];\r\n\r\n // 🔹 Dados digitais\r\n readonly DATA_UNITS: UnitOfMeasurement[] = [\r\n UnitOfMeasurement.BYTE,\r\n UnitOfMeasurement.KILOBYTE,\r\n UnitOfMeasurement.MEGABYTE,\r\n UnitOfMeasurement.GIGABYTE,\r\n UnitOfMeasurement.TERABYTE,\r\n ];\r\n\r\n private readonly conversionUnits: ConversionUnit[];\r\n\r\n constructor() {\r\n this.conversionUnits = [\r\n {\r\n units: this.LENGTH_UNITS,\r\n factorTable: {\r\n [UnitOfMeasurement.METRO]: AGRO_NUMBERS.ONE,\r\n [UnitOfMeasurement.CENTIMETRO]: 0.01,\r\n [UnitOfMeasurement.MILIMETRO]: 0.001,\r\n [UnitOfMeasurement.QUILOMETRO]: AGRO_NUMBERS.ONETHOUSAND,\r\n [UnitOfMeasurement.POLEGADA]: 0.0254,\r\n [UnitOfMeasurement.PE]: 0.3048,\r\n },\r\n },\r\n {\r\n units: this.MASS_UNITS,\r\n factorTable: {\r\n [UnitOfMeasurement.GRAMA]: 0.001,\r\n [UnitOfMeasurement.QUILOGRAMA]: AGRO_NUMBERS.ONE,\r\n [UnitOfMeasurement.TONELADA]: AGRO_NUMBERS.ONETHOUSAND,\r\n [UnitOfMeasurement.LIBRA]: 0.453592,\r\n [UnitOfMeasurement.SACA]: 60,\r\n },\r\n },\r\n {\r\n units: this.AREA_UNITS,\r\n factorTable: {\r\n [UnitOfMeasurement.METRO_QUADRADO]: AGRO_NUMBERS.ONE,\r\n [UnitOfMeasurement.CENTIMETRO_QUADRADO]: 0.0001,\r\n [UnitOfMeasurement.HECTARE]: 10000,\r\n [UnitOfMeasurement.ALQUEIRE_50x50]: 12100,\r\n [UnitOfMeasurement.ALQUEIRE_50x75]: 18200,\r\n [UnitOfMeasurement.ALQUEIRE_DO_NORTE]: 27200,\r\n [UnitOfMeasurement.ALQUEIRE_75x80]: 29000,\r\n [UnitOfMeasurement.ALQUEIRE_79x79]: 30200,\r\n [UnitOfMeasurement.ALQUEIRE_80x80]: 31900,\r\n [UnitOfMeasurement.ALQUEIRE_75x100]: 36300,\r\n [UnitOfMeasurement.ALQUEIRE_100x150]: 72600,\r\n [UnitOfMeasurement.ALQUEIRE_BAIANO]: 96800,\r\n [UnitOfMeasurement.ALQUEIRAO]: 193600,\r\n [UnitOfMeasurement.ALQUEIRE_PAULISTA]: 24200,\r\n [UnitOfMeasurement.ALQUEIRE_MINEIRO]: 48400,\r\n },\r\n },\r\n {\r\n units: this.VOLUME_UNITS,\r\n factorTable: {\r\n [UnitOfMeasurement.LITRO]: AGRO_NUMBERS.ONE,\r\n [UnitOfMeasurement.MILILITRO]: 0.001,\r\n [UnitOfMeasurement.METRO_CUBICO]: AGRO_NUMBERS.ONETHOUSAND,\r\n },\r\n },\r\n {\r\n units: this.TIME_UNITS,\r\n factorTable: {\r\n [UnitOfMeasurement.SEGUNDO]: AGRO_NUMBERS.ONE,\r\n [UnitOfMeasurement.MINUTO]: AGRO_NUMBERS.SIXTY_,\r\n [UnitOfMeasurement.HORA]: 3600,\r\n [UnitOfMeasurement.DIA]: 86400,\r\n },\r\n },\r\n {\r\n units: this.ENERGY_UNITS,\r\n factorTable: {\r\n [UnitOfMeasurement.JOULE]: AGRO_NUMBERS.ONE,\r\n [UnitOfMeasurement.CALORIA]: 4.184,\r\n [UnitOfMeasurement.QUILOWATT_HORA]: 3_600_000,\r\n },\r\n },\r\n {\r\n units: this.DATA_UNITS,\r\n factorTable: {\r\n [UnitOfMeasurement.BYTE]: AGRO_NUMBERS.ONE,\r\n [UnitOfMeasurement.KILOBYTE]: 1024,\r\n [UnitOfMeasurement.MEGABYTE]: 1024 ** AGRO_NUMBERS.TWO,\r\n [UnitOfMeasurement.GIGABYTE]: 1024 ** AGRO_NUMBERS.THREE,\r\n [UnitOfMeasurement.TERABYTE]: 1024 ** AGRO_NUMBERS.FOUR,\r\n },\r\n },\r\n ];\r\n }\r\n\r\n // 🔹 Métodos de conversão\r\n convertTemperatureUnit(valor: number, de: UnitOfMeasurement, para: UnitOfMeasurement): number {\r\n if (de === para) {\r\n return valor;\r\n }\r\n\r\n let celsius: number;\r\n switch (de) {\r\n case UnitOfMeasurement.CELSIUS:\r\n celsius = valor;\r\n break;\r\n case UnitOfMeasurement.FAHRENHEIT:\r\n celsius = ((valor - AGRO_NUMBERS.THIRTY_TWO) * AGRO_NUMBERS.FIVE) / AGRO_NUMBERS.NINE;\r\n break;\r\n case UnitOfMeasurement.KELVIN:\r\n celsius = valor - TWO_HUNDRED_SEVENTY_THREE_POINT_ONE_FIVE;\r\n break;\r\n default:\r\n throw new Error(\"Unidade inválida\");\r\n }\r\n\r\n switch (para) {\r\n case UnitOfMeasurement.CELSIUS:\r\n return celsius;\r\n case UnitOfMeasurement.FAHRENHEIT:\r\n return (celsius * AGRO_NUMBERS.NINE) / AGRO_NUMBERS.FIVE + AGRO_NUMBERS.THIRTY_TWO;\r\n case UnitOfMeasurement.KELVIN:\r\n return celsius + TWO_HUNDRED_SEVENTY_THREE_POINT_ONE_FIVE;\r\n default:\r\n throw new Error(\"Unidade inválida\");\r\n }\r\n }\r\n\r\n private isTemperatureUnit(unit: UnitOfMeasurement): boolean {\r\n return this.TEMPERATURE_UNITS.includes(unit);\r\n }\r\n\r\n convertScalableUnits(valor: number, from: UnitOfMeasurement, to: UnitOfMeasurement): number {\r\n if (from === to) {\r\n return valor;\r\n }\r\n\r\n if (this.isTemperatureUnit(from) || this.isTemperatureUnit(to)) {\r\n return this.convertTemperatureUnit(valor, from, to);\r\n }\r\n\r\n\r\n const unitCategory = this.conversionUnits.find((u) => u.units.includes(from));\r\n if (!unitCategory?.units?.includes(to)) {\r\n throw new Error(`Não é possível converter de ${from} para ${to}: categorias diferentes ou unidade não escalável.`);\r\n }\r\n\r\n const fatorDe = unitCategory.factorTable[from];\r\n const fatorPara = unitCategory.factorTable[to];\r\n\r\n const emBase = valor * fatorDe;\r\n return emBase / fatorPara;\r\n }\r\n\r\n convertLitersPerArea(valor: number, from: UnitOfMeasurement, to: UnitOfMeasurement): number {\r\n const areaCategory = this.conversionUnits.find((u) => u.units.includes(from));\r\n if (!areaCategory?.units?.includes(to)) {\r\n throw new Error(`Unidade de área inválida: ${from} ou ${to}`);\r\n }\r\n\r\n const fatorFrom = areaCategory.factorTable[from];\r\n const fatorTo = areaCategory.factorTable[to];\r\n\r\n return (valor / fatorFrom) * fatorTo;\r\n }\r\n\r\n convertKgPerArea(valor: number, from: UnitOfMeasurement, to: UnitOfMeasurement): number {\r\n return this.convertLitersPerArea(valor, from, to);\r\n }\r\n\r\n convertBushelToKg(bushel: number, factor: number): number {\r\n if (factor <= 0) {\r\n throw new Error(\"Fator de conversão inválido\");\r\n }\r\n return bushel * factor;\r\n }\r\n\r\n convertKgToBushel(kg: number, factor: number): number {\r\n if (factor <= 0) {\r\n throw new Error(\"Fator de conversão inválido\");\r\n }\r\n return kg / factor;\r\n }\r\n\r\n calculateAreaFromVolume(totalVolume: number, rate: number, rateUnit: UnitOfMeasurement, areaUnit: UnitOfMeasurement): number {\r\n if (rate <= 0) {\r\n throw new Error(\"Taxa de aplicação inválida\");\r\n }\r\n const rateInDesiredUnit = this.convertLitersPerArea(rate, rateUnit, areaUnit);\r\n return totalVolume / rateInDesiredUnit;\r\n }\r\n\r\n convertElectricityUnit(valor: number, voltage: number, from: UnitOfMeasurement, to: UnitOfMeasurement): number {\r\n if (from === to) {\r\n return valor;\r\n }\r\n\r\n const toWatt = (v: number, unit: UnitOfMeasurement): number => {\r\n switch (unit) {\r\n case UnitOfMeasurement.VOLT:\r\n case UnitOfMeasurement.AMPERE:\r\n return voltage * v; // P = V * I\r\n case UnitOfMeasurement.WATT:\r\n return v;\r\n default:\r\n throw new Error(`A unidade ${unit} não é escalável diretamente.`);\r\n }\r\n };\r\n\r\n const fromWatt = (w: number, unit: UnitOfMeasurement): number => {\r\n switch (unit) {\r\n case UnitOfMeasurement.VOLT:\r\n case UnitOfMeasurement.AMPERE:\r\n return w / voltage;\r\n case UnitOfMeasurement.WATT:\r\n return w;\r\n default:\r\n throw new Error(`A unidade ${unit} não é escalável diretamente.`);\r\n }\r\n };\r\n\r\n const wattValue = toWatt(valor, from);\r\n return fromWatt(wattValue, to);\r\n }\r\n}\r\n","import { AgroStringUtils } from \"./agro-string-utils.class\";\r\n\r\nconst AND = \"AND\";\r\nconst OR = \"OR\";\r\nconst EQ = \"eq\";\r\nconst NE = \"ne\";\r\nconst LT = \"lt\";\r\nconst LE = \"le\";\r\nconst GT = \"gt\";\r\nconst GE = \"ge\";\r\n\r\nexport class EDLQueryBuilder {\r\n private readonly parts: string[] = [];\r\n private lastOperator: string | null = null;\r\n\r\n public eq(property: string, value: any): this {\r\n return this.addComparison(property, EQ, value);\r\n }\r\n\r\n public eqEnum(property: string, value: string): this {\r\n return this.addComparison(property, EQ, value, true);\r\n }\r\n\r\n public ne(property: string, value: any): this {\r\n return this.addComparison(property, NE, value);\r\n }\r\n\r\n public lt(property: string, value: any): this {\r\n return this.addComparison(property, LT, value);\r\n }\r\n\r\n public le(property: string, value: any): this {\r\n return this.addComparison(property, LE, value);\r\n }\r\n\r\n public gt(property: string, value: any): this {\r\n return this.addComparison(property, GT, value);\r\n }\r\n\r\n public ge(property: string, value: any): this {\r\n return this.addComparison(property, GE, value);\r\n }\r\n\r\n // ================================\r\n // Operadores especiais\r\n // ================================\r\n public isNull(property: string, not = false): this {\r\n const expr = `${property} is ${not ? \"not \" : \"\"}null`;\r\n return this.addPart(expr);\r\n }\r\n\r\n public containing(property: string, value: string): this {\r\n const val = this.formatStringValue(value);\r\n const expr = `containing(upper(trim(${property})), upper(trim(${val})))`;\r\n return this.addPart(expr);\r\n }\r\n\r\n /**\r\n * Simula um \"between\" — verifica se o valor informado está entre start e end.\r\n */\r\n public between(startProp: string, endProp: string, value: any): this {\r\n const left = `${startProp} ${LE} ${this.formatValue(value)}`;\r\n const right = `${endProp} ${GE} ${this.formatValue(value)}`;\r\n const expr = `(${left} ${AND} ${right})`;\r\n return this.addPart(expr);\r\n }\r\n\r\n public and(): this {\r\n return this.addLogicalOperator(AND);\r\n }\r\n\r\n public or(): this {\r\n return this.addLogicalOperator(OR);\r\n }\r\n\r\n public group(content: string | this): this {\r\n let builtContent: string;\r\n\r\n if (typeof (content as any)?.build === \"function\") {\r\n builtContent = (content as any).build();\r\n } else if (typeof content === \"string\") {\r\n builtContent = content;\r\n } else {\r\n throw new Error(\"O método group() deve receber uma string ou uma instância de EDLQueryBuilder.\");\r\n }\r\n\r\n return this.addPart(`(${builtContent})`);\r\n }\r\n\r\n public build(): string {\r\n return this.parts.join(\" \").trim();\r\n }\r\n\r\n private addComparison(property: string, op: string, value: any, isEnum = false): this {\r\n const expr = `${property} ${op} ${this.formatValue(value, isEnum)}`;\r\n return this.addPart(expr);\r\n }\r\n\r\n private escapeQuotes(value: string): string {\r\n return value.replace(/'/g, \"\\\\'\");\r\n }\r\n\r\n private addLogicalOperator(op: string): this {\r\n if (this.parts.length > 0) {\r\n this.lastOperator = op;\r\n }\r\n return this;\r\n }\r\n\r\n private addPart(part: string): this {\r\n const last = this.parts[this.parts.length - 1]?.trim().toUpperCase();\r\n\r\n if (this.lastOperator) {\r\n this.parts.push(this.lastOperator);\r\n this.lastOperator = null;\r\n }\r\n if (this.parts.length > 0 && last !== AND && last !== OR && !last.endsWith(\"(\")) {\r\n this.parts.push(AND);\r\n }\r\n\r\n this.parts.push(part);\r\n return this;\r\n }\r\n\r\n private formatValue(value: any, isEnum = false): string {\r\n if (value === null || value === undefined) {\r\n return \"null\";\r\n }\r\n\r\n const type = typeof value;\r\n\r\n if (type === \"boolean\") {\r\n return value ? \"true\" : \"false\";\r\n }\r\n if (type === \"number\") {\r\n return value.toString();\r\n }\r\n if (value instanceof Date) {\r\n return `'${value.toISOString()}'`;\r\n }\r\n if (type === \"string\") {\r\n return this.formatStringValue(value, isEnum);\r\n }\r\n\r\n throw new Error(`Tipo de valor não suportado: ${type}`);\r\n }\r\n\r\n private formatStringValue(value: string, isEnum = false): string {\r\n const escaped = this.escapeQuotes(value);\r\n\r\n if (AgroStringUtils.isUUID(escaped)) {\r\n return `'${escaped}'`;\r\n }\r\n if (isEnum || AgroStringUtils.isNumber(escaped)) {\r\n return `${escaped}`;\r\n }\r\n if (AgroStringUtils.isISODate(escaped)) {\r\n return `'${escaped}'`;\r\n }\r\n if (AgroStringUtils.isISOTime(escaped)) {\r\n return `'${escaped}'`;\r\n }\r\n if (AgroStringUtils.isISODatetime(escaped)) {\r\n return `'${escaped}'`;\r\n }\r\n\r\n return `upper('${escaped}')`;\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { BadgeModule } from \"@seniorsistemas/angular-components/badge\";\r\nimport { ButtonModule } from \"@seniorsistemas/angular-components/button\";\r\nimport { ControlErrorsModule } from \"@seniorsistemas/angular-components/control-errors\";\r\nimport { DynamicFormModule } from \"@seniorsistemas/angular-components/dynamic-form\";\r\nimport { EmptyStateModule } from \"@seniorsistemas/angular-components/empty-state\";\r\nimport { LoadingStateModule } from \"@seniorsistemas/angular-components/loading-state\";\r\nimport { NumberInputModule } from \"@seniorsistemas/angular-components/number-input\";\r\nimport { ObjectCardModule } from \"@seniorsistemas/angular-components/object-card\";\r\nimport { SidebarModule } from \"@seniorsistemas/angular-components/sidebar\";\r\nimport { TableModule } from \"@seniorsistemas/angular-components/table\";\r\nimport { ConfirmDialogModule } from \"primeng/confirmdialog\";\r\nimport { FieldsetModule } from \"primeng/fieldset\";\r\nimport { PanelModule } from \"primeng/panel\";\r\nimport { TabViewModule } from \"primeng/tabview\";\r\nimport { CurrencyMaskModule } from \"@seniorsistemas/ng2-currency-mask\";\r\nimport { InputTextModule } from \"primeng/inputtext\";\r\nimport { CheckboxModule } from \"primeng/checkbox\";\r\nimport { TableModule as PrimeTableModule } from \"primeng/table\";\r\nimport { CalendarModule } from \"primeng/calendar\";\r\nimport { DropdownModule } from \"primeng/dropdown\";\r\nimport { SharedModule as PrimeSharedModule } from \"primeng/api\";\r\nimport { HotkeyModule } from \"angular2-hotkeys\";\r\nimport { CyclicJsonInterceptorModule, HttpInterceptorModule } from \"@seniorsistemas/platform-components\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ButtonModule,\r\n ReactiveFormsModule,\r\n CurrencyMaskModule,\r\n ControlErrorsModule,\r\n EmptyStateModule,\r\n DynamicFormModule,\r\n PanelModule,\r\n FieldsetModule,\r\n InputTextModule,\r\n CheckboxModule,\r\n PrimeTableModule,\r\n ConfirmDialogModule,\r\n CalendarModule,\r\n DropdownModule,\r\n TabViewModule,\r\n PrimeSharedModule,\r\n SidebarModule,\r\n HotkeyModule,\r\n LoadingStateModule,\r\n NumberInputModule,\r\n CyclicJsonInterceptorModule,\r\n HttpInterceptorModule,\r\n TableModule,\r\n ObjectCardModule,\r\n BadgeModule,\r\n ],\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n ButtonModule,\r\n ReactiveFormsModule,\r\n CurrencyMaskModule,\r\n ControlErrorsModule,\r\n EmptyStateModule,\r\n DynamicFormModule,\r\n PanelModule,\r\n FieldsetModule,\r\n InputTextModule,\r\n CheckboxModule,\r\n PrimeTableModule,\r\n ConfirmDialogModule,\r\n CalendarModule,\r\n DropdownModule,\r\n TabViewModule,\r\n PrimeSharedModule,\r\n SidebarModule,\r\n HotkeyModule,\r\n LoadingStateModule,\r\n NumberInputModule,\r\n CyclicJsonInterceptorModule,\r\n HttpInterceptorModule,\r\n TableModule,\r\n ObjectCardModule,\r\n BadgeModule,\r\n ],\r\n})\r\nexport class SharedModule {}\r\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\r\nimport { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\n\r\nexport enum StepState {\r\n Default = \"default\",\r\n Success = \"success\",\r\n Warning = \"warning\",\r\n}\r\n\r\nexport interface Step {\r\n idEvent: string;\r\n idItem: string;\r\n label: string;\r\n subLabel?: string;\r\n ariaLabel?: string;\r\n ariaControls?: string;\r\n state?: StepState;\r\n disabled?: boolean;\r\n hidden?: boolean;\r\n tooltip?: string;\r\n}\r\n\r\nexport interface StepSelectionEvent {\r\n step: Step;\r\n index: number;\r\n event: any;\r\n}\r\n\r\nconst leftBottom = \"left bottom\";\r\nconst rightBottom = \"right bottom\";\r\nconst activeDesactive = \"active => desactive\";\r\nconst desactiveActive = \"desactive => active\";\r\n\r\n@Component({\r\n selector: \"s-event-steps\",\r\n templateUrl: \"./event-steps.component.html\",\r\n styleUrls: [\"./event-steps.component.scss\"],\r\n host: {\r\n \"aria-orientation\": \"horizontal\",\r\n role: \"tablist\",\r\n \"tab-index\": \"0\",\r\n },\r\n animations: [\r\n trigger(\"beforeActiveDesative\", [\r\n state(\r\n \"active\",\r\n style({\r\n \"background-position\": leftBottom,\r\n })\r\n ),\r\n state(\r\n \"desactive\",\r\n style({\r\n \"background-position\": rightBottom,\r\n })\r\n ),\r\n transition(activeDesactive, [animate(\"50ms 100ms linear\")]),\r\n transition(desactiveActive, [animate(\"50ms 250ms linear\")]),\r\n ]),\r\n trigger(\"activeDesative\", [\r\n state(\r\n \"active\",\r\n style({\r\n \"background-position\": leftBottom,\r\n })\r\n ),\r\n state(\r\n \"desactive\",\r\n style({\r\n \"background-position\": rightBottom,\r\n })\r\n ),\r\n transition(activeDesactive, [animate(\"100ms 150ms linear\")]),\r\n transition(desactiveActive, [animate(\"100ms 150ms linear\")]),\r\n ]),\r\n trigger(\"afterActiveDesative\", [\r\n state(\r\n \"active\",\r\n style({\r\n \"background-position\": leftBottom,\r\n })\r\n ),\r\n state(\r\n \"desactive\",\r\n style({\r\n \"background-position\": rightBottom,\r\n })\r\n ),\r\n transition(activeDesactive, [animate(\"50ms 250ms linear\")]),\r\n transition(desactiveActive, [animate(\"50ms 100ms linear\")]),\r\n ]),\r\n ],\r\n})\r\nexport class EventStepsComponent {\r\n public static nextId = 0;\r\n\r\n @Input()\r\n public id: string;\r\n @Input()\r\n public steps!: Step[];\r\n @Input()\r\n public activeIndex = 0;\r\n\r\n @Output()\r\n public stepSelected: EventEmitter<StepSelectionEvent> = new EventEmitter();\r\n\r\n constructor() {\r\n EventStepsComponent.nextId += 1;\r\n this.id = `s-steps-${EventStepsComponent.nextId}`;\r\n }\r\n\r\n public stepClick(step: Step, index: number, event: any) {\r\n if (step.disabled) {\r\n return;\r\n }\r\n this.stepSelected.emit({ step, index, event });\r\n }\r\n\r\n public get stepState() {\r\n return StepState;\r\n }\r\n\r\n public barAnimation(index: number, activeIndex: number): boolean {\r\n const visited = index < activeIndex;\r\n const activated = index === activeIndex;\r\n return visited || activated;\r\n }\r\n\r\n public afterBarAnimation(index: number, activeIndex: number): boolean {\r\n const visited = index < activeIndex;\r\n const activated = index === activeIndex - 1;\r\n return visited || activated;\r\n }\r\n\r\n get visibledStep() {\r\n return this.steps.filter((step: Step) => !step.hidden);\r\n }\r\n}\r\n","<div [id]=\"id\" class=\"s-steps-container\">\r\n <ng-container *ngFor=\"let step of visibledStep; let i = index; let isFirst = first; let isLast = last\">\r\n <div *ngIf=\"!isFirst\" class=\"s-step-progress-bar\"\r\n [@activeDesative]=\"barAnimation(i, activeIndex) ? 'active': 'desactive'\" [ngClass]=\"{\r\n 's-step-success': (step.state === stepState.Success),\r\n 's-step-warning': (step.state === stepState.Warning),\r\n 's-step-disabled': step.disabled,\r\n 's-step-visited': (i < activeIndex),\r\n 's-step-active': (i === activeIndex)\r\n }\"></div>\r\n <div [id]=\"id + '-step-' + (i)\" class=\"s-step-header\" (click)=\"stepClick(step, i, $event)\" role=\"tab\"\r\n tabindex=\"0\" [attr.aria-label]=\"step.ariaLabel || null\" [attr.aria-controls]=\"step.ariaControls\"\r\n [attr.aria-labelledby]=\"!step.ariaLabel ? 'step-label-' + i : null\" [attr.aria-posinset]=\"i + 1\"\r\n [attr.aria-setsize]=\"visibledStep.length\" [attr.aria-selected]=\"activeIndex == i\" [ngClass]=\"{\r\n 's-step-success': (step.state === stepState.Success),\r\n 's-step-warning': (step.state === stepState.Warning),\r\n 's-step-visited': (i < activeIndex),\r\n 's-step-active': (i === activeIndex),\r\n 's-step-previous': (i === activeIndex - 1),\r\n 'success-status': (step.state === stepState.Success),\r\n 'failed-status': (step.state === stepState.Warning)\r\n }\">\r\n <div *ngIf=\"!isFirst\"\r\n [@beforeActiveDesative]=\"barAnimation(i, activeIndex) ? 'active': 'desactive'\"\r\n class=\"s-step-progress-bar-before\" [ngClass]=\"{\r\n 's-step-success': (step.state === stepState.Success),\r\n 's-step-warning': (step.state === stepState.Warning),\r\n 's-step-disabled': step.disabled,\r\n 's-step-visited': (i < activeIndex),\r\n 's-step-active': (i === activeIndex)\r\n }\"></div>\r\n <div *ngIf=\"!isLast\"\r\n [@afterActiveDesative]=\"afterBarAnimation(i, activeIndex) ? 'active': 'desactive'\"\r\n class=\"s-step-progress-bar-after\" [ngClass]=\"{\r\n 's-step-success': (step.state === stepState.Success),\r\n 's-step-warning': (step.state === stepState.Warning),\r\n 's-step-disabled': visibledStep[i + 1].disabled,\r\n 's-step-visited': ((i + 1) < activeIndex),\r\n 's-step-active': (i === (activeIndex - 1))\r\n }\"></div>\r\n <div\r\n class=\"s-step-index\"\r\n [ngClass]=\"{'s-step-disabled': step.disabled, 'loading-status': !step.disabled}\"\r\n [pTooltip]=\"step.tooltip\"\r\n tooltipPosition=\"top\">\r\n <div class=\"s-step-index-content\">\r\n <span\r\n *ngIf=\"step.state !== stepState.Warning && (step.state == stepState.Success || activeIndex > i)\"\r\n class=\"fas fa-check\"\r\n aria-hidden=\"true\"\r\n [attr.aria-label]=\"i + 1\"></span>\r\n <span\r\n *ngIf=\"step.state == stepState.Warning\"\r\n class=\"fas fa-exclamation-triangle\"\r\n aria-hidden=\"true\"\r\n [attr.aria-label]=\"i + 1\"></span>\r\n <span\r\n *ngIf=\"step.state != stepState.Success && step.state != stepState.Warning\r\n && activeIndex <= i && !step.disabled\"\r\n class=\"fa fa-hourglass-half loading-status\"\r\n aria-hidden=\"true\"\r\n [attr.aria-label]=\"i + 1\"></span>\r\n <span\r\n *ngIf=\"step.disabled\">\r\n {{i + 1}}\r\n </span>\r\n </div>\r\n </div>\r\n <div\r\n [id]=\"'step-label-' + i\"\r\n class=\"s-step-label\"\r\n [ngClass]=\"{'s-step-disabled': step.disabled}\">\r\n <span>\r\n {{step.label}}\r\n </span>\r\n </div>\r\n <div\r\n *ngIf=\"step.subLabel\"\r\n [id]=\"'step-label-' + i\"\r\n class=\"s-step-label\"\r\n [ngClass]=\"{'s-step-disabled': step.disabled}\">\r\n <span>\r\n {{step.subLabel}}\r\n </span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TooltipModule } from \"primeng/tooltip\";\r\nimport { EventStepsComponent } from \"./event-steps.component\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, TooltipModule],\r\n declarations: [EventStepsComponent],\r\n exports: [EventStepsComponent],\r\n})\r\nexport class EventStepsModule {}\r\n","const ptBR = {\r\n \"agro.angular_components.table_empty_description\": \"Altere os filtros acima para gerar outros resultados de busca\",\r\n \"agro.angular_components.nothing_found\": \"Nenhum registro encontrado\",\r\n \"agro.angular_components.panel_title_events_events\": \"Eventos\",\r\n \"agro.angular_components.refresh\": \"Atualizar\",\r\n \"agro.angular_components.event_control_header\": \"Consulta de eventos/integrações\",\r\n \"agro.angular_components.no\": \"Não\",\r\n \"agro.angular_components.yes\": \"Sim\",\r\n \"agro.angular_components.event_modal_title\": \"Reprocessamento de Eventos\",\r\n \"agro.angular_components.event_modal\": \"Deseja reprocessar o evento?\",\r\n \"agro.angular_components.reprocess_event\": \"Reprocessar evento\",\r\n \"agro.angular_components.events_close\": \"Fechar\",\r\n \"agro.angular_components.event_error_message\": \"Mensagem de erro\",\r\n \"agro.angular_components.last_update_date\": \"Última atualização\",\r\n \"agro.angular_components.show_event_details\": \"Detalhes do evento\",\r\n \"agro.angular_components.pending\": \"Pendente\",\r\n \"agro.angular_components.processing\": \"Processando\",\r\n \"agro.angular_components.panel_title_events_ended_with_error\": \"Falha\",\r\n \"agro.angular_components.tickets\": \"Tickets\",\r\n \"agro.angular_components.rural_estate\": \"Imóvel Rural\",\r\n \"agro.angular_components.change_request_event_summary\": \"Alteração de \\nPesagem\",\r\n \"agro.angular_components.ticket_maintenance_header\": \"Manutenção de ticket\",\r\n \"agro.angular_components.invoice_creating_event\": \"Emissão de NF\",\r\n \"agro.angular_components.balance_entry_control_event\": \"Entrada/saída balança\",\r\n \"agro.angular_components.event_origin_label\": \"Origem do evento\",\r\n \"agro.angular_components.event_details_header\": \"Detalhes do Evento\",\r\n \"agro.angular_components.registers_found\": \"{total} registro(s) encontrado(s)\",\r\n \"agro.angular_components.change_request_event\": \"Alteração de Pesagem\",\r\n \"agro.angular_components.status_label\": \"Status\",\r\n \"agro.angular_components.panel_title_events_completed_successfully\": \"Sucesso\",\r\n \"agro.angular_components.supplier\": \"Fornecedor\",\r\n \"agro.angular_components.ticket\": \"Ticket\",\r\n \"agro.angular_components.company\": \"Empresa\",\r\n \"agro.angular_components.label_branch\": \"Filial\",\r\n \"agro.angular_components.event_sidebar_title\": \"Evento {eventNumber}\",\r\n \"agro.angular_components.reprocessing_event_message_title\": \"Reprocessando Evento\",\r\n \"agro.angular_components.reprocessing_event_message_description\": \"O evento selecionado está sendo reprocessado.\",\r\n \"agro.angular_components.error_reprocessing_event_message_title\": \"Erro ao reprocessar evento\",\r\n \"agro.angular_components.error_reprocessing_event_message_description\": \"Houve um erro ao reprocessar o evento. Tente novamente mais tarde.\",\r\n \"agro.angular_components.actions\": \"Ações\",\r\n \"agro.angular_components.add\": \"Adicionar\",\r\n \"agro.angular_components.at_date\": \"Na data\",\r\n \"agro.angular_components.at_time\": \"Na hora\",\r\n \"agro.angular_components.cancel\": \"Cancelar\",\r\n \"agro.angular_components.clear\": \"Limpar\",\r\n \"agro.angular_components.created_by\": \"Criado por\",\r\n \"agro.angular_components.delete\": \"Excluir\",\r\n \"agro.angular_components.delete_confirmation_message\": \"Tem certeza que deseja excluir este item?\",\r\n \"agro.angular_components.delete_confirmation_title\": \"Confirmação de exclusão\",\r\n \"agro.angular_components.deleted_message_content\": \"Item excluído com sucesso\",\r\n \"agro.angular_components.deleted_message_title\": \"Exclusão realizada\",\r\n \"agro.angular_components.e_070_emp_cod_emp\": \"Código da empresa\",\r\n \"agro.angular_components.e_070_emp_created_by\": \"Criado por\",\r\n \"agro.angular_components.e_070_emp_created_date\": \"Data de criação\",\r\n \"agro.angular_components.e_070_emp_id\": \"Id\",\r\n \"agro.angular_components.e_070_emp_last_modified_by\": \"Última modificação por\",\r\n \"agro.angular_components.e_070_emp_last_modified_date\": \"Data da última modificação\",\r\n \"agro.angular_components.e_070_emp_nom_emp\": \"Nome da empresa\",\r\n \"agro.angular_components.e_070_emp_sig_emp\": \"Nome fantasia / Sigla da empresa\",\r\n \"agro.angular_components.e_070_fil_cid_fil\": \"Cidade\",\r\n \"agro.angular_components.e_070_fil_cod_fil\": \"Código da filial\",\r\n \"agro.angular_components.e_070_fil_created_by\": \"Criado por\",\r\n \"agro.angular_components.e_070_fil_created_date\": \"Data de criação\",\r\n \"agro.angular_components.e_070_fil_id\": \"Id\",\r\n \"agro.angular_components.e_070_fil_last_modified_by\": \"Última modificação por\",\r\n \"agro.angular_components.e_070_fil_last_modified_date\": \"Data da última modificação\",\r\n \"agro.angular_components.e_070_fil_nom_fil\": \"Nome da filial\",\r\n \"agro.angular_components.e_070_fil_num_cgc\": \"CNPJ\",\r\n \"agro.angular_components.e_070_fil_num_fon\": \"Numero Telefone\",\r\n \"agro.angular_components.e_070_fil_sig_fil\": \"Nome fantasia da filial\",\r\n \"agro.angular_components.edit\": \"Editar\",\r\n \"agro.angular_components.error_forbidden_description\": \"Você não tem permissão para acessar este recurso\",\r\n \"agro.angular_components.error_forbidden_title\": \"Acesso negado\",\r\n \"agro.angular_components.error_invalid\": \"Valor inválido\",\r\n \"agro.angular_components.error_max_length\": \"O valor máximo de caracteres é {0}\",\r\n \"agro.angular_components.error_max_value\": \"O valor máximo é {0}\",\r\n \"agro.angular_components.error_min_length\": \"O valor mínimo de caracteres é {valor}\",\r\n \"agro.angular_components.error_min_value\": \"O valor mínimo é {0}\",\r\n \"agro.angular_components.error_not_found_description\": \"O recurso solicitado não foi encontrado\",\r\n \"agro.angular_components.error_not_found_title\": \"Não encontrado\",\r\n \"agro.angular_components.error_required\": \"Campo obrigatório\",\r\n \"agro.angular_components.error_server_description\": \"Ocorreu um erro ao processar sua solicitação. Por favor, tente novamente\",\r\n \"agro.angular_components.error_server_title\": \"Erro no servidor\",\r\n \"agro.angular_components.error_server_try_again\": \"Tente novamente\",\r\n \"agro.angular_components.error_unauthorized_description\": \"Você não está autorizado a acessar este recurso\",\r\n \"agro.angular_components.error_unauthorized_title\": \"Não autorizado\",\r\n \"agro.angular_components.event_control\": \"Controle de eventos\",\r\n \"agro.angular_components.event_control_created_by\": \"Criado por\",\r\n \"agro.angular_components.event_control_created_date\": \"Data de criação\",\r\n \"agro.angular_components.event_control_e_070_emp\": \"Empresa\",\r\n \"agro.angular_components.event_control_e_070_emp_search_title\": \"Selecione a empresa\",\r\n \"agro.angular_components.event_control_e_070_fil\": \"Filial\",\r\n \"agro.angular_components.event_control_e_070_fil_search_title\": \"Selecione a filial\",\r\n \"agro.angular_components.event_control_empty_state_description\": \"Nenhum registro encontrado\",\r\n \"agro.angular_components.event_control_empty_state_title\": \"Nenhum registro encontrado\",\r\n \"agro.angular_components.event_control_event_origin\": \"Origem do evento\",\r\n \"agro.angular_components.event_control_event_origin_placeholder\": \"Selecione a origem do evento\",\r\n \"agro.angular_components.event_control_external_id\": \"Id externo\",\r\n \"agro.angular_components.event_control_form_general_title\": \"Geral\",\r\n \"agro.angular_components.event_control_form_title\": \"Controle de eventos\",\r\n \"agro.angular_components.event_control_id\": \"Id da entidade\",\r\n \"agro.angular_components.event_control_item\": \"Itens do controle de eventos\",\r\n \"agro.angular_components.event_control_item_created_by\": \"Criado por\",\r\n \"agro.angular_components.event_control_item_created_date\": \"Data de criação\",\r\n \"agro.angular_components.event_control_item_empty_state_description\": \"Nenhum registro encontrado\",\r\n \"agro.angular_components.event_control_item_empty_state_title\": \"Nenhum registro encontrado\",\r\n \"agro.angular_components.event_control_item_event_control\": \"eventControlId\",\r\n \"agro.angular_components.event_control_item_event_control_search_title\": \"Selecione o controle de eventos\",\r\n \"agro.angular_components.event_control_item_event_group\": \"Grupo do evento\",\r\n \"agro.angular_components.event_control_item_event_operation\": \"Tipo da operação do evento\",\r\n \"agro.angular_components.event_control_item_event_operation_placeholder\": \"Selecione o tipo da operação do evento\",\r\n \"agro.angular_components.event_control_item_form_general_title\": \"Geral\",\r\n \"agro.angular_components.event_control_item_form_title\": \"Itens do controle de eventos\",\r\n \"agro.angular_components.event_control_item_id\": \"Id da entidade\",\r\n \"agro.angular_components.event_control_item_last_modified_by\": \"Última modificação por\",\r\n \"agro.angular_components.event_control_item_last_modified_date\": \"Data da última modificação\",\r\n \"agro.angular_components.event_control_item_list_grid_title\": \"Itens do controle de eventos\",\r\n \"agro.angular_components.event_control_item_list_title\": \"Itens do controle de eventos\",\r\n \"agro.angular_components.event_control_item_message\": \"Mensagem de evento\",\r\n \"agro.angular_components.event_control_item_param\": \"Parâmetros do evento\",\r\n \"agro.angular_components.event_control_item_request\": \"Solicitação recebida\",\r\n \"agro.angular_components.event_control_item_response\": \"Resposta enviada\",\r\n \"agro.angular_components.event_control_item_sequence\": \"Sequência do evento\",\r\n \"agro.angular_components.event_control_item_status\": \"Status do evento\",\r\n \"agro.angular_components.event_control_item_status_placeholder\": \"Selecione o status do evento\",\r\n \"agro.angular_components.event_control_last_modified_by\": \"Última modificação por\",\r\n \"agro.angular_components.event_control_last_modified_date\": \"Data da última modificação\",\r\n \"agro.angular_components.event_control_list_grid_title\": \"Controle de eventos\",\r\n \"agro.angular_components.event_control_list_title\": \"Controle de eventos\",\r\n \"agro.angular_components.event_operation_change_request\": \"Solicitação de alteração\",\r\n \"agro.angular_components.event_operation_change_response\": \"Resposta de alteração\",\r\n \"agro.angular_components.event_operation_effective\": \"Efetivo\",\r\n \"agro.angular_components.event_operation_effective_confirmation\": \"Confirmação de efetivação\",\r\n \"agro.angular_components.event_operation_invoice_closing\": \"Fechamento de nota fiscal\",\r\n \"agro.angular_components.event_operation_invoice_creating\": \"Criação de nota fiscal\",\r\n \"agro.angular_components.event_operation_invoice_installments\": \"Parcelamento de no\",\r\n \"agro.angular_components.event_operation_provesional\": \"Saldo Provisório\",\r\n \"agro.angular_components.event_operation_remove_provisional\": \"Remoção de Saldo provisório\",\r\n \"agro.angular_components.event_operation_ticket\": \"Ticket\",\r\n \"agro.angular_components.event_origin_balance_entry_control\": \"Controle de lançamento de saldo\",\r\n \"agro.angular_components.event_origin_change_request\": \"Solicitação de alteração\",\r\n \"agro.angular_components.event_origin_invoice\": \"Invoice\",\r\n \"agro.angular_components.event_origin_ticket\": \"Ticket\",\r\n \"agro.angular_components.event_status_canceled\": \"Cancelado\",\r\n \"agro.angular_components.event_status_failed\": \"Falha\",\r\n \"agro.angular_components.event_status_pending\": \"Pendente\",\r\n \"agro.angular_components.event_status_processing\": \"Processado\",\r\n \"agro.angular_components.event_status_success\": \"Sucesso\",\r\n \"agro.angular_components.filter\": \"Filtrar\",\r\n \"agro.angular_components.filters\": \"Filtros\",\r\n \"agro.angular_components.list_grid_empty_field\": \"Nenhum registro encontrado\",\r\n \"agro.angular_components.product_header_title\": \"Eventos\",\r\n \"agro.angular_components.save\": \"Salvar\",\r\n \"agro.angular_components.select\": \"Selecione\",\r\n \"agro.angular_components.updated_by\": \"Atualizado por\",\r\n \"error_invalid\": \"Valor inválido\",\r\n \"agro.angular_components.choose_label\": \"Escolha\",\r\n \"agro.angular_components.remove_label\": \"Remover\",\r\n \"agro.angular_components.cancel_label\": \"Cancelar\",\r\n \"agro.angular_components.success_tooltip\": \"Sucesso\",\r\n \"agro.angular_components.menu_agro_events\": \"Eventos do Agro\",\r\n \"agro.angular_components.date\": \"Data\",\r\n \"agro.angular_components.label_code_branch\": \"Código da filial\",\r\n \"agro.angular_components.label_code_company\": \"Código da empresa\",\r\n \"agro.angular_components.label_code_deposit\": \"Código do depósito\",\r\n \"agro.angular_components.label_code\": \"Código\",\r\n \"agro.angular_components.label_company\": \"Empresa\",\r\n \"platform.backend.agro_origination_entry_control\": \"Controle entrada/saída via balança\",\r\n \"platform.backend.agro_origination_entry_exit_query\": \"Consulta entrada/saída\",\r\n \"platform.backend.agro_origination_links\": \"Ligações\",\r\n \"agro.angular_components.fantasy_name\": \"Nome fantasia\",\r\n \"platform.backend.agro_origination_operation_versus_transaction_link\": \"Ligação operação x transação\",\r\n \"platform.backend.menu_event_control\": \"Consulta de eventos/integrações\",\r\n \"agro.angular_components.company_search_label\": \"Consultar Empresa\",\r\n \"agro.angular_components.company_tooltip\": \"Selecione uma empresa para prosseguir\",\r\n \"agro.angular_components.branch_search_label\": \"Consultar Filial\",\r\n \"agro.angular_components.branch_tooltip\": \"Encontre as filiais da empresa\",\r\n \"agro.angular_components.dash\": \"-\",\r\n \"agro.angular_components.ticket_tooltip\": \"Adicione o número do ticket para especificar na busca\",\r\n \"agro.angular_components.ticket_search_label\": \"Consultar Ticket\",\r\n \"agro.grain_classification.ticket_search_label\": \"Consultar Ticket\",\r\n \"agro.angular_components.kilogram_unit_label\": \"KG\",\r\n \"agro.angular_components.event_list_header\": \"Lista de Eventos\",\r\n \"agro.angular_components.ticket_event\": \"Emissão do Ticket\",\r\n \"agro.angular_components.provisional_event\": \"Saldo provisório\",\r\n \"agro.angular_components.effective_event\": \"Saldo efetivo\",\r\n \"agro.angular_components.effective_confirmation_event\": \"Confirmação saldo efetivo\",\r\n \"agro.angular_components.remove_provisional_event\": \"Remover Saldo Provisório\",\r\n \"agro.angular_components.canceled\": \"Cancelado\",\r\n \"agro.angular_components.label_number\": \"Ticket\",\r\n \"agro.angular_components.cnpj\": \"CNPJ\",\r\n \"agro.angular_components.label_city\": \"Cidade\",\r\n \"agro.angular_components.menu_event_control\": \"Consulta de eventos/integrações\",\r\n \"agro.angular_components.transfer_origin_event\": \"Transferência entre Produtores\",\r\n \"agro.angular_components.generation_of_invoice_installments\": \"Geração das parcelas da nota fiscal\",\r\n \"agro.angular_components.invoice_canceled\": \"Fechamento da nota fiscal\",\r\n \"agro.angular_components.CANCEL_INVOICE\": \"Cancelamento de nota fiscal\",\r\n \"agro.angular_components.EFFECTIVE_CONFIRMATION\": \"Confirmação efetiva\",\r\n \"agro.angular_components.CHANGE_REQUEST\": \"Solicitação de alteração\",\r\n \"agro.angular_components.CHANGE_RESPONSE\": \"Resposta da solicitação de alteração\",\r\n \"agro.angular_components.PROCESS_FIXATION\": \"Processa a fixação\",\r\n \"agro.angular_components.TRANSFER_CREATE_INCOMING_INVOICE\": \"Emissão NF de entrada\",\r\n \"agro.angular_components.TRANSFER_CREATE_OUTGOING_INVOICE\": \"Emissão NF de saída\",\r\n \"agro.angular_components.TRANSFER_PRODUCER_BALANCE\": \"Transferência de saldo entre produtores\",\r\n \"agro.angular_components.control_code\": \"Identificador\",\r\n \"agro.angular_components.fixation_event\": \"Fixação\",\r\n \"agro.angular_components.FINISH_FINANCIAL_FIXATION\": \"Emissão/Baixa de títulos\",\r\n \"agro.angular_components.FINISH_PRODUCER_NET_VALUE_FIXATION\": \"Atualização de saldos\",\r\n \"agro.angular_components.CONCLUDE_FIXATION\": \"Conclusão da fixação\",\r\n \"agro.angular_components.CANCEL_FINANCIAL_FIXATION\": \"Cancela emissão de títulos\",\r\n \"agro.angular_components.CANCEL_PRODUCER_NET_VALUE_FIXATION\": \"Reverte atualização de saldos\",\r\n \"agro.angular_components.CANCEL_FIXATION\": \"Cancela fixação\",\r\n \"agro.angular_components.cancel_fixation_title\": \"Cancelar fixação\",\r\n \"agro.angular_components.cancel_fixation_description\": \"Tem certeza que deseja cancelar a fixação?\",\r\n \"agro.angular_components.error_cancel_fixation_message_title\": \"Erro ao cancelar fixação\",\r\n \"agro.angular_components.error_cancel_fixation_message_description\": \"Houve um erro ao cancelar a fixação. Tente novamente mais tarde.\",\r\n \"agro.angular_components.cancel_fixation_message_title\": \"Cancelamento de fixação\",\r\n \"agro.angular_components.cancel_fixation_message_description\": \"O processo de cancelamento da fixação foi iniciado com sucesso.\",\r\n \"agro.angular_components.warn_cancel_fixation_message_title\": \"Cancelamento de fixação\",\r\n \"agro.angular_components.warn_cancel_fixation_message_description\": \"Não é permitido cancelar a fixação de compra imediata.\",\r\n \"agro.angular_components.warn_immediate_cancel_fixation_message_description\": \"Não é possível cancelar uma fixação realizada via compra imediata.\",\r\n \"agro.angular_components.cancel_fixation_event\": \"Cancelamento de fixação\",\r\n \"agro.angular_components.invoice_type_INCOMING\": \"Entrada\",\r\n \"agro.angular_components.invoice_type_COMPLEMENT\": \"Complementar\",\r\n \"agro.angular_components.invoice_type_ADJUSTMENT\": \"Ajuste\",\r\n \"agro.angular_components.invoice_type_OUTGOING\": \"Saída\",\r\n \"agro.angular_components.invoice_type_RETURN\": \"Devolução\",\r\n \"agro.angular_components.invoice_type_SERVICE\": \"Serviço\",\r\n \"agro.angular_components.invoice_type_SYMBOLIC_RETURN\": \"Devolução simbólica\",\r\n \"agro.angular_components.cancel_reason\": \"Motivo do cancelamento\",\r\n \"agro.angular_components.TRANSFER_CANCEL_INCOMING_INVOICE\": \"Cancelamento de NF de entrada\",\r\n \"agro.angular_components.TRANSFER_CANCEL_OUTGOING_INVOICE\": \"Cancelamento de NF de saída \",\r\n \"agro.angular_components.TRANSFER_REVERSE_PRODUCER_BALANCE\": \"Estorno dos saldos de produtores\",\r\n \"agro.angular_components.TRANSFER_CONCLUDE_CANCEL\": \"Conclusão do cancelamento\",\r\n \"agro.angular_components.transfer_cancellation_event\": \"Cancelamento de transferência\",\r\n \"agro.angular_components.CREATE_INVOICE_FIXATION\": \"Emissão de NF\",\r\n \"agro.angular_components.CANCEL_INVOICE_FIXATION\": \"Cancelamento de NF\",\r\n \"agro.angular_components.ORIGINATION_CREATE_INVOICE\": \"Emissão de NF\",\r\n \"agro.angular_components.ORIGINATION_CREATE_EFFECTIVE_BALANCE\": \"Emissão de saldo efetivo\",\r\n \"agro.angular_components.PRODUCER_NET_VALUE_EFFECTIVE_BALANCE_CONFIRMATION\": \"Confirmação de saldo efetivo\",\r\n \"agro.angular_components.CLOSE_INVOICE_FIXATION\": \"Fechamento de NF\",\r\n \"agro.angular_components.INVOICE_CLOSE_INVOICE\": \"Solicitação de cancelamento da NF\",\r\n \"agro.angular_components.ORIGINATION_CREATE_EFFECTIVE_CONFIRMATION\": \"Confirmação efetiva\",\r\n \"agro.angular_components.ORIGINATION_CREATE_PROVISIONAL_BALANCE\": \"Saldo provisório\",\r\n \"agro.angular_components.CLOSE_INVOICE_TRANSFER\": \"Fechamento de NF\",\r\n \"agro.angular_components.REOPEN_INVOICE_TRANSFER\": \"Reabertura da NF\",\r\n \"agro.angular_components.TRANSFER_CREATE_FINANCIAL_TITLE\": \"Criação de título financeiro\",\r\n \"agro.angular_components.TRANSFER_CANCEL_FINANCIAL_TITLE\": \"Cancelamento de título financeiro\",\r\n \"agro.angular_components.TRANSFER_CREATE_SERVICE_INVOICE\": \"Emissão NF de serviço\",\r\n \"agro.angular_components.TRANSFER_CANCEL_SERVICE_INVOICE\": \"Cancelamento de NF de serviço\",\r\n \"agro.angular_components.REOPEN_INVOICE_FIXATION\": \"Reabertura da NF\",\r\n \"agro.angular_components.CIDASC_INTEGRATION\": \"Envio ao Cidasc\",\r\n \"agro.angular_components.CIDASC_CANCELLATION\": \"Cancelamento do Receituário\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_CULTURE\": \"Carga Cidasc - Cultura\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_PEST\": \"Carga Cidasc - Praga\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_PRODUCT\": \"Carga Cidasc - Produto\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_MEASURE_UNIT\": \"Carga Cidasc - Unidade de medida\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_COMPOSED_MEASURE_UNIT\": \"Carga Cidasc - Medida por hectare\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD\": \"Carga de dados do NovoReceituário\",\r\n \"agro.angular_components.agronomic_prescription_origin_event\": \"Receituário Agronômico\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_PRODUCT_TYPE\": \"Carga de dados do NovoReceituário - Tipo de Produto\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_ACTIVE_PRINCIPLE\": \"Carga de dados do NovoReceituário - Princípio Ativo\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_FORMULATION\": \"Carga de dados do NovoReceituário - Formulação\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_BULLETIN\": \"Carga de dados do NovoReceituário - Bula\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION_UNIT\": \"Carga de dados do NovoReceituário - Unidade de aplicação\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_SPECIE\": \"Carga de dados do NovoReceituário - Espécie\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION_TYPE\": \"Carga de dados do NovoReceituário - Tipo de aplicação\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_PROBLEMS\": \"Carga de dados do NovoReceituário - Pragas e problemas\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION\": \"Carga de dados do NovoReceituário - Aplicação\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_END\": \"Carga de dados do NovoReceituário - Finalizar integração\",\r\n \"agro.angular_components.new_prescription_page\": \"Parte {count}\",\r\n \"agro.angular_components.number_or_series\": \"Número\",\r\n \"agro.angular_components.panel_title_external_invoice_add_external_invoice\": \"Adicionar nota fiscal\",\r\n \"agro.angular_components.add_pj_invoice_modal_no_invoices_found\": \"Nenhuma nota fiscal disponível para este produtor\",\r\n \"agro.angular_components.number\": \"Número\",\r\n \"agro.angular_components.series\": \"Série\",\r\n \"agro.angular_components.itens\": \"Itens\",\r\n \"agro.angular_components.quantity\": \"Quantidade\",\r\n \"agro.angular_components.issuance_date\": \"Data de emissão\",\r\n \"agro.angular_components.no_register_found_for_external_invoices_summary\": \"Nenhuma nota encontrada\",\r\n \"agro.angular_components.total_value\": \"Valor total\",\r\n \"agro.angular_components.value_linked\": \"Valor vinculado\",\r\n \"agro.angular_components.no_accounts_found_title\": \"Nenhuma conta encontrada\",\r\n \"agro.angular_components.no_accounts_found_description\": \"Não foram encontradas contas para o produtor selecionado.\",\r\n \"agro.angular_components.details\": \"Detalhes\",\r\n \"agro.angular_components.error_less_or_equal_zero\": \"O valor da baixa deve ser maior que zero\",\r\n \"agro.angular_components.error_greater_than_allowed\": \"O valor da baixa deve ser menor ou igual ao valor líquido\",\r\n \"agro.angular_components.account_details\": \"Detalhes do título - \",\r\n \"agro.angular_components.status_open\": \"Aberto\",\r\n \"agro.angular_components.status_paid\": \"Pago\",\r\n \"agro.angular_components.title\": \"Título\",\r\n \"agro.angular_components.type\": \"Tipo\",\r\n \"agro.angular_components.entry\": \"Entrada\",\r\n \"agro.angular_components.due_date\": \"Vencimento\",\r\n \"agro.angular_components.original_value\": \"Valor original\",\r\n \"agro.angular_components.open_value\": \"Valor aberto\",\r\n \"agro.angular_components.value_net\": \"Valor líquido\",\r\n \"agro.angular_components.value_to_pay\": \"Valor baixa\",\r\n \"agro.angular_components.branch\": \"Filial\",\r\n \"agro.angular_components.producer\": \"Produtor\",\r\n \"agro.angular_components.value_fees\": \"Valor de juros\",\r\n \"agro.angular_components.value_fine\": \"Valor de multa\",\r\n \"agro.angular_components.value_charge\": \"Valor de cobrança\",\r\n \"agro.angular_components.value_correction\": \"Valor de correção\",\r\n \"agro.angular_components.value_additional\": \"Valor adicional\",\r\n \"agro.angular_components.value_discount\": \"Descontos\",\r\n \"agro.angular_components.value_other_discount\": \"Outros descontos\",\r\n \"agro.angular_components.error_loading_accounts_title\": \"Erro ao carregar contas\",\r\n \"agro.angular_components.error_loading_accounts_description\": \"Ocorreu um erro ao carregar as contas do produtor. Tente novamente mais tarde.\",\r\n \"agro.angular_components.close\": \"Fechar\",\r\n \"agro.angular_components.value_paid\": \"Valor a pagar\",\r\n \"agro.angular_components.timeout_request_error\": \"Tempo de requisição excedida. Tente novamente mais tarde.\",\r\n \"agro.angular_components.max_linked_invoices\": \"Valor máximo de notas vinculadas atingido\",\r\n \"agro.angular_components.max_linked_invoices_description\": \"Todos os itens de fixação já estão com o valor máximo de notas vinculadas\",\r\n \"agro.angular_components.invoice_created_successfully\": \"Nota fiscal criada com sucesso.\",\r\n \"agro.angular_components.invoice_already_linked\": \"Nota fiscal já está totalmente vinculada a outro item\",\r\n \"agro.angular_components.link_invoice\": \"Vincular nota fiscal\",\r\n \"agro.grain_classification.label_number\": \"Ticket\",\r\n \"agro.grain_classification.origination_create_stock_movement\": \"Movimentação de estoque\",\r\n};\r\nexport default ptBR;\r\n","const enUS = {\r\n \"agro.angular_components.table_empty_description\": \"Change the filters above to generate other search results\",\r\n \"agro.angular_components.nothing_found\": \"No records found\",\r\n \"agro.angular_components.panel_title_events_events\": \"Events\",\r\n \"agro.angular_components.refresh\": \"Refresh\",\r\n \"agro.angular_components.event_control_header\": \"Event/Integration Query\",\r\n \"agro.angular_components.no\": \"No\",\r\n \"agro.angular_components.yes\": \"Yes\",\r\n \"agro.angular_components.event_modal_title\": \"Event Reprocessing\",\r\n \"agro.angular_components.event_modal\": \"Do you want to reprocess the event?\",\r\n \"agro.angular_components.reprocess_event\": \"Reprocess event\",\r\n \"agro.angular_components.events_close\": \"Close\",\r\n \"agro.angular_components.event_error_message\": \"Error message\",\r\n \"agro.angular_components.last_update_date\": \"Last update\",\r\n \"agro.angular_components.show_event_details\": \"Event details\",\r\n \"agro.angular_components.pending\": \"Pending\",\r\n \"agro.angular_components.processing\": \"Processing\",\r\n \"agro.angular_components.panel_title_events_ended_with_error\": \"Failure\",\r\n \"agro.angular_components.tickets\": \"Tickets\",\r\n \"agro.angular_components.rural_estate\": \"Rural Estate\",\r\n \"agro.angular_components.change_request_event_summary\": \"Weight Change\",\r\n \"agro.angular_components.ticket_maintenance_header\": \"Ticket Maintenance\",\r\n \"agro.angular_components.invoice_creating_event\": \"Invoice Issuance\",\r\n \"agro.angular_components.balance_entry_control_event\": \"Balance Entry/Exit\",\r\n \"agro.angular_components.event_origin_label\": \"Event origin\",\r\n \"agro.angular_components.event_details_header\": \"Event Details\",\r\n \"agro.angular_components.registers_found\": \"{total} record(s) found\",\r\n \"agro.angular_components.change_request_event\": \"Weight Change\",\r\n \"agro.angular_components.status_label\": \"Status\",\r\n \"agro.angular_components.panel_title_events_completed_successfully\": \"Success\",\r\n \"agro.angular_components.supplier\": \"Supplier\",\r\n \"agro.angular_components.ticket\": \"Ticket\",\r\n \"agro.angular_components.company\": \"Company\",\r\n \"agro.angular_components.label_branch\": \"Branch\",\r\n \"agro.angular_components.event_sidebar_title\": \"Event - {event}\",\r\n \"agro.angular_components.reprocessing_event_message_title\": \"Reprocessing Event\",\r\n \"agro.angular_components.reprocessing_event_message_description\": \"The selected event is being reprocessed.\",\r\n \"agro.angular_components.error_reprocessing_event_message_title\": \"Error reprocessing event\",\r\n \"agro.angular_components.error_reprocessing_event_message_description\":\r\n \"There was an error reprocessing the event. Please try again later.\",\r\n \"agro.angular_components.actions\": \"Actions\",\r\n \"agro.angular_components.add\": \"Add\",\r\n \"agro.angular_components.at_date\": \"On date\",\r\n \"agro.angular_components.at_time\": \"At time\",\r\n \"agro.angular_components.cancel\": \"Cancel\",\r\n \"agro.angular_components.clear\": \"Clear\",\r\n \"agro.angular_components.created_by\": \"Created by\",\r\n \"agro.angular_components.delete\": \"Delete\",\r\n \"agro.angular_components.delete_confirmation_message\": \"Are you sure you want to delete this item?\",\r\n \"agro.angular_components.delete_confirmation_title\": \"Delete Confirmation\",\r\n \"agro.angular_components.deleted_message_content\": \"Item successfully deleted\",\r\n \"agro.angular_components.deleted_message_title\": \"Deletion completed\",\r\n \"agro.angular_components.e_070_emp_cod_emp\": \"Company code\",\r\n \"agro.angular_components.e_070_emp_created_by\": \"Created by\",\r\n \"agro.angular_components.e_070_emp_created_date\": \"Creation date\",\r\n \"agro.angular_components.e_070_emp_id\": \"Id\",\r\n \"agro.angular_components.e_070_emp_last_modified_by\": \"Last modified by\",\r\n \"agro.angular_components.e_070_emp_last_modified_date\": \"Last modification date\",\r\n \"agro.angular_components.e_070_emp_nom_emp\": \"Company name\",\r\n \"agro.angular_components.e_070_emp_sig_emp\": \"Trade name / Company acronym\",\r\n \"agro.angular_components.e_070_fil_cid_fil\": \"City\",\r\n \"agro.angular_components.e_070_fil_cod_fil\": \"Branch code\",\r\n \"agro.angular_components.e_070_fil_created_by\": \"Created by\",\r\n \"agro.angular_components.e_070_fil_created_date\": \"Creation date\",\r\n \"agro.angular_components.e_070_fil_id\": \"Id\",\r\n \"agro.angular_components.e_070_fil_last_modified_by\": \"Last modified by\",\r\n \"agro.angular_components.e_070_fil_last_modified_date\": \"Last modification date\",\r\n \"agro.angular_components.e_070_fil_nom_fil\": \"Branch name\",\r\n \"agro.angular_components.e_070_fil_num_cgc\": \"CNPJ\",\r\n \"agro.angular_components.e_070_fil_num_fon\": \"Phone number\",\r\n \"agro.angular_components.e_070_fil_sig_fil\": \"Branch trade name\",\r\n \"agro.angular_components.edit\": \"Edit\",\r\n \"agro.angular_components.error_forbidden_description\": \"You do not have permission to access this resource\",\r\n \"agro.angular_components.error_forbidden_title\": \"Access denied\",\r\n \"agro.angular_components.error_invalid\": \"Invalid value\",\r\n \"agro.angular_components.error_max_length\": \"The maximum number of characters is {0}\",\r\n \"agro.angular_components.error_max_value\": \"The maximum value is {0}\",\r\n \"agro.angular_components.error_min_length\": \"The minimum number of characters is {valor}\",\r\n \"agro.angular_components.error_min_value\": \"The minimum value is {0}\",\r\n \"agro.angular_components.error_not_found_description\": \"The requested resource was not found\",\r\n \"agro.angular_components.error_not_found_title\": \"Not found\",\r\n \"agro.angular_components.error_required\": \"Required field\",\r\n \"agro.angular_components.error_server_description\": \"An error occurred while processing your request. Please try again\",\r\n \"agro.angular_components.error_server_title\": \"Server error\",\r\n \"agro.angular_components.error_server_try_again\": \"Try again\",\r\n \"agro.angular_components.error_unauthorized_description\": \"You are not authorized to access this resource\",\r\n \"agro.angular_components.error_unauthorized_title\": \"Unauthorized\",\r\n \"agro.angular_components.event_control\": \"Event control\",\r\n \"agro.angular_components.event_control_created_by\": \"Created by\",\r\n \"agro.angular_components.event_control_created_date\": \"Creation date\",\r\n \"agro.angular_components.event_control_e_070_emp\": \"Company\",\r\n \"agro.angular_components.event_control_e_070_emp_search_title\": \"Select the company\",\r\n \"agro.angular_components.event_control_e_070_fil\": \"Branch\",\r\n \"agro.angular_components.event_control_e_070_fil_search_title\": \"Select the branch\",\r\n \"agro.angular_components.event_control_empty_state_description\": \"No records found\",\r\n \"agro.angular_components.event_control_empty_state_title\": \"No records found\",\r\n \"agro.angular_components.event_control_event_origin\": \"Event origin\",\r\n \"agro.angular_components.event_control_event_origin_placeholder\": \"Select the event origin\",\r\n \"agro.angular_components.event_control_external_id\": \"External Id\",\r\n \"agro.angular_components.event_control_form_general_title\": \"General\",\r\n \"agro.angular_components.event_control_form_title\": \"Event control\",\r\n \"agro.angular_components.event_control_id\": \"Entity Id\",\r\n \"agro.angular_components.event_control_item\": \"Event control items\",\r\n \"agro.angular_components.event_control_item_created_by\": \"Created by\",\r\n \"agro.angular_components.event_control_item_created_date\": \"Creation date\",\r\n \"agro.angular_components.event_control_item_empty_state_description\": \"No records found\",\r\n \"agro.angular_components.event_control_item_empty_state_title\": \"No records found\",\r\n \"agro.angular_components.event_control_item_event_control\": \"eventControlId\",\r\n \"agro.angular_components.event_control_item_event_control_search_title\": \"Select the event control\",\r\n \"agro.angular_components.event_control_item_event_group\": \"Event group\",\r\n \"agro.angular_components.event_control_item_event_operation\": \"Event operation type\",\r\n \"agro.angular_components.event_control_item_event_operation_placeholder\": \"Select the event operation type\",\r\n \"agro.angular_components.event_control_item_form_general_title\": \"General\",\r\n \"agro.angular_components.event_control_item_form_title\": \"Event control items\",\r\n \"agro.angular_components.event_control_item_id\": \"Entity Id\",\r\n \"agro.angular_components.event_control_item_last_modified_by\": \"Last modified by\",\r\n \"agro.angular_components.event_control_item_last_modified_date\": \"Last modification date\",\r\n \"agro.angular_components.event_control_item_list_grid_title\": \"Event control items\",\r\n \"agro.angular_components.event_control_item_list_title\": \"Event control items\",\r\n \"agro.angular_components.event_control_item_message\": \"Event message\",\r\n \"agro.angular_components.event_control_item_param\": \"Event parameters\",\r\n \"agro.angular_components.event_control_item_request\": \"Request received\",\r\n \"agro.angular_components.event_control_item_response\": \"Response sent\",\r\n \"agro.angular_components.event_control_item_sequence\": \"Event sequence\",\r\n \"agro.angular_components.event_control_item_status\": \"Event status\",\r\n \"agro.angular_components.event_control_item_status_placeholder\": \"Select the event status\",\r\n \"agro.angular_components.event_control_last_modified_by\": \"Last modified by\",\r\n \"agro.angular_components.event_control_last_modified_date\": \"Last modification date\",\r\n \"agro.angular_components.event_control_list_grid_title\": \"Event control\",\r\n \"agro.angular_components.event_control_list_title\": \"Event control\",\r\n \"agro.angular_components.event_operation_change_request\": \"Change request\",\r\n \"agro.angular_components.event_operation_change_response\": \"Change response\",\r\n \"agro.angular_components.event_operation_effective\": \"Effective\",\r\n \"agro.angular_components.event_operation_effective_confirmation\": \"Effective confirmation\",\r\n \"agro.angular_components.event_operation_invoice_closing\": \"Invoice closing\",\r\n \"agro.angular_components.event_operation_invoice_creating\": \"Invoice creating\",\r\n \"agro.angular_components.event_operation_invoice_installments\": \"Invoice installments\",\r\n \"agro.angular_components.event_operation_provesional\": \"Provisional balance\",\r\n \"agro.angular_components.event_operation_remove_provisional\": \"Remove provisional balance\",\r\n \"agro.angular_components.event_operation_ticket\": \"Ticket\",\r\n \"agro.angular_components.event_origin_balance_entry_control\": \"Balance entry control\",\r\n \"agro.angular_components.event_origin_change_request\": \"Change request\",\r\n \"agro.angular_components.event_origin_invoice\": \"Invoice\",\r\n \"agro.angular_components.event_origin_ticket\": \"Ticket\",\r\n \"agro.angular_components.event_status_canceled\": \"Canceled\",\r\n \"agro.angular_components.event_status_failed\": \"Failed\",\r\n \"agro.angular_components.event_status_pending\": \"Pending\",\r\n \"agro.angular_components.event_status_processing\": \"Processed\",\r\n \"agro.angular_components.event_status_success\": \"Success\",\r\n \"agro.angular_components.filter\": \"Filter\",\r\n \"agro.angular_components.filters\": \"Filters\",\r\n \"agro.angular_components.list_grid_empty_field\": \"No records found\",\r\n \"agro.angular_components.product_header_title\": \"Events\",\r\n \"agro.angular_components.save\": \"Save\",\r\n \"agro.angular_components.select\": \"Select\",\r\n \"agro.angular_components.updated_by\": \"Updated by\",\r\n \"error_invalid\": \"Invalid value\",\r\n \"agro.angular_components.choose_label\": \"Choose\",\r\n \"agro.angular_components.remove_label\": \"Remove\",\r\n \"agro.angular_components.cancel_label\": \"Cancel\",\r\n \"agro.angular_components.success_tooltip\": \"Success\",\r\n \"agro.angular_components.menu_agro_events\": \"Agro Events\",\r\n \"agro.angular_components.date\": \"Date\",\r\n \"agro.angular_components.label_code_branch\": \"Branch code\",\r\n \"agro.angular_components.label_code_company\": \"Company code\",\r\n \"agro.angular_components.label_code_deposit\": \"Deposit code\",\r\n \"agro.angular_components.label_code\": \"Code\",\r\n \"agro.angular_components.label_company\": \"Company\",\r\n \"platform.backend.agro_origination_entry_control\": \"Balance entry/exit control\",\r\n \"platform.backend.agro_origination_entry_exit_query\": \"Entry/exit query\",\r\n \"platform.backend.agro_origination_links\": \"Links\",\r\n \"agro.angular_components.fantasy_name\": \"Trade name\",\r\n \"platform.backend.agro_origination_operation_versus_transaction_link\": \"Operation vs transaction link\",\r\n \"platform.backend.menu_event_control\": \"Event/Integration Query\",\r\n \"agro.angular_components.company_search_label\": \"Search Company\",\r\n \"agro.angular_components.company_tooltip\": \"Select a company to proceed\",\r\n \"agro.angular_components.branch_search_label\": \"Search Branch\",\r\n \"agro.angular_components.branch_tooltip\": \"Find the company's branches\",\r\n \"agro.angular_components.dash\": \"-\",\r\n \"agro.angular_components.ticket_tooltip\": \"Add the ticket number to specify in the search\",\r\n \"agro.angular_components.ticket_search_label\": \"Search Ticket\",\r\n \"agro.angular_components.kilogram_unit_label\": \"KG\",\r\n \"agro.angular_components.event_list_header\": \"Event List\",\r\n \"agro.angular_components.ticket_event\": \"Ticket Issuance\",\r\n \"agro.angular_components.provisional_event\": \"Provisional balance\",\r\n \"agro.angular_components.effective_event\": \"Effective balance\",\r\n \"agro.angular_components.effective_confirmation_event\": \"Effective balance confirmation\",\r\n \"agro.angular_components.remove_provisional_event\": \"Remove Provisional Balance\",\r\n \"agro.angular_components.canceled\": \"Canceled\",\r\n \"agro.angular_components.label_number\": \"Ticket\",\r\n \"agro.angular_components.cnpj\": \"CNPJ\",\r\n \"agro.angular_components.label_city\": \"City\",\r\n \"agro.angular_components.menu_event_control\": \"Event/Integration Query\",\r\n \"agro.angular_components.transfer_origin_event\": \"Transfer between Producers\",\r\n \"agro.angular_components.generation_of_invoice_installments\": \"Generation of invoice installments\",\r\n \"agro.angular_components.invoice_canceled\": \"Invoice closing\",\r\n \"agro.angular_components.CANCEL_INVOICE\": \"Invoice cancellation\",\r\n \"agro.angular_components.EFFECTIVE_CONFIRMATION\": \"Effective confirmation\",\r\n \"agro.angular_components.CHANGE_REQUEST\": \"Change request\",\r\n \"agro.angular_components.CHANGE_RESPONSE\": \"Change request response\",\r\n \"agro.angular_components.PROCESS_FIXATION\": \"Process the fixation\",\r\n \"agro.angular_components.TRANSFER_CREATE_INCOMING_INVOICE\": \"Creation of invoice transfer input\",\r\n \"agro.angular_components.TRANSFER_CREATE_OUTGOING_INVOICE\": \"Creation of the outgoing transfer invoice\",\r\n \"agro.angular_components.TRANSFER_PRODUCER_BALANCE\": \"Balance transfer between producers\",\r\n \"agro.angular_components.control_code\": \"Identifier\",\r\n \"agro.angular_components.fixation_event\": \"Fixation\",\r\n \"agro.angular_components.FINISH_FINANCIAL_FIXATION\": \"Financial settlement\",\r\n \"agro.angular_components.FINISH_PRODUCER_NET_VALUE_FIXATION\": \"Balance update\",\r\n \"agro.angular_components.CONCLUDE_FIXATION\": \"Fixation conclusion\",\r\n \"agro.angular_components.CANCEL_FINANCIAL_FIXATION\": \"Cancel financial fixation\",\r\n \"agro.angular_components.CANCEL_PRODUCER_NET_VALUE_FIXATION\": \"Cancel producer net value fixation\",\r\n \"agro.angular_components.CANCEL_FIXATION\": \"Cancel fixation\",\r\n \"agro.angular_components.cancel_fixation_title\": \"Cancel fixation\",\r\n \"agro.angular_components.cancel_fixation_description\": \"Are you sure you want to cancel the fixation?\",\r\n \"agro.angular_components.error_cancel_fixation_message_title\": \"Error canceling fixation\",\r\n \"agro.angular_components.error_cancel_fixation_message_description\": \"An error occurred while canceling the fixation. Please try again later.\",\r\n \"agro.angular_components.cancel_fixation_message_title\": \"Fixation cancellation\",\r\n \"agro.angular_components.cancel_fixation_message_description\": \"The fixation cancellation process has been successfully initiated.\",\r\n \"agro.angular_components.warn_cancel_fixation_message_title\": \"It is not possible to cancel the fixation\",\r\n \"agro.angular_components.warn_cancel_fixation_message_description\": \"It is not possible to cancel a fixation that is already cancelled or in process.\",\r\n \"agro.angular_components.warn_immediate_cancel_fixation_message_description\": \"It is not possible to cancel a fixation made via immediate buy.\",\r\n \"agro.angular_components.cancel_fixation_event\": \"Cancel fixation\",\r\n \"agro.angular_components.invoice_type_INCOMING\": \"Incoming\",\r\n \"agro.angular_components.invoice_type_COMPLEMENT\": \"Complementary\",\r\n \"agro.angular_components.invoice_type_ADJUSTMENT\": \"Adjustment\",\r\n \"agro.angular_components.invoice_type_OUTGOING\": \"Outgoing\",\r\n \"agro.angular_components.invoice_type_RETURN\": \"Return\",\r\n \"agro.angular_components.invoice_type_SERVICE\": \"Service\",\r\n \"agro.angular_components.invoice_type_SYMBOLIC_RETURN\": \"Symbolic return\",\r\n \"agro.angular_components.cancel_reason\": \"Cancellation reason\",\r\n \"agro.angular_components.transfer_cancellation_event\": \"Transfer cancellation\",\r\n \"agro.angular_components.CREATE_INVOICE_FIXATION\": \"Invoice fixation creation\",\r\n \"agro.angular_components.CANCEL_INVOICE_FIXATION\": \"Invoice fixation cancellation\",\r\n \"agro.angular_components.ORIGINATION_CREATE_INVOICE\": \"Invoice Issuance\",\r\n \"agro.angular_components.ORIGINATION_CREATE_EFFECTIVE_BALANCE\": \"Effective balance issuance\",\r\n \"agro.angular_components.PRODUCER_NET_VALUE_EFFECTIVE_BALANCE_CONFIRMATION\": \"Effective balance confirmation\",\r\n \"agro.angular_components.CLOSE_INVOICE_FIXATION\": \"Invoice fixation closure\",\r\n \"agro.angular_components.ORIGINATION_CREATE_EFFECTIVE_CONFIRMATION\": \"Effective confirmation\",\r\n \"agro.angular_components.ORIGINATION_CREATE_PROVISIONAL_BALANCE\": \"Provisional balance\",\r\n \"agro.angular_components.CLOSE_INVOICE_TRANSFER\": \"Close transfer invoice\",\r\n \"agro.angular_components.REOPEN_INVOICE_TRANSFER\": \"Reopen transfer invoice\",\r\n \"agro.angular_components.TRANSFER_CREATE_FINANCIAL_TITLE\": \"Financial title creation\",\r\n \"agro.angular_components.TRANSFER_CANCEL_FINANCIAL_TITLE\": \"Financial title cancellation\",\r\n \"agro.angular_components.TRANSFER_CREATE_SERVICE_INVOICE\": \"Service invoice issuance\",\r\n \"agro.angular_components.TRANSFER_CANCEL_SERVICE_INVOICE\": \"Service invoice cancellation\",\r\n \"agro.angular_components.REOPEN_INVOICE_FIXATION\": \"Reopen invoice fixation\",\r\n \"agro.angular_components.INVOICE_CLOSE_INVOICE\": \"Invoice cancellation request\",\r\n \"agro.angular_components.CIDASC_INTEGRATION\": \"Send to Cidasc\",\r\n \"agro.angular_components.CIDASC_CANCELLATION\": \"Prescription Cancellation\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_CULTURE\": \"Cidasc Load - Culture\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_PEST\": \"Cidasc Load - Pest\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_PRODUCT\": \"Cidasc Load - Product\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_MEASURE_UNIT\": \"Cidasc Load - Unit of measure\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_COMPOSED_MEASURE_UNIT\": \"Cidasc Load - Measure per hectare\",\r\n \"agro.angular_components.agronomic_prescription_origin_event\": \"Agronomic Prescription\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD\": \"NewPrescription data load\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_PRODUCT_TYPE\": \"NewPrescription data load - Product Type\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_ACTIVE_PRINCIPLE\": \"NewPrescription data load - Active Principle\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_FORMULATION\": \"NewPrescription data load - Formulation\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_BULLETIN\": \"NewPrescription data load - Bulletin\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION_UNIT\": \"NewPrescription data load - Application Unit\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_SPECIE\": \"NewPrescription data load - Species\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION_TYPE\": \"NewPrescription data load - Application Type\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_PROBLEMS\": \"NewPrescription data load - Pests and Problems\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION\": \"NewPrescription data load - Application\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_END\": \"NewPrescription data load - End Integration\",\r\n \"agro.angular_components.new_prescription_page\": \"Part {count}\",\r\n \"agro.angular_components.number_or_series\": \"Número ou série\",\r\n \"agro.angular_components.panel_title_external_invoice_add_external_invoice\": \"Adicionar nota fiscal\",\r\n \"agro.angular_components.add_pj_invoice_modal_no_invoices_found\": \"Nenhuma nota fiscal disponível para este produtor\",\r\n \"agro.angular_components.number\": \"Número\",\r\n \"agro.angular_components.series\": \"Série\",\r\n \"agro.angular_components.itens\": \"Itens\",\r\n \"agro.angular_components.quantity\": \"Quantidade\",\r\n \"agro.angular_components.issuance_date\": \"Data de emissão\",\r\n \"agro.angular_components.no_accounts_found_title\": \"No accounts found\",\r\n \"agro.angular_components.no_accounts_found_description\": \"No accounts were found for the selected producer.\",\r\n \"agro.angular_components.details\": \"Details\",\r\n \"agro.angular_components.error_less_or_equal_zero\": \"The payment value must be greater than zero\",\r\n \"agro.angular_components.error_greater_than_allowed\": \"The payment value must be less than or equal to the net value\",\r\n \"agro.angular_components.account_details\": \"Account details - \",\r\n \"agro.angular_components.status_open\": \"Open\",\r\n \"agro.angular_components.status_paid\": \"Paid\",\r\n \"agro.angular_components.title\": \"Title\",\r\n \"agro.angular_components.type\": \"Type\",\r\n \"agro.angular_components.entry\": \"Entry\",\r\n \"agro.angular_components.due_date\": \"Due date\",\r\n \"agro.angular_components.original_value\": \"Original value\",\r\n \"agro.angular_components.open_value\": \"Open value\",\r\n \"agro.angular_components.value_net\": \"Net value\",\r\n \"agro.angular_components.value_to_pay\": \"Payment value\",\r\n \"agro.angular_components.branch\": \"Branch\",\r\n \"agro.angular_components.producer\": \"Producer\",\r\n \"agro.angular_components.value_fees\": \"Fees value\",\r\n \"agro.angular_components.value_fine\": \"Fine value\",\r\n \"agro.angular_components.value_charge\": \"Charge value\",\r\n \"agro.angular_components.value_correction\": \"Correction value\",\r\n \"agro.angular_components.value_additional\": \"Additional value\",\r\n \"agro.angular_components.value_discount\": \"Discounts\",\r\n \"agro.angular_components.value_other_discount\": \"Other discounts\",\r\n \"agro.angular_components.error_loading_accounts_title\": \"Error loading accounts\",\r\n \"agro.angular_components.error_loading_accounts_description\": \"An error occurred while loading the producer's accounts. Please try again later.\",\r\n \"agro.angular_components.close\": \"Close\",\r\n \"agro.angular_components.value_paid\": \"Value to pay\",\r\n \"agro.angular_components.timeout_request_error\": \"Request timeout. Please try again later.\",\r\n \"agro.angular_components.TRANSFER_CANCEL_INCOMING_INVOICE\": \"Incoming invoice cancellation\",\r\n \"agro.angular_components.TRANSFER_CANCEL_OUTGOING_INVOICE\": \"Outgoing invoice cancellation\",\r\n \"agro.angular_components.TRANSFER_REVERSE_PRODUCER_BALANCE\": \"Producer balance reversal\",\r\n \"agro.angular_components.TRANSFER_CONCLUDE_CANCEL\": \"Cancellation conclusion\",\r\n \"agro.angular_components.no_register_found_for_external_invoices_summary\": \"No invoices found\",\r\n \"agro.angular_components.total_value\": \"Total value\",\r\n \"agro.angular_components.value_linked\": \"Linked value\",\r\n \"agro.grain_classification.label_number\": \"Ticket\",\r\n \"agro.grain_classification.ticket_search_label\": \"Search Ticket\",\r\n \"agro.grain_classification.origination_create_stock_movement\": \"Stock Movement\",\r\n \"agro.angular_components.max_linked_invoices\": \"Maximum linked invoices value reached\",\r\n \"agro.angular_components.max_linked_invoices_description\": \"All fixation items already have the maximum value of linked invoices\",\r\n \"agro.angular_components.invoice_created_successfully\": \"Invoice created successfully.\",\r\n \"agro.angular_components.invoice_already_linked\": \"Invoice is already fully linked to another item\",\r\n \"agro.angular_components.link_invoice\": \"Link invoice\",\r\n};\r\nexport default enUS;\r\n","const esCO = {\r\n \"agro.angular_components.table_empty_description\": \"Ajuste los filtros arriba para generar otros resultados de búsqueda\",\r\n \"agro.angular_components.nothing_found\": \"No se encontraron registros\",\r\n \"agro.angular_components.panel_title_events_events\": \"Eventos\",\r\n \"agro.angular_components.refresh\": \"Actualizar\",\r\n \"agro.angular_components.event_control_header\": \"Consulta de eventos/integraciones\",\r\n \"agro.angular_components.no\": \"No\",\r\n \"agro.angular_components.yes\": \"Sí\",\r\n \"agro.angular_components.event_modal_title\": \"Reprocesamiento de Eventos\",\r\n \"agro.angular_components.event_modal\": \"¿Desea reprocesar el evento?\",\r\n \"agro.angular_components.reprocess_event\": \"Reprocesar evento\",\r\n \"agro.angular_components.events_close\": \"Cerrar\",\r\n \"agro.angular_components.event_error_message\": \"Mensaje de error\",\r\n \"agro.angular_components.last_update_date\": \"Última actualización\",\r\n \"agro.angular_components.show_event_details\": \"Detalles del evento\",\r\n \"agro.angular_components.pending\": \"Pendiente\",\r\n \"agro.angular_components.processing\": \"Procesando\",\r\n \"agro.angular_components.panel_title_events_ended_with_error\": \"Fallo\",\r\n \"agro.angular_components.tickets\": \"Tickets\",\r\n \"agro.angular_components.rural_estate\": \"Propiedad Rural\",\r\n \"agro.angular_components.change_request_event_summary\": \"Cambio de \\nPesaje\",\r\n \"agro.angular_components.ticket_maintenance_header\": \"Mantenimiento de ticket\",\r\n \"agro.angular_components.invoice_creating_event\": \"Emisión de Factura\",\r\n \"agro.angular_components.balance_entry_control_event\": \"Entrada/salida balanza\",\r\n \"agro.angular_components.event_origin_label\": \"Origen del evento\",\r\n \"agro.angular_components.event_details_header\": \"Detalles del Evento\",\r\n \"agro.angular_components.registers_found\": \"{total} registro(s) encontrado(s)\",\r\n \"agro.angular_components.change_request_event\": \"Cambio de Pesaje\",\r\n \"agro.angular_components.status_label\": \"Estado\",\r\n \"agro.angular_components.panel_title_events_completed_successfully\": \"Éxito\",\r\n \"agro.angular_components.supplier\": \"Proveedor\",\r\n \"agro.angular_components.ticket\": \"Ticket\",\r\n \"agro.angular_components.company\": \"Empresa\",\r\n \"agro.angular_components.label_branch\": \"Sucursal\",\r\n \"agro.angular_components.event_sidebar_title\": \"Evento - {event}\",\r\n \"agro.angular_components.reprocessing_event_message_title\": \"Reprocesando Evento\",\r\n \"agro.angular_components.reprocessing_event_message_description\": \"El evento seleccionado está siendo reprocesado.\",\r\n \"agro.angular_components.error_reprocessing_event_message_title\": \"Error al reprocesar evento\",\r\n \"agro.angular_components.error_reprocessing_event_message_description\":\r\n \"Hubo un error al reprocesar el evento. Intente nuevamente más tarde.\",\r\n \"agro.angular_components.actions\": \"Acciones\",\r\n \"agro.angular_components.add\": \"Agregar\",\r\n \"agro.angular_components.at_date\": \"En la fecha\",\r\n \"agro.angular_components.at_time\": \"En la hora\",\r\n \"agro.angular_components.cancel\": \"Cancelar\",\r\n \"agro.angular_components.clear\": \"Limpiar\",\r\n \"agro.angular_components.created_by\": \"Creado por\",\r\n \"agro.angular_components.delete\": \"Eliminar\",\r\n \"agro.angular_components.delete_confirmation_message\": \"¿Está seguro de que desea eliminar este ítem?\",\r\n \"agro.angular_components.delete_confirmation_title\": \"Confirmación de eliminación\",\r\n \"agro.angular_components.deleted_message_content\": \"Ítem eliminado con éxito\",\r\n \"agro.angular_components.deleted_message_title\": \"Eliminación realizada\",\r\n \"agro.angular_components.e_070_emp_cod_emp\": \"Código de la empresa\",\r\n \"agro.angular_components.e_070_emp_created_by\": \"Creado por\",\r\n \"agro.angular_components.e_070_emp_created_date\": \"Fecha de creación\",\r\n \"agro.angular_components.e_070_emp_id\": \"Id\",\r\n \"agro.angular_components.e_070_emp_last_modified_by\": \"Última modificación por\",\r\n \"agro.angular_components.e_070_emp_last_modified_date\": \"Fecha de la última modificación\",\r\n \"agro.angular_components.e_070_emp_nom_emp\": \"Nombre de la empresa\",\r\n \"agro.angular_components.e_070_emp_sig_emp\": \"Nombre comercial / Sigla de la empresa\",\r\n \"agro.angular_components.e_070_fil_cid_fil\": \"Ciudad\",\r\n \"agro.angular_components.e_070_fil_cod_fil\": \"Código de la sucursal\",\r\n \"agro.angular_components.e_070_fil_created_by\": \"Creado por\",\r\n \"agro.angular_components.e_070_fil_created_date\": \"Fecha de creación\",\r\n \"agro.angular_components.e_070_fil_id\": \"Id\",\r\n \"agro.angular_components.e_070_fil_last_modified_by\": \"Última modificación por\",\r\n \"agro.angular_components.e_070_fil_last_modified_date\": \"Fecha de la última modificación\",\r\n \"agro.angular_components.e_070_fil_nom_fil\": \"Nombre de la sucursal\",\r\n \"agro.angular_components.e_070_fil_num_cgc\": \"CNPJ\",\r\n \"agro.angular_components.e_070_fil_num_fon\": \"Número de Teléfono\",\r\n \"agro.angular_components.e_070_fil_sig_fil\": \"Nombre comercial de la sucursal\",\r\n \"agro.angular_components.edit\": \"Editar\",\r\n \"agro.angular_components.error_forbidden_description\": \"No tiene permiso para acceder a este recurso\",\r\n \"agro.angular_components.error_forbidden_title\": \"Acceso denegado\",\r\n \"agro.angular_components.error_invalid\": \"Valor inválido\",\r\n \"agro.angular_components.error_max_length\": \"El valor máximo de caracteres es {0}\",\r\n \"agro.angular_components.error_max_value\": \"El valor máximo es {0}\",\r\n \"agro.angular_components.error_min_length\": \"El valor mínimo de caracteres es {valor}\",\r\n \"agro.angular_components.error_min_value\": \"El valor mínimo es {0}\",\r\n \"agro.angular_components.error_not_found_description\": \"El recurso solicitado no fue encontrado\",\r\n \"agro.angular_components.error_not_found_title\": \"No encontrado\",\r\n \"agro.angular_components.error_required\": \"Campo obligatorio\",\r\n \"agro.angular_components.error_server_description\": \"Ocurrió un error al procesar su solicitud. Por favor, intente nuevamente\",\r\n \"agro.angular_components.error_server_title\": \"Error en el servidor\",\r\n \"agro.angular_components.error_server_try_again\": \"Intente nuevamente\",\r\n \"agro.angular_components.error_unauthorized_description\": \"No está autorizado para acceder a este recurso\",\r\n \"agro.angular_components.error_unauthorized_title\": \"No autorizado\",\r\n \"agro.angular_components.event_control\": \"Control de eventos\",\r\n \"agro.angular_components.event_control_created_by\": \"Creado por\",\r\n \"agro.angular_components.event_control_created_date\": \"Fecha de creación\",\r\n \"agro.angular_components.event_control_e_070_emp\": \"Empresa\",\r\n \"agro.angular_components.event_control_e_070_emp_search_title\": \"Seleccione la empresa\",\r\n \"agro.angular_components.event_control_e_070_fil\": \"Sucursal\",\r\n \"agro.angular_components.event_control_e_070_fil_search_title\": \"Seleccione la sucursal\",\r\n \"agro.angular_components.event_control_empty_state_description\": \"No se encontraron registros\",\r\n \"agro.angular_components.event_control_empty_state_title\": \"No se encontraron registros\",\r\n \"agro.angular_components.event_control_event_origin\": \"Origen del evento\",\r\n \"agro.angular_components.event_control_event_origin_placeholder\": \"Seleccione el origen del evento\",\r\n \"agro.angular_components.event_control_external_id\": \"Id externo\",\r\n \"agro.angular_components.event_control_form_general_title\": \"General\",\r\n \"agro.angular_components.event_control_form_title\": \"Control de eventos\",\r\n \"agro.angular_components.event_control_id\": \"Id de la entidad\",\r\n \"agro.angular_components.event_control_item\": \"Ítems del control de eventos\",\r\n \"agro.angular_components.event_control_item_created_by\": \"Creado por\",\r\n \"agro.angular_components.event_control_item_created_date\": \"Fecha de creación\",\r\n \"agro.angular_components.event_control_item_empty_state_description\": \"No se encontraron registros\",\r\n \"agro.angular_components.event_control_item_empty_state_title\": \"No se encontraron registros\",\r\n \"agro.angular_components.event_control_item_event_control\": \"eventControlId\",\r\n \"agro.angular_components.event_control_item_event_control_search_title\": \"Seleccione el control de eventos\",\r\n \"agro.angular_components.event_control_item_event_group\": \"Grupo del evento\",\r\n \"agro.angular_components.event_control_item_event_operation\": \"Tipo de operación del evento\",\r\n \"agro.angular_components.event_control_item_event_operation_placeholder\": \"Seleccione el tipo de operación del evento\",\r\n \"agro.angular_components.event_control_item_form_general_title\": \"General\",\r\n \"agro.angular_components.event_control_item_form_title\": \"Ítems del control de eventos\",\r\n \"agro.angular_components.event_control_item_id\": \"Id de la entidad\",\r\n \"agro.angular_components.event_control_item_last_modified_by\": \"Última modificación por\",\r\n \"agro.angular_components.event_control_item_last_modified_date\": \"Fecha de la última modificación\",\r\n \"agro.angular_components.event_control_item_list_grid_title\": \"Ítems del control de eventos\",\r\n \"agro.angular_components.event_control_item_list_title\": \"Ítems del control de eventos\",\r\n \"agro.angular_components.event_control_item_message\": \"Mensaje de evento\",\r\n \"agro.angular_components.event_control_item_param\": \"Parámetros del evento\",\r\n \"agro.angular_components.event_control_item_request\": \"Solicitud recibida\",\r\n \"agro.angular_components.event_control_item_response\": \"Respuesta enviada\",\r\n \"agro.angular_components.event_control_item_sequence\": \"Secuencia del evento\",\r\n \"agro.angular_components.event_control_item_status\": \"Estado del evento\",\r\n \"agro.angular_components.event_control_item_status_placeholder\": \"Seleccione el estado del evento\",\r\n \"agro.angular_components.event_control_last_modified_by\": \"Última modificación por\",\r\n \"agro.angular_components.event_control_last_modified_date\": \"Fecha de la última modificación\",\r\n \"agro.angular_components.event_control_list_grid_title\": \"Control de eventos\",\r\n \"agro.angular_components.event_control_list_title\": \"Control de eventos\",\r\n \"agro.angular_components.event_operation_change_request\": \"Solicitud de cambio\",\r\n \"agro.angular_components.event_operation_change_response\": \"Respuesta de cambio\",\r\n \"agro.angular_components.event_operation_effective\": \"Efectivo\",\r\n \"agro.angular_components.event_operation_effective_confirmation\": \"Confirmación de efectividad\",\r\n \"agro.angular_components.event_operation_invoice_closing\": \"Cierre de factura\",\r\n \"agro.angular_components.event_operation_invoice_creating\": \"Creación de factura\",\r\n \"agro.angular_components.event_operation_invoice_installments\": \"Parcelamiento de factura\",\r\n \"agro.angular_components.event_operation_provesional\": \"Saldo Provisional\",\r\n \"agro.angular_components.event_operation_remove_provisional\": \"Eliminación de Saldo provisional\",\r\n \"agro.angular_components.event_operation_ticket\": \"Ticket\",\r\n \"agro.angular_components.event_origin_balance_entry_control\": \"Control de entrada/salida de saldo\",\r\n \"agro.angular_components.event_origin_change_request\": \"Solicitud de cambio\",\r\n \"agro.angular_components.event_origin_invoice\": \"Factura\",\r\n \"agro.angular_components.event_origin_ticket\": \"Ticket\",\r\n \"agro.angular_components.event_status_canceled\": \"Cancelado\",\r\n \"agro.angular_components.event_status_failed\": \"Fallo\",\r\n \"agro.angular_components.event_status_pending\": \"Pendiente\",\r\n \"agro.angular_components.event_status_processing\": \"Procesado\",\r\n \"agro.angular_components.event_status_success\": \"Éxito\",\r\n \"agro.angular_components.filter\": \"Filtrar\",\r\n \"agro.angular_components.filters\": \"Filtros\",\r\n \"agro.angular_components.list_grid_empty_field\": \"No se encontraron registros\",\r\n \"agro.angular_components.product_header_title\": \"Eventos\",\r\n \"agro.angular_components.save\": \"Guardar\",\r\n \"agro.angular_components.select\": \"Seleccione\",\r\n \"agro.angular_components.updated_by\": \"Actualizado por\",\r\n \"error_invalid\": \"Valor inválido\",\r\n \"agro.angular_components.choose_label\": \"Elegir\",\r\n \"agro.angular_components.remove_label\": \"Eliminar\",\r\n \"agro.angular_components.cancel_label\": \"Cancelar\",\r\n \"agro.angular_components.success_tooltip\": \"Éxito\",\r\n \"agro.angular_components.menu_agro_events\": \"Eventos del Agro\",\r\n \"agro.angular_components.date\": \"Fecha\",\r\n \"agro.angular_components.label_code_branch\": \"Código de la sucursal\",\r\n \"agro.angular_components.label_code_company\": \"Código de la empresa\",\r\n \"agro.angular_components.label_code_deposit\": \"Código del depósito\",\r\n \"agro.angular_components.label_code\": \"Código\",\r\n \"agro.angular_components.label_company\": \"Empresa\",\r\n \"platform.backend.agro_origination_entry_control\": \"Control de entrada/salida vía balanza\",\r\n \"platform.backend.agro_origination_entry_exit_query\": \"Consulta de entrada/salida\",\r\n \"platform.backend.agro_origination_links\": \"Enlaces\",\r\n \"agro.angular_components.fantasy_name\": \"Nombre comercial\",\r\n \"platform.backend.agro_origination_operation_versus_transaction_link\": \"Enlace operación x transacción\",\r\n \"platform.backend.menu_event_control\": \"Consulta de eventos/integraciones\",\r\n \"agro.angular_components.company_search_label\": \"Consultar Empresa\",\r\n \"agro.angular_components.company_tooltip\": \"Seleccione una empresa para continuar\",\r\n \"agro.angular_components.branch_search_label\": \"Consultar Sucursal\",\r\n \"agro.angular_components.branch_tooltip\": \"Encuentre las sucursales de la empresa\",\r\n \"agro.angular_components.dash\": \"-\",\r\n \"agro.angular_components.ticket_tooltip\": \"Agregue el número del ticket para especificar en la búsqueda\",\r\n \"agro.angular_components.ticket_search_label\": \"Consultar Ticket\",\r\n \"agro.angular_components.kilogram_unit_label\": \"KG\",\r\n \"agro.angular_components.event_list_header\": \"Lista de Eventos\",\r\n \"agro.angular_components.ticket_event\": \"Emisión del Ticket\",\r\n \"agro.angular_components.provisional_event\": \"Saldo provisional\",\r\n \"agro.angular_components.effective_event\": \"Saldo efectivo\",\r\n \"agro.angular_components.effective_confirmation_event\": \"Confirmación saldo efectivo\",\r\n \"agro.angular_components.remove_provisional_event\": \"Eliminar Saldo Provisional\",\r\n \"agro.angular_components.canceled\": \"Cancelado\",\r\n \"agro.angular_components.label_number\": \"Ticket\",\r\n \"agro.angular_components.cnpj\": \"CNPJ\",\r\n \"agro.angular_components.label_city\": \"Ciudad\",\r\n \"agro.angular_components.menu_event_control\": \"Consulta de eventos/integraciones\",\r\n \"agro.angular_components.transfer_origin_event\": \"Transferencia entre productores\",\r\n \"agro.angular_components.generation_of_invoice_installments\": \"Generación de cuotas de factura\",\r\n \"agro.angular_components.invoice_canceled\": \"Cierre de factura\",\r\n \"agro.angular_components.CANCEL_INVOICE\": \"Cancelación de factura\",\r\n \"agro.angular_components.EFFECTIVE_CONFIRMATION\": \"Confirmación efectiva\",\r\n \"agro.angular_components.CHANGE_REQUEST\": \"Solicitud de cambio\",\r\n \"agro.angular_components.CHANGE_RESPONSE\": \"Respuesta a la solicitud de cambio\",\r\n \"agro.angular_components.PROCESS_FIXATION\": \"Procesa la fijación\",\r\n \"agro.angular_components.TRANSFER_CREATE_INCOMING_INVOICE\": \"Creación de la factura entrante de transferencia\",\r\n \"agro.angular_components.TRANSFER_CREATE_OUTGOING_INVOICE\": \"Creación de la factura de transferencia saliente\",\r\n \"agro.angular_components.TRANSFER_PRODUCER_BALANCE\": \"Transferir saldo entre productores\",\r\n \"agro.angular_components.control_code\": \"Identificador\",\r\n \"agro.angular_components.fixation_event\": \"Fijación\",\r\n \"agro.angular_components.FINISH_FINANCIAL_FIXATION\": \"Liquidación financiera\",\r\n \"agro.angular_components.FINISH_PRODUCER_NET_VALUE_FIXATION\": \"Actualización de saldos\",\r\n \"agro.angular_components.CONCLUDE_FIXATION\": \"Conclusión de la fijación\",\r\n \"agro.angular_components.CANCEL_FINANCIAL_FIXATION\": \"Cancelar fijación financiera\",\r\n \"agro.angular_components.CANCEL_PRODUCER_NET_VALUE_FIXATION\": \"Cancelar fijación de valor neto del productor\",\r\n \"agro.angular_components.CANCEL_FIXATION\": \"Cancelar fijación\",\r\n \"agro.angular_components.cancel_fixation_title\": \"Cancelar fijación\",\r\n \"agro.angular_components.cancel_fixation_description\": \"¿Está seguro de que desea cancelar la fijación?\",\r\n \"agro.angular_components.error_cancel_fixation_message_title\": \"Error al cancelar la fijación\",\r\n \"agro.angular_components.error_cancel_fixation_message_description\": \"Ocurrió un error al cancelar la fijación. Por favor, inténtelo de nuevo más tarde.\",\r\n \"agro.angular_components.cancel_fixation_message_title\": \"Cancelación de fijación\",\r\n \"agro.angular_components.cancel_fixation_message_description\": \"El proceso de cancelación de la fijación se ha iniciado con éxito.\",\r\n \"agro.angular_components.warn_cancel_fixation_message_title\": \"No es posible cancelar la fijación\",\r\n \"agro.angular_components.warn_cancel_fixation_message_description\": \"No es posible cancelar una fijación que ya esté cancelada o en proceso.\",\r\n \"agro.angular_components.warn_immediate_cancel_fixation_message_description\": \"No es posible cancelar una fijación realizada vía compra inmediata.\",\r\n \"agro.angular_components.cancel_fixation_event\": \"Cancelación de fijación\",\r\n \"agro.angular_components.invoice_type_INCOMING\": \"Entrada\",\r\n \"agro.angular_components.invoice_type_COMPLEMENT\": \"Complementaria\",\r\n \"agro.angular_components.invoice_type_ADJUSTMENT\": \"Ajuste\",\r\n \"agro.angular_components.invoice_type_OUTGOING\": \"Salida\",\r\n \"agro.angular_components.invoice_type_RETURN\": \"Devolución\",\r\n \"agro.angular_components.invoice_type_SERVICE\": \"Servicio\",\r\n \"agro.angular_components.invoice_type_SYMBOLIC_RETURN\": \"Devolución simbólica\",\r\n \"agro.angular_components.cancel_reason\": \"Motivo de la cancelación\",\r\n \"agro.angular_components.transfer_cancellation_event\": \"Cancelación de transferencia\",\r\n \"agro.angular_components.CREATE_INVOICE_FIXATION\": \"Crear factura de fijación\",\r\n \"agro.angular_components.CANCEL_INVOICE_FIXATION\": \"Cancelar factura de fijación\",\r\n \"agro.angular_components.ORIGINATION_CREATE_INVOICE\": \"Emisión de factura\",\r\n \"agro.angular_components.ORIGINATION_CREATE_EFFECTIVE_BALANCE\": \"Emisión de saldo efectivo\",\r\n \"agro.angular_components.PRODUCER_NET_VALUE_EFFECTIVE_BALANCE_CONFIRMATION\": \"Confirmación del saldo efectivo\",\r\n \"agro.angular_components.CLOSE_INVOICE_FIXATION\": \"Cerrar factura de fijación\",\r\n \"agro.angular_components.ORIGINATION_CREATE_EFFECTIVE_CONFIRMATION\": \"Confirmación efectiva\",\r\n \"agro.angular_components.ORIGINATION_CREATE_PROVISIONAL_BALANCE\": \"Saldo provisional\",\r\n \"agro.angular_components.CLOSE_INVOICE_TRANSFER\": \"Cierre de factura\",\r\n \"agro.angular_components.REOPEN_INVOICE_TRANSFER\": \"Reapertura de factura\",\r\n \"agro.angular_components.TRANSFER_CREATE_FINANCIAL_TITLE\": \"Creación de título financiero\",\r\n \"agro.angular_components.TRANSFER_CANCEL_FINANCIAL_TITLE\": \"Cancelación de título financiero\",\r\n \"agro.angular_components.TRANSFER_CREATE_SERVICE_INVOICE\": \"Emisión de NF de servicio\",\r\n \"agro.angular_components.TRANSFER_CANCEL_SERVICE_INVOICE\": \"Cancelación de NF de servicio\",\r\n \"agro.angular_components.REOPEN_INVOICE_FIXATION\": \"Reapertura de factura\",\r\n \"agro.angular_components.INVOICE_CLOSE_INVOICE\": \"Solicitud de cancelación de la factura\",\r\n \"agro.angular_components.CIDASC_INTEGRATION\": \"Envío a Cidasc\",\r\n \"agro.angular_components.CIDASC_CANCELLATION\": \"Cancelación de Receta\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_CULTURE\": \"Carga Cidasc - Cultivo\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_PEST\": \"Carga Cidasc - Plaga\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_PRODUCT\": \"Carga Cidasc - Producto\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_MEASURE_UNIT\": \"Carga Cidasc - Unidad de medida\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_COMPOSED_MEASURE_UNIT\": \"Carga Cidasc - Medida por hectárea\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD\": \"Carga de datos de la Nueva Receta\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_PRODUCT_TYPE\": \"Carga de datos de la Nueva Receta - Tipo de Producto\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_ACTIVE_PRINCIPLE\": \"Carga de datos de la Nueva Receta - Principio Activo\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_FORMULATION\": \"Carga de datos de la Nueva Receta - Formulación\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_BULLETIN\": \"Carga de datos de la Nueva Receta - Bula\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION_UNIT\": \"Carga de datos de la Nueva Receta - Unidad de aplicación\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_SPECIE\": \"Carga de datos de la Nueva Receta - Especie\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION_TYPE\": \"Carga de datos de la Nueva Receta - Tipo de aplicación\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_PROBLEMS\": \"Carga de datos de la Nueva Receta - Plagas y problemas\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION\": \"Carga de datos de la Nueva Receta - Aplicación\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_END\": \"Carga de datos de la Nueva Receta - Finalizar integración\",\r\n \"agro.angular_components.new_prescription_page\": \"Parte {count}\",\r\n \"agro.angular_components.agronomic_prescription_origin_event\": \"Recetario Agronómico\",\r\n \"agro.angular_components.no_accounts_found_title\": \"Ninguna cuenta encontrada\",\r\n \"agro.angular_components.no_accounts_found_description\": \"No se encontraron cuentas para el productor seleccionado.\",\r\n \"agro.angular_components.details\": \"Detalles\",\r\n \"agro.angular_components.error_less_or_equal_zero\": \"El valor de la baja debe ser mayor que cero\",\r\n \"agro.angular_components.error_greater_than_allowed\": \"El valor de la baja debe ser menor o igual al valor neto\",\r\n \"agro.angular_components.account_details\": \"Detalles del título - \",\r\n \"agro.angular_components.status_open\": \"Abierto\",\r\n \"agro.angular_components.status_paid\": \"Pagado\",\r\n \"agro.angular_components.title\": \"Título\",\r\n \"agro.angular_components.type\": \"Tipo\",\r\n \"agro.angular_components.entry\": \"Entrada\",\r\n \"agro.angular_components.due_date\": \"Vencimiento\",\r\n \"agro.angular_components.original_value\": \"Valor original\",\r\n \"agro.angular_components.open_value\": \"Valor abierto\",\r\n \"agro.angular_components.value_net\": \"Valor neto\",\r\n \"agro.angular_components.value_to_pay\": \"Valor baja\",\r\n \"agro.angular_components.branch\": \"Sucursal\",\r\n \"agro.angular_components.producer\": \"Productor\",\r\n \"agro.angular_components.value_fees\": \"Valor de intereses\",\r\n \"agro.angular_components.value_fine\": \"Valor de multa\",\r\n \"agro.angular_components.value_charge\": \"Valor de cobro\",\r\n \"agro.angular_components.value_correction\": \"Valor de corrección\",\r\n \"agro.angular_components.value_additional\": \"Valor adicional\",\r\n \"agro.angular_components.value_discount\": \"Descuentos\",\r\n \"agro.angular_components.value_other_discount\": \"Otros descuentos\",\r\n \"agro.angular_components.error_loading_accounts_title\": \"Error al cargar cuentas\",\r\n \"agro.angular_components.error_loading_accounts_description\": \"Ocurrió un error al cargar las cuentas del productor. Intente nuevamente más tarde.\",\r\n \"agro.angular_components.close\": \"Cerrar\",\r\n \"agro.angular_components.value_paid\": \"Valor a pagar\",\r\n \"agro.angular_components.timeout_request_error\": \"Tiempo de solicitud excedido. Intente nuevamente más tarde.\",\r\n \"agro.angular_components.TRANSFER_CANCEL_INCOMING_INVOICE\": \"Cancelación de NF de entrada\",\r\n \"agro.angular_components.TRANSFER_CANCEL_OUTGOING_INVOICE\": \"Cancelación de NF de salida \",\r\n \"agro.angular_components.TRANSFER_REVERSE_PRODUCER_BALANCE\": \"Reverso de los saldos de productores\",\r\n \"agro.angular_components.TRANSFER_CONCLUDE_CANCEL\": \"Conclusión de la cancelación\",\r\n \"agro.angular_components.panel_title_external_invoice_add_external_invoice\": \"Agregar factura\",\r\n \"agro.angular_components.add_pj_invoice_modal_no_invoices_found\": \"Ninguna factura disponible para este productor\",\r\n \"agro.angular_components.number\": \"Número\",\r\n \"agro.angular_components.series\": \"Serie\",\r\n \"agro.angular_components.itens\": \"Ítems\",\r\n \"agro.angular_components.quantity\": \"Cantidad\",\r\n \"agro.angular_components.issuance_date\": \"Fecha de emisión\",\r\n \"agro.angular_components.no_register_found_for_external_invoices_summary\": \"Ninguna nota encontrada\",\r\n \"agro.angular_components.total_value\": \"Valor total\",\r\n \"agro.angular_components.value_linked\": \"Valor vinculado\",\r\n \"agro.angular_components.number_or_series\": \"Número o serie\",\r\n \"agro.grain_classification.label_number\": \"Ticket\",\r\n \"agro.grain_classification.ticket_search_label\": \"Consultar Ticket\",\r\n \"agro.grain_classification.origination_create_stock_movement\": \"Movimiento de inventario\",\r\n \"agro.angular_components.max_linked_invoices\": \"Valor máximo de facturas vinculadas alcanzado\",\r\n \"agro.angular_components.max_linked_invoices_description\": \"Todos los ítems de fijación ya tienen el valor máximo de facturas vinculadas\",\r\n \"agro.angular_components.invoice_created_successfully\": \"Factura creada con éxito.\",\r\n \"agro.angular_components.invoice_already_linked\": \"La factura ya está totalmente vinculada a otro ítem\",\r\n \"agro.angular_components.link_invoice\": \"Vincular factura\",\r\n};\r\nexport default esCO;\r\n","import { Injectable } from \"@angular/core\";\r\nimport ptBR from \"./i18n/pt-BR\";\r\nimport enUS from \"./i18n/en-US\";\r\nimport esCO from \"./i18n/es-CO\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { AgroPlatformUtils } from \"../common\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LibTranslationService {\r\n private availableTranslations: { [key: string]: any } = {\r\n \"pt-BR\": ptBR,\r\n \"en-US\": enUS,\r\n \"es-CO\": esCO,\r\n };\r\n\r\n private currentTranslation: Record<string, any> = {};\r\n\r\n constructor() {\r\n this.setLang(\"pt-BR\");\r\n }\r\n\r\n getLangOfUser(): string {\r\n return AgroPlatformUtils.getCurrentTenantLocale() || \"pt-BR\";\r\n }\r\n\r\n setLang(lang: string): void {\r\n this.currentTranslation = this.availableTranslations[lang] || {};\r\n }\r\n\r\n public instant(key: string, interpolateParams?: { [key: string]: any }): string {\r\n let translation = this.currentTranslation[key] || key;\r\n\r\n if (interpolateParams) {\r\n Object.keys(interpolateParams).forEach((param) => {\r\n translation = translation.replace(new RegExp(`{${param}}`, \"g\"), interpolateParams[param]);\r\n });\r\n }\r\n\r\n return translation;\r\n }\r\n\r\n /**\r\n * Gets the translated value of a key (or an array of keys)\r\n * @returns the translated key, or an object of translated keys\r\n */\r\n get(key: string | Array<string>, interpolateParams?: Object): Observable<string | any> {\r\n if (Array.isArray(key)) {\r\n const translations: { [key: string]: string } = {};\r\n key.forEach((k) => {\r\n translations[k] = this.instant(k, interpolateParams);\r\n });\r\n return of(translations);\r\n } else {\r\n return of(this.instant(key, interpolateParams));\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { LibTranslationService } from '../services/lib-translation.service';\r\n\r\n@Pipe({\r\n name: 'libTranslate'\r\n})\r\nexport class LibTranslatePipe implements PipeTransform {\r\n\r\n constructor(\r\n private translateService: LibTranslationService\r\n ){}\r\n\r\n transform(value: unknown, ...args: unknown[]): string {\r\n if (args.length > 0) {\r\n return this.translateService.instant(value as string, args[0] as { [key: string]: any });\r\n }\r\n return this.translateService.instant(value as string);\r\n }\r\n\r\n}\r\n","import { Component, Input, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { DynamicDialogConfig, DynamicDialogRef } from \"primeng/dynamicdialog\";\r\nimport { Subject } from \"rxjs\";\r\nimport { LibTranslationService } from \"../../services/lib-translation.service\";\r\nimport { CancelEventDialogConfig } from \"./cancel-event-dialog-config\";\r\nimport { AGRO_NUMBERS } from \"../../enums/agro-numbers.enum\";\r\n\r\n@Component({\r\n selector: \"s-cancel-event-dialog\",\r\n templateUrl: \"./cancel-event-dialog.component.html\",\r\n styleUrls: [\"./cancel-event-dialog.component.scss\"],\r\n})\r\nexport class CancelEventDialogComponent implements OnInit, OnDestroy {\r\n\r\n\r\n @Input()\r\n public cancelEventDialogConfig!: CancelEventDialogConfig;\r\n public formGroup!: FormGroup;\r\n public formFields!: any[];\r\n public transferId!: string;\r\n public loading = false;\r\n public reasonMinLength = AGRO_NUMBERS.FIFTEEN;\r\n public translations: any;\r\n\r\n private readonly ngUnsubscribe = new Subject();\r\n private readonly cpSize = {\r\n sm: 12,\r\n md: AGRO_NUMBERS.TWELVE,\r\n lg: AGRO_NUMBERS.TWELVE,\r\n xl: AGRO_NUMBERS.TWELVE,\r\n };\r\n\r\n\r\n\r\n constructor(\r\n private readonly formBuilder: FormBuilder,\r\n public config: DynamicDialogConfig,\r\n public ref: DynamicDialogRef,\r\n private readonly translate: LibTranslationService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.setFormGroup();\r\n this.setFormFields();\r\n this.setDataConfigDialog();\r\n this.setTranslations();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.ngUnsubscribe.next(null);\r\n this.ngUnsubscribe.complete();\r\n }\r\n\r\n private setFormGroup() {\r\n this.formGroup = this.formBuilder.group({\r\n reason: [{ value: null, disabled: false }, Validators.compose([Validators.required, Validators.minLength(this.reasonMinLength)])],\r\n });\r\n }\r\n\r\n private setFormFields() {\r\n this.formFields = [\r\n {\r\n name: \"reason\",\r\n label: this.translate.instant(\"agro.angular_components.cancel_reason\"),\r\n type: \"string\",\r\n multiple: false,\r\n required: () => true,\r\n size: this.cpSize,\r\n maxLength: AGRO_NUMBERS.ONE_HUNDRED,\r\n },\r\n ];\r\n }\r\n\r\n private setDataConfigDialog() {\r\n this.cancelEventDialogConfig = this.config.data?.cancelEventDialogConfig ?? {} as CancelEventDialogConfig;\r\n this.reasonMinLength = this.cancelEventDialogConfig?.reasonMinLength ?? AGRO_NUMBERS.FIFTEEN;\r\n }\r\n\r\n private setTranslations() {\r\n this.translations = {\r\n required: this.translate.instant(\"agro.angular_components.error_required\"),\r\n min: this.translate.instant(\"agro.angular_components.error_min_value\"),\r\n max: this.translate.instant(\"agro.angular_components.error_max_value\"),\r\n minlength: this.translate.instant(\"agro.angular_components.error_min_length\", { valor: this.reasonMinLength }),\r\n maxlength: this.translate.instant(\"agro.angular_components.error_max_length_transfer_code\"),\r\n pattern: this.translate.instant(\"agro.angular_components.error_invalid\"),\r\n FormDateError_data1: this.translate.instant(\"agro.angular_components.initial_invalid_date\"),\r\n FormDateError_data2: this.translate.instant(\"agro.angular_components.end_invalid_date\"),\r\n };\r\n }\r\n\r\n\r\n\r\n public async handleConfirmClick() {\r\n if (this.formGroup.invalid && this.cancelEventDialogConfig?.withReason) {\r\n this.validateAllFormFields(this.formGroup);\r\n return;\r\n }\r\n const reason = this.formGroup.get(\"reason\")?.value;\r\n this.loading = true;\r\n await this.cancelEventDialogConfig.cancelFunction(reason);\r\n this.loading = false;\r\n this.ref.close(true);\r\n }\r\n\r\n private validateAllFormFields(formGroup: FormGroup) {\r\n Object.keys(formGroup.controls).forEach((field) => {\r\n const control = formGroup.get(field);\r\n if (control instanceof FormControl) {\r\n control.markAsDirty({ onlySelf: true });\r\n }\r\n if (control instanceof FormGroup) {\r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n\r\n public handleCancelClick() {\r\n this.ref.close();\r\n }\r\n}","<div\r\n class=\"content\"\r\n *sLoadingState=\"loading\"\r\n>\r\n <div class=\"top\">\r\n <div\r\n *ngIf=\"cancelEventDialogConfig?.message\"\r\n class=\"message-container\"\r\n >\r\n <span>{{ cancelEventDialogConfig?.message }}</span>\r\n </div>\r\n <div\r\n class=\"form-container\"\r\n *ngIf=\"cancelEventDialogConfig?.withReason\"\r\n >\r\n <s-dynamic-form\r\n [fields]=\"formFields\"\r\n [form]=\"formGroup\"\r\n [errorMessages]=\"translations\"\r\n >\r\n </s-dynamic-form>\r\n </div>\r\n </div>\r\n <div class=\"footer\">\r\n <s-button\r\n [priority]=\"'secondary'\"\r\n (keydown.enter)=\"handleCancelClick()\"\r\n label=\"{{ 'agro.angular_components.no' | libTranslate }}\"\r\n (click)=\"handleCancelClick()\"\r\n ></s-button>\r\n <s-button\r\n [priority]=\"'primary'\"\r\n (keydown.enter)=\"handleConfirmClick()\"\r\n label=\"{{ 'agro.angular_components.yes' | libTranslate }}\"\r\n (click)=\"handleConfirmClick()\"\r\n ></s-button>\r\n </div>\r\n</div>\r\n","export enum EventOperation {\r\n PROVISIONAL = \"PROVISIONAL\",\r\n EFFECTIVE = \"EFFECTIVE\",\r\n TICKET = \"TICKET\",\r\n CREATE_INVOICE = \"CREATE_INVOICE\",\r\n INVOICE_CLOSE_INVOICE = \"INVOICE_CLOSE_INVOICE\",\r\n EFFECTIVE_CONFIRMATION = \"EFFECTIVE_CONFIRMATION\",\r\n REMOVE_PROVISIONAL = \"REMOVE_PROVISIONAL\",\r\n CHANGE_REQUEST = \"CHANGE_REQUEST\",\r\n CHANGE_RESPONSE = \"CHANGE_RESPONSE\",\r\n PROCESS_FIXATION = \"PROCESS_FIXATION\",\r\n CANCEL_INVOICE = \"CANCEL_INVOICE\",\r\n REPROCESS_INVOICE = \"REPROCESS_INVOICE\",\r\n TRANSFER_CREATE_INCOMING_INVOICE = \"TRANSFER_CREATE_INCOMING_INVOICE\",\r\n TRANSFER_CREATE_OUTGOING_INVOICE = \"TRANSFER_CREATE_OUTGOING_INVOICE\",\r\n TRANSFER_PRODUCER_BALANCE = \"TRANSFER_PRODUCER_BALANCE\",\r\n FINISH_FINANCIAL_FIXATION = \"FINISH_FINANCIAL_FIXATION\",\r\n FINISH_PRODUCER_NET_VALUE_FIXATION = \"FINISH_PRODUCER_NET_VALUE_FIXATION\",\r\n CONCLUDE_FIXATION = \"CONCLUDE_FIXATION\",\r\n CANCEL_FINANCIAL_FIXATION = \"CANCEL_FINANCIAL_FIXATION\",\r\n CANCEL_PRODUCER_NET_VALUE_FIXATION = \"CANCEL_PRODUCER_NET_VALUE_FIXATION\",\r\n CANCEL_FIXATION = \"CANCEL_FIXATION\",\r\n TRANSFER_CANCEL_INCOMING_INVOICE = \"TRANSFER_CANCEL_INCOMING_INVOICE\",\r\n TRANSFER_CANCEL_OUTGOING_INVOICE = \"TRANSFER_CANCEL_OUTGOING_INVOICE\",\r\n TRANSFER_REVERSE_PRODUCER_BALANCE = \"TRANSFER_REVERSE_PRODUCER_BALANCE\",\r\n TRANSFER_CONCLUDE_CANCEL = \"TRANSFER_CONCLUDE_CANCEL\",\r\n CREATE_INVOICE_FIXATION = \"CREATE_INVOICE_FIXATION\",\r\n CANCEL_INVOICE_FIXATION = \"CANCEL_INVOICE_FIXATION\",\r\n CLOSE_INVOICE_FIXATION = \"CLOSE_INVOICE_FIXATION\",\r\n ORIGINATION_CREATE_EFFECTIVE_BALANCE = \"ORIGINATION_CREATE_EFFECTIVE_BALANCE\",\r\n ORIGINATION_CREATE_EFFECTIVE_CONFIRMATION = \"ORIGINATION_CREATE_EFFECTIVE_CONFIRMATION\",\r\n ORIGINATION_CREATE_INVOICE = \"ORIGINATION_CREATE_INVOICE\",\r\n ORIGINATION_CREATE_PROVISIONAL_BALANCE = \"ORIGINATION_CREATE_PROVISIONAL_BALANCE\",\r\n CLOSE_INVOICE_TRANSFER = \"CLOSE_INVOICE_TRANSFER\",\r\n REOPEN_INVOICE_TRANSFER = \"REOPEN_INVOICE_TRANSFER\",\r\n TRANSFER_CREATE_FINANCIAL_TITLE = \"TRANSFER_CREATE_FINANCIAL_TITLE\",\r\n TRANSFER_CANCEL_FINANCIAL_TITLE = \"TRANSFER_CANCEL_FINANCIAL_TITLE\",\r\n TRANSFER_CREATE_SERVICE_INVOICE = \"TRANSFER_CREATE_SERVICE_INVOICE\",\r\n TRANSFER_CANCEL_SERVICE_INVOICE = \"TRANSFER_CANCEL_SERVICE_INVOICE\",\r\n REOPEN_INVOICE_FIXATION = \"REOPEN_INVOICE_FIXATION\",\r\n PRESCRIPTION_DATA_LOAD_PRODUCT_TYPE = \"PRESCRIPTION_DATA_LOAD_PRODUCT_TYPE\",\r\n PRESCRIPTION_DATA_LOAD_ACTIVE_PRINCIPLE = \"PRESCRIPTION_DATA_LOAD_ACTIVE_PRINCIPLE\",\r\n PRESCRIPTION_DATA_LOAD_FORMULATION = \"PRESCRIPTION_DATA_LOAD_FORMULATION\",\r\n PRESCRIPTION_DATA_LOAD_BULLETIN = \"PRESCRIPTION_DATA_LOAD_BULLETIN\",\r\n PRESCRIPTION_DATA_LOAD_APPLICATION_UNIT = \"PRESCRIPTION_DATA_LOAD_APPLICATION_UNIT\",\r\n PRESCRIPTION_DATA_LOAD_SPECIE = \"PRESCRIPTION_DATA_LOAD_SPECIE\",\r\n PRESCRIPTION_DATA_LOAD_APPLICATION_TYPE = \"PRESCRIPTION_DATA_LOAD_APPLICATION_TYPE\",\r\n PRESCRIPTION_DATA_LOAD_PROBLEMS = \"PRESCRIPTION_DATA_LOAD_PROBLEMS\",\r\n PRESCRIPTION_DATA_LOAD_APPLICATION = \"PRESCRIPTION_DATA_LOAD_APPLICATION\",\r\n PRESCRIPTION_DATA_LOAD_END = \"PRESCRIPTION_DATA_LOAD_END\",\r\n ORIGINATION_CREATE_STOCK_MOVEMENT = \"ORIGINATION_CREATE_STOCK_MOVEMENT\",\r\n}\r\n","export enum InputFields {\r\n AGRO_INVOICE_TYPE = 'agroInvoiceType',\r\n INVOICE_TYPE = 'invoiceType',\r\n INVOICE_NUMBER = 'number'\r\n}","import { EventOperation } from \"./event-operation\";\r\nimport { InputFields } from \"./input-fields\";\r\n\r\nexport const eventItem = [\r\n { label: \"agro.angular_components.ticket_event\", value: EventOperation.TICKET },\r\n { label: \"agro.angular_components.provisional_event\", value: EventOperation.PROVISIONAL },\r\n {\r\n label: \"agro.angular_components.CREATE_INVOICE_FIXATION\",\r\n value: EventOperation.CREATE_INVOICE,\r\n },\r\n { label: \"agro.angular_components.remove_provisional_event\", value: EventOperation.REMOVE_PROVISIONAL },\r\n { label: \"agro.angular_components.effective_event\", value: EventOperation.EFFECTIVE },\r\n { label: \"agro.angular_components.effective_confirmation_event\", value: EventOperation.EFFECTIVE_CONFIRMATION },\r\n { label: \"agro.angular_components.change_request_event_summary\", value: EventOperation.CHANGE_REQUEST },\r\n { label: \"agro.angular_components.change_response_event\", value: EventOperation.CHANGE_RESPONSE },\r\n { label: \"agro.angular_components.fixation_event\", value: EventOperation.PROCESS_FIXATION },\r\n {\r\n label: `agro.angular_components.${EventOperation.CANCEL_INVOICE}`,\r\n value: EventOperation.CANCEL_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.INVOICE_CLOSE_INVOICE}`,\r\n value: EventOperation.INVOICE_CLOSE_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.INVOICE_CLOSE_INVOICE}`,\r\n value: EventOperation.INVOICE_CLOSE_INVOICE,\r\n subLabelField: InputFields.AGRO_INVOICE_TYPE,\r\n },\r\n { label: `agro.angular_components.${EventOperation.REPROCESS_INVOICE}`, value: EventOperation.REPROCESS_INVOICE },\r\n { label: `agro.angular_components.${EventOperation.EFFECTIVE_CONFIRMATION}`, value: EventOperation.EFFECTIVE_CONFIRMATION },\r\n { label: `agro.angular_components.${EventOperation.CHANGE_REQUEST}`, value: EventOperation.CHANGE_REQUEST },\r\n { label: `agro.angular_components.${EventOperation.CHANGE_RESPONSE}`, value: EventOperation.CHANGE_RESPONSE },\r\n { label: `agro.angular_components.${EventOperation.PROCESS_FIXATION}`, value: EventOperation.PROCESS_FIXATION },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CREATE_INCOMING_INVOICE}`,\r\n value: EventOperation.TRANSFER_CREATE_INCOMING_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CREATE_OUTGOING_INVOICE}`,\r\n value: EventOperation.TRANSFER_CREATE_OUTGOING_INVOICE,\r\n },\r\n { label: `agro.angular_components.${EventOperation.TRANSFER_PRODUCER_BALANCE}`, value: EventOperation.TRANSFER_PRODUCER_BALANCE },\r\n { label: `agro.angular_components.${EventOperation.FINISH_FINANCIAL_FIXATION}`, value: EventOperation.FINISH_FINANCIAL_FIXATION },\r\n {\r\n label: `agro.angular_components.${EventOperation.FINISH_PRODUCER_NET_VALUE_FIXATION}`,\r\n value: EventOperation.FINISH_PRODUCER_NET_VALUE_FIXATION,\r\n },\r\n { label: `agro.angular_components.${EventOperation.CONCLUDE_FIXATION}`, value: EventOperation.CONCLUDE_FIXATION },\r\n { label: `agro.angular_components.${EventOperation.CANCEL_FINANCIAL_FIXATION}`, value: EventOperation.CANCEL_FINANCIAL_FIXATION },\r\n {\r\n label: `agro.angular_components.${EventOperation.CANCEL_PRODUCER_NET_VALUE_FIXATION}`,\r\n value: EventOperation.CANCEL_PRODUCER_NET_VALUE_FIXATION,\r\n },\r\n { label: `agro.angular_components.${EventOperation.CANCEL_FIXATION}`, value: EventOperation.CANCEL_FIXATION },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CANCEL_INCOMING_INVOICE}`,\r\n value: EventOperation.TRANSFER_CANCEL_INCOMING_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CANCEL_OUTGOING_INVOICE}`,\r\n value: EventOperation.TRANSFER_CANCEL_OUTGOING_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_REVERSE_PRODUCER_BALANCE}`,\r\n value: EventOperation.TRANSFER_REVERSE_PRODUCER_BALANCE,\r\n },\r\n { label: `agro.angular_components.${EventOperation.TRANSFER_CONCLUDE_CANCEL}`, value: EventOperation.TRANSFER_CONCLUDE_CANCEL },\r\n {\r\n label: `agro.angular_components.${EventOperation.CREATE_INVOICE_FIXATION}`,\r\n value: EventOperation.CREATE_INVOICE_FIXATION,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.CANCEL_INVOICE_FIXATION}`,\r\n value: EventOperation.CANCEL_INVOICE_FIXATION,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.CLOSE_INVOICE_FIXATION}`,\r\n value: EventOperation.CLOSE_INVOICE_FIXATION,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.CLOSE_INVOICE_TRANSFER}`,\r\n value: EventOperation.CLOSE_INVOICE_TRANSFER,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.REOPEN_INVOICE_TRANSFER}`,\r\n value: EventOperation.REOPEN_INVOICE_TRANSFER,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.ORIGINATION_CREATE_INVOICE}`,\r\n value: EventOperation.ORIGINATION_CREATE_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CREATE_FINANCIAL_TITLE}`,\r\n value: EventOperation.TRANSFER_CREATE_FINANCIAL_TITLE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CANCEL_FINANCIAL_TITLE}`,\r\n value: EventOperation.TRANSFER_CANCEL_FINANCIAL_TITLE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CREATE_SERVICE_INVOICE}`,\r\n value: EventOperation.TRANSFER_CREATE_SERVICE_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CANCEL_SERVICE_INVOICE}`,\r\n value: EventOperation.TRANSFER_CANCEL_SERVICE_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.REOPEN_INVOICE_FIXATION}`,\r\n value: EventOperation.REOPEN_INVOICE_FIXATION,\r\n },\r\n];\r\n","export enum EventOrigin {\r\n BALANCE_ENTRY_CONTROL = 'BALANCE_ENTRY_CONTROL',\r\n TICKET = 'TICKET',\r\n INVOICE = 'INVOICE',\r\n TRANSFER = 'TRANSFER',\r\n CHANGE_REQUEST = 'CHANGE_REQUEST',\r\n CREATE_INVOICE = 'CREATE_INVOICE',\r\n CLOSE_INVOICE = 'CLOSE_INVOICE',\r\n FIXATION = 'FIXATION',\r\n CANCEL_FIXATION = 'CANCEL_FIXATION',\r\n TRANSFER_CANCELLATION = 'TRANSFER_CANCELLATION',\r\n}\r\n","export enum EventStatus {\r\n PENDING = 'PENDING',\r\n PROCESSING = 'PROCESSING',\r\n SUCCESS = 'SUCCESS',\r\n FAILED = 'FAILED',\r\n CANCELED = 'CANCELED'\r\n}\r\n","export enum InvoiceType {\r\n INCOMING = 'INCOMING',\r\n OUTGOING = 'OUTGOING',\r\n RETURN = 'RETURN',\r\n COMPLEMENT = 'COMPLEMENT',\r\n SYMBOLIC_RETURN = 'SYMBOLIC_RETURN',\r\n ADJUSTMENT = 'ADJUSTMENT',\r\n SERVICE = 'SERVICE',\r\n}\r\n","import { InvoiceType } from \"./invoice-type\";\r\n\r\nexport const invoiceTypeTranslate = [\r\n {value: InvoiceType.INCOMING, label: `agro.angular_components.invoice_type_${InvoiceType.INCOMING}`},\r\n {value: InvoiceType.COMPLEMENT, label: `agro.angular_components.invoice_type_${InvoiceType.COMPLEMENT}`},\r\n {value: InvoiceType.ADJUSTMENT, label: `agro.angular_components.invoice_type_${InvoiceType.ADJUSTMENT}`},\r\n {value: InvoiceType.OUTGOING, label: `agro.angular_components.invoice_type_${InvoiceType.OUTGOING}`},\r\n {value: InvoiceType.RETURN, label: `agro.angular_components.invoice_type_${InvoiceType.RETURN}`},\r\n {value: InvoiceType.SERVICE, label: `agro.angular_components.invoice_type_${InvoiceType.SERVICE}`},\r\n {value: InvoiceType.SYMBOLIC_RETURN, label: `agro.angular_components.invoice_type_${InvoiceType.SYMBOLIC_RETURN}`},\r\n];\r\n","export const LookupErrorMessages: { [key: string]: string } = {\r\n required: 'agro.angular_components.error_required',\r\n min: 'agro.angular_components.error_min_value',\r\n max: 'agro.angular_components.error_max_value',\r\n minlength: 'agro.angular_components.error_min_length',\r\n maxlength: 'agro.angular_components.error_max_length',\r\n pattern: 'agro.angular_components.error_invalid',\r\n FormDateError_data1: 'agro.angular_components.initial_invalid_date',\r\n FormDateError_data2: 'agro.angular_components.end_invalid_date'\r\n};\r\n","type QueueItem = () => void;\r\n\r\nexport class AsyncLock {\r\n private readonly queue: QueueItem[] = [];\r\n private acquired = false;\r\n\r\n public async acquire(): Promise<void> {\r\n if (!this.acquired) {\r\n this.acquired = true;\r\n return Promise.resolve();\r\n } else {\r\n return new Promise<void>((resolve, _) => {\r\n this.queue.push(resolve);\r\n });\r\n }\r\n }\r\n\r\n public async release(): Promise<void> {\r\n if (this.queue.length === 0 && this.acquired) {\r\n this.acquired = false;\r\n return Promise.resolve();\r\n }\r\n\r\n const continuation = this.queue.shift();\r\n return new Promise((res: QueueItem) => {\r\n continuation?.();\r\n res();\r\n });\r\n }\r\n}\r\n","import { StompSubscription } from \"@stomp/stompjs\";\r\nimport { BehaviorSubject, Observable, Subject } from \"rxjs\";\r\nimport { PrimitiveEvent } from \"../protocols/primitive-event\";\r\n\r\nexport class PrimitiveManager<T> {\r\n public domain: string;\r\n public service: string;\r\n public primitive: string;\r\n\r\n private readonly stompSubscriptions: StompSubscription[];\r\n private readonly event$: Subject<PrimitiveEvent<T>>;\r\n private readonly subscribed$: BehaviorSubject<boolean>;\r\n\r\n constructor(domain: string, service: string, primitive: string) {\r\n this.domain = domain;\r\n this.service = service;\r\n this.primitive = primitive;\r\n\r\n this.stompSubscriptions = [];\r\n this.event$ = new Subject<PrimitiveEvent<T>>();\r\n this.subscribed$ = new BehaviorSubject(false);\r\n }\r\n\r\n unsubscribe() {\r\n this.event$.complete();\r\n\r\n for (const stompSubscription of this.stompSubscriptions) {\r\n stompSubscription.unsubscribe();\r\n }\r\n\r\n this.subscribed$.complete();\r\n }\r\n\r\n fireEvent(event: PrimitiveEvent<T>) {\r\n this.event$.next(event);\r\n }\r\n\r\n subscribe(...subscriptions: StompSubscription[]) {\r\n this.stompSubscriptions.push(...subscriptions);\r\n this.subscribed$.next(true);\r\n }\r\n\r\n getEventObservable(): Observable<PrimitiveEvent<T>> {\r\n return this.event$.asObservable();\r\n }\r\n\r\n getSubscriptionObservable(): Observable<boolean> {\r\n return this.subscribed$.asObservable();\r\n }\r\n\r\n hasObservers(): boolean {\r\n // @IMPORTANT: Replace .observers.length === 1 with .observed in rxjs 7.0+\r\n return this.event$.observers.length !== 1;\r\n }\r\n\r\n getObserversCount(): number {\r\n return this.event$.observers.length;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n// @ts-ignore - js-cookie doesn't have type definitions\r\nimport { get as getCookie } from 'js-cookie';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserInformationService {\r\n private static readonly BASE_URL_COOKIE_KEY = 'com.senior.base.url';\r\n private static readonly TOKEN_COOKIE_KEY = 'com.senior.token';\r\n\r\n public getAuthToken() {\r\n const cookieValue = getCookie(UserInformationService.TOKEN_COOKIE_KEY) || '{}';\r\n const authToken = JSON.parse(cookieValue);\r\n return authToken.access_token;\r\n }\r\n\r\n public getTenantDomain() {\r\n const cookieValue = getCookie(UserInformationService.TOKEN_COOKIE_KEY) || '{}';\r\n const authToken = JSON.parse(cookieValue);\r\n return authToken.username.split('@')[1];\r\n }\r\n\r\n public getWebSocketUrl() {\r\n let baseUrl = getCookie(UserInformationService.BASE_URL_COOKIE_KEY);\r\n if (baseUrl && !baseUrl.endsWith('/')) {\r\n baseUrl += '/';\r\n }\r\n return baseUrl + 'websocket';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { filter, finalize, map, switchMap, take } from 'rxjs/operators';\r\nimport { Client, FrameImpl, IFrame, StompConfig, StompSubscription } from '@stomp/stompjs';\r\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\r\n// @ts-ignore - sockjs-client doesn't have type definitions\r\nimport SockJS from 'sockjs-client';\r\nimport { AsyncLock } from './async-lock';\r\nimport { UserInformationService } from './user-information.service';\r\nimport { PrimitiveManager } from './models';\r\nimport { OnEventOptions, PrimitiveEvent } from './protocols';\r\n\r\nconst RECONNECT_INTERVAL_MILLISECONDS = 3000;\r\nconst CONNECTION_TIMEOUT_MILLISECONDS = 5000;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WebsocketService {\r\n private readonly connected$ = new BehaviorSubject<boolean>(false);\r\n private readonly disconnected$ = new Subject<void>();\r\n private readonly reconnected$ = new Subject<void>();\r\n private readonly error$ = new Subject<FrameImpl>();\r\n private readonly subscribed$ = new Subject<PrimitiveManager<any>>();\r\n\r\n private readonly primitiveManagers: Map<string, PrimitiveManager<any>> = new Map<string, PrimitiveManager<any>>();\r\n private readonly connectionLock = new AsyncLock();\r\n\r\n private stompClient!: Client;\r\n private debugEnable = false;\r\n private lostConnection = false;\r\n\r\n constructor(private readonly userInformationService: UserInformationService) {\r\n }\r\n\r\n /**\r\n * Enables stompjs debug logs and additional info\r\n */\r\n public enableDebugLogs() {\r\n this.debugEnable = true;\r\n }\r\n\r\n /**\r\n * Manually starts the connection\r\n */\r\n public async connect() {\r\n await this.connectionLock.acquire();\r\n\r\n try {\r\n if (this.isConnected() || this.isConnecting()) {\r\n return;\r\n }\r\n this.lostConnection = false;\r\n\r\n const stompConfig: StompConfig = {\r\n webSocketFactory: () => {\r\n return new SockJS(\r\n this.getSubscriptionUrl(),\r\n null,\r\n {\r\n timeout: CONNECTION_TIMEOUT_MILLISECONDS\r\n }\r\n );\r\n },\r\n reconnectDelay: RECONNECT_INTERVAL_MILLISECONDS,\r\n debug: this.debug.bind(this),\r\n onConnect: this.handleOnConnected.bind(this),\r\n onDisconnect: this.handleOnDisconnect.bind(this),\r\n onWebSocketClose: this.handleOnWebSocketClose.bind(this),\r\n onStompError: this.handleOnStompError.bind(this),\r\n onWebSocketError: this.handleOnWebSocketError.bind(this)\r\n };\r\n\r\n this.debug('Connecting the Webscoket');\r\n\r\n this.stompClient = new Client(stompConfig);\r\n this.stompClient.activate();\r\n } finally {\r\n await this.connectionLock.release();\r\n }\r\n }\r\n\r\n /**\r\n * Manually disconnect the websocket. The reconnect loop will be stopped.\r\n */\r\n public async disconnect(): Promise<void> {\r\n if (!this.isConnected()) {\r\n return;\r\n }\r\n\r\n await this.connectionLock.acquire();\r\n try {\r\n for (const primitiveManager of this.primitiveManagers.values()) {\r\n primitiveManager.unsubscribe();\r\n }\r\n\r\n this.primitiveManagers.clear();\r\n this.connected$.next(false);\r\n\r\n if (this.stompClient) {\r\n await this.stompClient.deactivate();\r\n }\r\n } finally {\r\n await this.connectionLock.release();\r\n }\r\n }\r\n\r\n /**\r\n * Check if the websocket is connected\r\n * @return `boolean` representing if the websocket is connected\r\n */\r\n public isConnected(): boolean {\r\n if (!this.stompClient) {\r\n return false;\r\n }\r\n\r\n return this.stompClient.connected;\r\n }\r\n\r\n /**\r\n * Check if the websocket is tring to connect\r\n * @return `boolean` representing if the websocket status\r\n */\r\n public isConnecting(): boolean {\r\n if (!this.stompClient) {\r\n return false;\r\n }\r\n\r\n return !this.stompClient.connected && this.stompClient.active;\r\n }\r\n\r\n /**\r\n * Event responsable to emit an event when the connection is established.\r\n * Do not forget to unsubscribe the observable when you don't need it anymore.\r\n * @return `Observable<boolean>`\r\n */\r\n public onConnect(): Observable<boolean> {\r\n return this.connected$.asObservable()\r\n .pipe(filter(p => p === true));\r\n }\r\n\r\n /**\r\n * Event responsable to emit an event when the connection is closed.\r\n * Do not forget to unsubscribe the observable when you don't need it anymore.\r\n * @return `Observable<void>`\r\n */\r\n public onDisconnect(): Observable<void> {\r\n return this.disconnected$.asObservable();\r\n }\r\n\r\n /**\r\n * Event responsable to emit an event when the connection is reestablished.\r\n * Do not forget to unsubscribe the observable when you don't need it anymore.\r\n * @return `Observable<void>`\r\n */\r\n public onReconnect(): Observable<void> {\r\n return this.reconnected$.asObservable();\r\n }\r\n\r\n /**\r\n * Event responsable to emit an event when an error ocurred.\r\n * Do not forget to unsubscribe the observable when you don't need it anymore.\r\n * @return `Observable<FrameImpl>`\r\n */\r\n public onError(): Observable<FrameImpl> {\r\n return this.error$.asObservable();\r\n }\r\n\r\n /**\r\n * Event responsible to emit an event when a primitive is called.\r\n * Do not forget to unsubscribe the observable when you don't need it anymore.\r\n * @typeParam `<T>` Object type that will be used in the observable for the `data` property.\r\n * @param {OnEventOptions} options Configurations for the event.\r\n * @return `Observable<PrimitiveEvent<T>>` Observable that emits an event when the service calls the primitive.\r\n */\r\n public onEvent<T>(options: OnEventOptions): Observable<PrimitiveEvent<T>> {\r\n const { domain, service, primitive } = options;\r\n const key = this.buildPrimitiveManagerKey(domain, service, primitive);\r\n\r\n if (this.primitiveManagers.has(key)) {\r\n return this.primitiveManagers.get(key)!.getEventObservable();\r\n }\r\n\r\n const primitiveManager = new PrimitiveManager<T>(domain, service, primitive);\r\n this.primitiveManagers.set(key, primitiveManager);\r\n\r\n this.connect().then(() => {\r\n this.onConnect()\r\n .pipe(take(1))\r\n .subscribe(() => {\r\n this.createStompSubscriptions(primitiveManager);\r\n });\r\n });\r\n\r\n return primitiveManager\r\n .getEventObservable()\r\n .pipe(finalize(() => this.unsubscribePrimitiveOnFinalize(primitiveManager)));\r\n }\r\n\r\n /**\r\n * Event responsible to emit an event when a subscription is created for the primitive.\r\n * Do not forget to unsubscribe the observable when you don't need it anymore.\r\n * @param {OnEventOptions} options Configurations for the event.\r\n * Observable responsável por emitir uma notificação após o subscribe do evento pela primeira vez.\r\n * @return `Observable<boolean>` Observable that emits an event when the service calls the primitive.\r\n */\r\n public onSubscribe(options: OnEventOptions): Observable<boolean> {\r\n const { domain, service, primitive } = options;\r\n const key = this.buildPrimitiveManagerKey(domain, service, primitive);\r\n\r\n return this.onConnect().pipe(\r\n take(1),\r\n switchMap(() => {\r\n if (this.primitiveManagers.has(key)) {\r\n return this.primitiveManagers\r\n .get(key)!\r\n .getSubscriptionObservable()\r\n .pipe(take(1));\r\n }\r\n\r\n return this.subscribed$.asObservable().pipe(\r\n filter((primitiveManager) => {\r\n return this.buildPrimitiveManagerKey(\r\n primitiveManager.domain,\r\n primitiveManager.service,\r\n primitiveManager.primitive\r\n ) === key;\r\n }),\r\n map(() => true),\r\n take(1)\r\n );\r\n })\r\n );\r\n }\r\n\r\n private debug(message: string, ...optionalParams: any[]) {\r\n if (!this.debugEnable) {\r\n return;\r\n }\r\n }\r\n\r\n private info(message: string) {\r\n console.info('WS info: ' + message);\r\n }\r\n\r\n private handleOnConnected() {\r\n this.info('Webscoket connected');\r\n\r\n this.connected$.next(true);\r\n if (this.lostConnection) {\r\n this.info('Webscoket reconnected, recriating subscriptions');\r\n this.handleReconnection();\r\n }\r\n }\r\n\r\n private handleOnDisconnect() {\r\n this.info('Webscoket disconnected');\r\n\r\n this.connected$.next(false);\r\n this.disconnected$.next();\r\n }\r\n\r\n private handleOnWebSocketClose(data: CloseEvent) {\r\n if (data?.reason?.toLowerCase().indexOf(\"go away\") !== -1) {\r\n this.lostConnection = true;\r\n this.handleError('AuthenticationError', new FrameImpl(\r\n {\r\n command: data.type,\r\n headers: {\r\n message: data.reason\r\n }\r\n }\r\n ));\r\n return;\r\n }\r\n\r\n if (data?.reason?.toLowerCase().indexOf(\"cannot connect to server\") !== -1) {\r\n this.lostConnection = true;\r\n this.handleError('ConnectionError', new FrameImpl(\r\n {\r\n command: data.type,\r\n headers: {\r\n message: data.reason\r\n }\r\n }\r\n ));\r\n return;\r\n }\r\n\r\n if (data.wasClean) {\r\n return;\r\n }\r\n\r\n this.lostConnection = true;\r\n }\r\n\r\n private handleOnStompError(data: IFrame) {\r\n this.handleError('StompError', data as FrameImpl);\r\n\r\n if (this.isAuthenticationError(data)) {\r\n this.info('Authentication error, recriating subscriptions');\r\n this.handleReconnection();\r\n }\r\n }\r\n\r\n private isAuthenticationError(data: IFrame) {\r\n const errorMessage = data?.headers?.['message'];\r\n if (!errorMessage) {\r\n return false;\r\n }\r\n\r\n return errorMessage.toLowerCase().indexOf('forbiddenexception') !== -1;\r\n }\r\n\r\n private handleOnWebSocketError(data: any) {\r\n this.handleError('WebSocketError', data);\r\n }\r\n\r\n private handleError(origin: string, data: FrameImpl) {\r\n console.info(origin, data);\r\n this.error$.next(data);\r\n }\r\n\r\n private handleReconnection() {\r\n this.lostConnection = false;\r\n this.reconnectPrimitives();\r\n this.reconnected$.next();\r\n }\r\n\r\n private reconnectPrimitives(): void {\r\n for (const primitiveManager of this.primitiveManagers.values()) {\r\n this.createStompSubscriptions(primitiveManager);\r\n }\r\n }\r\n\r\n private buildSubscriptionUrlWithToken(domain: string, service: string, primitive: string): string {\r\n const authToken = this.userInformationService.getAuthToken();\r\n const tenant = this.userInformationService.getTenantDomain();\r\n return `/topic/${tenant}/${authToken}/${domain}/${service}/${primitive}`;\r\n }\r\n\r\n private getSubscriptionUrlWithoutToken(domain: string, service: string, primitive: string): string {\r\n const tenant = this.userInformationService.getTenantDomain();\r\n return `/topic/${tenant}/${domain}/${service}/${primitive}`;\r\n }\r\n\r\n private buildPrimitiveManagerKey(domain: string, service: string, primitive: string): string {\r\n return `${domain}/${service}/${primitive}`;\r\n }\r\n\r\n private async unsubscribePrimitiveOnFinalize(primitiveManager: PrimitiveManager<any>) {\r\n if (primitiveManager.hasObservers()) {\r\n return;\r\n }\r\n\r\n primitiveManager.unsubscribe();\r\n\r\n const key = this.buildPrimitiveManagerKey(primitiveManager.domain, primitiveManager.service, primitiveManager.primitive);\r\n this.primitiveManagers.delete(key);\r\n\r\n await this.disconnectIfNoMoreObservables();\r\n }\r\n\r\n private async disconnectIfNoMoreObservables() {\r\n if (this.getObserversCount() === 0) {\r\n this.debug('Manually disconnecting because there are no more observers');\r\n await this.disconnect();\r\n }\r\n }\r\n\r\n private getObserversCount(): number {\r\n let observersCount = 0;\r\n\r\n this.primitiveManagers.forEach(primitiveManager => {\r\n observersCount += primitiveManager.getObserversCount();\r\n });\r\n\r\n return observersCount;\r\n }\r\n\r\n private createStompSubscription<T>(destination: string, primitiveManager: PrimitiveManager<T>): StompSubscription {\r\n return this.stompClient.subscribe(destination, (message: any) => {\r\n const event = JSON.parse(message.body || '{}');\r\n primitiveManager.fireEvent(event);\r\n });\r\n }\r\n\r\n private createStompSubscriptions<T>(primitiveManager: PrimitiveManager<T>): void {\r\n const subscriptionUrlWithToken = this.buildSubscriptionUrlWithToken(\r\n primitiveManager.domain,\r\n primitiveManager.service,\r\n primitiveManager.primitive\r\n );\r\n const subscriptionUrlWithoutToken = this.getSubscriptionUrlWithoutToken(\r\n primitiveManager.domain,\r\n primitiveManager.service,\r\n primitiveManager.primitive\r\n );\r\n\r\n const stompSubscriptionWithToken = this.createStompSubscription(subscriptionUrlWithToken, primitiveManager);\r\n const stompSubscriptionWithoutToken = this.createStompSubscription(subscriptionUrlWithoutToken, primitiveManager);\r\n primitiveManager.subscribe(stompSubscriptionWithToken, stompSubscriptionWithoutToken);\r\n this.subscribed$.next(primitiveManager);\r\n }\r\n\r\n private getSubscriptionUrl() {\r\n return `${this.userInformationService.getWebSocketUrl()}/subscription`;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { WebsocketService } from './websocket.service';\r\nimport { UserInformationService } from './user-information.service';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n providers: [\r\n WebsocketService,\r\n UserInformationService\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class WebsocketModule { }\r\n","import { HttpParams, HttpClient } from '@angular/common/http';\r\nimport { MessageService, SortMeta } from 'primeng/api';\r\nimport { LibTranslationService } from './lib-translation.service';\r\nimport { OperatorFunction, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nexport class AgroEntityService<T> {\r\n constructor(\r\n protected http: HttpClient,\r\n protected messageService: MessageService,\r\n protected entityUrl: string,\r\n protected actionsUrl: string,\r\n protected queriesUrl: string,\r\n protected translate: LibTranslationService\r\n ) {\r\n this.http = http;\r\n this.messageService = messageService;\r\n this.entityUrl = entityUrl;\r\n this.actionsUrl = actionsUrl;\r\n this.queriesUrl = queriesUrl;\r\n this.translate = translate;\r\n\r\n this.defaultCatch = this.defaultCatch.bind(this);\r\n }\r\n\r\n public getListQueryParams(listParams: ListParams) {\r\n const ten = 10;\r\n const { page = 0, size = ten, sort = [], filterQuery = '', displayFields = [] } = listParams;\r\n\r\n let params = new HttpParams();\r\n params = params.append('size', String(size));\r\n params = params.append('offset', String(page));\r\n\r\n if (sort?.length) {\r\n params = params.append('orderby', sort.map(this.getBodyFilters()).join(', '));\r\n }\r\n\r\n if (filterQuery) {\r\n params = params.append('filter', filterQuery);\r\n }\r\n\r\n if (displayFields?.length) {\r\n params = params.append('displayfields', displayFields.join());\r\n }\r\n\r\n return params;\r\n }\r\n\r\n private getBodyParams(listParams: ListParams): BodyParams {\r\n const ten = 10;\r\n const { page = 0, size = ten, sort = [], filterQuery = '', displayFields = [] } = listParams;\r\n const bodyParams: BodyParams = {};\r\n\r\n bodyParams.size = size;\r\n bodyParams.offset = page;\r\n\r\n if (sort?.length) {\r\n bodyParams.orderBy = sort.map(this.getBodyFilters()).join(', ');\r\n }\r\n\r\n if (filterQuery) {\r\n bodyParams.filter = filterQuery;\r\n }\r\n\r\n if (displayFields?.length) {\r\n bodyParams.displayfields = displayFields.join();\r\n }\r\n\r\n return bodyParams;\r\n }\r\n\r\n private getBodyFilters(): (value: SortMeta, index: number, array: SortMeta[]) => string {\r\n return (s) => {\r\n let order = '';\r\n if (s.order === 1) {\r\n order = ' asc';\r\n }\r\n if (s.order === -1) {\r\n order = ' desc';\r\n }\r\n return `${s.field}${order}`;\r\n };\r\n }\r\n\r\n public defaultCatch<T>(errorMsgs: ErrorMessage[] = []): OperatorFunction<T, T> {\r\n const unauthorized401 = 401;\r\n errorMsgs = [...errorMsgs];\r\n const zero = 0;\r\n return catchError((err: any) => {\r\n if (err) {\r\n const errorMessage = errorMsgs.find((eMsg) => eMsg.status === err?.status || zero);\r\n let summary = err.status ? String(err.status) : 'Error';\r\n let detail = this.getErrorMessage(err);\r\n\r\n if (err.status === unauthorized401) {\r\n summary = this.translate.instant('agro.angular_components.error_unauthorized_title');\r\n detail = this.translate.instant('agro.angular_components.error_unauthorized_description');\r\n }\r\n\r\n if (errorMessage) {\r\n summary = errorMessage.summary ? this.translate.instant(errorMessage.summary) : summary;\r\n detail = errorMessage.detail ? this.translate.instant(errorMessage.detail) : detail;\r\n }\r\n\r\n this.messageService.add({\r\n severity: 'error',\r\n summary,\r\n detail,\r\n });\r\n }\r\n\r\n return throwError(() => err);\r\n });\r\n }\r\n\r\n public getErrorMessage(err: any) {\r\n if (err?.error?.message) {\r\n return err.error.message;\r\n }\r\n if (err.statusText) {\r\n return err.statusText;\r\n }\r\n if (err.message) {\r\n return err.message;\r\n }\r\n return 'Error';\r\n }\r\n\r\n public list(listParams: ListParams, errorMessage: ErrorMessage[] = []) {\r\n return this.http\r\n .get<T[]>(this.entityUrl, { params: this.getListQueryParams(listParams) })\r\n .pipe(this.defaultCatch(errorMessage));\r\n }\r\n\r\n public get(id: any, errorMessage: ErrorMessage[] = []) {\r\n return this.http.get<T>(`${this.entityUrl}/${id}`).pipe(this.defaultCatch(errorMessage));\r\n }\r\n\r\n public insert(entity: T, errorMessage: ErrorMessage[] = []) {\r\n return this.http.post<T>(`${this.entityUrl}`, entity).pipe(this.defaultCatch(errorMessage));\r\n }\r\n\r\n public update(id: any, entity: T, errorMessage: ErrorMessage[] = []) {\r\n return this.http.put<T>(`${this.entityUrl}/${id}`, entity).pipe(this.defaultCatch(errorMessage));\r\n }\r\n\r\n public delete(id: any, errorMessage: ErrorMessage[] = []) {\r\n return this.http.delete<T>(`${this.entityUrl}/${id}`).pipe(this.defaultCatch(errorMessage));\r\n }\r\n\r\n public listCustomFilter(listParams: ListParams, action: string, errorMessage: ErrorMessage[] = []) {\r\n return this.http\r\n .post<T[]>(`${this.actionsUrl}/${action}`, this.getBodyParams(listParams))\r\n .pipe(this.defaultCatch(errorMessage));\r\n }\r\n\r\n public insertBulk(entities: T[]) {\r\n const body = entities ? { entities } : {};\r\n return this.http.post<T[]>(`${this.entityUrl}/bulk`, body).pipe(this.defaultCatch());\r\n }\r\n}\r\n\r\nexport interface PayloadRequest {\r\n search: RecFiltrosMensagemInfo;\r\n pageRequest: RecPageRequest;\r\n}\r\n\r\nexport interface RecFiltrosMensagemInfo {\r\n titulo: string;\r\n conteudo: string;\r\n}\r\n\r\nexport interface PayloadRequestGrupo {\r\n search: RecFiltrosGrupoProdutor;\r\n pageRequest: RecPageRequest;\r\n}\r\n\r\nexport interface RecFiltrosGrupoProdutor {\r\n nome: string;\r\n}\r\n\r\nexport interface RecPageRequest {\r\n offset: number;\r\n size: number;\r\n}\r\n\r\nexport interface ListParams {\r\n page?: number;\r\n size?: number;\r\n sort?: SortMeta[];\r\n filterQuery?: string;\r\n displayFields?: string[];\r\n}\r\n\r\nexport interface BodyParams {\r\n offset?: number;\r\n size?: number;\r\n orderBy?: string;\r\n filter?: string;\r\n displayfields?: string;\r\n}\r\n\r\nexport interface ErrorMessage {\r\n status: number;\r\n summary: string;\r\n detail?: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { EventControlDto } from '../event-control/event-control-dto';\r\nimport { AgroEntityService } from '../../../../services/agro-entity-service';\r\n\r\n@Injectable()\r\nexport class EventControlService extends AgroEntityService<EventControlDto> {\r\n\r\n constructor(protected override http: HttpClient, protected override messageService: MessageService, protected override translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/agro_events/entities/eventControl`,\r\n `agro/agro_events/actions`,\r\n `agro/agro_events/queries`,\r\n translate\r\n );\r\n }\r\n}\r\n","import { user as userService } from '@seniorsistemas/senior-platform-data';\r\n\r\nexport class PaginatorStorageService {\r\n private GET_USER_ID = userService.getUserData().then((user) => user.id);\r\n private PAGINATOR_KEY = 'SENIOR_PAGINATOR';\r\n\r\n public async store(key: string, value: any) {\r\n sessionStorage.setItem(`${await this.GET_USER_ID}_${key}`, JSON.stringify(value));\r\n }\r\n\r\n public async get(key: string) {\r\n return JSON.parse(sessionStorage.getItem(`${await this.GET_USER_ID}_${key}`) || '') || {};\r\n }\r\n\r\n public async storePaginator(key: string, listParams: any = {}) {\r\n const store = (await this.get(this.PAGINATOR_KEY)) || {};\r\n store[key] = listParams;\r\n await this.store(this.PAGINATOR_KEY, store);\r\n }\r\n\r\n public async getPaginator(key: string) {\r\n const store = (await this.get(this.PAGINATOR_KEY)) || {};\r\n return store[key] || {};\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { EventControlItemDto } from '../event-control-item/event-control-item-dto';\r\nimport { AgroEntityService } from '../../../../services/agro-entity-service';\r\n\r\n@Injectable()\r\nexport class EventControlItemService extends AgroEntityService<EventControlItemDto> {\r\n\r\n constructor(protected override http: HttpClient, protected override messageService: MessageService, protected override translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/agro_events/entities/eventControlItem`,\r\n `agro/agro_events/actions`,\r\n `agro/agro_events/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public reprocessFailedEvent(body: ReprocessFailedEvent) {\r\n return this.http\r\n .post<any>(\r\n `agro/agro_events/signals/reprocessFailedEvent`,\r\n body\r\n )\r\n .pipe(this.defaultCatch());\r\n }\r\n}\r\n\r\nexport interface ReprocessFailedEvent {\r\n eventControlItemId: string;\r\n}\r\n\r\n","import moment from \"moment\";\r\n\r\nimport { ProducerInvoiceDto } from \"./producer-invoice-dto\";\r\nimport { Origination } from \"../../components/event-control-board/service/origination/origination\";\r\nimport { RuralEstate } from \"../../components/event-control-board/service/rural-estate/rural-estate\";\r\nimport { E001pes } from \"../../components/event-control-board/service/e001pes/e001pes\";\r\nimport { ExternalInvoice } from \"../../components/event-control-board/service/external-invoice/external-invoice\";\r\nimport { Invoice } from \"../../components/event-control-board/service/invoice/invoice\";\r\n\r\nexport class ProducerInvoice {\r\n public id?: string;\r\n public balanceEntryControl!: Origination;\r\n public ruralEstate!: RuralEstate;\r\n public e001pes!: E001pes;\r\n public externalInvoices!: ExternalInvoice[];\r\n public weight!: number;\r\n public percentage!: number;\r\n public invoiceErpxId?: string;\r\n public invoice?: Invoice;\r\n public provisionalId?: string;\r\n public effectiveId?: string;\r\n public isMainProducer?: boolean;\r\n public createdBy?: string;\r\n public createdDate?: Date;\r\n public lastModifiedBy?: string;\r\n public lastModifiedDate?: Date;\r\n public custom?: any;\r\n\r\n public static fromDto(producerInvoiceDto: ProducerInvoiceDto, originEntity?: string): ProducerInvoice {\r\n const model: any = { ...producerInvoiceDto };\r\n\r\n model.createdDate = model.createdDate && moment(model.createdDate).toDate();\r\n model.lastModifiedDate = model.lastModifiedDate && moment(model.lastModifiedDate).toDate();\r\n\r\n const lookupSeparator = \" - \";\r\n const displayFields = [\r\n \"id\",\r\n \"weight\",\r\n \"percentage\",\r\n \"invoiceErpxId\",\r\n \"provisionalId\",\r\n \"effectiveId\",\r\n \"isMainProducer\",\r\n \"createdBy\",\r\n \"createdDate\",\r\n \"lastModifiedBy\",\r\n \"lastModifiedDate\",\r\n ];\r\n\r\n model.label = displayFields.map((field) => model[field]).join(lookupSeparator);\r\n\r\n return model as ProducerInvoice;\r\n }\r\n\r\n public static toDto(producerInvoice: ProducerInvoice, originEntity?: string): ProducerInvoiceDto {\r\n const dto: any = { ...producerInvoice };\r\n\r\n dto.createdDate = dto.createdDate && moment(dto.createdDate).format();\r\n dto.lastModifiedDate = dto.lastModifiedDate && moment(dto.lastModifiedDate).format();\r\n\r\n delete dto.label;\r\n\r\n return dto;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { LibTranslationService as TranslateService } from '../lib-translation.service';\r\nimport { ProducerInvoiceDto } from './producer-invoice-dto';\r\nimport { AgroEntityService } from '../agro-entity-service';\r\nimport { AGRO_NUMBERS } from '../../enums/agro-numbers.enum';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface ProducerInvoiceTotalizers {\r\n invoiceId: string;\r\n totalLinked: number;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProducerInvoiceService extends AgroEntityService<ProducerInvoiceDto> {\r\n constructor(\r\n protected override http: HttpClient,\r\n protected override messageService: MessageService,\r\n protected override translate: TranslateService\r\n ) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/producerInvoice`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public async getTotalLinkedInInvoices(\r\n invoiceId: string[],\r\n fixationId: string\r\n ): Promise<ProducerInvoiceTotalizers[]> {\r\n const filter =\r\n `fixationItem.fixation.id eq '${fixationId}' ` + `and invoiceId in ('${invoiceId.join(\"','\")}') `;\r\n return new Promise<ProducerInvoiceTotalizers[]>((resolve, reject) => {\r\n this.list({\r\n filterQuery: filter,\r\n size: AGRO_NUMBERS.ONE_HUNDRED,\r\n }).subscribe({\r\n next: (data: any) => {\r\n const invoiceList = data.contents;\r\n const producerInvoice = new Map<string, number>();\r\n if (invoiceList.length) {\r\n invoiceList.forEach((invoice: any) => {\r\n producerInvoice.set(\r\n invoice.invoiceId,\r\n (producerInvoice.get(invoice.invoiceId) ?? 0) + invoice.linkedValue\r\n );\r\n });\r\n }\r\n resolve(\r\n Array.from(producerInvoice.entries()).map(([key, value]) => {\r\n return {\r\n invoiceId: key,\r\n totalLinked: value,\r\n };\r\n })\r\n );\r\n },\r\n error: (err) => reject(new Error(typeof err === 'string' ? err : JSON.stringify(err))),\r\n });\r\n });\r\n }\r\n\r\n public deleteAllProducerInvoice(fixationId: string): Observable<any> {\r\n return this.http.post(`${this.actionsUrl}/deleteAllProducerInvoice`, { fixationId }).pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { registerLocaleData } from \"@angular/common\";\r\nimport localePt from \"@angular/common/locales/pt\";\r\nimport { Component, EventEmitter, Input, LOCALE_ID, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { Step, StepState } from \"@seniorsistemas/angular-components/stepper\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { DialogService } from \"primeng/dynamicdialog\";\r\nimport { Subject } from \"rxjs\";\r\nimport { catchError, takeUntil } from \"rxjs/operators\";\r\nimport { AGRO_NUMBERS } from \"../../enums/agro-numbers.enum\";\r\nimport { LibTranslationService } from \"../../services/lib-translation.service\";\r\nimport { ProducerInvoiceService } from \"../../services/producer-invoice\";\r\nimport { WebsocketService } from \"../../services/websocket\";\r\nimport { CancelEventDialogConfig } from \"../cancel-event-dialog/cancel-event-dialog-config\";\r\nimport { CancelEventDialogComponent } from \"../cancel-event-dialog/cancel-event-dialog.component\";\r\nimport { eventItem } from \"./common/event-control-constants\";\r\nimport { EventOperation } from \"./common/event-operation\";\r\nimport { EventOrigin } from \"./common/event-origin\";\r\nimport { EventStatus } from \"./common/event-status\";\r\nimport { invoiceTypeTranslate } from \"./common/input-fields-translate\";\r\nimport { LookupErrorMessages } from \"./common/lookup-error-message.constants\";\r\nimport { E070Emp } from \"./service/e070emp/e070emp\";\r\nimport { E070Fil } from \"./service/e070fil/e070fil\";\r\nimport { EventControlItem } from \"./service/event-control-item/event-control-item\";\r\nimport { EventControlItemService, ReprocessFailedEvent } from \"./service/event-control-item/event-control-item.service\";\r\nimport { EventControl } from \"./service/event-control/event-control\";\r\nimport { EventControlService } from \"./service/event-control/event-control.service\";\r\nimport { PaginatorStorageService } from \"./service/paginator-storage.service\";\r\nimport { FieldConfig } from \"@seniorsistemas/angular-components/dynamic-form\";\r\nimport moment from \"moment\";\r\n\r\n@Component({\r\n selector: \"s-event-control-board\",\r\n templateUrl: \"./event-control-board.component.html\",\r\n styleUrls: [\"./event-control-board.component.scss\"],\r\n providers: [{ provide: LOCALE_ID, useValue: \"pt-BR\" }],\r\n})\r\nexport class EventControlBoardComponent implements OnInit, OnDestroy, OnChanges {\r\n @Input() company!: E070Emp;\r\n @Input() branch!: E070Fil;\r\n @Input() controlCode!: string[];\r\n @Input() eventOrigin!: EventOrigin;\r\n @Input() eventStatus!: EventStatus;\r\n @Input() externalId!: string;\r\n @Input() createdDate!: Date;\r\n @Input() standalone!: boolean;\r\n @Input() showCancelButton!: boolean;\r\n @Input() cancelEventDialogConfig!: CancelEventDialogConfig;\r\n @Output() processedEvent: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n public producerInvoice!: any;\r\n\r\n public steps: Step[] = [];\r\n public selectedStep: any;\r\n public eventId!: \"\";\r\n public showSidebar = false;\r\n public showReprocessButton = false;\r\n public sidebarTitle!: string;\r\n public sidebarLoading!: boolean;\r\n\r\n public filterFormGroup!: FormGroup;\r\n public filterFields!: FieldConfig[];\r\n\r\n public gridData!: any[];\r\n public gridDataResolved!: any[];\r\n public gridColumns!: any[];\r\n public gridTotalRecords = AGRO_NUMBERS.ZERO;\r\n public gridLoading = false;\r\n public displayModal = false;\r\n\r\n public readonly ButtonPriority = {\r\n Primary: 'primary' as const,\r\n Secondary: 'secondary' as const,\r\n Link: 'link' as const,\r\n };\r\n public readonly BadgeColors = {\r\n Green: 'green' as const,\r\n Orange: 'orange' as const,\r\n Red: 'red' as const,\r\n Gray: 'gray' as const,\r\n };\r\n\r\n public permissions: any = {};\r\n public localeConfig: any = {};\r\n\r\n public currentListParams: any = {\r\n page: AGRO_NUMBERS.ZERO,\r\n size: AGRO_NUMBERS.TEN,\r\n displayFields: this.getDisplayFields(),\r\n sort: [],\r\n filterData: {}\r\n };\r\n\r\n private readonly ngUnsubscribe = new Subject();\r\n private readonly eventItem = eventItem;\r\n private readonly invoiceTypeTranslate = invoiceTypeTranslate;\r\n\r\n constructor(\r\n private readonly translate: LibTranslationService,\r\n private readonly formBuilder: FormBuilder,\r\n private readonly websocketService: WebsocketService,\r\n private readonly eventControlService: EventControlService,\r\n private readonly paginatorStorageService: PaginatorStorageService,\r\n private readonly eventControlItemService: EventControlItemService,\r\n private readonly producerInvoiceService: ProducerInvoiceService,\r\n private readonly messageService: MessageService,\r\n private readonly dialogService: DialogService\r\n ) {\r\n registerLocaleData(localePt);\r\n }\r\n\r\n public async ngOnInit() {\r\n this.gridColumns = this.setGridColumns();\r\n this.callWebsocket();\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges) {\r\n if (!this.filterFormGroup) {\r\n this.initializeFormGroup();\r\n this.setFormFields();\r\n }\r\n\r\n this.updateCompanyAndBranchFormFields(changes);\r\n this.updateEventOriginAndControlCodeFormFields(changes);\r\n this.updateEventStatusAndCreatedDateFormFields(changes);\r\n this.onSearch();\r\n }\r\n\r\n private updateCompanyAndBranchFormFields(changes: SimpleChanges) {\r\n if (changes['company'] && changes['company'].currentValue !== changes['company'].previousValue) {\r\n this.filterFormGroup.get(\"company\")?.setValue(changes['company'].currentValue ?? null);\r\n }\r\n\r\n if (changes['branch'] && changes['branch'].currentValue !== changes['branch'].previousValue) {\r\n this.filterFormGroup.get(\"branch\")?.setValue(changes['branch'].currentValue ?? null);\r\n }\r\n }\r\n\r\n private updateEventOriginAndControlCodeFormFields(changes: SimpleChanges) {\r\n if (changes['eventOrigin'] && changes['eventOrigin'].currentValue !== changes['eventOrigin'].previousValue) {\r\n this.filterFormGroup.get(\"eventOrigin\")?.setValue(changes['eventOrigin'].currentValue ?? null);\r\n }\r\n\r\n if (changes['controlCode'] && changes['controlCode'].currentValue !== changes['controlCode'].previousValue) {\r\n this.filterFormGroup.get(\"controlCode\")?.setValue(changes['controlCode'].currentValue ?? null);\r\n }\r\n }\r\n\r\n private updateEventStatusAndCreatedDateFormFields(changes: SimpleChanges) {\r\n if (changes['eventStatus'] && changes['eventStatus'].currentValue !== changes['eventStatus'].previousValue) {\r\n this.filterFormGroup.get(\"status\")?.setValue(changes['eventStatus'].currentValue ?? null);\r\n }\r\n\r\n if (changes['createdDate'] && changes['createdDate'].currentValue !== changes['createdDate'].previousValue) {\r\n this.filterFormGroup.get(\"createdDate\")?.setValue(changes['createdDate'].currentValue ?? null);\r\n }\r\n }\r\n\r\n private initializeFormGroup() {\r\n this.filterFormGroup = this.formBuilder.group({\r\n company: [{ value: this.company ?? null, disabled: false }, Validators.compose([])],\r\n branch: [{ value: this.branch ?? null, disabled: false }, Validators.compose([])],\r\n controlCode: [{ value: this.controlCode ?? null, disabled: false }, Validators.compose([])],\r\n externalId: [{ value: this.externalId ?? null, disabled: false }, Validators.compose([])],\r\n eventOrigin: [{ value: this.eventOrigin ?? null, disabled: false }, Validators.compose([])],\r\n status: [{ value: this.eventStatus ?? null, disabled: false }, Validators.compose([])],\r\n createdDate: [{ value: this.createdDate ?? null, disabled: false }, Validators.compose([])],\r\n });\r\n }\r\n\r\n private setFormFields() {\r\n this.filterFields = [\r\n {\r\n name: \"company\",\r\n type: 'chips',\r\n },\r\n {\r\n name: \"branch\",\r\n type: 'chips',\r\n },\r\n {\r\n name: \"controlCode\",\r\n type: 'chips',\r\n },\r\n {\r\n name: \"externalId\",\r\n type: 'string',\r\n },\r\n {\r\n name: \"eventOrigin\",\r\n type: 'enum',\r\n },\r\n {\r\n name: \"status\",\r\n type: 'enum',\r\n },\r\n {\r\n name: \"createdDate\",\r\n type: 'date',\r\n },\r\n ];\r\n }\r\n\r\n private setGridColumns() {\r\n return [\r\n { field: \"company\", header: this.translate.instant(\"agro.angular_components.company\") },\r\n { field: \"branch\", header: this.translate.instant(\"agro.angular_components.label_branch\") },\r\n { field: \"eventOrigin\", header: this.translate.instant(\"agro.angular_components.event_origin_label\") },\r\n { field: \"controlCode\", header: this.translate.instant(\"agro.angular_components.control_code\") },\r\n ];\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.ngUnsubscribe.next(null);\r\n this.ngUnsubscribe.complete();\r\n this.websocketService.disconnect();\r\n }\r\n\r\n public callWebsocket() {\r\n this.websocketService\r\n .onEvent<any>({\r\n domain: \"agro\",\r\n service: \"agro_events\",\r\n primitive: \"processedEvent\",\r\n })\r\n .pipe(takeUntil(this.ngUnsubscribe))\r\n .subscribe((message) => {\r\n const externalId = message?.data?.externalId;\r\n const filterData = this.filterFormGroup.getRawValue();\r\n if (!externalId || this.externalId === externalId || this.gridData?.some((item: any) => item.externalId === externalId)) {\r\n this.updateGrid({ filterData });\r\n this.processedEvent.emit(message);\r\n }\r\n });\r\n\r\n this.websocketService\r\n .onEvent<any>({\r\n domain: \"platform\",\r\n service: \"notifications\",\r\n primitive: \"userNotified\",\r\n })\r\n .pipe(takeUntil(this.ngUnsubscribe))\r\n .subscribe(() => {\r\n const filterData = this.filterFormGroup.getRawValue();\r\n this.updateGrid({ filterData });\r\n });\r\n }\r\n\r\n public onSearch() {\r\n const filterData = this.filterFormGroup.getRawValue();\r\n this.gridLoading = true;\r\n this.resetGrid({ filterData });\r\n this.updateGrid({ filterData });\r\n }\r\n\r\n public resetGrid(listParams?: any) {\r\n if (listParams) {\r\n this.currentListParams = { ...this.currentListParams, ...listParams };\r\n }\r\n this.currentListParams.page = AGRO_NUMBERS.ZERO;\r\n }\r\n\r\n private updateGrid(listParams: any = {}) {\r\n this.currentListParams = { ...this.currentListParams, ...listParams };\r\n\r\n if (this.currentListParams.sort?.length <= 0) {\r\n this.currentListParams.sort = this.standalone ?\r\n [{ field: \"createdDate\", order: 1 }] :\r\n [{ field: \"lastModifiedDate\", order: -1 }];\r\n }\r\n\r\n this.currentListParams.filterQuery = this.getFilter();\r\n\r\n this.eventControlService\r\n .list(this.currentListParams)\r\n .pipe(\r\n takeUntil(this.ngUnsubscribe),\r\n catchError((err: any) => {\r\n this.gridLoading = false;\r\n throw err;\r\n })\r\n )\r\n .subscribe((list: any) => {\r\n this.gridData = list.contents;\r\n this.gridTotalRecords = list.totalElements;\r\n if (!this.gridData || this.gridData.length <= AGRO_NUMBERS.ZERO) {\r\n this.gridLoading = false;\r\n return;\r\n }\r\n this.processEventControlItems();\r\n });\r\n }\r\n\r\n private getFilter(): string {\r\n const { filterData } = this.currentListParams;\r\n const filters: string[] = [];\r\n\r\n if (filterData[\"company\"]?.id) {\r\n filters.push(`e070emp.id eq '${filterData[\"company\"].id}'`);\r\n }\r\n\r\n if (filterData[\"branch\"]?.id) {\r\n filters.push(`e070fil.id eq '${filterData[\"branch\"].id}'`);\r\n }\r\n\r\n const controlCode = filterData[\"controlCode\"];\r\n if (controlCode && Array.isArray(controlCode) && controlCode.length > 0) {\r\n const codes = controlCode.map((code: string) => parseInt(code, 10)).join(\",\");\r\n filters.push(`controlCode in (${codes})`);\r\n }\r\n\r\n if (filterData[\"externalId\"]) {\r\n filters.push(`externalId eq '${filterData[\"externalId\"]}'`);\r\n }\r\n\r\n if (filterData[\"eventOrigin\"]) {\r\n filters.push(`eventOrigin eq '${filterData[\"eventOrigin\"]}'`);\r\n }\r\n\r\n if (filterData[\"status\"]) {\r\n filters.push(`eventControlItem.status eq '${filterData[\"status\"]}'`);\r\n }\r\n\r\n if (filterData[\"createdDate\"]) {\r\n filters.push(`createdDate ge '${this.getStartDate(filterData[\"createdDate\"])}'`);\r\n filters.push(`createdDate le '${this.getEndDate(filterData[\"createdDate\"])}'`);\r\n }\r\n\r\n return filters.join(\" and \");\r\n }\r\n\r\n private getEndDate(value: any): string {\r\n const endDate = moment(value).endOf(\"day\").format(\"YYYY-MM-DDTHH:mm:ss\") + \"Z\";\r\n return endDate;\r\n }\r\n private getStartDate(value: any): string {\r\n const startDate = moment(value).startOf(\"day\").format(\"YYYY-MM-DDTHH:mm:ss\") + \"Z\";\r\n return startDate;\r\n }\r\n\r\n private getDisplayFields(): string[] {\r\n return [\r\n '*',\r\n 'company.*',\r\n 'branch.*',\r\n 'eventControlItem.eventDomain',\r\n 'eventControlItem.id',\r\n 'eventControlItem.eventDomain',\r\n 'eventControlItem.eventService',\r\n 'eventControlItem.eventPrimitive',\r\n 'eventControlItem.eventControl',\r\n 'eventControlItem.eventGroup',\r\n 'eventControlItem.sequence',\r\n 'eventControlItem.eventOperation',\r\n 'eventControlItem.output',\r\n 'eventControlItem.input',\r\n 'eventControlItem.status',\r\n 'eventControlItem.subTitle',\r\n 'eventControlItem.message',\r\n 'eventControlItem.createdBy',\r\n 'eventControlItem.createdDate',\r\n 'eventControlItem.lastModifiedBy',\r\n 'eventControlItem.lastModifiedDate',\r\n ];\r\n }\r\n\r\n private processEventControlItems() {\r\n this.gridData.forEach((item) => {\r\n const sortedItems = item.eventControlItem.sort((a: EventControlItem, b: EventControlItem) => {\r\n return a.sequence - b.sequence;\r\n });\r\n const steps = sortedItems.map((detail: EventControlItem, index: number) => this.createStep(detail, item, index));\r\n const activeIndex = this.calculateActiveIndex(sortedItems);\r\n item.groups = [{ steps, activeIndex }];\r\n item.activeIndex = activeIndex;\r\n });\r\n this.gridDataResolved = this.gridData;\r\n this.gridLoading = false;\r\n }\r\n\r\n private calculateActiveIndex(details: EventControlItem[]): number {\r\n const lastActive = details.reduce(\r\n (lastIndex, detail, currentIndex) => (detail.status !== EventStatus.PENDING ? currentIndex : lastIndex),\r\n -1\r\n );\r\n if (lastActive !== -1 && details[lastActive].status === EventStatus.SUCCESS) {\r\n return lastActive + 1;\r\n }\r\n return lastActive;\r\n }\r\n\r\n private createStep(detail: EventControlItem, item: EventControl, detailIndex: number) {\r\n console.log('Detail:', detail);\r\n return {\r\n item: detail,\r\n controlCode: item.controlCode,\r\n eventType: item.eventOrigin,\r\n label: this.getEventLabel(detail),\r\n subLabel: this.formatSubtitle(detail),\r\n disabled: detail.status === EventStatus.PENDING && detailIndex !== this.calculateActiveIndex(item.eventControlItem),\r\n tooltip: this.getEventLabel(detail),\r\n state: this.determineStepState(detail),\r\n };\r\n }\r\n\r\n private determineStepState(detail: { status: EventStatus }): StepState {\r\n if (detail.status === EventStatus.SUCCESS) {\r\n return StepState.Success;\r\n }\r\n if (detail.status === EventStatus.FAILED) {\r\n return StepState.Warning;\r\n }\r\n return StepState.Default;\r\n }\r\n\r\n private getEventLabel(detail: any): string {\r\n const eventLabel = this.eventItem.find((e) => e.value === detail.eventOperation)?.label;\r\n console.log('Getting label for event operation:', eventLabel);\r\n if (eventLabel) {\r\n return this.translate.instant(eventLabel);\r\n }\r\n const localLabel = this.translate.instant(\"agro.angular_components.\" + detail.eventOperation);\r\n if (localLabel) {\r\n return localLabel;\r\n }\r\n return detail.eventOperation;\r\n }\r\n\r\n private formatSubtitle(detail: EventControlItem): string | null {\r\n const { eventOperation, subTitle } = detail;\r\n\r\n const invoiceOperations = [\r\n EventOperation.CREATE_INVOICE_FIXATION,\r\n EventOperation.CANCEL_INVOICE_FIXATION,\r\n EventOperation.ORIGINATION_CREATE_INVOICE\r\n ];\r\n\r\n const numberPrefixOperations = [\r\n EventOperation.CLOSE_INVOICE_FIXATION,\r\n EventOperation.REOPEN_INVOICE_FIXATION\r\n ];\r\n\r\n const prescriptionOperations = [\r\n EventOperation.PRESCRIPTION_DATA_LOAD_PRODUCT_TYPE,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_ACTIVE_PRINCIPLE,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_FORMULATION,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_BULLETIN,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_APPLICATION_UNIT,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_SPECIE,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_APPLICATION_TYPE,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_PROBLEMS,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_APPLICATION\r\n ];\r\n\r\n let formattedSubtitle: string | null = subTitle ?? null;\r\n if (invoiceOperations.includes(eventOperation)) {\r\n const label = this.invoiceTypeTranslate.find((e) => e.value === subTitle)?.label;\r\n formattedSubtitle = label ? this.translate.instant(label) : (subTitle ?? null);\r\n }\r\n\r\n if (numberPrefixOperations.includes(eventOperation)) {\r\n formattedSubtitle = subTitle ? `n° ${subTitle}` : (subTitle ?? null);\r\n }\r\n\r\n if (prescriptionOperations.includes(eventOperation)) {\r\n formattedSubtitle = this.translate.instant('agro.angular_components.new_prescription_page', { count: subTitle });\r\n }\r\n\r\n return formattedSubtitle;\r\n }\r\n\r\n\r\n\r\n public onGridChange(event: any) {\r\n const size = event?.rows;\r\n const page = event?.first / size;\r\n const sort = event.multiSortMeta;\r\n this.gridLoading = true;\r\n if (size !== AGRO_NUMBERS.TEN || page !== AGRO_NUMBERS.ZERO || (sort && sort.length > AGRO_NUMBERS.ZERO)) {\r\n this.paginatorStorageService.storePaginator(\"EventControlBoardPaginator\", { page, size, sort });\r\n }\r\n\r\n return this.updateGrid({ page, size, sort });\r\n }\r\n\r\n public getPageSize() {\r\n return this.currentListParams.size;\r\n }\r\n\r\n public getRowIndex() {\r\n return this.currentListParams.page * this.currentListParams.size;\r\n }\r\n\r\n public getSortField() {\r\n if (!this.currentListParams.sort || this.currentListParams.sort.length <= AGRO_NUMBERS.ZERO) {\r\n return this.gridColumns[AGRO_NUMBERS.ZERO].field;\r\n }\r\n return this.currentListParams.sort[AGRO_NUMBERS.ZERO].field;\r\n }\r\n\r\n public getSortOrder() {\r\n if (!this.currentListParams.sort || this.currentListParams.sort.length <= AGRO_NUMBERS.ZERO) {\r\n return AGRO_NUMBERS.ONE;\r\n }\r\n\r\n return this.currentListParams.sort[AGRO_NUMBERS.ZERO].order;\r\n }\r\n\r\n public getErrorMessages() {\r\n const translatedErrorMessages: { [key: string]: string } = {};\r\n for (const key in LookupErrorMessages) {\r\n if (LookupErrorMessages.hasOwnProperty(key)) {\r\n this.translate.get(LookupErrorMessages[key]).subscribe((res: string) => {\r\n translatedErrorMessages[key] = res;\r\n });\r\n }\r\n }\r\n return translatedErrorMessages;\r\n }\r\n\r\n getProducerInvoiceIdFromParams(param: any): string | null {\r\n if (!param) {\r\n return null;\r\n }\r\n\r\n return [\r\n param.producerInvoiceIds?.[0],\r\n param.invoice?.generalData?.transactionalId,\r\n param.producerInvoiceId,\r\n param.externalId,\r\n param.externalInvoiceIds?.[0],\r\n ].find((id) => id) ?? null;\r\n }\r\n\r\n getProducerBalanceEntryControlIdFromParams(param: any) {\r\n const { producerBalanceEntryControlId } = param;\r\n return producerBalanceEntryControlId ? producerBalanceEntryControlId : null;\r\n }\r\n\r\n public stepSelected(event: any) {\r\n this.selectedStep = event.step;\r\n this.applySidebarTitle(\"\");\r\n\r\n switch (this.selectedStep.eventType) {\r\n case EventOrigin.BALANCE_ENTRY_CONTROL:\r\n case EventOrigin.TICKET:\r\n case EventOrigin.INVOICE:\r\n case EventOrigin.CREATE_INVOICE:\r\n this.sidebarLoading = true;\r\n {\r\n const param = JSON.parse(this.selectedStep.item.input);\r\n const producerInvoiceId = this.getProducerInvoiceIdFromParams(param);\r\n let filterQuery = \"\";\r\n\r\n if (!producerInvoiceId) {\r\n const producerBalanceEntryControlId = this.getProducerBalanceEntryControlIdFromParams(param);\r\n\r\n if (!producerBalanceEntryControlId) {\r\n this.sidebarLoading = false;\r\n return;\r\n }\r\n\r\n filterQuery = `producerBalanceEntryControl.id eq '${producerBalanceEntryControlId}'`;\r\n } else {\r\n filterQuery = `id eq '${producerInvoiceId}'`;\r\n }\r\n\r\n this.producerInvoiceService\r\n .list({\r\n displayFields: [\"*\", \"producerBalanceEntryControl.*\", \"producerBalanceEntryControl.producer.*\"],\r\n filterQuery,\r\n page: 0,\r\n size: 1,\r\n })\r\n .pipe(takeUntil(this.ngUnsubscribe))\r\n .subscribe(\r\n (result: any) => {\r\n this.producerInvoice = result?.contents[0];\r\n this.producerInvoice;\r\n this.sidebarLoading = false;\r\n this.applySidebarTitle(this.getProducerInvoiceNumberAndSerie());\r\n },\r\n () => {\r\n this.sidebarLoading = false;\r\n }\r\n );\r\n }\r\n break;\r\n case EventOrigin.FIXATION:\r\n case EventOrigin.CANCEL_FIXATION:\r\n case EventOrigin.CHANGE_REQUEST:\r\n case EventOrigin.TRANSFER:\r\n break;\r\n }\r\n\r\n this.showReprocessButton = event.step.state === StepState.Warning;\r\n\r\n this.showSidebar = true;\r\n }\r\n\r\n private applySidebarTitle(title: string) {\r\n this.sidebarTitle = this.translate.instant(\"agro.angular_components.event_sidebar_title\", { eventNumber: title });\r\n }\r\n\r\n private getProducerInvoiceNumberAndSerie(): string {\r\n if (this.producerInvoice?.number && this.producerInvoice?.series) {\r\n return `${this.producerInvoice.number} - ${this.producerInvoice.series}`;\r\n }\r\n return \"\";\r\n }\r\n\r\n public reprocessEvent() {\r\n const reprocessEventObj: ReprocessFailedEvent = {\r\n eventControlItemId: this.selectedStep.item.id,\r\n };\r\n this.eventControlItemService\r\n .reprocessFailedEvent(reprocessEventObj)\r\n .pipe(takeUntil(this.ngUnsubscribe))\r\n .subscribe(\r\n () => {\r\n this.addMessage(\r\n \"info\",\r\n \"agro.angular_components.reprocessing_event_message_title\",\r\n \"agro.angular_components.reprocessing_event_message_description\"\r\n );\r\n },\r\n () => {\r\n this.addMessage(\r\n \"error\",\r\n \"agro.angular_components.error_reprocessing_event_message_title\",\r\n \"agro.angular_components.error_reprocessing_event_message_description\"\r\n );\r\n }\r\n );\r\n }\r\n\r\n private addMessage(severity: string, summary: string, detail: string, life = AGRO_NUMBERS.FIVE_SECONDS) {\r\n this.messageService.add({\r\n severity,\r\n summary: this.translate.instant(summary),\r\n detail: this.translate.instant(detail),\r\n life,\r\n });\r\n }\r\n\r\n public openModal() {\r\n this.displayModal = true;\r\n this.showSidebar = false;\r\n }\r\n\r\n public async openCancelModal() {\r\n await this.cancelEventDialogConfig.beforeOpen?.();\r\n this.dialogService.open(CancelEventDialogComponent, {\r\n header: this.cancelEventDialogConfig?.header,\r\n contentStyle: { height: \"100%\" },\r\n closable: true,\r\n closeOnEscape: false,\r\n data: { cancelEventDialogConfig: this.cancelEventDialogConfig },\r\n });\r\n }\r\n\r\n public confirmModal() {\r\n this.reprocessEvent();\r\n this.displayModal = false;\r\n }\r\n\r\n public cancelModal() {\r\n this.displayModal = false;\r\n }\r\n\r\n public closeSidebar() {\r\n this.showSidebar = false;\r\n }\r\n}\r\n","<ng-container *sLoadingState=\"gridLoading\">\r\n <p-panel>\r\n <p-header>\r\n {{ \"agro.angular_components.event_control_header\" | libTranslate }}\r\n </p-header>\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12\">\r\n <s-button\r\n id=\"refresh-button\"\r\n [priority]=\"ButtonPriority.Primary\"\r\n iconClass=\"fa fa-refresh\"\r\n [label]=\"'agro.angular_components.refresh' | libTranslate\"\r\n (click)=\"onSearch()\"\r\n >\r\n </s-button>\r\n <s-button\r\n *ngIf=\"standalone && showCancelButton\"\r\n id=\"cancel-button-agro-events-lib\"\r\n iconClass=\"fa fa-times\"\r\n [label]=\"'agro.angular_components.cancel' | libTranslate\"\r\n (click)=\"openCancelModal()\"\r\n >\r\n </s-button>\r\n </div>\r\n </div>\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12 ui-md-12\" *ngIf=\"!gridData || gridData?.length === 0\">\r\n <s-empty-state\r\n iconClass=\"fa fa-exclamation-triangle\"\r\n title=\"{{ 'agro.angular_components.nothing_found' | libTranslate }}\"\r\n [showPrimaryAction]=\"false\"\r\n description=\"{{ 'agro.angular_components.table_empty_description' | libTranslate }}\"\r\n >\r\n </s-empty-state>\r\n </div>\r\n <ng-container *ngIf=\"gridData.length > 0\">\r\n <p-table\r\n stylelass=\"custom-table\"\r\n #eventControlTable\r\n [value]=\"gridDataResolved\"\r\n [columns]=\"gridColumns\"\r\n dataKey=\"id\"\r\n [lazy]=\"true\"\r\n [scrollable]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [paginator]=\"!standalone\"\r\n [totalRecords]=\"gridTotalRecords\"\r\n [rows]=\"10\"\r\n [responsive]=\"true\"\r\n (onLazyLoad)=\"onGridChange($event)\"\r\n [sortOrder]=\"getSortOrder()\"\r\n [first]=\"getRowIndex()\"\r\n [lazyLoadOnInit]=\"false\"\r\n sortMode=\"multiple\"\r\n [rows]=\"getPageSize()\"\r\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <ng-container *ngIf=\"!standalone\">\r\n <th *ngFor=\"let col of columns\" class=\"ui-lg-1 ui-md-1\" [pSortableColumn]=\"col.field\" scope=\"col\">\r\n <div class=\"senior-header\">\r\n <span class=\"senior-header-title\">{{ col.header }}</span>\r\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </div>\r\n </th>\r\n </ng-container>\r\n <th class=\"ui-lg-8 ui-md-7\" scope=\"col\">\r\n {{ \"agro.angular_components.panel_title_events_events\" | libTranslate }}\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData>\r\n <tr>\r\n <ng-container *ngIf=\"!standalone\">\r\n <td class=\"ui-lg-1 ui-md-1\">\r\n {{ rowData.e070emp?.nomEmp }}\r\n </td>\r\n <td class=\"ui-lg-1 ui-md-1\">\r\n {{ rowData.e070fil?.nomFil }}\r\n </td>\r\n <td class=\"ui-lg-1 ui-md-1\">\r\n <ng-container [ngSwitch]=\"rowData.eventOrigin\">\r\n <span *ngSwitchCase=\"'BALANCE_ENTRY_CONTROL'\">\r\n {{ \"agro.angular_components.balance_entry_control_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'TICKET'\">\r\n {{ \"agro.angular_components.ticket_maintenance_header\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'TRANSFER'\">\r\n {{ \"agro.angular_components.transfer_origin_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'INVOICE'\">\r\n {{ \"agro.angular_components.CREATE_INVOICE_FIXATION\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'CHANGE_REQUEST'\">\r\n {{ \"agro.angular_components.change_request_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'FIXATION'\">\r\n {{ \"agro.angular_components.fixation_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'CANCEL_FIXATION'\">\r\n {{ \"agro.angular_components.cancel_fixation_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'TRANSFER_CANCELLATION'\">\r\n {{ \"agro.angular_components.transfer_cancellation_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'AGRONOMIC_PRESCRIPTION'\">\r\n {{ \"agro.angular_components.agronomic_prescription_origin_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'PRESCRIPTION_INTEGRATION_HUB'\">\r\n {{ \"agro.angular_components.agronomic_prescription_origin_event\" | libTranslate }}\r\n </span>\r\n </ng-container>\r\n </td>\r\n <td class=\"ui-lg-1 ui ui-md-1\">\r\n {{ rowData.controlCode || \"\" }}\r\n </td>\r\n </ng-container>\r\n <td class=\"ui-lg-8 ui-md-7\">\r\n <ng-container *ngFor=\"let group of rowData.groups\">\r\n <s-event-steps\r\n [steps]=\"group.steps || []\"\r\n [activeIndex]=\"group.activeIndex\"\r\n (stepSelected)=\"stepSelected($event)\"\r\n >\r\n </s-event-steps>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template *ngIf=\"!standalone\" pTemplate=\"paginatorright\" class=\"custom-table\">\r\n <span>\r\n {{ \"agro.angular_components.registers_found\" | libTranslate: { total: gridTotalRecords } }}\r\n </span>\r\n </ng-template>\r\n </p-table>\r\n </ng-container>\r\n </div>\r\n </p-panel>\r\n</ng-container>\r\n<s-sidebar\r\n [visible]=\"showSidebar\"\r\n (visibleChange)=\"closeSidebar()\"\r\n header=\"{{ 'agro.angular_components.event_details_header' | libTranslate }}\"\r\n>\r\n <div class=\"ui-fluid\">\r\n <p-fieldset [legend]=\"sidebarTitle\" [toggleable]=\"false\">\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-4\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.event_origin_label\" | libTranslate }}</strong></span\r\n >\r\n <ng-container [ngSwitch]=\"selectedStep?.eventType\">\r\n <p *ngSwitchCase=\"'BALANCE_ENTRY_CONTROL'\">\r\n {{ \"agro.angular_components.balance_entry_control_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'TICKET'\">\r\n {{ \"agro.angular_components.ticket_maintenance_header\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'TRANSFER'\">\r\n {{ \"agro.angular_components.transfer_origin_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'INVOICE'\">\r\n {{ \"agro.angular_components.CREATE_INVOICE_FIXATION\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'CHANGE_REQUEST'\">\r\n {{ \"agro.angular_components.change_request_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'FIXATION'\">\r\n {{ \"agro.angular_components.fixation_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'CANCEL_FIXATION'\">\r\n {{ \"agro.angular_components.cancel_fixation_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'TRANSFER_CANCELLATION'\">\r\n {{ \"agro.angular_components.transfer_cancellation_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'AGRONOMIC_PRESCRIPTION'\">\r\n {{ \"agro.angular_components.agronomic_prescription_origin_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'PRESCRIPTION_INTEGRATION_HUB'\">\r\n {{ \"agro.angular_components.agronomic_prescription_origin_event\" | libTranslate }}\r\n </p>\r\n </ng-container>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"producerInvoice?.producerBalanceEntryControl.producer.e001pes.nomPes\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.supplier\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ producerInvoice?.producerBalanceEntryControl.producer.e001pes.nomPes }}</p>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"producerInvoice?.producerBalanceEntryControl.ruralEstate.name\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.rural_estate\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ producerInvoice?.producerBalanceEntryControl.ruralEstate.name }}</p>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"selectedStep?.controlCode\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.control_code\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ selectedStep?.controlCode }}</p>\r\n </div>\r\n <div class=\"ui-g-4\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.status_label\" | libTranslate }}</strong></span\r\n >\r\n <ng-container [ngSwitch]=\"selectedStep?.item.status\">\r\n <p *ngSwitchCase=\"'SUCCESS'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Green\"\r\n text=\"{{ 'agro.angular_components.panel_title_events_completed_successfully' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n <p *ngSwitchCase=\"'PROCESSING'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Orange\"\r\n text=\"{{ 'agro.angular_components.processing' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n <p *ngSwitchCase=\"'FAILED'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Red\"\r\n text=\"{{ 'agro.angular_components.panel_title_events_ended_with_error' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n <p *ngSwitchCase=\"'PENDING'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Gray\"\r\n text=\"{{ 'agro.angular_components.pending' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n </ng-container>\r\n </div>\r\n <div class=\"ui-g-4\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.last_update_date\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ selectedStep?.item.lastModifiedDate | date: \"dd/MM/yyyy HH:mm:ss\" }}</p>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"selectedStep?.item.status === 'FAILED'\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.event_error_message\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ selectedStep?.item.message || \"-\" }}</p>\r\n </div>\r\n </div>\r\n </p-fieldset>\r\n </div>\r\n <div class=\"s-footer\">\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12 width-fit\">\r\n <s-button\r\n id=\"sidebar-close-button\"\r\n [priority]=\"ButtonPriority.Primary\"\r\n [label]=\"'agro.angular_components.events_close' | libTranslate\"\r\n [auxiliary]=\"false\"\r\n (click)=\"closeSidebar()\"\r\n >\r\n </s-button>\r\n <s-button\r\n *ngIf=\"showReprocessButton\"\r\n id=\"sidebar-reprocess-button\"\r\n [priority]=\"ButtonPriority.Secondary\"\r\n iconClass=\"fa fa-refresh\"\r\n [label]=\"'agro.angular_components.reprocess_event' | libTranslate\"\r\n [auxiliary]=\"false\"\r\n (click)=\"openModal()\"\r\n >\r\n </s-button>\r\n </div>\r\n </div>\r\n </div>\r\n</s-sidebar>\r\n\r\n<p-dialog [header]=\"'agro.angular_components.event_modal_title' | libTranslate\" [(visible)]=\"displayModal\" [modal]=\"true\" class=\"dialog\">\r\n <div class=\"event-modal-text\">{{ \"agro.angular_components.event_modal\" | libTranslate }}</div>\r\n <p-footer>\r\n <div class=\"ui-dialog-buttonpane ui-widget-content ui-helper-clearfix\">\r\n <button\r\n id=\"modal-yes\"\r\n type=\"button\"\r\n pButton\r\n icon=\"fa fa-check\"\r\n (click)=\"confirmModal()\"\r\n class=\"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only\"\r\n >\r\n {{ 'agro.angular_components.yes' | libTranslate }}\r\n </button>\r\n <button\r\n id=\"modal-no\"\r\n type=\"button\"\r\n pButton\r\n icon=\"fa fa-close\"\r\n (click)=\"cancelModal()\"\r\n class=\"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only\"\r\n >\r\n {{ 'agro.angular_components.no' | libTranslate }}\r\n </button>\r\n </div>\r\n </p-footer>\r\n</p-dialog>\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { E001pesDto } from \"./e001pes-dto\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\n@Injectable()\r\nexport class E001pesService extends AgroEntityService<E001pesDto> {\r\n constructor(\r\n protected override http: HttpClient,\r\n protected override messageService: MessageService,\r\n protected override translate: TranslateService\r\n ) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/e001pes`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public getE001pes(body: any) {\r\n return this.http\r\n .post<E001pesService[]>(`${this.queriesUrl}/getE001pes`, body)\r\n .pipe(this.defaultCatch());\r\n }\r\n\r\n public getE001pesByControlStatusEntry(body: any) {\r\n return this.http\r\n .post<E001pesService[]>(`${this.queriesUrl}/getE001pesByControlStatus`, body)\r\n .pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { E001pesService } from \"./e001pes.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"e001pes\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/origination/entities/e001pes`,\r\n },\r\n ]),\r\n ],\r\n providers: [E001pesService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class E001pesModule { }\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { E001TnsDto } from \"./e001tns-dto\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\n\r\n@Injectable()\r\nexport class E001TnsService extends AgroEntityService<E001TnsDto> {\r\n constructor(protected override http: HttpClient, protected override messageService: MessageService, protected override translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/e001tns`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { E001TnsService } from \"./e001tns.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"e001tns\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/origination/entities/e001tns`,\r\n },\r\n ]),\r\n ],\r\n providers: [\r\n E001TnsService,\r\n ],\r\n declarations: [\r\n ],\r\n exports: [\r\n ],\r\n})\r\nexport class E001TnsModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\nimport { E012famDto } from \"./e012fam-dto\";\r\n\r\n@Injectable()\r\nexport class E012famService extends AgroEntityService<E012famDto> {\r\n constructor(protected override http: HttpClient, protected override messageService: MessageService, protected override translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/e012fam`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService, ListParams } from '../../../../services/agro-entity-service';\r\nimport { E070EmpDto } from \"./e070emp-dto\";\r\n\r\n@Injectable()\r\nexport class E070EmpService extends AgroEntityService<E070EmpDto> {\r\n constructor(\r\n protected override http: HttpClient,\r\n protected override messageService: MessageService,\r\n protected override translate: TranslateService\r\n ) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/e070emp`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public listExternalE001Emp(listParams: ListParams) {\r\n return this.http\r\n .get<E070EmpDto>(\"erpx_fnd/transacao/entities/e070emp\", {\r\n params: this.getListQueryParams(listParams),\r\n })\r\n .pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { E070EmpService } from \"./e070emp.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"e070emp\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/origination/entities/e070emp`,\r\n },\r\n ]),\r\n ],\r\n providers: [E070EmpService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class E070EmpModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService, ListParams } from '../../../../services/agro-entity-service';\r\nimport { E070FilDto } from \"./e070fil-dto\";\r\n\r\n@Injectable()\r\nexport class E070FilService extends AgroEntityService<E070FilDto> {\r\n constructor(\r\n protected override http: HttpClient,\r\n protected override messageService: MessageService,\r\n protected override translate: TranslateService\r\n ) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/e070fil`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public listExternalE001Tns(listParams: ListParams) {\r\n return this.http\r\n .get<E070FilDto>(\"erpx_fnd/transacao/entities/e070fil\", {\r\n params: this.getListQueryParams(listParams),\r\n })\r\n .pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { E070FilService } from \"./e070fil.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"e070fil\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/origination/entities/e070fil`,\r\n },\r\n ]),\r\n ],\r\n providers: [E070FilService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class E070FilModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\nimport { E075DerDto } from \"./e075der-dto\";\r\n\r\n@Injectable()\r\nexport class E075DerService extends AgroEntityService<E075DerDto> {\r\n constructor(\r\n protected override http: HttpClient,\r\n protected override messageService: MessageService,\r\n protected override translate: TranslateService\r\n ) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/e075der`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public getE075derByControlStatus(body: any) {\r\n return this.http\r\n .post<E075DerService[]>(`${this.queriesUrl}/getE075derByControlStatus`, body)\r\n .pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { E075DerService } from \"./e075der.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"e075der\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/origination/entities/e075der`,\r\n },\r\n ]),\r\n ],\r\n providers: [E075DerService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class E075DerModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\nimport { E205depDto } from \"./deposit-dto\";\r\n\r\n@Injectable()\r\nexport class E205depService extends AgroEntityService<E205depDto> {\r\n constructor(protected override http: HttpClient, protected override messageService: MessageService, protected override translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/e205dep`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public getE205depByControlStatus(body: any) {\r\n return this.http\r\n .post<E205depDto[]>(`${this.queriesUrl}/getE205depByControlStatus`, body)\r\n .pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { EventControlService } from \"../event-control/event-control.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"eventControl\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/agro_events/entities/eventControl`,\r\n },\r\n ]),\r\n ],\r\n providers: [EventControlService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class EventControlModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { EventControlItemService } from \"../event-control-item/event-control-item.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"eventControlItem\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/agro_events/entities/eventControlItem`,\r\n },\r\n ]),\r\n ],\r\n providers: [EventControlItemService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class EventControlItemModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\nimport { ExternalInvoiceDto } from \"./external-invoice-dto\";\r\n\r\n@Injectable()\r\nexport class ExternalInvoiceService extends AgroEntityService<ExternalInvoiceDto> {\r\n constructor(protected override http: HttpClient, protected override messageService: MessageService, protected override translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/externalInvoice`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\n\r\nimport { ExternalInvoiceService } from \"../external-invoice/external-invoice.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"externalInvoice\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/origination/entities/externalInvoice`,\r\n },\r\n ]),\r\n ],\r\n providers: [ExternalInvoiceService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class ExternalInvoiceModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { InvoiceDto } from '../invoice/invoice-dto';\r\nimport { AgroEntityService } from '../../../../services/agro-entity-service';\r\n\r\n@Injectable()\r\nexport class InvoiceService extends AgroEntityService<InvoiceDto> {\r\n\r\n constructor(protected override http: HttpClient, protected override messageService: MessageService, protected override translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/invoice`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { PermissionsModule } from '@seniorsistemas/platform-components';\r\nimport { InvoiceService } from '../invoice/invoice.service';\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: 'invoice',\r\n actions: ['Visualizar', 'Incluir', 'Editar', 'Excluir'],\r\n uri: `res://senior.com.br/agro/origination/entities/invoice`,\r\n },\r\n ]),\r\n ],\r\n providers: [\r\n InvoiceService,\r\n ],\r\n declarations: [\r\n ],\r\n exports: [\r\n ],\r\n})\r\nexport class InvoiceModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { OriginationDto } from \"../origination/origination-dto\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\n\r\n@Injectable()\r\nexport class OriginationService extends AgroEntityService<OriginationDto> {\r\n\r\n constructor(\r\n protected override http: HttpClient,\r\n protected override messageService: MessageService,\r\n protected override translate: TranslateService\r\n ) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/balanceEntryControl`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { OriginationService } from \"./origination.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"balanceEntryControl\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/origination/entities/balanceEntryControl`,\r\n },\r\n ]),\r\n ],\r\n providers: [OriginationService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class OriginationModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { RuralEstateDto } from '../rural-estate/rural-estate-dto';\r\nimport { AgroEntityService } from '../../../../services/agro-entity-service';\r\nimport { LibTranslationService } from '../../../../services/lib-translation.service';\r\n\r\n@Injectable()\r\nexport class RuralEstateService extends AgroEntityService<RuralEstateDto> {\r\n\r\n constructor(protected override http: HttpClient, protected override messageService: MessageService, protected override translate: LibTranslationService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/ruralEstate`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\n\r\nimport { RuralEstateService } from \"../rural-estate/rural-estate.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"ruralEstate\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/erpx_fnd/rural_estate/entities/ruralEstate`,\r\n },\r\n ]),\r\n ],\r\n providers: [RuralEstateService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class RuralEstateModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { TicketDto } from '../ticket/ticket-dto';\r\nimport { AgroEntityService } from '../../../../services/agro-entity-service';\r\nimport {Observable} from \"rxjs\";\r\n\r\nexport interface IListMainteinerTicketsPayload {\r\n filter: {\r\n e070emp: string;\r\n e070fil: string;\r\n e001pes?: string;\r\n e113saf?: string;\r\n e075der?: string;\r\n e210dxp?: string;\r\n ticket?: string[];\r\n ruralEstate?: string;\r\n startDate?: string;\r\n endDate?: string;\r\n status?: string;\r\n balanceEntryControlType?: string;\r\n operation?: string;\r\n };\r\n pageRequest: {\r\n offset: number;\r\n size: number;\r\n };\r\n sort: {\r\n field?: string,\r\n order?: number\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class TicketService extends AgroEntityService<TicketDto> {\r\n\r\n constructor(protected override http: HttpClient, protected override messageService: MessageService, protected override translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/ticket`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n getTicketSummaryByParent(parent: number) {\r\n return this.http\r\n .post<any>(`${this.queriesUrl}/getTicketSummaryByParent/`, {parent})\r\n .pipe(this.defaultCatch());\r\n }\r\n\r\n listMainteinerTickets(filter: IListMainteinerTicketsPayload) {\r\n return this.http\r\n .post<any>(`${this.queriesUrl}/listMainteinerTickets/`, filter)\r\n .pipe(this.defaultCatch());\r\n }\r\n\r\n searchTotalWeightResultFromTickets(body: any) {\r\n return this.http\r\n .post<any>(`${this.queriesUrl}/searchTotalWeightResultFromTickets/`, body)\r\n .pipe(this.defaultCatch());\r\n }\r\n\r\n cancelTicket(body: any) {\r\n return this.http\r\n .post<any>(`${this.actionsUrl}/cancelTicket/`, body);\r\n }\r\n\r\n mergeTickets(body: any): Observable<any> {\r\n return this.http.post<any>(`${this.actionsUrl}/mergeTickets/`, body).pipe(this.defaultCatch());\r\n }\r\n\r\n unMergeTickets(body: any): Observable<any> {\r\n return this.http.post<any>(`${this.actionsUrl}/unMergeTickets/`, body).pipe(this.defaultCatch());\r\n }\r\n\r\n checkGroupInvoicePermission(body: any) {\r\n return this.http\r\n .post<any>(`${this.queriesUrl}/checkGroupInvoicePermission/`, body)\r\n .pipe(this.defaultCatch());\r\n }\r\n\r\n getContractTickets(tickets: number[]) {\r\n return this.http\r\n .post<any>(`${this.queriesUrl}/getContractTickets/`, { tickets })\r\n .pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { PermissionsModule } from '@seniorsistemas/platform-components';\r\nimport { TicketService } from '../ticket/ticket.service';\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: 'ticket',\r\n actions: ['Visualizar', 'Incluir', 'Editar', 'Excluir'],\r\n uri: `res://senior.com.br/agro/origination/entities/ticket`,\r\n },\r\n ]),\r\n ],\r\n providers: [\r\n TicketService,\r\n ],\r\n declarations: [\r\n ],\r\n exports: [\r\n ],\r\n})\r\nexport class TicketModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LibTranslatePipe } from './pipe/lib-translate.pipe';\r\nimport { LibTranslationService } from './services';\r\n\r\n@NgModule({\r\n declarations: [\r\n LibTranslatePipe\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [LibTranslationService],\r\n exports: [\r\n LibTranslatePipe\r\n ]\r\n})\r\nexport class LibTranslationModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService } from '../../../../services/agro-entity-service';\r\nimport { TransferDto } from './transfer-dto';\r\n\r\n@Injectable()\r\nexport class TransferService extends AgroEntityService<TransferDto> {\r\n\r\n constructor(protected override http: HttpClient, protected override messageService: MessageService, protected override translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/transfer/entities/transfer`,\r\n `agro/transfer/actions`,\r\n `agro/transfer/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public getTransferWithAllProperties(id: any) {\r\n return this.http.get(`${this.entityUrl}/${id}`, {\r\n params: {\r\n displayfields: '*,quantities.*,effective.*,destinations.*,destinations.externalInvoices,destinations.producer.e001pes,producer.*,producer.e001pes,destinations.invoices'\r\n }\r\n }).pipe(this.defaultCatch());\r\n }\r\n\r\n public printProducerExtractReport(transferId: string) {\r\n return this.http.post<any>(`${this.actionsUrl}/printReceiptReport`, { transferId }).pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { PermissionsModule } from '@seniorsistemas/platform-components';\r\n\r\nimport { TransferService } from './transfer.service';\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: 'transfer',\r\n actions: ['Visualizar', 'Incluir', 'Editar', 'Excluir'],\r\n uri: `res://senior.com.br/agro/transfer/entities/transfer`,\r\n },\r\n ]),\r\n ],\r\n providers: [\r\n TransferService,\r\n ],\r\n declarations: [\r\n ],\r\n exports: [\r\n ],\r\n})\r\nexport class TransferModule {}\r\n\r\n","import { FixationDto } from './fixation-dto';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService } from '../../../../services/agro-entity-service';\r\n\r\nexport interface ICancelFixationPayload {\r\n fixationId: string;\r\n}\r\n\r\n@Injectable()\r\nexport class FixationService extends AgroEntityService<FixationDto> {\r\n\r\n constructor(protected override http: HttpClient, protected override messageService: MessageService, protected override translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/fixation/entities/fixation`,\r\n `agro/fixation/actions`,\r\n `agro/fixation/queries`,\r\n translate\r\n );\r\n }\r\n\r\n cancelFixation(body: ICancelFixationPayload) {\r\n return this.http\r\n .post<FixationService[]>(`${this.actionsUrl}/cancelFixationEvent`, body)\r\n .pipe(this.defaultCatch());\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { FixationService } from \"./fixation.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"fixation\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/fixation/entities/fixation`,\r\n },\r\n ]),\r\n ],\r\n providers: [FixationService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class FixationModule {}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TooltipModule } from \"primeng/tooltip\";\r\nimport { CancelEventDialogComponent } from \"./cancel-event-dialog.component\";\r\nimport { ButtonModule } from \"@seniorsistemas/angular-components/button\";\r\nimport { DynamicFormModule } from \"@seniorsistemas/angular-components/dynamic-form\";\r\nimport { LoadingStateModule } from \"@seniorsistemas/angular-components/loading-state\";\r\nimport { LibTranslationModule } from \"../../lib-translation.module\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, ReactiveFormsModule, TooltipModule, ButtonModule, LibTranslationModule, DynamicFormModule, LoadingStateModule],\r\n declarations: [CancelEventDialogComponent],\r\n exports: [CancelEventDialogComponent],\r\n})\r\nexport class CancelEventDialogModule { }\r\n","import { NgModule } from \"@angular/core\";\r\n\r\nimport { EventStepsModule } from \"../event-steps/event-steps.module\";\r\nimport { EventControlBoardComponent } from \"./event-control-board.component\";\r\nimport { SharedModule } from \"./shared.module\";\r\nimport { E001pesModule } from \"./service/e001pes/e001pes.module\";\r\nimport { E001TnsModule } from \"./service/e001tns/e001tns.module\";\r\nimport { E012famService } from \"./service/e012fam/e012fam.service\";\r\nimport { E070EmpModule } from \"./service/e070emp/e070emp.module\";\r\nimport { E070FilModule } from \"./service/e070fil/e070fil.module\";\r\nimport { E075DerModule } from \"./service/e075der/e075der.module\";\r\nimport { E205depService } from \"./service/e205dep/e205dep.service\";\r\nimport { EventControlModule } from \"./service/event-control/event-control.module\";\r\nimport { EventControlItemModule } from \"./service/event-control-item/event-control-item.module\";\r\nimport { ExternalInvoiceModule } from \"./service/external-invoice/external-invoice.module\";\r\nimport { InvoiceModule } from \"./service/invoice/invoice.module\";\r\nimport { OriginationModule } from \"./service/origination/origination.module\";\r\nimport { RuralEstateModule } from \"./service/rural-estate/rural-estate.module\";\r\nimport { TicketModule } from \"./service/ticket/ticket.module\";\r\nimport { PaginatorStorageService } from \"./service/paginator-storage.service\";\r\nimport { WebsocketModule } from \"../../services/websocket/websocket.module\";\r\n\r\nimport { LibTranslationModule } from \"../../lib-translation.module\";\r\nimport { EventControlService } from \"./service/event-control/event-control.service\";\r\nimport { TransferModule } from \"./service/transfer/transfer.module\";\r\nimport { FixationModule } from \"./service/fixation-entity/fixation.module\";\r\nimport { CancelEventDialogModule } from \"../cancel-event-dialog/cancel-event-dialog.module\";\r\nimport { LocaleModule } from \"@seniorsistemas/angular-components/locale\";\r\nimport { ButtonModule } from \"@seniorsistemas/angular-components/button\";\r\nimport { DialogModule } from \"primeng/dialog\";\r\nimport { FieldsetModule } from \"@seniorsistemas/angular-components/fieldset\";\r\nimport { BadgeModule } from \"@seniorsistemas/angular-components/badge\";\r\nimport { DialogService } from \"@seniorsistemas/angular-components/dialog\";\r\n\r\n@NgModule({\r\n imports: [\r\n LocaleModule.forChild(),\r\n SharedModule,\r\n ButtonModule,\r\n EventStepsModule,\r\n DialogModule,\r\n FieldsetModule,\r\n BadgeModule,\r\n E001pesModule,\r\n E001TnsModule,\r\n E070EmpModule,\r\n E070FilModule,\r\n TransferModule,\r\n E075DerModule,\r\n EventControlModule,\r\n EventControlItemModule,\r\n ExternalInvoiceModule,\r\n InvoiceModule,\r\n OriginationModule,\r\n RuralEstateModule,\r\n TicketModule,\r\n WebsocketModule,\r\n LibTranslationModule,\r\n FixationModule,\r\n CancelEventDialogModule,\r\n ],\r\n declarations: [EventControlBoardComponent],\r\n exports: [EventControlBoardComponent],\r\n providers: [E012famService, E205depService, PaginatorStorageService,\r\n EventControlService, DialogService],\r\n})\r\nexport class EventControlBoardModule {}\r\n","export enum statusLookup {\r\n PENDING = \"PENDING\",\r\n FINISHED = \"FINISHED\",\r\n ERROR = \"ERROR\",\r\n}\r\n\r\nexport enum statusIntegration {\r\n SUCCESS = \"SUCCESS\",\r\n IN_PROGRESS = \"IN_PROGRESS\",\r\n ERROR = \"ERROR\",\r\n}\r\n\r\nexport interface IInvoiceLookupFilter {\r\n filter: IRecInvoiceLookupFilter;\r\n pageRequest: IRecPageRequest;\r\n}\r\nexport interface IRecInvoiceLookupFilter {\r\n companyId: string;\r\n branchId: string;\r\n ruralEstateIds: string[];\r\n producerIds: string[];\r\n productId: string;\r\n multiProducts: boolean;\r\n number?: number;\r\n series?: string;\r\n key?: string;\r\n issuanceDateStart?: string;\r\n issuanceDateEnd?: string;\r\n}\r\n\r\nexport interface IRecPageRequest {\r\n offset: number;\r\n size: number;\r\n orderBy: IOrderBy[];\r\n}\r\n\r\nexport interface IOrderBy {\r\n field: string;\r\n order: \"asc\" | \"desc\";\r\n}\r\n\r\nexport interface IInvoiceLookupResponse {\r\n status: statusLookup;\r\n message: string;\r\n result: IInvoiceLookupDataResponse;\r\n}\r\n\r\nexport interface IInvoiceLookupRecord {\r\n externalInvoiceId?: string;\r\n companyId: string;\r\n branchId: string;\r\n producerId: string;\r\n issuanceDate: string;\r\n items: IInvoiceLookupItemRecord[];\r\n invoiceId?: string;\r\n ruralEstateId?: string;\r\n number?: number;\r\n series?: string;\r\n seriesId?: string;\r\n seriesLegal?: string;\r\n key?: string;\r\n netTotalValue?: number;\r\n totalItems?: number;\r\n totalItemsQuantity?: number;\r\n}\r\n\r\ninterface IInvoiceLookupItemRecord {\r\n itemSequence: number;\r\n productId: string;\r\n productCode: string;\r\n serviceId: string;\r\n unitPrice: number;\r\n quantity: number;\r\n}\r\n\r\nexport interface IInvoiceLookupDataResponse {\r\n totalElements: number;\r\n status: statusIntegration;\r\n invoices?: IInvoiceLookupRecord[];\r\n message?: string;\r\n lookupId?: string;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { IInvoiceLookupFilter, IInvoiceLookupResponse, statusLookup } from \"./interfaces\";\r\nimport { asyncScheduler, Observable, scheduled, Subject, timer } from \"rxjs\";\r\nimport { concatMap, defaultIfEmpty, filter, scan, switchMap, take, takeUntil, tap } from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class AgroInvoiceService extends AgroEntityService<any> {\r\n private readonly pooling = new Subject<void>();\r\n\r\n constructor(\r\n protected override http: HttpClient,\r\n protected override messageService: MessageService,\r\n protected override translate: TranslateService\r\n ) {\r\n super(http, messageService, `agro/invoice/entities/invoice`, `agro/invoice/actions`, `agro/invoice/queries`, translate);\r\n }\r\n\r\n invoiceLookupFilter(data: IInvoiceLookupFilter): Observable<IInvoiceLookupResponse | null> {\r\n return this.http\r\n .post<{ requestId: string }>(`${this.queriesUrl}/invoiceLookup`, data)\r\n .pipe(switchMap((res) => this.pollInvoiceResult(res.requestId)));\r\n }\r\n\r\n cancelActivePooling() {\r\n this.pooling.next();\r\n }\r\n\r\n private pollInvoiceResult(requestId: string): Observable<IInvoiceLookupResponse | null> {\r\n const delays = Array.from({ length: 10 }, (_, index) => {\r\n if (index === 0) {return 1000;}\r\n return (index + 1) * 1000;\r\n });\r\n\r\n return scheduled(delays, asyncScheduler).pipe(\r\n concatMap((delay) =>\r\n timer(delay).pipe(\r\n switchMap(() => this.http.post<IInvoiceLookupResponse>(`${this.queriesUrl}/getInvoiceLookup`, { requestId })),\r\n tap((res: IInvoiceLookupResponse) => {\r\n if (res.status === statusLookup.ERROR) {\r\n throw new Error(res.message);\r\n }\r\n })\r\n )\r\n ),\r\n scan((_, curr) => curr, null as IInvoiceLookupResponse | null),\r\n filter((res) => res?.status === statusLookup.FINISHED),\r\n take(1),\r\n defaultIfEmpty(null),\r\n takeUntil(this.pooling)\r\n );\r\n }\r\n}\r\n","import { DecimalPipe } from \"@angular/common\";\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"kilogram\",\r\n})\r\nexport class KilogramPipe implements PipeTransform {\r\n constructor(private readonly decimalPipe: DecimalPipe) {}\r\n\r\n transform(value: number, format = \"1.3-3\", kgCaseInsensitive: \"UPPER\" | \"LOWER\" = \"UPPER\"): string {\r\n if (value == null || isNaN(value)) {\r\n return \"\";\r\n }\r\n let str = this.decimalPipe.transform(value, format);\r\n const kgStr = \"kg\";\r\n if (!str) {\r\n console.info(\"Formato do peso inválido para transformação\");\r\n return \"\";\r\n }\r\n\r\n str = str.replace(/,/g, \".\");\r\n\r\n return `${this.replaceLastDotWithComma(str)} ${kgCaseInsensitive === \"UPPER\" ? kgStr.toUpperCase() : kgStr.toLowerCase()}`;\r\n }\r\n\r\n private replaceLastDotWithComma(value: string): string {\r\n const lastDotIndex = value.lastIndexOf(\".\");\r\n if (lastDotIndex === -1) {\r\n return value;\r\n }\r\n return `${value.substring(0, lastDotIndex)},${value.substring(lastDotIndex + 1)}`;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { KilogramPipe } from './kilogram.pipe';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [KilogramPipe],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [KilogramPipe]\r\n})\r\nexport class KilogramModule { }\r\n","import { DatePipe } from '@angular/common';\r\nimport { Directive, EventEmitter } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { LocaleService } from '@seniorsistemas/angular-components/locale';\r\nimport { Column } from '@seniorsistemas/angular-components/table';\r\nimport { MessageService } from 'primeng/api';\r\nimport { TableLazyLoadEvent } from 'primeng/table';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, finalize, takeUntil } from 'rxjs/operators';\r\nimport { AgroNumberUtils } from '../../common/agro-number-utils.class';\r\nimport { AGRO_NUMBERS } from '../../enums/agro-numbers.enum';\r\nimport { KilogramPipe } from '../../pipe/kilogram';\r\nimport { ListParams } from '../../services/agro-entity-service';\r\nimport { LibTranslationService } from '../../services/lib-translation.service';\r\nimport { ModalInvoicePjOptions } from './modal-invoice-pj-options.interface';\r\nimport { AgroInvoiceService } from './services/agro-invoice/agro-invoice.service';\r\nimport { IInvoiceLookupFilter, IInvoiceLookupResponse } from './services/agro-invoice/interfaces';\r\n\r\nconst INVOICE_ITEMS = 'invoiceItems.*';\r\n\r\n@Directive()\r\nexport abstract class ModalInvoicePjBase {\r\n public abstract options: ModalInvoicePjOptions;\r\n public abstract whenSelectInvoices: EventEmitter<any[]>;\r\n\r\n public abstract gridColumns: Partial<Column & { sortable?: boolean }>[];\r\n\r\n public gridData: any[] = [];\r\n public readonly ButtonPriority = {\r\n Primary: 'primary' as const,\r\n Secondary: 'secondary' as const,\r\n Link: 'link' as const,\r\n };\r\n\r\n public dontHaveAnyInvoice = false;\r\n\r\n public gridLoading = true;\r\n public gridTotalRecords!: number;\r\n public selected: any[] = [];\r\n public unselectedIds = new Set<number>();\r\n\r\n public visible = false;\r\n\r\n public searchValue: FormControl = new FormControl('', []);\r\n\r\n protected readonly ngUnsubscribe = new Subject();\r\n\r\n protected currentParams: ListParams = {\r\n page: 0,\r\n size: 10,\r\n sort: [{ field: 'issuanceDate', order: 1 }],\r\n displayFields: ['*', INVOICE_ITEMS, 'issuanceDate'],\r\n filterQuery: '',\r\n };\r\n\r\n public gridFieldValuesMap: { [key: string]: (row: any) => any } = {\r\n issuanceDate: (row) => this.datePipe.transform(row.issuanceDate, 'dd/MM/yyyy', 'pt-BR'),\r\n invoiceItems: (row) => row.totalItems || 0,\r\n quantity: (row) => this.kilogramPipe.transform(row.totalItemsQuantity || 0),\r\n };\r\n\r\n constructor(\r\n protected readonly translate: LibTranslationService,\r\n protected readonly invoiceService: AgroInvoiceService,\r\n protected readonly localeService: LocaleService,\r\n protected readonly kilogramPipe: KilogramPipe,\r\n protected readonly messageService: MessageService,\r\n protected readonly datePipe: DatePipe,\r\n ) { }\r\n\r\n ngOnDestroy() {\r\n this.ngUnsubscribe.next(void 0);\r\n this.ngUnsubscribe.complete();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.whenSearchValueChanges();\r\n }\r\n\r\n abstract adaptResult(result: IInvoiceLookupResponse): Promise<any>;\r\n abstract beforeAdd(selectedInvoices: any): Promise<any>;\r\n\r\n protected whenSearchValueChanges() {\r\n this.searchValue.valueChanges\r\n .pipe(takeUntil(this.ngUnsubscribe))\r\n .pipe(debounceTime(AGRO_NUMBERS.THREE_HUNDRED))\r\n .subscribe((value: string) => {\r\n if (value) {\r\n this.updateGridData(\r\n { first: 0, rows: 10, multiSortMeta: [{ field: 'issuanceDate', order: 1 }] },\r\n value\r\n );\r\n } else {\r\n this.updateGridData({ first: 0, rows: 10, multiSortMeta: [{ field: 'issuanceDate', order: 1 }] });\r\n }\r\n });\r\n }\r\n\r\n tryToSearchAgain() {\r\n this.gridLoading = true;\r\n this.updateGridData({ first: 0, rows: 10, multiSortMeta: [{ field: 'issuanceDate', order: 1 }] });\r\n }\r\n\r\n public open(): void {\r\n if (this.checkIfOptionsIsValid()) {\r\n this.visible = true;\r\n this.gridData = [];\r\n this.gridLoading = true;\r\n this.gridTotalRecords = AGRO_NUMBERS.ZERO;\r\n this.selected = [];\r\n this.unselectedIds.clear();\r\n this.currentParams = {\r\n page: 0,\r\n size: 10,\r\n sort: [],\r\n filterQuery: '',\r\n displayFields: ['*', INVOICE_ITEMS],\r\n };\r\n this.updateGridData({ first: 0, rows: 10, multiSortMeta: [{ field: 'issuanceDate', order: 1 }] });\r\n this.selected = [];\r\n } else {\r\n console.info('ModalInvoicePjComponent: Opções inválidas para abrir o modal.');\r\n }\r\n }\r\n\r\n protected checkIfOptionsIsValid(): boolean {\r\n if (!this.options) {\r\n return false;\r\n }\r\n\r\n if (!this.options.companyId || !this.options.branchId) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private getPagination(event: TableLazyLoadEvent): { page: number; size: number } {\r\n const size = event.rows ?? 10;\r\n const first = event.first ?? 0;\r\n const page = size > 0 ? first / size : 0;\r\n return { page, size };\r\n }\r\n\r\n public updateCurrentParams(event: TableLazyLoadEvent) {\r\n this.currentParams = {\r\n ...this.getPagination(event),\r\n sort: event.multiSortMeta?.length ? event.multiSortMeta : [{ field: 'issuanceDate', order: 1 }],\r\n displayFields: ['*', INVOICE_ITEMS, 'issuanceDate'],\r\n };\r\n }\r\n\r\n public updateGridData(event: TableLazyLoadEvent, searchValue?: string) {\r\n\r\n this.cancelPooling();\r\n\r\n const { companyId, branchId } = this.options;\r\n const producerId = this.options.producersIds[0];\r\n const ruralEstateId = this.options.ruralEstateIds[0];\r\n\r\n this.gridLoading = true;\r\n this.dontHaveAnyInvoice = false;\r\n this.updateCurrentParams(event);\r\n\r\n const currentParams = {\r\n page: this.currentParams.page ?? 0,\r\n size: this.currentParams.size ?? 10,\r\n sort: this.currentParams.sort ?? [],\r\n filterQuery: this.currentParams.filterQuery ?? '',\r\n displayFields: this.currentParams.displayFields ?? ['*', INVOICE_ITEMS],\r\n };\r\n const filterBody: IInvoiceLookupFilter = {\r\n filter: {\r\n companyId,\r\n branchId,\r\n producerIds: [producerId],\r\n ruralEstateIds: [ruralEstateId],\r\n multiProducts: false,\r\n productId: this.options.productId,\r\n },\r\n pageRequest: {\r\n offset: currentParams.page,\r\n size: currentParams.size,\r\n orderBy: currentParams.sort.map((sort) => ({\r\n field: sort.field,\r\n order: sort.order === 1 ? 'asc' : 'desc',\r\n })),\r\n },\r\n };\r\n\r\n if (searchValue) {\r\n searchValue = AgroNumberUtils.getNearInteger(searchValue).toString();\r\n }\r\n\r\n this.invoiceService\r\n .invoiceLookupFilter(filterBody)\r\n .pipe(\r\n takeUntil(this.ngUnsubscribe),\r\n finalize(() => {\r\n this.gridLoading = false;\r\n })\r\n )\r\n .subscribe(\r\n (result) => {\r\n this.gridData = result?.result?.invoices || [];\r\n if (this.gridData.length === 0 && !searchValue) {\r\n this.dontHaveAnyInvoice = true;\r\n }\r\n this.gridTotalRecords = result?.result?.totalElements ?? 0;\r\n },\r\n (error) => {\r\n console.info('Erro ao buscar notas fiscais: ', error);\r\n },\r\n () => {\r\n this.gridLoading = false;\r\n }\r\n );\r\n }\r\n\r\n cancelPooling() {\r\n this.invoiceService.cancelActivePooling();\r\n }\r\n\r\n async add(): Promise<void> {\r\n try {\r\n await this.beforeAdd(this.selected);\r\n this.whenSelectInvoices.emit(this.selected);\r\n this.resetSpecs();\r\n } catch (error) {\r\n console.info('Erro ao selecionar notas fiscais: ', error);\r\n }\r\n }\r\n\r\n protected resetSpecs(): void {\r\n this.selected = [];\r\n this.dontHaveAnyInvoice = false;\r\n this.visible = false;\r\n this.gridData = [];\r\n this.gridLoading = false;\r\n this.gridTotalRecords = 0;\r\n }\r\n\r\n async cancel(): Promise<void> {\r\n this.resetSpecs();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { PermissionsModule } from '@seniorsistemas/platform-components';\r\nimport { AgroInvoiceService } from './agro-invoice.service';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n HttpClientModule,\r\n PermissionsModule.forChild([\r\n {\r\n name: 'invoice',\r\n actions: ['Visualizar', 'Incluir', 'Editar', 'Excluir'],\r\n uri: `res://senior.com.br/agro/origination/entities/invoice`,\r\n },\r\n ]),\r\n ],\r\n providers: [\r\n AgroInvoiceService,\r\n ],\r\n declarations: [\r\n ],\r\n exports: [\r\n ],\r\n})\r\nexport class AgroInvoiceModule {}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { LocaleService } from '@seniorsistemas/angular-components/locale';\r\nimport { Column } from '@seniorsistemas/angular-components/table';\r\nimport { MessageService } from 'primeng/api';\r\nimport { KilogramPipe } from '../../../pipe/kilogram';\r\nimport { LibTranslationService } from '../../../services/lib-translation.service';\r\nimport { ModalInvoicePjBase } from '../modal-invoice-pj-base.class';\r\nimport { ModalInvoicePjOptions } from '../modal-invoice-pj-options.interface';\r\nimport { AgroInvoiceService } from '../services/agro-invoice';\r\nimport { IInvoiceLookupResponse } from '../services/agro-invoice/interfaces';\r\n\r\n@Component({\r\n selector: 's-modal-invoice-pj-for-origination',\r\n templateUrl: '../template.html',\r\n styleUrls: ['../style.scss'],\r\n})\r\nexport class ModalInvoicePjForOriginationComponent extends ModalInvoicePjBase implements OnInit, OnDestroy {\r\n @Input() options!: ModalInvoicePjOptions;\r\n @Output() whenSelectInvoices = new EventEmitter<any[]>();\r\n\r\n public gridColumns!: Partial<Column & { sortable?: boolean }>[];\r\n\r\n constructor(\r\n public override translate: LibTranslationService,\r\n public override invoiceService: AgroInvoiceService,\r\n public override localeService: LocaleService,\r\n public override kilogramPipe: KilogramPipe,\r\n public override messageService: MessageService,\r\n public override datePipe: DatePipe\r\n ) {\r\n super(translate, invoiceService, localeService, kilogramPipe, messageService, datePipe);\r\n }\r\n\r\n override ngOnInit(): void {\r\n this.defineGridColumns();\r\n super.ngOnInit();\r\n }\r\n\r\n defineGridColumns(): void {\r\n this.gridColumns = [\r\n { field: 'number', header: this.translate.instant('agro.angular_components.number') },\r\n { field: 'series', header: this.translate.instant('agro.angular_components.series') },\r\n { field: 'invoiceItems', header: this.translate.instant('agro.angular_components.itens'), sortable: false },\r\n { field: 'quantity', header: this.translate.instant('agro.angular_components.quantity'), sortable: false },\r\n { field: 'issuanceDate', header: this.translate.instant('agro.angular_components.issuance_date') },\r\n ];\r\n }\r\n\r\n\r\n adaptResult(result: IInvoiceLookupResponse): Promise<any> {\r\n return Promise.resolve(result as any);\r\n }\r\n\r\n beforeAdd(selectedInvoices: any): Promise<any> {\r\n return Promise.resolve();\r\n }\r\n}\r\n","<p-dialog\r\n header=\"{{ 'agro.angular_components.panel_title_external_invoice_add_external_invoice' | libTranslate }}\"\r\n [(visible)]=\"visible\"\r\n [modal]=\"true\"\r\n class=\"add-invoice-modal\"\r\n [closeOnEscape]=\"false\"\r\n (onHide)=\"cancelPooling()\"\r\n [dismissableMask]=\"false\"\r\n>\r\n <ng-container *ngIf=\"!dontHaveAnyInvoice\">\r\n <div class=\"ui-g\">\r\n <label for=\"invoiceSearchInput\">{{ 'agro.angular_components.number' | libTranslate }}</label>\r\n <input\r\n type=\"text\"\r\n id=\"invoiceSearchInput\"\r\n pInputText\r\n [formControl]=\"searchValue\"\r\n [placeholder]=\"'' | libTranslate\"\r\n [required]=\"false\"\r\n />\r\n <div class=\"ui-g-12\">\r\n <p-table\r\n [(selection)]=\"selected\"\r\n [value]=\"gridData\"\r\n [columns]=\"gridColumns\"\r\n [scrollable]=\"true\"\r\n dataKey=\"externalInvoiceId\"\r\n [rows]=\"10\"\r\n [paginator]=\"true\"\r\n [lazyLoadOnInit]=\"false\"\r\n [totalRecords]=\"gridTotalRecords\"\r\n [lazy]=\"true\"\r\n (onLazyLoad)=\"updateGridData($event)\"\r\n [resizableColumns]=\"true\"\r\n *sLoadingState=\"gridLoading\"\r\n sortMode=\"multiple\"\r\n [selectionMode]=\"'multiple'\"\r\n >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th class=\"checkbox\" scope=\"col\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <ng-container *ngFor=\"let col of columns\">\r\n <th\r\n *ngIf=\"col.sortable === undefined || col.sortable\"\r\n [pSortableColumn]=\"col.field\"\r\n scope=\"col\"\r\n >\r\n {{ col.header }}\r\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </th>\r\n <th *ngIf=\"col.sortable === false || col.sortable === null\" scope=\"col\">\r\n {{ col.header }}\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <td class=\"checkbox\" tabindex=\"0\">\r\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\r\n </td>\r\n <td\r\n [pSelectableRow]=\"rowData\"\r\n [pSelectableRowIndex]=\"rowIndex\"\r\n *ngFor=\"let col of columns\"\r\n class=\"column\"\r\n tabindex=\"0\"\r\n >\r\n <ng-container>\r\n {{ gridFieldValuesMap[col.field] ? gridFieldValuesMap[col.field](rowData) :\r\n rowData[col.field] }}\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"paginatorright\">\r\n <span>{{ gridTotalRecords }} registros encontrados</span>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"dontHaveAnyInvoice\">\r\n <s-empty-state\r\n iconClass=\"fa fa-exclamation-triangle\"\r\n title=\"{{ 'agro.angular_components.add_pj_invoice_modal_no_invoices_found' | libTranslate }}\"\r\n primaryActionLabel=\"{{ 'agro.angular_components.error_server_try_again' | libTranslate }}\"\r\n (primaryAction)=\"tryToSearchAgain()\"\r\n description=\"{{ 'agro.angular_components.no_register_found_for_external_invoices_summary' | libTranslate }}\"\r\n >\r\n </s-empty-state>\r\n </ng-container>\r\n\r\n <p-footer class=\"footer\" *ngIf=\"!dontHaveAnyInvoice\">\r\n <s-button\r\n [priority]=\"ButtonPriority.Primary\"\r\n label=\"{{ 'agro.angular_components.panel_title_external_invoice_add_external_invoice' | libTranslate }}\"\r\n [disabled]=\"!selected?.length\"\r\n (click)=\"add()\"\r\n (keydown.enter)=\"add()\"\r\n ></s-button>\r\n <s-button\r\n [priority]=\"ButtonPriority.Link\"\r\n label=\"{{ 'agro.angular_components.cancel' | libTranslate }}\"\r\n (click)=\"cancel()\"\r\n (keydown.enter)=\"cancel()\"\r\n ></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n","import { CommonModule, CurrencyPipe, DatePipe, DecimalPipe } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { BignumberInputModule } from '@seniorsistemas/angular-components/bignumber-input';\r\nimport { ButtonModule } from '@seniorsistemas/angular-components/button';\r\nimport { EmptyStateModule } from '@seniorsistemas/angular-components/empty-state';\r\nimport { LoadingStateModule } from '@seniorsistemas/angular-components/loading-state';\r\nimport { LocaleModule, LocalizedDatePipe } from '@seniorsistemas/angular-components/locale';\r\nimport { TableHeaderCheckboxModule } from '@seniorsistemas/angular-components/table-header';\r\nimport { TableModule } from '@seniorsistemas/angular-components/table';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { MessageService, SharedModule } from 'primeng/api';\r\nimport { TableModule as PrimeTableModule } from 'primeng/table';\r\nimport { LibTranslationModule } from '../../lib-translation.module';\r\nimport { KilogramModule, KilogramPipe } from '../../pipe/kilogram';\r\nimport { AgroInvoiceModule } from './services/agro-invoice/index';\r\n\r\nexport const imports = [\r\n CommonModule,\r\n LibTranslationModule,\r\n ButtonModule,\r\n SharedModule,\r\n PrimeTableModule,\r\n KilogramModule,\r\n EmptyStateModule,\r\n BignumberInputModule,\r\n InputTextModule,\r\n ReactiveFormsModule,\r\n AgroInvoiceModule,\r\n DialogModule,\r\n TableModule,\r\n LoadingStateModule,\r\n MessagesModule,\r\n HttpClientModule,\r\n ConfirmDialogModule,\r\n TableHeaderCheckboxModule,\r\n LocaleModule.forRoot(),\r\n];\r\nexport const providers = [DecimalPipe, DatePipe, KilogramPipe, LocalizedDatePipe, CurrencyPipe, MessageService];\r\n","import { NgModule } from '@angular/core';\r\nimport { ModalInvoicePjForOriginationComponent } from './modal-invoice-pj-for-origination.component';\r\nimport { imports, providers } from '../modal-shared-imports';\r\n\r\n@NgModule({\r\n declarations: [ModalInvoicePjForOriginationComponent],\r\n imports: [...imports],\r\n providers: [...providers],\r\n exports: [ModalInvoicePjForOriginationComponent],\r\n})\r\nexport class ModalInvoicePjForOriginationModule {}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { LocaleService } from '@seniorsistemas/angular-components/locale';\r\nimport { MessageService } from 'primeng/api';\r\nimport { KilogramPipe } from '../../../pipe/kilogram';\r\nimport { LibTranslationService } from '../../../services/lib-translation.service';\r\nimport { AgroInvoiceService } from '../services/agro-invoice';\r\nimport { ModalInvoicePjForOriginationComponent } from '../for-origination/modal-invoice-pj-for-origination.component';\r\n\r\n@Component({\r\n selector: 's-modal-invoice-pj-for-transfer',\r\n templateUrl: '../template.html',\r\n styleUrls: ['../style.scss'],\r\n})\r\nexport class ModalInvoicePjForTransferComponent extends ModalInvoicePjForOriginationComponent implements OnInit, OnDestroy {\r\n\r\n constructor(\r\n public override translate: LibTranslationService,\r\n public override invoiceService: AgroInvoiceService,\r\n public override localeService: LocaleService,\r\n public override kilogramPipe: KilogramPipe,\r\n public override messageService: MessageService,\r\n public override datePipe: DatePipe\r\n ) {\r\n super(translate, invoiceService, localeService, kilogramPipe, messageService, datePipe);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ModalInvoicePjForTransferComponent } from './modal-invoice-pj-for-transfer.component';\r\nimport { imports, providers } from '../modal-shared-imports';\r\n\r\n@NgModule({\r\n declarations: [ModalInvoicePjForTransferComponent],\r\n imports: [...imports],\r\n providers: [...providers],\r\n exports: [ModalInvoicePjForTransferComponent],\r\n})\r\nexport class ModalInvoicePjForTransferModule {}\r\n","import { CurrencyPipe, DatePipe } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Column } from '@seniorsistemas/angular-components/table';\r\nimport { LocaleService } from '@seniorsistemas/angular-components/locale';\r\nimport { MessageService } from 'primeng/api';\r\nimport { EMPTY, of } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs/operators';\r\nimport { KilogramPipe } from '../../../pipe/kilogram';\r\nimport { LibTranslationService } from '../../../services/lib-translation.service';\r\nimport { ProducerInvoiceService } from '../../../services/producer-invoice/producer-invoice.service';\r\nimport { ModalInvoicePjBase } from '../modal-invoice-pj-base.class';\r\nimport { AgroInvoiceService } from '../services/agro-invoice';\r\nimport { IInvoiceLookupResponse } from '../services/agro-invoice/interfaces';\r\nimport { ModalInvoicePjForFixationOptions } from './modal-fixation-options.interface';\r\nimport { ListParams } from '../../../services/agro-entity-service';\r\n\r\n@Component({\r\n selector: 's-modal-invoice-pj-for-fixation',\r\n templateUrl: '../template.html',\r\n styleUrls: ['../style.scss'],\r\n})\r\nexport class ModalInvoicePjForFixationComponent extends ModalInvoicePjBase implements OnInit, OnDestroy {\r\n @Input() options!: ModalInvoicePjForFixationOptions;\r\n @Output() whenSelectInvoices = new EventEmitter<any[]>();\r\n\r\n public gridColumns!: Partial<Column & { sortable?: boolean }>[];\r\n\r\n constructor(\r\n readonly translationService: LibTranslationService,\r\n override readonly invoiceService: AgroInvoiceService,\r\n override readonly localeService: LocaleService,\r\n override readonly kilogramPipe: KilogramPipe,\r\n readonly currencyPipe: CurrencyPipe,\r\n readonly producerInvoiceService: ProducerInvoiceService,\r\n override readonly messageService: MessageService,\r\n public override datePipe: DatePipe\r\n ) {\r\n super(translationService, invoiceService, localeService, kilogramPipe, messageService, datePipe);\r\n }\r\n\r\n override ngOnInit(): void {\r\n this.defineGridColumns();\r\n this.gridFieldValuesMap = {\r\n ...this.gridFieldValuesMap,\r\n series: (row) => row?.seriesLegal || row?.series || row.series,\r\n totalValue: (row) => this.currencyPipe.transform(row?.netTotalValue || 0, 'BRL'),\r\n };\r\n super.ngOnInit();\r\n }\r\n\r\n defineGridColumns(): void {\r\n this.gridColumns = [\r\n { field: 'number', header: this.translate.instant('agro.angular_components.number') },\r\n { field: 'series', header: this.translate.instant('agro.angular_components.series') },\r\n {\r\n field: 'totalValue',\r\n header: this.translate.instant('agro.angular_components.total_value'),\r\n sortable: false,\r\n },\r\n {\r\n field: 'linkedValue',\r\n header: this.translate.instant('agro.angular_components.value_linked'),\r\n sortable: false,\r\n },\r\n { field: 'issuanceDate', header: this.translate.instant('agro.angular_components.issuance_date') },\r\n ];\r\n }\r\n\r\n beforeAdd(selectedInvoices: any[]): Promise<any> {\r\n if (selectedInvoices?.length) {\r\n this.linkSelectedInvoicesInFixationItem();\r\n }\r\n return of(EMPTY).toPromise();\r\n }\r\n\r\n public override open(): void {\r\n if (this.options.fixationItems.filter((item) => item.requiredValue > item.totalValueInvoices).length === 0) {\r\n this.messageService.add({\r\n severity: 'warn',\r\n summary: this.translate.instant('agro.angular_components.max_linked_invoices'),\r\n detail: this.translate.instant('agro.angular_components.max_linked_invoices_description'),\r\n });\r\n return;\r\n }\r\n super.open();\r\n }\r\n\r\n public async linkSelectedInvoicesInFixationItem() {\r\n if (!(await this.isValidAndSetLinkedValueInInvoices())) {\r\n this.gridLoading = false;\r\n return;\r\n }\r\n const entities: any[] = this.selected\r\n .flatMap((invoice: any) => {\r\n return this.options.fixationItems.map((fixationItem: any) => {\r\n const requiredValue =\r\n (fixationItem.requiredValue || 0) - (fixationItem.totalValueInvoices || 0);\r\n if (invoice.remainingValue <= 0 || requiredValue <= 0) {\r\n return null;\r\n }\r\n const valueToBeLinked =\r\n requiredValue > invoice.remainingValue ? invoice.remainingValue : requiredValue;\r\n\r\n invoice.remainingValue -= valueToBeLinked;\r\n const body = {\r\n series: invoice?.series,\r\n number: String(invoice?.number),\r\n invoiceId: invoice?.id,\r\n linkedValue: valueToBeLinked,\r\n totalValue: invoice?.totalValue,\r\n issuanceDate: invoice?.issuanceDate,\r\n fixationItem,\r\n };\r\n\r\n fixationItem.totalValueInvoices = (fixationItem.totalValueInvoices || 0) + valueToBeLinked;\r\n\r\n return body;\r\n });\r\n })\r\n .filter((entity): entity is NonNullable<typeof entity> => entity !== null);\r\n this.gridLoading = true;\r\n this.producerInvoiceService\r\n .insertBulk(entities)\r\n .pipe(\r\n takeUntil(this.ngUnsubscribe),\r\n finalize(() => {\r\n this.gridLoading = false;\r\n this.whenSelectInvoices.emit(this.selected);\r\n })\r\n )\r\n .subscribe(() => {\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: this.translate.instant('agro.angular_components.success'),\r\n detail: this.translate.instant('agro.angular_components.invoice_created_successfully'),\r\n });\r\n this.cancel();\r\n });\r\n }\r\n\r\n async isValidAndSetLinkedValueInInvoices(): Promise<boolean> {\r\n const valorLinked = await this.producerInvoiceService.getTotalLinkedInInvoices(\r\n this.selected.map((invoice: any) => invoice.id),\r\n this.options.fixationId\r\n );\r\n let isValid = true;\r\n this.selected.forEach((invoice: any) => {\r\n invoice.linkedValue = valorLinked.find((linked: any) => linked.invoiceId === invoice.id)?.totalLinked || 0;\r\n if (invoice.linkedValue >= invoice.totalValue) {\r\n this.messageService.add({\r\n severity: 'warn',\r\n summary: this.translate.instant('agro.angular_components.link_invoice'),\r\n detail: this.translate.instant('agro.angular_components.invoice_already_linked'),\r\n });\r\n isValid = false;\r\n }\r\n invoice.remainingValue = invoice.totalValue - invoice.linkedValue;\r\n });\r\n return isValid;\r\n }\r\n\r\n async adaptResult(result: IInvoiceLookupResponse): Promise<any> {\r\n return Promise.resolve(result as any);\r\n }\r\n\r\n override cancel(): Promise<void> {\r\n this.options.fixationItems = [];\r\n return super.cancel();\r\n }\r\n\r\n async updateLinkedValueInGrid(rows: number): Promise<void> {\r\n const invoiceId = this.gridData.map((invoice: any) => invoice.id);\r\n let filter = `fixationItem.fixation.id eq '${this.options.fixationId}'`;\r\n if (invoiceId && invoiceId.length > 0) {\r\n filter += `and invoiceId in ('${invoiceId.join(\"','\")}') `;\r\n }\r\n const listParams: Partial<ListParams> = {\r\n page: 0,\r\n size: rows,\r\n filterQuery: filter,\r\n };\r\n await this.producerInvoiceService\r\n .list(listParams)\r\n .pipe(takeUntil(this.ngUnsubscribe))\r\n .toPromise()\r\n .then((producerInvoices: any) => {\r\n producerInvoices?.contents.forEach((invoice: any) => {\r\n const gridInvoice = this.gridData.find((item: any) => item.id === invoice.invoiceId);\r\n if (gridInvoice) {\r\n gridInvoice.linkedValue = invoice.linkedValue;\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ModalInvoicePjForFixationComponent } from './modal-invoice-pj-for-fixation.component';\r\nimport { imports, providers } from '../modal-shared-imports';\r\n@NgModule({\r\n declarations: [ModalInvoicePjForFixationComponent],\r\n imports: [...imports],\r\n providers: [...providers],\r\n exports: [ModalInvoicePjForFixationComponent],\r\n})\r\nexport class ModalInvoicePjForFixationModule {}\r\n","export enum TypeAccount {\r\n PAYABLE = \"PAYABLE\",\r\n RECEIVABLE = \"RECEIVABLE\"\r\n}\r\n\r\nexport enum StatusType {\r\n OPEN = 'OPEN',\r\n PAID = 'PAID',\r\n CANCELLED = 'CANCELLED'\r\n}\r\n\r\nexport enum TitleFieldsOrderBy {\r\n NUMBER_TITLE = \"NUMBER_TITLE\",\r\n ISSUE_DATE = \"ISSUE_DATE\",\r\n DUE_DATE = \"DUE_DATE\",\r\n ORIGINAL_VALUE = \"ORIGINAL_VALUE\",\r\n OPEN_VALUE = \"OPEN_VALUE\",\r\n NET_VALUE = \"NET_VALUE\",\r\n STATUS = \"STATUS\"\r\n}\r\n\r\nexport enum OrderByType {\r\n ASC = \"ASC\",\r\n DESC = \"DESC\"\r\n}\r\n\r\nexport enum QueryStatus {\r\n PENDING = \"PENDING\",\r\n FINISHED = \"FINISHED\",\r\n ERROR = \"ERROR\"\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { asyncScheduler, Observable, scheduled, Subject, timer } from \"rxjs\";\r\nimport { concatMap, filter, map, scan, switchMap, take, takeUntil, tap } from \"rxjs/operators\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\nimport { LibTranslationService } from \"../../../../services/lib-translation.service\";\r\nimport { QueryStatus } from \"./enums\";\r\nimport {\r\n FinancialQueryDataResponse,\r\n GetListTitlesResponseInput,\r\n GetListTitlesResponseOutput,\r\n RequestListTitlesInput,\r\n RequestListTitlesOutput,\r\n TitleDto,\r\n} from \"./intefaces\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AgroFinancialService extends AgroEntityService<TitleDto> {\r\n private readonly pooling = new Subject<void>();\r\n\r\n constructor(\r\n protected override http: HttpClient,\r\n protected override messageService: MessageService,\r\n protected override translate: LibTranslationService\r\n ) {\r\n super(http, messageService, \"agro/financial/entities/title\", \"agro/financial/actions\", \"agro/financial/queries\", translate);\r\n }\r\n\r\n listTitles(input: RequestListTitlesInput): Observable<FinancialQueryDataResponse> {\r\n return this.requestListTitles(input).pipe(switchMap((res: RequestListTitlesOutput) => this.pollListTitlesResult(res.requestId)));\r\n }\r\n\r\n private requestListTitles(input: RequestListTitlesInput): Observable<RequestListTitlesOutput> {\r\n return this.http\r\n .post<RequestListTitlesOutput>(`${this.queriesUrl}/requestListTitles`, input)\r\n .pipe(this.defaultCatch<RequestListTitlesOutput>());\r\n }\r\n\r\n private getListTitlesResponse(input: GetListTitlesResponseInput): Observable<GetListTitlesResponseOutput> {\r\n return this.http\r\n .post<GetListTitlesResponseOutput>(`${this.queriesUrl}/getListTitlesResponse`, input)\r\n .pipe(this.defaultCatch<GetListTitlesResponseOutput>());\r\n }\r\n\r\n /**\r\n * Realiza o polling para obter o resultado da listagem de títulos financeiros\r\n *\r\n * @param requestId Id da requisição utlizada na busca pelo resultado\r\n * @returns\r\n */\r\n private pollListTitlesResult(requestId: string): Observable<FinancialQueryDataResponse> {\r\n // define o intervalo de polling entre cada tentativa de maneira exponencial\r\n const delays = Array.from({ length: 10 }, (_, index) => {\r\n if (index === 0) {\r\n return 1000;\r\n }\r\n return (index + 1) * 1000;\r\n });\r\n\r\n return scheduled(delays, asyncScheduler).pipe(\r\n concatMap((delay, index) =>\r\n timer(delay).pipe(\r\n switchMap(() => this.getListTitlesResponse({ requestId })),\r\n tap((res: GetListTitlesResponseOutput) => {\r\n if (res.status === QueryStatus.ERROR) {\r\n throw new Error(res.message);\r\n }\r\n }),\r\n map((res) => ({ res, isLast: index === delays.length - 1 }))\r\n )\r\n ),\r\n scan((_, curr) => curr, null as { res: GetListTitlesResponseOutput; isLast: boolean } | null),\r\n filter((data): data is { res: GetListTitlesResponseOutput; isLast: boolean } =>\r\n !!data && (data.res.status === QueryStatus.FINISHED || data.isLast)\r\n ),\r\n take(1),\r\n map((data) => {\r\n if (data.isLast && data.res.status === QueryStatus.PENDING) {\r\n throw new Error(\"agro.angular_components.timeout_request_error\");\r\n }\r\n return data.res;\r\n }),\r\n takeUntil(this.pooling),\r\n map((res) => res.result)\r\n );\r\n }\r\n}\r\n","import { registerLocaleData } from \"@angular/common\";\r\nimport localePt from \"@angular/common/locales/pt\";\r\nimport { AfterViewInit, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from \"@angular/core\";\r\nimport { AbstractControl, FormArray, FormControl, FormGroup, ValidatorFn, Validators } from \"@angular/forms\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { Table, TableLazyLoadEvent } from \"primeng/table\";\r\nimport { catchError, takeUntil } from \"rxjs/operators\";\r\nimport { AgroObjectUtils } from \"../../common/agro-object-utils.class\";\r\nimport { AGRO_NUMBERS } from \"../../enums\";\r\nimport { LibTranslationService } from \"../../services/lib-translation.service\";\r\nimport { FinancialTitleOptions } from \"./financial-title-table-options.interface\";\r\nimport { AgroFinancialService } from \"./services/financial/agro-financial.service\";\r\nimport { OrderByType, TitleFieldsOrderBy } from \"./services/financial/enums\";\r\nimport {\r\n FinancialQueryDataResponse,\r\n FinancialTitleListDto,\r\n RecOrderBy,\r\n RecordTitleDto,\r\n RequestListTitlesInput,\r\n} from \"./services/financial/intefaces\";\r\n\r\ninterface ColumnConfig {\r\n field: string;\r\n header: string;\r\n path: string[];\r\n type: string;\r\n orderBy: TitleFieldsOrderBy | null;\r\n}\r\n\r\n@Component({\r\n selector: \"s-financial-title-table\",\r\n templateUrl: \"./financial-title-table.component.html\",\r\n styleUrls: [\"./financial-title-table.component.css\"],\r\n})\r\nexport class FinancialTitleTableComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(\"TitleTable\") table!: Table;\r\n\r\n @Input() options!: FinancialTitleOptions;\r\n @Input() selected: FinancialTitleListDto[] = [];\r\n @Output() selectionChange = new EventEmitter<any[]>();\r\n\r\n gridData: FinancialTitleListDto[] = [];\r\n gridTotalRecords = 0;\r\n\r\n errorMessage: any = {};\r\n\r\n tableInitialized = false;\r\n showSidebar = false;\r\n selectedRow: RecordTitleDto | null = null;\r\n\r\n gridColumns: ColumnConfig[] = [];\r\n sidebarFields: any[] = [];\r\n\r\n componentLoading = false;\r\n\r\n\r\n form = new FormGroup({\r\n titlesForm: new FormArray([], []),\r\n });\r\n\r\n private currentListParams: TableLazyLoadEvent = { first: 0, rows: 10, sortField: null, sortOrder: null, filters: {} };\r\n readonly ngUnsubscribe = new EventEmitter<void>();\r\n\r\n get titlesForm(): FormArray {\r\n return this.form.get(\"titlesForm\") as FormArray;\r\n }\r\n\r\n constructor(\r\n private readonly translate: LibTranslationService,\r\n private readonly financialService: AgroFinancialService,\r\n private readonly messageService: MessageService\r\n ) {\r\n registerLocaleData(localePt);\r\n this.errorMessage = {\r\n required: this.translate.instant(\"agro.angular_components.error_required\"),\r\n lessThanZero: this.translate.instant(\"agro.angular_components.error_less_or_equal_zero\"),\r\n greatherThanAllowed: this.translate.instant(\"agro.angular_components.error_greater_than_allowed\"),\r\n };\r\n }\r\n\r\n /**\r\n * Inicializa colunas da tabela e campos exibidos no sidebar,\r\n * depois dispara a primeira busca de títulos com os filtros informados em {@link options}.\r\n */\r\n ngOnInit() {\r\n this.gridColumns = [\r\n this.getFields(\"title\", \"agro.angular_components.title\", [\"numberTitle\"], \"String\", TitleFieldsOrderBy.NUMBER_TITLE),\r\n this.getFields(\"type\", \"agro.angular_components.type\", [\"titleType.cod\", \"titleType.desc\"], \"String\", null),\r\n this.getFields(\"entryDate\", \"agro.angular_components.entry\", [\"issueDate\"], \"Date\", TitleFieldsOrderBy.ISSUE_DATE),\r\n this.getFields(\"dueDate\", \"agro.angular_components.due_date\", [\"dueDate\"], \"Date\", TitleFieldsOrderBy.DUE_DATE),\r\n this.getFields(\r\n \"valueOrigin\",\r\n \"agro.angular_components.original_value\",\r\n [\"values.originalValue\"],\r\n \"Money\",\r\n TitleFieldsOrderBy.ORIGINAL_VALUE\r\n ),\r\n this.getFields(\r\n \"valueOpen\",\r\n \"agro.angular_components.open_value\",\r\n [\"values.openValue\"],\r\n \"Money\",\r\n TitleFieldsOrderBy.OPEN_VALUE\r\n ),\r\n this.getFields(\r\n \"valueNet\",\r\n \"agro.angular_components.value_net\",\r\n [\"values.netValue\"],\r\n \"Money\",\r\n TitleFieldsOrderBy.NET_VALUE\r\n ),\r\n this.getFields(\"valuePaid\", \"agro.angular_components.value_to_pay\", [\"valuePaid\"], \"Money\", null),\r\n ];\r\n this.sidebarFields = [\r\n this.getFields(\"company\", \"agro.angular_components.company\", [\"company.cod\", \"company.desc\"], \"String\", null),\r\n this.getFields(\"branch\", \"agro.angular_components.branch\", [\"branch.cod\", \"branch.desc\"], \"String\", null),\r\n this.getFields(\"producer\", \"agro.angular_components.producer\", [\"producer.cod\", \"producer.desc\"], \"String\", null),\r\n ...this.gridColumns.filter((col) => ![\"valuePaid\", \"valueNet\"].includes(col.field)),\r\n this.getFields(\"valueFees\", \"agro.angular_components.value_fees\", [\"values.interestValue\"], \"Money\", null),\r\n this.getFields(\"valueFine\", \"agro.angular_components.value_fine\", [\"values.fineValue\"], \"Money\", null),\r\n this.getFields(\"valueCharge\", \"agro.angular_components.value_charge\", [\"values.chargeValue\"], \"Money\", null),\r\n this.getFields(\r\n \"valueCorrection\",\r\n \"agro.angular_components.value_correction\",\r\n [\"values.monetaryCorrectionValue\"],\r\n \"Money\",\r\n null\r\n ),\r\n this.getFields(\r\n \"valueAdditional\",\r\n \"agro.angular_components.value_additional\",\r\n [\"values.otherAdditionValue\"],\r\n \"Money\",\r\n null\r\n ),\r\n this.getFields(\"valueDiscount\", \"agro.angular_components.value_discount\", [\"values.discountValue\"], \"Money\", null),\r\n this.getFields(\r\n \"valueOtherDiscount\",\r\n \"agro.angular_components.value_other_discount\",\r\n [\"values.otherDiscountValue\"],\r\n \"Money\",\r\n null\r\n ),\r\n ...this.gridColumns.filter((col) => [\"valueNet\"].includes(col.field)),\r\n ];\r\n this.updateGrid(this.currentListParams);\r\n }\r\n\r\n /**\r\n * Após a renderização da tabela, sincroniza o estado de checkbox/linha editável\r\n * com o array de títulos selecionados para evitar acesso a referências ainda não criadas.\r\n */\r\n ngAfterViewInit() {\r\n this.tableInitialized = true;\r\n this.synchronizeCheckboxAndEditableFieldState();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.ngUnsubscribe.next();\r\n this.ngUnsubscribe.complete();\r\n }\r\n\r\n getPageSize() {\r\n return this.currentListParams?.rows ?? 10;\r\n }\r\n\r\n getRowIndex() {\r\n return this.currentListParams?.first ?? 0;\r\n }\r\n\r\n getSortField() {\r\n const field = this.currentListParams?.sortField ?? undefined;\r\n return Array.isArray(field) ? field[0] : field;\r\n }\r\n\r\n getSortOrder() {\r\n return this.currentListParams?.sortOrder ?? 1;\r\n }\r\n\r\n /**\r\n * Faz requisição paginada/ordenada para listar os títulos, monta o formulário\r\n * reativo para cada linha e trata erros de backend exibindo mensagem ao usuário.\r\n *\r\n * @param event parâmetros de paginação, ordenação e filtros vindos do PrimeNG.\r\n */\r\n updateGrid(event: TableLazyLoadEvent) {\r\n this.componentLoading = true;\r\n const rows = event.rows ?? 10;\r\n const first = event.first ?? 0;\r\n const field = event.sortField ?? undefined;\r\n const sortOrder = event.sortOrder ?? undefined;\r\n const page = rows > 0 ? first / rows : 0;\r\n this.currentListParams = { ...event, rows, first };\r\n\r\n const input: RequestListTitlesInput = {\r\n pageRequest: { offset: page, orderBy: this.getRecOrderBy(field, sortOrder), size: rows },\r\n filter: this.options,\r\n };\r\n\r\n this.financialService\r\n .listTitles(input)\r\n .pipe(\r\n takeUntil(this.ngUnsubscribe),\r\n catchError((err: any) => {\r\n this.componentLoading = false;\r\n const detailMsg = err?.message || \"agro.angular_components.error_loading_accounts_description\";\r\n this.addMessage(\r\n \"warn\",\r\n \"agro.angular_components.error_loading_accounts_title\",\r\n detailMsg\r\n );\r\n throw err;\r\n })\r\n )\r\n .subscribe((list: FinancialQueryDataResponse) => {\r\n this.gridData = list.titles || [];\r\n\r\n this.createFormGroupForTitle();\r\n\r\n this.gridTotalRecords = list.totalElements;\r\n this.componentLoading = false;\r\n this.synchronizeCheckboxAndEditableFieldState();\r\n });\r\n }\r\n\r\n onSelectionChange(event: any) {\r\n this.selected = event;\r\n this.synchronizeCheckboxAndEditableFieldState();\r\n this.selectionChange.emit(this.selected);\r\n }\r\n\r\n /**\r\n * Quando um item é desmarcado, limpa o `valuePaid` correspondente\r\n * tanto no modelo da linha quanto no {@link titlesForm}, sem disparar novos eventos.\r\n *\r\n * @param event evento de desmarcação emitido pelo PrimeNG.\r\n */\r\n onUnselect(event: any) {\r\n const row = this.gridData.find((r) => r.id === event.data.id);\r\n if (row) {\r\n row.valuePaid = undefined;\r\n // atualiza form control correspondente\r\n const idx = this.gridData.findIndex((g) => g.id === row.id);\r\n const ctrl = this.titlesForm.at(idx)?.get(\"valuePaid\");\r\n if (ctrl) {\r\n ctrl.setValue(null, { emitEvent: false });\r\n }\r\n }\r\n }\r\n\r\n showDetails(rowData: any) {\r\n this.selectedRow = rowData;\r\n this.showSidebar = true;\r\n }\r\n\r\n closeDetails() {\r\n this.showSidebar = false;\r\n }\r\n\r\n isLastColumn(index: number, columns: any[]): boolean {\r\n return index === columns.length - 1;\r\n }\r\n\r\n getStyleColumns(field: string): any {\r\n let styleClass = {};\r\n switch (field) {\r\n case \"checkbox\":\r\n styleClass = { width: \"50px\" };\r\n break;\r\n case \"title\":\r\n case \"dueDate\":\r\n styleClass = { width: \"150px\" };\r\n break;\r\n case \"type\":\r\n case \"entryDate\":\r\n styleClass = { width: \"120px\" };\r\n break;\r\n default:\r\n styleClass = { width: \"198px\" };\r\n break;\r\n }\r\n return styleClass;\r\n }\r\n\r\n getProp(obj: any, col: any): any {\r\n if (!obj || !col?.path) {\r\n return \"-\";\r\n }\r\n let separator = \"\";\r\n let result = \"\";\r\n for (const path of col.path) {\r\n result += separator + AgroObjectUtils.getPropAndFormatValue(obj, path, col.type);\r\n separator = \" - \";\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Reconstrói o {@link titlesForm} com base na {@link gridData} atual,\r\n * preservando valores já informados em itens selecionados e registrando listeners de mudança.\r\n */\r\n private createFormGroupForTitle() {\r\n const titlesFormArray = this.form.get(\"titlesForm\") as FormArray;\r\n titlesFormArray.clear();\r\n this.gridData.forEach((item) => {\r\n const selectedItem = this.selected.find((sel) => sel.id === item.id);\r\n const group = new FormGroup({\r\n id: new FormControl(item.id ?? null, []),\r\n valuePaid: new FormControl(selectedItem?.valuePaid ?? null, []),\r\n });\r\n this.subscribeToValuePaidChanges(group, item);\r\n titlesFormArray.push(group);\r\n });\r\n }\r\n\r\n /**\r\n * Observa mudanças no campo `valuePaid` de uma linha.\r\n * Atualiza o array {@link selected} quando o título está selecionado,\r\n * aplica o limite do valor líquido (`netValue`) e evita loops de eventos usando\r\n * `setValue` com `emitEvent: false`.\r\n *\r\n * @param formGroup grupo de formulário associado à linha da tabela.\r\n * @param item título financeiro correspondente à linha.\r\n */\r\n private subscribeToValuePaidChanges(formGroup: FormGroup, item: FinancialTitleListDto) {\r\n const valuePaidControl = formGroup.get(\"valuePaid\");\r\n if (!valuePaidControl) {\r\n return;\r\n }\r\n valuePaidControl.valueChanges.pipe(takeUntil(this.ngUnsubscribe)).subscribe((rawValue) => {\r\n const valuePaid = this.parseNumberSafe(rawValue);\r\n const titleId = formGroup.get(\"id\")?.value;\r\n\r\n // atualiza selected se o título estiver selecionado\r\n const selIndex = this.selected.findIndex((s) => s.id === titleId);\r\n if (selIndex !== -1) {\r\n // garante que valuePaid seja numérico ou undefined\r\n this.selected[selIndex].valuePaid = valuePaid ?? undefined;\r\n\r\n const net = Number(this.selected[selIndex]?.values?.netValue) || 0;\r\n if (valuePaid !== null && valuePaid > net) {\r\n this.selected[selIndex].valuePaid = net;\r\n // Usado para evitar loop infinito de eventos\r\n valuePaidControl.setValue(net, { emitEvent: false });\r\n }\r\n\r\n // atualiza flag de erro\r\n this.selected[selIndex].hasError = valuePaidControl.invalid;\r\n // emite mudança de seleção\r\n this.selectionChange.emit(this.selected);\r\n } else {\r\n // se não estiver selecionado, apenas aplica limite local baseado no item\r\n const net = Number(item?.values?.netValue) || 0;\r\n if (valuePaid !== null && valuePaid > net) {\r\n valuePaidControl.setValue(net, { emitEvent: false });\r\n }\r\n }\r\n });\r\n }\r\n\r\n private parseNumberSafe(value: any): number | null {\r\n if (value === null || value === undefined || value === \"\") {\r\n return null;\r\n }\r\n if (typeof value === \"number\") {\r\n return value;\r\n }\r\n if (typeof value === \"string\") {\r\n const cleaned = value.replace(/\\./g, \"\").replace(\",\", \".\");\r\n const n = parseFloat(cleaned);\r\n return isNaN(n) ? null : n;\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Inicia o modo de edição na linha da tabela PrimeNG e aplica regras de validação\r\n * no formulário reativo correspondente àquela linha.\r\n *\r\n * @param row objeto de linha recebido da tabela.\r\n */\r\n private initRowEdit(row: any) {\r\n if (this.table) {\r\n this.table.initRowEdit(row);\r\n this.applyValidationToRowEdit(row);\r\n }\r\n }\r\n\r\n /**\r\n * Adiciona validadores dinamicamente ao campo `valuePaid` da linha em edição,\r\n * marca o controle como sujo e força revalidação imediata para exibir erros na tela.\r\n *\r\n * @param row objeto de linha para aplicar validação.\r\n */\r\n private applyValidationToRowEdit(row: any) {\r\n const rowIndex = this.gridData.findIndex((r) => r.id === row.id);\r\n const formGroup = this.titlesForm.at(rowIndex) as FormGroup;\r\n if (!formGroup) {\r\n return;\r\n }\r\n const valuePaidControl = formGroup.get(\"valuePaid\");\r\n valuePaidControl?.setValidators([this.getValidatorsForRowEdit(), Validators.required]);\r\n valuePaidControl?.markAsDirty();\r\n valuePaidControl?.updateValueAndValidity();\r\n }\r\n\r\n /**\r\n * Constrói o {@link ValidatorFn} que valida o `valuePaid`:\r\n * - deve ser maior que zero;\r\n * - não pode ultrapassar o valor líquido (`netValue`) do título.\r\n *\r\n * Retorna os erros consumidos pelo componente `s-control-errors`.\r\n */\r\n private getValidatorsForRowEdit(): ValidatorFn {\r\n return (control: AbstractControl) => {\r\n const parent = control.parent as FormGroup;\r\n const titleId = parent?.get(\"id\")?.value;\r\n const rawValue = control.value;\r\n const valuePaid = this.parseNumberSafe(rawValue);\r\n if (valuePaid === null || valuePaid === undefined) {\r\n return null;\r\n }\r\n if (valuePaid <= AGRO_NUMBERS.ZERO) {\r\n return { lessThanZero: true };\r\n }\r\n // procura pelo título no selected ou no gridData (prioriza selected)\r\n const selectedRow = this.selected.find((sel) => sel.id === titleId) || this.gridData.find((g) => g.id === titleId);\r\n const netValue = Number(selectedRow?.values?.netValue) || 0;\r\n if (valuePaid > netValue) {\r\n return { greatherThanAllowed: true };\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n private cancelRowEdit(row: any) {\r\n if (this.table) {\r\n this.table.cancelRowEdit(row);\r\n }\r\n }\r\n\r\n /**\r\n * Mantém o estado visual da tabela (checkbox marcado e linha editável) em\r\n * sincronia com o array de títulos selecionados, inclusive restaurando valores\r\n * digitados ao recarregar, ordenar ou paginar a grid.\r\n */\r\n private synchronizeCheckboxAndEditableFieldState() {\r\n if (!this.gridData || !this.tableInitialized) {\r\n return;\r\n }\r\n\r\n this.gridData.forEach((row, index) => {\r\n const selectedRow = this.selected.find((sel) => sel.id === row.id);\r\n\r\n const ctrl = this.titlesForm.at(index)?.get(\"valuePaid\");\r\n\r\n if (selectedRow) {\r\n // Sincroniza o valor pago do item selecionado\r\n row.valuePaid = selectedRow.valuePaid;\r\n if (ctrl) {\r\n ctrl.setValue(selectedRow.valuePaid, { emitEvent: false });\r\n }\r\n this.initRowEdit(row);\r\n } else {\r\n // Cancela a edição se não estiver selecionado\r\n if (ctrl) {\r\n ctrl.setValue(null, { emitEvent: false });\r\n }\r\n this.cancelRowEdit(row);\r\n }\r\n });\r\n }\r\n\r\n private getFields(field: string, header: string, path: string[], type: string, fieldOrderBy: TitleFieldsOrderBy | null): ColumnConfig {\r\n return { field, path, type, header: this.translate.instant(header), orderBy: fieldOrderBy };\r\n }\r\n\r\n private addMessage(severity: string, summary: string, detail: string, sticky = false, life = 7000) {\r\n this.messageService.add({\r\n severity,\r\n sticky,\r\n life,\r\n summary: this.translate.instant(summary),\r\n detail: this.translate.instant(detail),\r\n });\r\n }\r\n\r\n private getRecOrderBy(field: string | string[] | undefined, order: number | null | undefined): RecOrderBy | undefined {\r\n if (!field || Array.isArray(field)) {\r\n return undefined;\r\n }\r\n const gridColumnField = this.gridColumns.find((col) => col.field === field);\r\n if (gridColumnField?.orderBy === null) {\r\n return undefined;\r\n }\r\n return {\r\n field: gridColumnField?.orderBy ?? TitleFieldsOrderBy.NUMBER_TITLE,\r\n order: order === -1 ? OrderByType.DESC : OrderByType.ASC,\r\n };\r\n }\r\n}\r\n","<ng-container *sLoadingState=\"componentLoading\">\r\n <div [hidden]=\"gridData.length > 0\">\r\n <s-empty-state\r\n iconClass=\"fa fa-inbox\"\r\n title=\"{{ 'agro.angular_components.no_accounts_found_title' | libTranslate }}\"\r\n [showPrimaryAction]=\"false\"\r\n description=\"{{ 'agro.angular_components.no_accounts_found_description' | libTranslate }}\"\r\n ></s-empty-state>\r\n </div>\r\n <p-table\r\n #TitleTable\r\n [hidden]=\"gridData.length === 0\"\r\n [value]=\"gridData\"\r\n [columns]=\"gridColumns\"\r\n dataKey=\"id\"\r\n [lazy]=\"true\"\r\n [paginator]=\"true\"\r\n [totalRecords]=\"gridTotalRecords\"\r\n [sortField]=\"getSortField()\"\r\n [sortOrder]=\"getSortOrder()\"\r\n [first]=\"getRowIndex()\"\r\n [rows]=\"getPageSize()\"\r\n [lazyLoadOnInit]=\"false\"\r\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n (onLazyLoad)=\"updateGrid($event)\"\r\n [(selection)]=\"selected\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n (onRowUnselect)=\"onUnselect($event)\"\r\n sortMode=\"single\"\r\n [selectionMode]=\"'multiple'\"\r\n editMode=\"row\"\r\n [scrollable]=\"true\"\r\n frozenWidth=\"160px\"\r\n >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th class=\"table-checkbox-header\" scope=\"col\" [ngStyle]=\"getStyleColumns('checkbox')\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <ng-container *ngFor=\"let col of columns; let i = index\">\r\n <ng-container *ngIf=\"col.orderBy; else notSortable\">\r\n <th [pSortableColumn]=\"col.field\" [scope]=\"'col'\" [ngStyle]=\"getStyleColumns(col.field)\">\r\n {{ col.header }}\r\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </th>\r\n </ng-container>\r\n <ng-template #notSortable>\r\n <th [scope]=\"'col'\" [ngStyle]=\"getStyleColumns(col.field)\">\r\n {{ col.header }}\r\n </th>\r\n </ng-template>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"frozenheader\">\r\n <tr>\r\n <th scope=\"col\" pFrozenColumn>\r\n {{ 'agro.angular_components.details' | libTranslate }}\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowData\r\n let-columns=\"columns\"\r\n let-rowIndex=\"rowIndex\"\r\n let-editing=\"editing\"\r\n let-ri=\"rowIndex\"\r\n >\r\n <tr [pEditableRow]=\"rowData\" [formGroup]=\"$any(titlesForm.at(rowIndex))\">\r\n <td class=\"table-checkbox-header\" [ngStyle]=\"getStyleColumns('checkbox')\">\r\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\r\n </td>\r\n <td *ngFor=\"let col of columns; let i = index\" [ngStyle]=\"getStyleColumns(col.field)\">\r\n <p-cellEditor>\r\n <ng-template pTemplate=\"input\">\r\n <ng-container [ngSwitch]=\"col.field\">\r\n <ng-container *ngSwitchCase=\"'valuePaid'\">\r\n <input\r\n pInputText\r\n sNumberInput\r\n class=\"w-full\"\r\n id=\"valuePaid-input-{{ rowData.id || rowIndex }}\"\r\n decimalSeparator=\",\"\r\n thousandsSeparator=\".\"\r\n formControlName=\"valuePaid\"\r\n type=\"text\"\r\n [scale]=\"2\"\r\n [allowNegative]=\"false\"\r\n [attr.aria-label]=\"'agro.angular_components.value_paid' | libTranslate\"\r\n />\r\n <br />\r\n <s-control-errors\r\n [control]=\"$any(titlesForm.at(rowIndex)).get('valuePaid')\"\r\n [errorMessages]=\"errorMessage\"\r\n >\r\n </s-control-errors>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ getProp(rowData, col) }}\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template pTemplate=\"output\">\r\n <ng-container [ngSwitch]=\"col.field\">\r\n <ng-container *ngSwitchCase=\"'valuePaid'\">\r\n {{ rowData['valuePaid'] || 0 | currency: 'BRL':'symbol':'1.2-2':'pt-BR' }}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ getProp(rowData, col) }}\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n </p-cellEditor>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"frozenbody\" let-rowData let-columns>\r\n <tr [pEditableRow]=\"rowData\">\r\n <td pFrozenColumn>\r\n <s-button\r\n id=\"details-{{ rowData.id }}\"\r\n (click)=\"showDetails(rowData)\"\r\n (keydown.enter)=\"showDetails(rowData)\"\r\n label=\"{{ 'agro.angular_components.details' | libTranslate }}\"\r\n [priority]=\"'default'\"\r\n [disabled]=\"false\"\r\n [auxiliary]=\"true\"\r\n [size]=\"'small'\"\r\n iconClass=\"fa fa-rocket\"\r\n ></s-button>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</ng-container>\r\n<s-sidebar\r\n [(visible)]=\"showSidebar\"\r\n position=\"right\"\r\n [header]=\"('agro.angular_components.account_details' | libTranslate) + ' ' + (selectedRow?.numberTitle || '')\"\r\n>\r\n <div class=\"ui-fluid\">\r\n <div class=\"ui-g\">\r\n <ng-container *ngFor=\"let field of sidebarFields\">\r\n <div class=\"ui-g-4\">\r\n <span>\r\n <strong>{{ field.header }}</strong>\r\n </span>\r\n <p>{{ getProp(selectedRow, field) || '-' }}</p>\r\n </div>\r\n </ng-container>\r\n <ng-template #noValue>-</ng-template>\r\n <div class=\"ui-g-4\">\r\n <span>\r\n <strong>{{ 'agro.angular_components.status_label' | libTranslate }}</strong>\r\n </span>\r\n <p>\r\n <ng-container [ngSwitch]=\"selectedRow?.status\">\r\n <span *ngSwitchCase=\"'OPEN'\">\r\n <s-badge\r\n [color]=\"'yellow'\"\r\n text=\"{{ 'agro.angular_components.status_open' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n ></s-badge>\r\n </span>\r\n <span *ngSwitchCase=\"'PAID'\">\r\n <s-badge\r\n [color]=\"'green'\"\r\n text=\"{{ 'agro.angular_components.status_paid' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n ></s-badge>\r\n </span>\r\n </ng-container>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n <s-footer>\r\n <s-button label=\"{{ 'agro.angular_components.close' | libTranslate }}\" (onClick)=\"closeDetails()\"> </s-button>\r\n </s-footer>\r\n</s-sidebar>\r\n","import { ObserversModule } from '@angular/cdk/observers';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BadgeModule } from \"@seniorsistemas/angular-components/badge\";\r\nimport { ButtonModule } from \"@seniorsistemas/angular-components/button\";\r\nimport { ControlErrorsModule } from \"@seniorsistemas/angular-components/control-errors\";\r\nimport { EmptyStateModule } from \"@seniorsistemas/angular-components/empty-state\";\r\nimport { LoadingStateModule } from \"@seniorsistemas/angular-components/loading-state\";\r\nimport { LocaleModule } from \"@seniorsistemas/angular-components/locale\";\r\nimport { NumberInputModule } from \"@seniorsistemas/angular-components/number-input\";\r\nimport { SidebarModule } from \"@seniorsistemas/angular-components/sidebar\";\r\nimport { TableHeaderCheckboxModule } from \"@seniorsistemas/angular-components/table-header\";\r\nimport { TableModule } from \"@seniorsistemas/angular-components/table\";\r\nimport { CyclicJsonInterceptorModule, HttpInterceptorModule } from \"@seniorsistemas/platform-components\";\r\nimport { SharedModule } from \"primeng/api\";\r\nimport { InputTextModule} from \"primeng/inputtext\";\r\nimport { TableModule as PrimeTableModule } from \"primeng/table\";\r\nimport { LibTranslationModule } from \"../../lib-translation.module\";\r\nimport { FinancialTitleTableComponent } from \"./financial-title-table.component\";\r\nimport { StructureModule } from '@seniorsistemas/angular-components/structure';\r\n@NgModule({\r\n imports: [\r\n CyclicJsonInterceptorModule,\r\n CommonModule,\r\n CyclicJsonInterceptorModule,\r\n HttpInterceptorModule,\r\n LocaleModule.forChild(),\r\n EmptyStateModule,\r\n TableModule,\r\n PrimeTableModule,\r\n LibTranslationModule,\r\n BadgeModule,\r\n ButtonModule,\r\n SidebarModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n LoadingStateModule,\r\n InputTextModule,\r\n StructureModule,\r\n NumberInputModule,\r\n TableHeaderCheckboxModule,\r\n SharedModule,\r\n ObserversModule,\r\n ControlErrorsModule,\r\n ],\r\n declarations: [FinancialTitleTableComponent],\r\n exports: [FinancialTitleTableComponent],\r\n})\r\nexport class FinancialTitleTableModule {}\r\n","import { AbstractControl, FormGroup, ValidationErrors, ValidatorFn } from '@angular/forms';\r\nimport { DateComparisonType } from '../enums/date-comparison-type.enum';\r\nimport { AGRO_REGEX } from '../common/agro-regex.constant';\r\nimport { NumberComparisonType } from '../enums/number-comparison-type.enum';\r\nimport { ObjectUtils } from '../common/agro-object-utils.class';\r\n\r\nexport class AgroFormValidator {\r\n\r\n /**\r\n * Validator para checar se o campo é um e-mail\r\n *\r\n * @example\r\n * this.myForm = this.fb.group({\r\n * EMAIL_FIELD: ['', [Validators.required, AgroFormValidator.emailValidator]]\r\n * });\r\n * @param control\r\n * @returns\r\n */\r\n public static emailValidator(control: AbstractControl): { [key: string]: any } | null {\r\n if (control.value && !AGRO_REGEX.isEmail.test(control.value)) {\r\n control.setErrors({ emailValidator: true });\r\n return { emailValidator: true };\r\n }\r\n control.setErrors(null);\r\n return null;\r\n }\r\n\r\n\r\n /**\r\n * Aplique esse validador em um campo do tipo Date, para verificar se a data selecionada é maior ou menor que a data atual.\r\n *\r\n * Utilize o parâmetro comparisonType para definir se a data selecionada deve ser maior ou menor que a data atual.\r\n * A validação será através do enum DateComparisonType.\r\n *\r\n * @example\r\n * this.myForm = this.fb.group({\r\n * NOME_CAMPO: ['', [Validators.required, AgroFormValidator.compareDateWithToday(DateComparisonType.greatherThan)]]\r\n * });\r\n * @param comparisonType\r\n * @returns\r\n */\r\n public static compareDateWithToday(comparisonType: DateComparisonType): ValidatorFn {\r\n const compareDate = (control: AbstractControl): { [key: string]: any } | null => {\r\n const methodName = 'dateComparisonToday';\r\n const selectedDate: Date = new Date(control.value);\r\n const currentDate: Date = new Date();\r\n\r\n const conditions = {\r\n [DateComparisonType.greatherThan]: selectedDate <= currentDate,\r\n [DateComparisonType.lessThan]: selectedDate >= currentDate\r\n };\r\n\r\n if (conditions[comparisonType]) {\r\n return { [methodName]: { value: control.value } };\r\n }\r\n\r\n return null;\r\n };\r\n return compareDate;\r\n }\r\n\r\n /**\r\n * Compara dois campos do tipo Date, verificando se o campo A é maior que o campo B. Se A for maior que B, então\r\n * o campo A é invalidado. Caso contrário, o campo A é validado.\r\n *\r\n * Aplique esse campo no FormGroup, passando os nomes dos campos que deseja comparar.\r\n * @example\r\n * this.myForm = this.fb.group({\r\n NOME_CAMPO_dateA: ['', Validators.required],\r\n NOME_CAMPO_dateB: ['', Validators.required]\r\n }, { validator: AgroFormValidator.dateComparisonValidator('NOME_CAMPO_dateA', 'NOME_CAMPO_dateB') });\r\n * @param controlNameA\r\n * @param controlNameB\r\n * @returns\r\n */\r\n public static compareDateWithOtherDateField(controlNameA: string, controlNameB: string): ValidatorFn {\r\n const compareDate = (control: AbstractControl): { [key: string]: any } | null => {\r\n const formGroup = control as FormGroup;\r\n const dateA = formGroup.get(controlNameA)?.value;\r\n const dateB = formGroup.get(controlNameB)?.value;\r\n const methodName = 'compareDateWithOtherDateField';\r\n if (dateA && dateB) {\r\n const dateAObj = new Date(dateA);\r\n const dateBObj = new Date(dateB);\r\n if (dateAObj < dateBObj) {\r\n formGroup.get(controlNameA)?.setErrors({ [methodName]: true });\r\n return { [methodName]: true };\r\n } else if (formGroup.get(controlNameA)?.hasError(methodName)) {\r\n formGroup.get(controlNameA)?.setErrors(null);\r\n }\r\n }\r\n return null;\r\n };\r\n return compareDate;\r\n }\r\n\r\n /**\r\n * Validator para checar se o campo é um número de telefone de acordo com uma máscara informada.\r\n *\r\n * @example\r\n * this.myForm = this.fb.group({\r\n * TELEFONE_FIELD: ['', [Validators.required, AgroFormValidator.phoneValidator('(99) 9999-9999')]]\r\n * });\r\n * @param mask\r\n * @returns\r\n */\r\n public static phoneValidator(mask: string): ValidatorFn {\r\n const phoneControlValidation = (control: AbstractControl): { [key: string]: any } | null => {\r\n const methodName = 'phoneValidator';\r\n const regex = new RegExp(`^${mask.replace(/9/g, '\\\\d').replace(/\\(/g, '\\\\(').replace(/\\)/g, '\\\\)').replace(/-/g, '\\\\-')}$`);\r\n if (control.value && !regex.test(control.value)) {\r\n control.setErrors({ [methodName]: true });\r\n return { [methodName]: true };\r\n }\r\n control.setErrors(null);\r\n return null;\r\n };\r\n return phoneControlValidation;\r\n }\r\n\r\n /**\r\n * Validator para checar se um campo de números é maior ou menor que outro campo.\r\n *\r\n * Aplique esse validator no FormGroup, passando os nomes dos campos que deseja comparar.\r\n * @example\r\n * this.myForm = this.fb.group({\r\n * NUMERO_A: ['', Validators.required],\r\n * NUMERO_B: ['', Validators.required]\r\n * }, { validator: AgroFormValidator.compareNumberFields('NUMERO_A', 'NUMERO_B', NumberComparisonType.EQUALS) });\r\n *\r\n * Neste caso, a verificação será se o NUMERO_A é igual ao NUMERB_B.\r\n * @param controlNameA\r\n * @param controlNameB\r\n * @returns\r\n */\r\n public static compareNumberFields(controlNameA: string, controlNameB: string, comparisonMethod: NumberComparisonType): ValidatorFn {\r\n const compareNumber = (control: AbstractControl): { [key: string]: any } | null => {\r\n const formGroup = control as FormGroup;\r\n const numberA = formGroup.get(controlNameA)?.value;\r\n const numberB = formGroup.get(controlNameB)?.value;\r\n const methodName = 'compareNumberFields';\r\n if (numberA && numberB) {\r\n const errorType = NumberComparisonType[comparisonMethod];\r\n const errorCondition = {\r\n [NumberComparisonType.EQUALS]: numberA !== numberB,\r\n [NumberComparisonType.GREATER_THAN]: numberA <= numberB,\r\n [NumberComparisonType.LESS_THAN]: numberA >= numberB,\r\n [NumberComparisonType.GREATER_THAN_OR_EQUAL]: numberA < numberB,\r\n [NumberComparisonType.LESS_THAN_OR_EQUAL]: numberA > numberB,\r\n [NumberComparisonType.NOT_EQUALS]: numberA === numberB\r\n };\r\n\r\n if (errorCondition[comparisonMethod]) {\r\n const controlA = formGroup.get(controlNameA);\r\n if (controlA) {\r\n controlA.setErrors({ [methodName]: comparisonMethod });\r\n }\r\n return { [methodName]: errorType };\r\n } else if (formGroup.get(controlNameA)?.hasError(methodName)) {\r\n const controlA = formGroup.get(controlNameA);\r\n if (controlA) {\r\n controlA.setErrors(null);\r\n }\r\n }\r\n }\r\n return null;\r\n };\r\n return compareNumber;\r\n }\r\n\r\n /**\r\n * Validator para checar se um valor está entre os demais valores de três formControls.\r\n *\r\n * Aplique esse validator no FormGroup, passando os nomes dos três formControls que deseja comparar.\r\n * @example\r\n * this.myForm = this.fb.group({\r\n * minorFormControl: ['', Validators.required],\r\n * targetFormControl: ['', Validators.required],\r\n * majorFormControl: ['', Validators.required]\r\n * }, { validator: AgroFormValidator.checkValueBetween('minorFormControl', 'targetFormControl', 'majorFormControl') });\r\n *\r\n * Neste caso, a verificação será se o targetFormControl está entre o minorFormControl e o majorFormControl.\r\n * @param minorFormControl\r\n * @param targetFormControl\r\n * @param majorFormControl\r\n * @returns\r\n */\r\n public static checkValueBetween(minorFormControl: string, targetFormControl: string, majorFormControl: string): ValidatorFn {\r\n const checkValue = (control: AbstractControl): { [key: string]: any } | null => {\r\n const formGroup = control as FormGroup;\r\n const valueA = formGroup.get(minorFormControl)?.value;\r\n const valueB = formGroup.get(targetFormControl)?.value;\r\n const valueC = formGroup.get(majorFormControl)?.value;\r\n const methodName = 'checkValueBetween';\r\n\r\n const areNumbers = [valueA, valueB, valueC].every(v => v !== null && v !== undefined);\r\n\r\n if (areNumbers) {\r\n if (valueB < valueA || valueB > valueC) {\r\n const targetControl = formGroup.get(targetFormControl);\r\n if (targetControl) {\r\n targetControl.setErrors({ [methodName]: true });\r\n }\r\n return { [methodName]: true };\r\n } else {\r\n const targetControl = formGroup.get(targetFormControl);\r\n if (targetControl?.hasError(methodName)) {\r\n const errors = { ...targetControl.errors };\r\n delete errors[methodName];\r\n targetControl.setErrors(Object.keys(errors).length ? errors : null);\r\n }\r\n }\r\n }\r\n return null;\r\n };\r\n return checkValue;\r\n }\r\n\r\n\r\n /**\r\n * Validator para checar se o campo é um objeto e se possui uma propriedade específica.\r\n *\r\n * @example\r\n * this.myForm = this.fb.group({\r\n * OBJETO_FIELD: ['', [Validators.required, AgroFormValidator.objectPropertyValidator('propriedade')]]\r\n * });\r\n * @param propertyName\r\n * @returns\r\n */\r\n public static objectPropertyValidator(propertyName: string): ValidatorFn {\r\n const objectProperty = (control: AbstractControl): { [key: string]: any } | null => {\r\n const methodName = 'objectProperty';\r\n if (ObjectUtils.isObject(control.value) && ObjectUtils.containsProperty(control.value, propertyName)) {\r\n control.setErrors(null);\r\n return null;\r\n }\r\n control.setErrors({ [methodName]: true });\r\n return { [methodName]: true };\r\n };\r\n return objectProperty;\r\n }\r\n\r\n /**\r\n * Valida se o campo é um CPF (Cadastro de Pessoa Física) válido.\r\n */\r\n public static CPFValidator(): ValidatorFn {\r\n const cpfVal = (control: AbstractControl): ValidationErrors | null => {\r\n const cpf = (control.value || '').replace(/[^\\d]/g, '');\r\n\r\n if (!cpf) {\r\n return null; // Não valida campo vazio, use Validators.required junto se quiser obrigatoriedade\r\n }\r\n\r\n if (cpf.length !== 11) {\r\n return { cpfValidator: true };\r\n }\r\n\r\n // Verifica se todos os dígitos são iguais (ex.: 11111111111)\r\n if (/^(\\d)\\1{10}$/.test(cpf)) {\r\n return { cpfValidator: true };\r\n }\r\n\r\n // Validação dos dígitos verificadores\r\n const calcCheckDigit = (cpfSlice: string, factor: number) => {\r\n let total = 0;\r\n for (const digit of cpfSlice) {\r\n total += parseInt(digit, 10) * factor--;\r\n }\r\n const remainder = total % 11;\r\n return remainder < 2 ? 0 : 11 - remainder;\r\n };\r\n\r\n const digit1 = calcCheckDigit(cpf.substring(0, 9), 10);\r\n const digit2 = calcCheckDigit(cpf.substring(0, 9) + digit1, 11);\r\n\r\n const isValid = digit1 === parseInt(cpf.charAt(9), 10) &&\r\n digit2 === parseInt(cpf.charAt(10), 10);\r\n\r\n return isValid ? null : { cpfValidator: true };\r\n };\r\n return cpfVal;\r\n }\r\n\r\n /**\r\n * Validator de CNPJ (Cadastro Nacional da Pessoa Jurídica).\r\n * @returns \r\n */\r\n public static CNPJValidator(): ValidatorFn {\r\n const cnpjVal = (control: AbstractControl): ValidationErrors | null => {\r\n const value = control.value?.replace(/\\D/g, '');\r\n\r\n if (!value || value.length !== 14) {\r\n return { cnpjValidator: true };\r\n }\r\n\r\n // Verifica CNPJs com todos os dígitos iguais (inválidos)\r\n if (/^(\\d)\\1{13}$/.test(value)) {\r\n return { cnpjValidator: true };\r\n }\r\n\r\n const validateCheckDigit = (cnpj: string, length: number): number => {\r\n const weights = length === 12\r\n ? [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]\r\n : [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n\r\n const sum = cnpj\r\n .slice(0, length)\r\n .split('')\r\n .reduce((acc, digit, index) => {\r\n return acc + parseInt(digit, 10) * weights[index];\r\n }, 0);\r\n\r\n const remainder = sum % 11;\r\n return remainder < 2 ? 0 : 11 - remainder;\r\n };\r\n\r\n const firstCheckDigit = validateCheckDigit(value, 12);\r\n const secondCheckDigit = validateCheckDigit(value, 13);\r\n\r\n if (\r\n firstCheckDigit !== parseInt(value.charAt(12), 10) ||\r\n secondCheckDigit !== parseInt(value.charAt(13), 10)\r\n ) {\r\n return { cnpjValidator: true };\r\n }\r\n\r\n return null; // válido\r\n };\r\n return cnpjVal;\r\n }\r\n\r\n\r\n /**\r\n * Valida se a placa do veículo é válida.\r\n * @returns \r\n */\r\n public static licensePlateValidator(): ValidatorFn {\r\n const licensePlateVal = (control: AbstractControl): { [key: string]: any } | null => {\r\n const value = (control.value || '').toUpperCase().trim().replace(/-/g, '');\r\n if (!value) {\r\n return null; // Campo vazio não é responsabilidade desse validador\r\n }\r\n\r\n const isValid = AGRO_REGEX.isMercosulLicensePlate.test(value) ||\r\n AGRO_REGEX.isOldLicensePlate.test(value);\r\n\r\n return isValid ? null : { licensePlateInvalid: true };\r\n };\r\n return licensePlateVal;\r\n }\r\n\r\n\r\n\r\n}","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { AgroStringUtils } from \"../../common\";\r\nimport { AgroStringMasks } from \"../../enums\";\r\n\r\n@Pipe({\r\n name: \"cnpjCpf\",\r\n})\r\nexport class CnpjCpfPipe implements PipeTransform {\r\n transform(value: unknown, ...args: unknown[]): unknown {\r\n if (typeof value !== \"string\" && typeof value === \"number\") {\r\n value = value?.toString();\r\n }\r\n\r\n if (typeof value !== \"string\") {\r\n return value;\r\n }\r\n\r\n if (AgroStringUtils.validateCNPJ(value)) {\r\n return AgroStringUtils.applyMask(value, AgroStringMasks.CNPJ);\r\n }\r\n\r\n if (AgroStringUtils.validateCPF(value)) {\r\n return AgroStringUtils.applyMask(value, AgroStringMasks.CPF);\r\n }\r\n return value;\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { CnpjCpfPipe } from \"./cnpj-cpf.pipe\";\r\n\r\n@NgModule({\r\n declarations: [CnpjCpfPipe],\r\n imports: [CommonModule],\r\n exports: [CnpjCpfPipe],\r\n})\r\nexport class CnpjCpfPipeModule {}\r\n","import { PipeTransform } from \"@angular/core\";\r\nimport { AgroStringUtils } from \"./agro-string-utils.class\";\r\n\r\nexport type UsePipes = {\r\n [key: string]: PipeTransform | string;\r\n};\r\n\r\nexport class AgroObjectStringifier {\r\n /**\r\n * Formata um objeto concatenando valores segundo as chaves e pipes informados.\r\n *\r\n * @param separator Separador entre os valores (ex: \"-\")\r\n * @param fields Campos a extrair. Podem conter subpropriedades (\"propriedade.subPropriedade\") e pipes (\"propriedade|nomeDaPipe:arg1:arg2\")\r\n * @param obj Objeto origem\r\n */\r\n static formatObject(separator: string, fields: string[], obj: any, usePipes?: UsePipes): string {\r\n function mapField(field: string): string {\r\n const value = AgroObjectStringifier.resolvePath(obj, field);\r\n if (usePipes?.hasOwnProperty(field)) {\r\n\r\n if (AgroStringUtils.isString(usePipes[field])) {\r\n return (usePipes[field] as string).toString();\r\n }\r\n return (usePipes[field] as PipeTransform).transform(value);\r\n\r\n }\r\n return value ?? \"\";\r\n }\r\n\r\n function filterValid(v: string | number): boolean {\r\n return typeof v === \"number\" || AgroStringUtils.isValid(v);\r\n }\r\n\r\n return fields.map(mapField).filter(filterValid).join(` ${separator} `);\r\n }\r\n\r\n /** Resolve um caminho tipo \"empresa.cargo\" dentro de um objeto */\r\n private static resolvePath(obj: any, path: string): any {\r\n function reducer(acc: any, key: string): any {\r\n return acc?.[key];\r\n }\r\n return path.split(\".\").reduce(reducer, obj);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { AgroObjectStringifier, UsePipes } from \"../../common/agro-object-stringifier.class\";\r\n\r\ntype AnyObject = { [key: string]: any };\r\n\r\n@Pipe({ name: \"stringifier\" })\r\nexport class StringifierPipe implements PipeTransform {\r\n transform(value: AnyObject, separator: string, paths: string[], pipes?: UsePipes): string {\r\n return AgroObjectStringifier.formatObject(separator, paths, value, pipes);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { StringifierPipe } from \"./stringifier.pipe\";\r\n\r\n@NgModule({\r\n declarations: [StringifierPipe],\r\n imports: [CommonModule],\r\n exports: [StringifierPipe],\r\n})\r\nexport class StringifierPipeModule {}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { AGRO_NUMBERS } from \"../../enums/agro-numbers.enum\";\r\n\r\n@Pipe({ name: \"telephone\" })\r\nexport class TelephonePipe implements PipeTransform {\r\n /**\r\n * Transforma um número de telefone aplicando máscara automaticamente.\r\n * @param value Valor do telefone.\r\n * @param withDDI Define se deve forçar formatação com DDI (mesmo que não exista).\r\n */\r\n transform(value: string | number, withDDI = false): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n const digits = this.cleanDigits(value);\r\n if (!digits) {\r\n return value.toString();\r\n }\r\n\r\n const { ddi, ddd, number } = this.extractParts(digits, withDDI);\r\n return this.formatPhone(ddi, ddd, number, value.toString(), withDDI);\r\n }\r\n\r\n /** Remove todos os caracteres não numéricos */\r\n private cleanDigits(value: string | number): string {\r\n return value.toString().replace(/\\D+/g, \"\");\r\n }\r\n\r\n /** Extrai DDI, DDD e número, considerando se deve aplicar DDI forçado */\r\n private extractParts(digits: string, withDDI: boolean): { ddi: string; ddd: string; number: string } {\r\n const len = digits.length;\r\n\r\n if (withDDI) {\r\n return this.extractWithDDI(digits);\r\n }\r\n\r\n if (len <= AGRO_NUMBERS.NINE) {\r\n return { ddi: \"\", ddd: \"\", number: digits };\r\n }\r\n\r\n if (len <= AGRO_NUMBERS.ELEVEN) {\r\n return this.extractWithDDD(digits);\r\n }\r\n\r\n return this.extractWithDDI(digits);\r\n }\r\n\r\n /** Extrai DDD e número (sem DDI) */\r\n private extractWithDDD(digits: string): { ddi: string; ddd: string; number: string } {\r\n const ddd = digits.slice(0, 2);\r\n const number = digits.slice(2);\r\n return { ddi: \"\", ddd, number };\r\n }\r\n\r\n /** Extrai DDI, DDD e número */\r\n private extractWithDDI(digits: string): { ddi: string; ddd: string; number: string } {\r\n const len = digits.length;\r\n\r\n let ddiLen = AGRO_NUMBERS.ONE;\r\n if (len >= AGRO_NUMBERS.FOURTEEN) {\r\n ddiLen = AGRO_NUMBERS.THREE;\r\n }\r\n if (len >= AGRO_NUMBERS.TWELVE) {\r\n ddiLen = AGRO_NUMBERS.TWO;\r\n }\r\n\r\n const ddi = digits.slice(AGRO_NUMBERS.ZERO, ddiLen);\r\n const ddd = digits.slice(ddiLen, ddiLen + AGRO_NUMBERS.TWO);\r\n const number = digits.slice(ddiLen + AGRO_NUMBERS.TWO);\r\n return { ddi, ddd, number };\r\n }\r\n\r\n /** Monta o número formatado */\r\n private formatPhone(ddi: string, ddd: string, number: string, fallback: string, withDDI: boolean): string {\r\n if (!number) {\r\n return fallback;\r\n }\r\n\r\n let formatted = \"\";\r\n\r\n if (withDDI || ddi) {\r\n formatted += `+${ddi || \"55\"} `;\r\n }\r\n if (ddd) {\r\n formatted += `(${ddd}) `;\r\n }\r\n\r\n formatted += this.formatNumber(number);\r\n return formatted;\r\n }\r\n\r\n /** Aplica máscara de 8 ou 9 dígitos */\r\n private formatNumber(number: string): string {\r\n const len = number.length;\r\n if (len === AGRO_NUMBERS.NINE) {\r\n return `${number.slice(AGRO_NUMBERS.ZERO, AGRO_NUMBERS.FIVE)}-${number.slice(AGRO_NUMBERS.FIVE)}`;\r\n }\r\n if (len === AGRO_NUMBERS.EIGHT) {\r\n return `${number.slice(AGRO_NUMBERS.ZERO, AGRO_NUMBERS.FOUR)}-${number.slice(AGRO_NUMBERS.FOUR)}`;\r\n }\r\n return number;\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { TelephonePipe } from \"./telephone.pipe\";\r\n\r\n@NgModule({\r\n declarations: [TelephonePipe],\r\n imports: [CommonModule],\r\n exports: [TelephonePipe],\r\n})\r\nexport class TelephonePipeModule {}\r\n","import { ModuleWithProviders, NgModule, InjectionToken } from \"@angular/core\";\r\n\r\nexport interface HostProjectConfigs {\r\n domain: string;\r\n service: string;\r\n}\r\n\r\nexport const LIB_CONFIG = new InjectionToken<HostProjectConfigs>(\"AgroAngularComponentsConfig\");\r\n\r\n@NgModule({\r\n})\r\nexport class AgroAngularComponentsModule {\r\n static forRoot(config: HostProjectConfigs): ModuleWithProviders<AgroAngularComponentsModule> {\r\n return {\r\n ngModule: AgroAngularComponentsModule,\r\n providers: [\r\n {\r\n provide: LIB_CONFIG,\r\n useValue: config\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n","// Main entry point - exports everything organized by category\r\nexport * from './common/index';\r\nexport * from './components/index';\r\nexport * from './enums/index';\r\nexport * from './form-validator/index';\r\nexport * from './pipe/index';\r\nexport * from './services/index';\r\n\r\n// Re-export additional modules\r\nexport { LibTranslationModule } from \"./lib-translation.module\";\r\nexport { AgroAngularComponentsModule, LIB_CONFIG } from \"./agro-angular-components.module\";\r\nexport type { HostProjectConfigs } from \"./agro-angular-components.module\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["StringUtils","PrimeTableModule","PrimeSharedModule","TableModule","i1","i1.LibTranslationService","i2","i3.LibTranslationService","i4","i5","i6","i7","i8.LibTranslatePipe","getCookie","i1.UserInformationService","userService","StepState","i3.WebsocketService","i4.EventControlService","i5.PaginatorStorageService","i6.EventControlItemService","i7.ProducerInvoiceService","i8","i9","i10","i11","i12","i14","i15","i17","i19.EventStepsComponent","i20","i21.LibTranslatePipe","FieldsetModule","i2.AgroInvoiceService","i3","i4.KilogramPipe","i13","i14.LibTranslatePipe","SharedModule","i2.LibTranslationModule","i6.KilogramModule","i11.AgroInvoiceModule","i16","i18","i19","i6.ProducerInvoiceService","i15.LibTranslatePipe","i2.AgroFinancialService","i16.LibTranslatePipe","ObjectUtils"],"mappings":"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"}