@golemio/energetics 1.7.1-dev.2195848807 → 1.7.1-dev.2249489220

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 (75) hide show
  1. package/db/migrations/postgresql/20251210082937-ppas-distribution-invoice-data.js +53 -0
  2. package/db/migrations/postgresql/sqls/20251210082937-ppas-distribution-invoice-data-down.sql +3 -0
  3. package/db/migrations/postgresql/sqls/20251210082937-ppas-distribution-invoice-data-up.sql +89 -0
  4. package/dist/input-gateway/transformations/PreCsvInputTransformation.d.ts +1 -1
  5. package/dist/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.d.ts +1 -1
  6. package/dist/integration-engine/commodity-providers/workers/schema/PreEanMeasurementSchema.d.ts +1 -1
  7. package/dist/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.d.ts +1 -1
  8. package/dist/integration-engine/enapo/datasources/ppas/distribution/PpasDistributionDatasource.d.ts +20 -0
  9. package/dist/integration-engine/enapo/datasources/ppas/distribution/PpasDistributionDatasource.js +118 -0
  10. package/dist/integration-engine/enapo/datasources/ppas/distribution/PpasDistributionDatasource.js.map +1 -0
  11. package/dist/integration-engine/enapo/ioc/Di.js +15 -3
  12. package/dist/integration-engine/enapo/ioc/Di.js.map +1 -1
  13. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.d.ts +6 -0
  14. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js +6 -0
  15. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js.map +1 -1
  16. package/dist/integration-engine/enapo/repositories/ppas/PpasDistributionInvoiceDeviceRepository.d.ts +7 -0
  17. package/dist/integration-engine/enapo/repositories/ppas/PpasDistributionInvoiceDeviceRepository.js +35 -0
  18. package/dist/integration-engine/enapo/repositories/ppas/PpasDistributionInvoiceDeviceRepository.js.map +1 -0
  19. package/dist/integration-engine/enapo/repositories/ppas/PpasDistributionInvoicePriceRepository.d.ts +7 -0
  20. package/dist/integration-engine/enapo/repositories/ppas/PpasDistributionInvoicePriceRepository.js +35 -0
  21. package/dist/integration-engine/enapo/repositories/ppas/PpasDistributionInvoicePriceRepository.js.map +1 -0
  22. package/dist/integration-engine/enapo/repositories/ppas/PpasDistributionInvoiceRepository.d.ts +7 -0
  23. package/dist/integration-engine/enapo/repositories/ppas/PpasDistributionInvoiceRepository.js +35 -0
  24. package/dist/integration-engine/enapo/repositories/ppas/PpasDistributionInvoiceRepository.js.map +1 -0
  25. package/dist/integration-engine/enapo/transformations/ppas/PpasDistributionTransformation.d.ts +32 -0
  26. package/dist/integration-engine/enapo/transformations/ppas/PpasDistributionTransformation.js +197 -0
  27. package/dist/integration-engine/enapo/transformations/ppas/PpasDistributionTransformation.js.map +1 -0
  28. package/dist/integration-engine/enapo/workers/EnapoWorker.js +1 -0
  29. package/dist/integration-engine/enapo/workers/EnapoWorker.js.map +1 -1
  30. package/dist/integration-engine/enapo/workers/interfaces/IEnapoPpasDistributionParams.d.ts +4 -0
  31. package/dist/integration-engine/enapo/{interfaces/predi/IPrediMetadata.js → workers/interfaces/IEnapoPpasDistributionParams.js} +1 -1
  32. package/dist/integration-engine/enapo/workers/interfaces/IEnapoPpasDistributionParams.js.map +1 -0
  33. package/dist/integration-engine/enapo/workers/schema/EnapoPpasDistributionParamsSchema.d.ts +5 -0
  34. package/dist/integration-engine/enapo/workers/schema/EnapoPpasDistributionParamsSchema.js +29 -0
  35. package/dist/integration-engine/enapo/workers/schema/EnapoPpasDistributionParamsSchema.js.map +1 -0
  36. package/dist/integration-engine/enapo/workers/task/EnapoPpasDistributionTask.d.ts +27 -0
  37. package/dist/integration-engine/enapo/workers/task/EnapoPpasDistributionTask.js +95 -0
  38. package/dist/integration-engine/enapo/workers/task/EnapoPpasDistributionTask.js.map +1 -0
  39. package/dist/schema-definitions/datasources/commodity-providers/IPreEanMeasurement.js.map +1 -0
  40. package/dist/schema-definitions/datasources/enapo/ppas/distribution/IPpasDistributionInvoiceDetailInput.d.ts +78 -0
  41. package/dist/schema-definitions/datasources/enapo/ppas/distribution/IPpasDistributionInvoiceDetailInput.js +3 -0
  42. package/dist/schema-definitions/datasources/enapo/ppas/distribution/IPpasDistributionInvoiceDetailInput.js.map +1 -0
  43. package/dist/schema-definitions/datasources/enapo/ppas/distribution/IPpasDistributionInvoiceListInput.d.ts +40 -0
  44. package/dist/schema-definitions/datasources/enapo/ppas/distribution/IPpasDistributionInvoiceListInput.js +3 -0
  45. package/dist/schema-definitions/datasources/enapo/ppas/distribution/IPpasDistributionInvoiceListInput.js.map +1 -0
  46. package/dist/schema-definitions/datasources/enapo/ppas/distribution/PpasDistributionSchema.d.ts +7 -0
  47. package/dist/schema-definitions/datasources/enapo/ppas/distribution/PpasDistributionSchema.js +224 -0
  48. package/dist/schema-definitions/datasources/enapo/ppas/distribution/PpasDistributionSchema.js.map +1 -0
  49. package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceDeviceModel.d.ts +24 -0
  50. package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceDeviceModel.js +52 -0
  51. package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceDeviceModel.js.map +1 -0
  52. package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceModel.d.ts +46 -0
  53. package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceModel.js +102 -0
  54. package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceModel.js.map +1 -0
  55. package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoicePriceModel.d.ts +23 -0
  56. package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoicePriceModel.js +50 -0
  57. package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoicePriceModel.js.map +1 -0
  58. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoice.d.ts +40 -0
  59. package/dist/{integration-engine/enapo/interfaces/IPPasMeasurementData.js → schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoice.js} +1 -1
  60. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoice.js.map +1 -0
  61. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoiceDevice.d.ts +18 -0
  62. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoiceDevice.js +3 -0
  63. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoiceDevice.js.map +1 -0
  64. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoicePrice.d.ts +17 -0
  65. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoicePrice.js +3 -0
  66. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoicePrice.js.map +1 -0
  67. package/docs/implementation_documentation.md +57 -0
  68. package/package.json +1 -1
  69. package/dist/integration-engine/commodity-providers/workers/interfaces/IPreEanMeasurement.js.map +0 -1
  70. package/dist/integration-engine/enapo/interfaces/IPPasMeasurementData.d.ts +0 -28
  71. package/dist/integration-engine/enapo/interfaces/IPPasMeasurementData.js.map +0 -1
  72. package/dist/integration-engine/enapo/interfaces/predi/IPrediMetadata.d.ts +0 -17
  73. package/dist/integration-engine/enapo/interfaces/predi/IPrediMetadata.js.map +0 -1
  74. /package/dist/{integration-engine/commodity-providers/workers/interfaces → schema-definitions/datasources/commodity-providers}/IPreEanMeasurement.d.ts +0 -0
  75. /package/dist/{integration-engine/commodity-providers/workers/interfaces → schema-definitions/datasources/commodity-providers}/IPreEanMeasurement.js +0 -0
@@ -0,0 +1,17 @@
1
+ export interface IPpasDistributionInvoicePrice {
2
+ invoice_id: string;
3
+ date_from: string;
4
+ date_to: string;
5
+ kind: string;
6
+ description: string;
7
+ price_group: string;
8
+ quantity: number;
9
+ unit: string;
10
+ unit_price: number;
11
+ time_slot: number;
12
+ price_netto: number;
13
+ currency: string;
14
+ tax_rate: number;
15
+ price_type: string;
16
+ customer_id: string;
17
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IPpasDistributionInvoicePrice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPpasDistributionInvoicePrice.js","sourceRoot":"","sources":["../../../../../../src/schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoicePrice.ts"],"names":[],"mappings":""}
@@ -626,6 +626,63 @@ Task stahuje geometrie (polygony) pro budovy a stavby ze systému ENO. Je automa
626
626
  - unit testy
627
627
  - [EnoGeometryTask.test.ts](../test/integration-engine/enapo/task/EnoGeometryTask.test.ts)
628
628
 
629
+ #### _PPAS Distribution API_
630
+
631
+ - zdroj dat
632
+ - url: https://distribution-api.ppas.cz (module.energetics.enapo.ppas.distribution.url)
633
+ - OAuth2 URL: https://distribution-oauth.ppas.cz/oauth/token (module.energetics.enapo.ppas.distribution.oauthUrl)
634
+ - autentizace: OAuth2 Client Credentials Flow
635
+ - clientId: module.energetics.enapo.ppas.distribution.clientId
636
+ - clientSecret: module.energetics.enapo.ppas.distribution.clientSecret
637
+ - accessToken header: module.energetics.enapo.ppas.distribution.accessToken
638
+ - API dokumentace: interní dokumentace PPAS
639
+ - Kdyz jsou hodnoty v consumptionKwh negativni tak se jedna o storno označeno jako CORRECTION pokud ne označeno jako STANDARD, pokud prijdou dve nulove hodnoty za sebou, nazváno zero rows, tak je první brána jako STANDARD a druhá CORRECTION
640
+ - formát dat
641
+ - protokol: https (REST API)
642
+ - datový typ: json
643
+ - validační schémata:
644
+ - [PpasDistributionInvoiceListInput](../src/schema-definitions/datasources/enapo/ppas/distribution/IPpasDistributionInvoiceListInput.ts) - seznam faktur
645
+ - [PpasDistributionInvoiceDetailInput](../src/schema-definitions/datasources/enapo/ppas/distribution/IPpasDistributionInvoiceDetailInput.ts) - detail faktury včetně zařízení a cen
646
+ - [PpasDistributionSchema](../src/schema-definitions/datasources/enapo/ppas/distribution/PpasDistributionSchema.ts) - JSON Schema validace
647
+ - příklad vstupních dat:
648
+ - [ppas_distribution_invoice_list_input.json](../test/integration-engine/data/enapo/ppas_distribution_invoice_list_input.json)
649
+ - [ppas_distribution_invoice_detail_input.json](../test/integration-engine/data/enapo/ppas_distribution_invoice_detail_input.json)
650
+ - datasource
651
+ - [PpasDistributionDatasource](../src/integration-engine/enapo/datasources/ppas/distribution/PpasDistributionDatasource.ts)
652
+ - `getInvoiceList(from, to, ic?)` - získání seznamu faktur za období
653
+ - `getInvoiceDetail(intNum)` - získání detailu faktury včetně zařízení, odečtů a cen
654
+ - Automatická správa OAuth2 tokenu (refresh před expirací)
655
+ - Validace odpovědí pomocí JSON Schema
656
+ - unit testy
657
+ - [PpasDistributionDatasource.test.ts](../test/integration-engine/enapo/datasource/PpasDistributionDatasource.test.ts)
658
+
659
+ #### _task: EnapoPpasDistributionTask_
660
+
661
+ Task stahuje fakturační data distribuce od PPAS včetně informací o fakturách, zařízeních, odečtech a cenách. Data jsou následně transformována a uložena do tří souvisejících tabulek.
662
+
663
+ - vstupní rabbitmq fronta
664
+ - název: dataplatform.enapoenergetics.fetchPpasDistribution
665
+ - TTL: 1 hodina
666
+ - parametry: `{ from?, to? }`
667
+ - `from` - datum od (formát YYYY-MM-DD), volitelné - výchozí: dnes - 3 dny
668
+ - `to` - datum do (formát YYYY-MM-DD), volitelné - výchozí: dnes
669
+ - validační schéma: [EnapoPpasDistributionParamsSchema](../src/integration-engine/enapo/workers/schema/EnapoPpasDistributionParamsSchema.ts)
670
+ - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
671
+ - žádné
672
+ - datové zdroje
673
+ - PPAS Distribution API
674
+ - [PpasDistributionDatasource](../src/integration-engine/enapo/datasources/ppas/distribution/PpasDistributionDatasource.ts)
675
+ - transformace
676
+ - [PpasDistributionTransformation](../src/integration-engine/enapo/transformations/ppas/PpasDistributionTransformation.ts) - transformace dat faktur
677
+ - Transformuje fakturační hlavičku s informacemi o zákazníkovi, adresách a fakturovaných částkách
678
+ - Zpracovává zařízení (devices) s jejich odečty včetně spotřeby elektřiny a plynu
679
+ - Zpracovává cenové položky (prices) s detailními informacemi o tarifech a jednotkových cenách
680
+ - Rozlišuje mezi standardní cenou STANDARD a korekcí CORRECTION
681
+ - data modely
682
+ - [PpasDistributionInvoiceModel](../src/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceModel.ts) tabulka `ppas_distribution_invoice` - hlavičky faktur
683
+ - [PpasDistributionInvoiceDeviceModel](../src/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceDeviceModel.ts) tabulka `ppas_distribution_invoice_device` - zařízení a odečty
684
+ - [PpasDistributionInvoicePriceModel](../src/schema-definitions/models/enapo/ppas/PpasDistributionInvoicePriceModel.ts) tabulka `ppas_distribution_invoice_price` - cenové položky
685
+
629
686
  ## Uložení dat
630
687
 
631
688
  - typ databáze
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/energetics",
3
- "version": "1.7.1-dev.2195848807",
3
+ "version": "1.7.1-dev.2249489220",
4
4
  "description": "Golemio Energetics Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"file":"IPreEanMeasurement.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/interfaces/IPreEanMeasurement.ts"],"names":[],"mappings":""}
@@ -1,28 +0,0 @@
1
- export interface IPPasMeasurementData {
2
- StandardTime: string;
3
- Timestamp: string;
4
- OperatingAmount: number;
5
- ConvertAmount: number;
6
- OperatingDifference: number;
7
- ConvertDifference: number;
8
- ConvertCoefficient: number;
9
- Correction: number;
10
- Temperature: number;
11
- Pressure: number;
12
- SampleState: number;
13
- Consumption: number;
14
- Energy: number | null;
15
- EnergyConsumption: number | null;
16
- DeviceSerialNumber: string;
17
- StateOfArchiveValues: any | null;
18
- DealerLicenceNumberHash: string | null;
19
- ManuallyInserted: boolean | null;
20
- Edited: boolean;
21
- Imported: boolean | null;
22
- UserId: number;
23
- LastChangeDate: string | null;
24
- IsChangedRow: boolean | null;
25
- ModemSerialNumber: string;
26
- Battery: number;
27
- SampleStateDescription: string;
28
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"IPPasMeasurementData.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/interfaces/IPPasMeasurementData.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- export interface IPrediMetadata {
2
- year: number;
3
- month: number;
4
- month_name: string;
5
- days_in_stored_month: number;
6
- id_company: string;
7
- trade_name: string;
8
- ean: string;
9
- address: string;
10
- tarif_type: string;
11
- tarif_1T2T: string;
12
- phases: string;
13
- circuit_breaker: string;
14
- location_type: string;
15
- type_B_meter: "YES" | "NO";
16
- meter_replaced: "YES" | "NO";
17
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"IPrediMetadata.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/interfaces/predi/IPrediMetadata.ts"],"names":[],"mappings":""}