@golemio/energetics 1.10.1-dev.2609634792 → 1.10.1-dev.2634930492

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 (91) hide show
  1. package/db/migrations/postgresql/20260619000001-ppas-commercial-invoice.js +47 -0
  2. package/db/migrations/postgresql/sqls/20260619000001-ppas-commercial-invoice-down.sql +4 -0
  3. package/db/migrations/postgresql/sqls/20260619000001-ppas-commercial-invoice-up.sql +99 -0
  4. package/dist/integration-engine/enapo/datasources/ppas/AbstractPpasDatasource.d.ts +16 -0
  5. package/dist/integration-engine/enapo/datasources/ppas/AbstractPpasDatasource.js +88 -0
  6. package/dist/integration-engine/enapo/datasources/ppas/AbstractPpasDatasource.js.map +1 -0
  7. package/dist/integration-engine/enapo/datasources/ppas/commercial/PpasCommercialDatasource.d.ts +13 -0
  8. package/dist/integration-engine/enapo/datasources/ppas/commercial/PpasCommercialDatasource.js +66 -0
  9. package/dist/integration-engine/enapo/datasources/ppas/commercial/PpasCommercialDatasource.js.map +1 -0
  10. package/dist/integration-engine/enapo/datasources/ppas/distribution/PpasDistributionDatasource.d.ts +3 -14
  11. package/dist/integration-engine/enapo/datasources/ppas/distribution/PpasDistributionDatasource.js +6 -86
  12. package/dist/integration-engine/enapo/datasources/ppas/distribution/PpasDistributionDatasource.js.map +1 -1
  13. package/dist/integration-engine/enapo/ioc/Di.js +14 -0
  14. package/dist/integration-engine/enapo/ioc/Di.js.map +1 -1
  15. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.d.ts +7 -0
  16. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js +7 -0
  17. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js.map +1 -1
  18. package/dist/integration-engine/enapo/repositories/ppas/PpasCommercialInvoiceDeviceRepository.d.ts +7 -0
  19. package/dist/integration-engine/enapo/repositories/ppas/PpasCommercialInvoiceDeviceRepository.js +35 -0
  20. package/dist/integration-engine/enapo/repositories/ppas/PpasCommercialInvoiceDeviceRepository.js.map +1 -0
  21. package/dist/integration-engine/enapo/repositories/ppas/PpasCommercialInvoiceInstallationRepository.d.ts +7 -0
  22. package/dist/integration-engine/enapo/repositories/ppas/PpasCommercialInvoiceInstallationRepository.js +35 -0
  23. package/dist/integration-engine/enapo/repositories/ppas/PpasCommercialInvoiceInstallationRepository.js.map +1 -0
  24. package/dist/integration-engine/enapo/repositories/ppas/PpasCommercialInvoicePriceRepository.d.ts +7 -0
  25. package/dist/integration-engine/enapo/repositories/ppas/PpasCommercialInvoicePriceRepository.js +35 -0
  26. package/dist/integration-engine/enapo/repositories/ppas/PpasCommercialInvoicePriceRepository.js.map +1 -0
  27. package/dist/integration-engine/enapo/repositories/ppas/PpasCommercialInvoiceRepository.d.ts +7 -0
  28. package/dist/integration-engine/enapo/repositories/ppas/PpasCommercialInvoiceRepository.js +35 -0
  29. package/dist/integration-engine/enapo/repositories/ppas/PpasCommercialInvoiceRepository.js.map +1 -0
  30. package/dist/integration-engine/enapo/transformations/ppas/PpasCommercialTransformation.d.ts +28 -0
  31. package/dist/integration-engine/enapo/transformations/ppas/PpasCommercialTransformation.js +184 -0
  32. package/dist/integration-engine/enapo/transformations/ppas/PpasCommercialTransformation.js.map +1 -0
  33. package/dist/integration-engine/enapo/transformations/ppas/PpasDistributionTransformation.d.ts +0 -18
  34. package/dist/integration-engine/enapo/transformations/ppas/PpasDistributionTransformation.js +14 -82
  35. package/dist/integration-engine/enapo/transformations/ppas/PpasDistributionTransformation.js.map +1 -1
  36. package/dist/integration-engine/enapo/transformations/ppas/PpasInvoicePriceTypeHelper.d.ts +33 -0
  37. package/dist/integration-engine/enapo/transformations/ppas/PpasInvoicePriceTypeHelper.js +87 -0
  38. package/dist/integration-engine/enapo/transformations/ppas/PpasInvoicePriceTypeHelper.js.map +1 -0
  39. package/dist/integration-engine/enapo/workers/EnapoWorker.js +1 -0
  40. package/dist/integration-engine/enapo/workers/EnapoWorker.js.map +1 -1
  41. package/dist/integration-engine/enapo/workers/interfaces/IEnapoPpasCommercialParams.d.ts +4 -0
  42. package/dist/integration-engine/enapo/workers/interfaces/IEnapoPpasCommercialParams.js +3 -0
  43. package/dist/integration-engine/enapo/workers/interfaces/IEnapoPpasCommercialParams.js.map +1 -0
  44. package/dist/integration-engine/enapo/workers/schema/EnapoPpasCommercialParamsSchema.d.ts +5 -0
  45. package/dist/integration-engine/enapo/workers/schema/EnapoPpasCommercialParamsSchema.js +29 -0
  46. package/dist/integration-engine/enapo/workers/schema/EnapoPpasCommercialParamsSchema.js.map +1 -0
  47. package/dist/integration-engine/enapo/workers/task/EnapoPpasCommercialTask.d.ts +34 -0
  48. package/dist/integration-engine/enapo/workers/task/EnapoPpasCommercialTask.js +181 -0
  49. package/dist/integration-engine/enapo/workers/task/EnapoPpasCommercialTask.js.map +1 -0
  50. package/dist/integration-engine/enapo/workers/task/EnapoPpasDistributionTask.js.map +1 -1
  51. package/dist/schema-definitions/datasources/enapo/ppas/IPpasInvoiceCommon.d.ts +23 -0
  52. package/dist/schema-definitions/datasources/enapo/ppas/IPpasInvoiceCommon.js +3 -0
  53. package/dist/schema-definitions/datasources/enapo/ppas/IPpasInvoiceCommon.js.map +1 -0
  54. package/dist/schema-definitions/datasources/enapo/ppas/commercial/IPpasCommercialInvoiceDetailInput.d.ts +62 -0
  55. package/dist/schema-definitions/datasources/enapo/ppas/commercial/IPpasCommercialInvoiceDetailInput.js +3 -0
  56. package/dist/schema-definitions/datasources/enapo/ppas/commercial/IPpasCommercialInvoiceDetailInput.js.map +1 -0
  57. package/dist/schema-definitions/datasources/enapo/ppas/commercial/IPpasCommercialInvoiceListInput.d.ts +26 -0
  58. package/dist/schema-definitions/datasources/enapo/ppas/commercial/IPpasCommercialInvoiceListInput.js +3 -0
  59. package/dist/schema-definitions/datasources/enapo/ppas/commercial/IPpasCommercialInvoiceListInput.js.map +1 -0
  60. package/dist/schema-definitions/datasources/enapo/ppas/commercial/PpasCommercialSchema.d.ts +5 -0
  61. package/dist/schema-definitions/datasources/enapo/ppas/commercial/PpasCommercialSchema.js +185 -0
  62. package/dist/schema-definitions/datasources/enapo/ppas/commercial/PpasCommercialSchema.js.map +1 -0
  63. package/dist/schema-definitions/datasources/enapo/ppas/distribution/IPpasDistributionInvoiceDetailInput.d.ts +7 -6
  64. package/dist/schema-definitions/datasources/enapo/ppas/distribution/IPpasDistributionInvoiceListInput.d.ts +5 -27
  65. package/dist/schema-definitions/datasources/enapo/ppas/distribution/PpasDistributionSchema.js.map +1 -1
  66. package/dist/schema-definitions/models/enapo/ppas/PpasCommercialInvoiceDeviceModel.d.ts +24 -0
  67. package/dist/schema-definitions/models/enapo/ppas/PpasCommercialInvoiceDeviceModel.js +54 -0
  68. package/dist/schema-definitions/models/enapo/ppas/PpasCommercialInvoiceDeviceModel.js.map +1 -0
  69. package/dist/schema-definitions/models/enapo/ppas/PpasCommercialInvoiceInstallationModel.d.ts +26 -0
  70. package/dist/schema-definitions/models/enapo/ppas/PpasCommercialInvoiceInstallationModel.js +56 -0
  71. package/dist/schema-definitions/models/enapo/ppas/PpasCommercialInvoiceInstallationModel.js.map +1 -0
  72. package/dist/schema-definitions/models/enapo/ppas/PpasCommercialInvoiceModel.d.ts +30 -0
  73. package/dist/schema-definitions/models/enapo/ppas/PpasCommercialInvoiceModel.js +64 -0
  74. package/dist/schema-definitions/models/enapo/ppas/PpasCommercialInvoiceModel.js.map +1 -0
  75. package/dist/schema-definitions/models/enapo/ppas/PpasCommercialInvoicePriceModel.d.ts +23 -0
  76. package/dist/schema-definitions/models/enapo/ppas/PpasCommercialInvoicePriceModel.js +52 -0
  77. package/dist/schema-definitions/models/enapo/ppas/PpasCommercialInvoicePriceModel.js.map +1 -0
  78. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoice.d.ts +24 -0
  79. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoice.js +3 -0
  80. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoice.js.map +1 -0
  81. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoiceDevice.d.ts +19 -0
  82. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoiceDevice.js +3 -0
  83. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoiceDevice.js.map +1 -0
  84. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoiceInstallation.d.ts +20 -0
  85. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoiceInstallation.js +3 -0
  86. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoiceInstallation.js.map +1 -0
  87. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoicePrice.d.ts +18 -0
  88. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoicePrice.js +3 -0
  89. package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoicePrice.js.map +1 -0
  90. package/docs/implementation_documentation.md +60 -1
  91. package/package.json +1 -1
@@ -5,6 +5,7 @@ const EnapoWorkerContainerToken = {
5
5
  //#region Datasource
6
6
  CommodityProviderDataSourceFactory: Symbol(),
7
7
  EnapoPpasDistributionDatasource: Symbol(),
8
+ EnapoPpasCommercialDatasource: Symbol(),
8
9
  PorsennaDatasource: Symbol(),
9
10
  PorsennaDataSourceProvider: Symbol(),
10
11
  //#endregion
@@ -15,6 +16,10 @@ const EnapoWorkerContainerToken = {
15
16
  PpasDistributionInvoiceDeviceRepository: Symbol(),
16
17
  PpasDistributionInvoicePriceRepository: Symbol(),
17
18
  PpasDistributionInvoiceRepository: Symbol(),
19
+ PpasCommercialInvoiceRepository: Symbol(),
20
+ PpasCommercialInvoiceInstallationRepository: Symbol(),
21
+ PpasCommercialInvoiceDeviceRepository: Symbol(),
22
+ PpasCommercialInvoicePriceRepository: Symbol(),
18
23
  PorsennaBuildingsRepository: Symbol(),
19
24
  PorsennaConsumptionRepository: Symbol(),
20
25
  PorsennaDevicesRepository: Symbol(),
@@ -25,6 +30,7 @@ const EnapoWorkerContainerToken = {
25
30
  PreDailyMeasurementsTransformation: Symbol(),
26
31
  PreMetadataTransformation: Symbol(),
27
32
  PpasDistributionTransformation: Symbol(),
33
+ PpasCommercialTransformation: Symbol(),
28
34
  PorsennaGaugeTransformation: Symbol(),
29
35
  PorsennaConsumptionTransformation: Symbol(),
30
36
  //#endregion
@@ -32,6 +38,7 @@ const EnapoWorkerContainerToken = {
32
38
  EnapoPpasTask: Symbol(),
33
39
  EnapoPrediTask: Symbol(),
34
40
  EnapoPpasDistributionTask: Symbol(),
41
+ EnapoPpasCommercialTask: Symbol(),
35
42
  PorsennaDistributionTask: Symbol(),
36
43
  //#endregion
37
44
  //#region Eno
@@ -1 +1 @@
1
- {"version":3,"file":"EnapoWorkerContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/ioc/EnapoWorkerContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,yBAAyB,GAAG;IAC9B,oBAAoB;IACpB,kCAAkC,EAAE,MAAM,EAAE;IAC5C,+BAA+B,EAAE,MAAM,EAAE;IACzC,kBAAkB,EAAE,MAAM,EAAE;IAC5B,0BAA0B,EAAE,MAAM,EAAE;IACpC,YAAY;IAEZ,sBAAsB;IACtB,2BAA2B,EAAE,MAAM,EAAE;IACrC,uBAAuB,EAAE,MAAM,EAAE;IACjC,4BAA4B,EAAE,MAAM,EAAE;IACtC,uCAAuC,EAAE,MAAM,EAAE;IACjD,sCAAsC,EAAE,MAAM,EAAE;IAChD,iCAAiC,EAAE,MAAM,EAAE;IAC3C,2BAA2B,EAAE,MAAM,EAAE;IACrC,6BAA6B,EAAE,MAAM,EAAE;IACvC,yBAAyB,EAAE,MAAM,EAAE;IACnC,YAAY;IAEZ,yBAAyB;IACzB,6BAA6B,EAAE,MAAM,EAAE;IACvC,6BAA6B,EAAE,MAAM,EAAE;IACvC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,yBAAyB,EAAE,MAAM,EAAE;IACnC,8BAA8B,EAAE,MAAM,EAAE;IACxC,2BAA2B,EAAE,MAAM,EAAE;IACrC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,YAAY;IAEZ,eAAe;IACf,aAAa,EAAE,MAAM,EAAE;IACvB,cAAc,EAAE,MAAM,EAAE;IACxB,yBAAyB,EAAE,MAAM,EAAE;IACnC,wBAAwB,EAAE,MAAM,EAAE;IAClC,YAAY;IAEZ,aAAa;IACb,oBAAoB,EAAE,MAAM,EAAE;IAE9B,8BAA8B,EAAE,MAAM,EAAE;IACxC,6BAA6B,EAAE,MAAM,EAAE;IACvC,wBAAwB,EAAE,MAAM,EAAE;IAClC,mBAAmB,EAAE,MAAM,EAAE;IAE7B,0BAA0B,EAAE,MAAM,EAAE;IACpC,yBAAyB,EAAE,MAAM,EAAE;IACnC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,eAAe,EAAE,MAAM,EAAE;IACzB,qBAAqB,EAAE,MAAM,EAAE;IAC/B,oBAAoB,EAAE,MAAM,EAAE;IAC9B,qBAAqB,EAAE,MAAM,EAAE;IAC/B,qBAAqB,EAAE,MAAM,EAAE;IAC/B,uBAAuB,EAAE,MAAM,EAAE;IACjC,sBAAsB,EAAE,MAAM,EAAE;IAChC,qBAAqB,EAAE,MAAM,EAAE;IAE/B,aAAa,EAAE,MAAM,EAAE;IACvB,eAAe,EAAE,MAAM,EAAE;IACzB,gBAAgB,EAAE,MAAM,EAAE;IAC1B,eAAe,EAAE,MAAM,EAAE;IACzB,YAAY;CACf,CAAC;AAEO,8DAAyB"}
1
+ {"version":3,"file":"EnapoWorkerContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/ioc/EnapoWorkerContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,yBAAyB,GAAG;IAC9B,oBAAoB;IACpB,kCAAkC,EAAE,MAAM,EAAE;IAC5C,+BAA+B,EAAE,MAAM,EAAE;IACzC,6BAA6B,EAAE,MAAM,EAAE;IACvC,kBAAkB,EAAE,MAAM,EAAE;IAC5B,0BAA0B,EAAE,MAAM,EAAE;IACpC,YAAY;IAEZ,sBAAsB;IACtB,2BAA2B,EAAE,MAAM,EAAE;IACrC,uBAAuB,EAAE,MAAM,EAAE;IACjC,4BAA4B,EAAE,MAAM,EAAE;IACtC,uCAAuC,EAAE,MAAM,EAAE;IACjD,sCAAsC,EAAE,MAAM,EAAE;IAChD,iCAAiC,EAAE,MAAM,EAAE;IAC3C,+BAA+B,EAAE,MAAM,EAAE;IACzC,2CAA2C,EAAE,MAAM,EAAE;IACrD,qCAAqC,EAAE,MAAM,EAAE;IAC/C,oCAAoC,EAAE,MAAM,EAAE;IAC9C,2BAA2B,EAAE,MAAM,EAAE;IACrC,6BAA6B,EAAE,MAAM,EAAE;IACvC,yBAAyB,EAAE,MAAM,EAAE;IACnC,YAAY;IAEZ,yBAAyB;IACzB,6BAA6B,EAAE,MAAM,EAAE;IACvC,6BAA6B,EAAE,MAAM,EAAE;IACvC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,yBAAyB,EAAE,MAAM,EAAE;IACnC,8BAA8B,EAAE,MAAM,EAAE;IACxC,4BAA4B,EAAE,MAAM,EAAE;IACtC,2BAA2B,EAAE,MAAM,EAAE;IACrC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,YAAY;IAEZ,eAAe;IACf,aAAa,EAAE,MAAM,EAAE;IACvB,cAAc,EAAE,MAAM,EAAE;IACxB,yBAAyB,EAAE,MAAM,EAAE;IACnC,uBAAuB,EAAE,MAAM,EAAE;IACjC,wBAAwB,EAAE,MAAM,EAAE;IAClC,YAAY;IAEZ,aAAa;IACb,oBAAoB,EAAE,MAAM,EAAE;IAE9B,8BAA8B,EAAE,MAAM,EAAE;IACxC,6BAA6B,EAAE,MAAM,EAAE;IACvC,wBAAwB,EAAE,MAAM,EAAE;IAClC,mBAAmB,EAAE,MAAM,EAAE;IAE7B,0BAA0B,EAAE,MAAM,EAAE;IACpC,yBAAyB,EAAE,MAAM,EAAE;IACnC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,eAAe,EAAE,MAAM,EAAE;IACzB,qBAAqB,EAAE,MAAM,EAAE;IAC/B,oBAAoB,EAAE,MAAM,EAAE;IAC9B,qBAAqB,EAAE,MAAM,EAAE;IAC/B,qBAAqB,EAAE,MAAM,EAAE;IAC/B,uBAAuB,EAAE,MAAM,EAAE;IACjC,sBAAsB,EAAE,MAAM,EAAE;IAChC,qBAAqB,EAAE,MAAM,EAAE;IAE/B,aAAa,EAAE,MAAM,EAAE;IACvB,eAAe,EAAE,MAAM,EAAE;IACzB,gBAAgB,EAAE,MAAM,EAAE;IAC1B,eAAe,EAAE,MAAM,EAAE;IACzB,YAAY;CACf,CAAC;AAEO,8DAAyB"}
@@ -0,0 +1,7 @@
1
+ import { IModel } from "@golemio/core/dist/integration-engine/models/IModel";
2
+ import { PostgresModel } from "@golemio/core/dist/integration-engine/models/PostgresModel";
3
+ export declare class PpasCommercialInvoiceDeviceRepository extends PostgresModel implements IModel {
4
+ static REPOSITORY_NAME: string;
5
+ static JSON_SCHEMA_VALIDATOR_NAME: string;
6
+ constructor();
7
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var PpasCommercialInvoiceDeviceRepository_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.PpasCommercialInvoiceDeviceRepository = void 0;
14
+ const _sch_1 = require("../../../../schema-definitions");
15
+ const PpasCommercialInvoiceDeviceModel_1 = require("../../../../schema-definitions/models/enapo/ppas/PpasCommercialInvoiceDeviceModel");
16
+ const PostgresModel_1 = require("@golemio/core/dist/integration-engine/models/PostgresModel");
17
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
18
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
19
+ let PpasCommercialInvoiceDeviceRepository = exports.PpasCommercialInvoiceDeviceRepository = PpasCommercialInvoiceDeviceRepository_1 = class PpasCommercialInvoiceDeviceRepository extends PostgresModel_1.PostgresModel {
20
+ constructor() {
21
+ super(PpasCommercialInvoiceDeviceRepository_1.REPOSITORY_NAME, {
22
+ pgTableName: PpasCommercialInvoiceDeviceModel_1.PpasCommercialInvoiceDeviceModel.TABLE_NAME,
23
+ pgSchema: _sch_1.EnergeticsSchema.pgSchema,
24
+ outputSequelizeAttributes: PpasCommercialInvoiceDeviceModel_1.PpasCommercialInvoiceDeviceModel.attributeModel,
25
+ savingType: "insertOrUpdate",
26
+ }, new golemio_validator_1.JSONSchemaValidator(PpasCommercialInvoiceDeviceRepository_1.JSON_SCHEMA_VALIDATOR_NAME, PpasCommercialInvoiceDeviceModel_1.PpasCommercialInvoiceDeviceModel.jsonSchema));
27
+ }
28
+ };
29
+ PpasCommercialInvoiceDeviceRepository.REPOSITORY_NAME = "PpasCommercialInvoiceDeviceRepository";
30
+ PpasCommercialInvoiceDeviceRepository.JSON_SCHEMA_VALIDATOR_NAME = "PpasCommercialInvoiceDeviceRepositoryValidator";
31
+ exports.PpasCommercialInvoiceDeviceRepository = PpasCommercialInvoiceDeviceRepository = PpasCommercialInvoiceDeviceRepository_1 = __decorate([
32
+ (0, tsyringe_1.injectable)(),
33
+ __metadata("design:paramtypes", [])
34
+ ], PpasCommercialInvoiceDeviceRepository);
35
+ //# sourceMappingURL=PpasCommercialInvoiceDeviceRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PpasCommercialInvoiceDeviceRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/repositories/ppas/PpasCommercialInvoiceDeviceRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yDAAwC;AACxC,wIAA2G;AAE3G,8FAA2F;AAC3F,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,qCAAqC,6FAA3C,MAAM,qCAAsC,SAAQ,6BAAa;IAIpE;QACI,KAAK,CACD,uCAAqC,CAAC,eAAe,EACrD;YACI,WAAW,EAAE,mEAAgC,CAAC,UAAU;YACxD,QAAQ,EAAE,uBAAgB,CAAC,QAAQ;YACnC,yBAAyB,EAAE,mEAAgC,CAAC,cAAc;YAC1E,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CACnB,uCAAqC,CAAC,0BAA0B,EAChE,mEAAgC,CAAC,UAAU,CAC9C,CACJ,CAAC;IACN,CAAC;;AAjBa,qDAAe,GAAG,uCAAuC,AAA1C,CAA2C;AAC1D,gEAA0B,GAAG,gDAAgD,AAAnD,CAAoD;gDAFnF,qCAAqC;IADjD,IAAA,qBAAU,GAAE;;GACA,qCAAqC,CAmBjD"}
@@ -0,0 +1,7 @@
1
+ import { IModel } from "@golemio/core/dist/integration-engine/models/IModel";
2
+ import { PostgresModel } from "@golemio/core/dist/integration-engine/models/PostgresModel";
3
+ export declare class PpasCommercialInvoiceInstallationRepository extends PostgresModel implements IModel {
4
+ static REPOSITORY_NAME: string;
5
+ static JSON_SCHEMA_VALIDATOR_NAME: string;
6
+ constructor();
7
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var PpasCommercialInvoiceInstallationRepository_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.PpasCommercialInvoiceInstallationRepository = void 0;
14
+ const _sch_1 = require("../../../../schema-definitions");
15
+ const PpasCommercialInvoiceInstallationModel_1 = require("../../../../schema-definitions/models/enapo/ppas/PpasCommercialInvoiceInstallationModel");
16
+ const PostgresModel_1 = require("@golemio/core/dist/integration-engine/models/PostgresModel");
17
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
18
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
19
+ let PpasCommercialInvoiceInstallationRepository = exports.PpasCommercialInvoiceInstallationRepository = PpasCommercialInvoiceInstallationRepository_1 = class PpasCommercialInvoiceInstallationRepository extends PostgresModel_1.PostgresModel {
20
+ constructor() {
21
+ super(PpasCommercialInvoiceInstallationRepository_1.REPOSITORY_NAME, {
22
+ pgTableName: PpasCommercialInvoiceInstallationModel_1.PpasCommercialInvoiceInstallationModel.TABLE_NAME,
23
+ pgSchema: _sch_1.EnergeticsSchema.pgSchema,
24
+ outputSequelizeAttributes: PpasCommercialInvoiceInstallationModel_1.PpasCommercialInvoiceInstallationModel.attributeModel,
25
+ savingType: "insertOrUpdate",
26
+ }, new golemio_validator_1.JSONSchemaValidator(PpasCommercialInvoiceInstallationRepository_1.JSON_SCHEMA_VALIDATOR_NAME, PpasCommercialInvoiceInstallationModel_1.PpasCommercialInvoiceInstallationModel.jsonSchema));
27
+ }
28
+ };
29
+ PpasCommercialInvoiceInstallationRepository.REPOSITORY_NAME = "PpasCommercialInvoiceInstallationRepository";
30
+ PpasCommercialInvoiceInstallationRepository.JSON_SCHEMA_VALIDATOR_NAME = "PpasCommercialInvoiceInstallationRepositoryValidator";
31
+ exports.PpasCommercialInvoiceInstallationRepository = PpasCommercialInvoiceInstallationRepository = PpasCommercialInvoiceInstallationRepository_1 = __decorate([
32
+ (0, tsyringe_1.injectable)(),
33
+ __metadata("design:paramtypes", [])
34
+ ], PpasCommercialInvoiceInstallationRepository);
35
+ //# sourceMappingURL=PpasCommercialInvoiceInstallationRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PpasCommercialInvoiceInstallationRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/repositories/ppas/PpasCommercialInvoiceInstallationRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yDAAwC;AACxC,oJAAuH;AAEvH,8FAA2F;AAC3F,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,2CAA2C,yGAAjD,MAAM,2CAA4C,SAAQ,6BAAa;IAI1E;QACI,KAAK,CACD,6CAA2C,CAAC,eAAe,EAC3D;YACI,WAAW,EAAE,+EAAsC,CAAC,UAAU;YAC9D,QAAQ,EAAE,uBAAgB,CAAC,QAAQ;YACnC,yBAAyB,EAAE,+EAAsC,CAAC,cAAc;YAChF,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CACnB,6CAA2C,CAAC,0BAA0B,EACtE,+EAAsC,CAAC,UAAU,CACpD,CACJ,CAAC;IACN,CAAC;;AAjBa,2DAAe,GAAG,6CAA6C,AAAhD,CAAiD;AAChE,sEAA0B,GAAG,sDAAsD,AAAzD,CAA0D;sDAFzF,2CAA2C;IADvD,IAAA,qBAAU,GAAE;;GACA,2CAA2C,CAmBvD"}
@@ -0,0 +1,7 @@
1
+ import { IModel } from "@golemio/core/dist/integration-engine/models/IModel";
2
+ import { PostgresModel } from "@golemio/core/dist/integration-engine/models/PostgresModel";
3
+ export declare class PpasCommercialInvoicePriceRepository extends PostgresModel implements IModel {
4
+ static REPOSITORY_NAME: string;
5
+ static JSON_SCHEMA_VALIDATOR_NAME: string;
6
+ constructor();
7
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var PpasCommercialInvoicePriceRepository_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.PpasCommercialInvoicePriceRepository = void 0;
14
+ const _sch_1 = require("../../../../schema-definitions");
15
+ const PpasCommercialInvoicePriceModel_1 = require("../../../../schema-definitions/models/enapo/ppas/PpasCommercialInvoicePriceModel");
16
+ const PostgresModel_1 = require("@golemio/core/dist/integration-engine/models/PostgresModel");
17
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
18
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
19
+ let PpasCommercialInvoicePriceRepository = exports.PpasCommercialInvoicePriceRepository = PpasCommercialInvoicePriceRepository_1 = class PpasCommercialInvoicePriceRepository extends PostgresModel_1.PostgresModel {
20
+ constructor() {
21
+ super(PpasCommercialInvoicePriceRepository_1.REPOSITORY_NAME, {
22
+ pgTableName: PpasCommercialInvoicePriceModel_1.PpasCommercialInvoicePriceModel.TABLE_NAME,
23
+ pgSchema: _sch_1.EnergeticsSchema.pgSchema,
24
+ outputSequelizeAttributes: PpasCommercialInvoicePriceModel_1.PpasCommercialInvoicePriceModel.attributeModel,
25
+ savingType: "insertOrUpdate",
26
+ }, new golemio_validator_1.JSONSchemaValidator(PpasCommercialInvoicePriceRepository_1.JSON_SCHEMA_VALIDATOR_NAME, PpasCommercialInvoicePriceModel_1.PpasCommercialInvoicePriceModel.jsonSchema));
27
+ }
28
+ };
29
+ PpasCommercialInvoicePriceRepository.REPOSITORY_NAME = "PpasCommercialInvoicePriceRepository";
30
+ PpasCommercialInvoicePriceRepository.JSON_SCHEMA_VALIDATOR_NAME = "PpasCommercialInvoicePriceRepositoryValidator";
31
+ exports.PpasCommercialInvoicePriceRepository = PpasCommercialInvoicePriceRepository = PpasCommercialInvoicePriceRepository_1 = __decorate([
32
+ (0, tsyringe_1.injectable)(),
33
+ __metadata("design:paramtypes", [])
34
+ ], PpasCommercialInvoicePriceRepository);
35
+ //# sourceMappingURL=PpasCommercialInvoicePriceRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PpasCommercialInvoicePriceRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/repositories/ppas/PpasCommercialInvoicePriceRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yDAAwC;AACxC,sIAAyG;AAEzG,8FAA2F;AAC3F,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,oCAAoC,2FAA1C,MAAM,oCAAqC,SAAQ,6BAAa;IAInE;QACI,KAAK,CACD,sCAAoC,CAAC,eAAe,EACpD;YACI,WAAW,EAAE,iEAA+B,CAAC,UAAU;YACvD,QAAQ,EAAE,uBAAgB,CAAC,QAAQ;YACnC,yBAAyB,EAAE,iEAA+B,CAAC,cAAc;YACzE,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CACnB,sCAAoC,CAAC,0BAA0B,EAC/D,iEAA+B,CAAC,UAAU,CAC7C,CACJ,CAAC;IACN,CAAC;;AAjBa,oDAAe,GAAG,sCAAsC,AAAzC,CAA0C;AACzD,+DAA0B,GAAG,+CAA+C,AAAlD,CAAmD;+CAFlF,oCAAoC;IADhD,IAAA,qBAAU,GAAE;;GACA,oCAAoC,CAmBhD"}
@@ -0,0 +1,7 @@
1
+ import { IModel } from "@golemio/core/dist/integration-engine/models/IModel";
2
+ import { PostgresModel } from "@golemio/core/dist/integration-engine/models/PostgresModel";
3
+ export declare class PpasCommercialInvoiceRepository extends PostgresModel implements IModel {
4
+ static REPOSITORY_NAME: string;
5
+ static JSON_SCHEMA_VALIDATOR_NAME: string;
6
+ constructor();
7
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var PpasCommercialInvoiceRepository_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.PpasCommercialInvoiceRepository = void 0;
14
+ const _sch_1 = require("../../../../schema-definitions");
15
+ const PpasCommercialInvoiceModel_1 = require("../../../../schema-definitions/models/enapo/ppas/PpasCommercialInvoiceModel");
16
+ const PostgresModel_1 = require("@golemio/core/dist/integration-engine/models/PostgresModel");
17
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
18
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
19
+ let PpasCommercialInvoiceRepository = exports.PpasCommercialInvoiceRepository = PpasCommercialInvoiceRepository_1 = class PpasCommercialInvoiceRepository extends PostgresModel_1.PostgresModel {
20
+ constructor() {
21
+ super(PpasCommercialInvoiceRepository_1.REPOSITORY_NAME, {
22
+ pgTableName: PpasCommercialInvoiceModel_1.PpasCommercialInvoiceModel.TABLE_NAME,
23
+ pgSchema: _sch_1.EnergeticsSchema.pgSchema,
24
+ outputSequelizeAttributes: PpasCommercialInvoiceModel_1.PpasCommercialInvoiceModel.attributeModel,
25
+ savingType: "insertOrUpdate",
26
+ }, new golemio_validator_1.JSONSchemaValidator(PpasCommercialInvoiceRepository_1.JSON_SCHEMA_VALIDATOR_NAME, PpasCommercialInvoiceModel_1.PpasCommercialInvoiceModel.jsonSchema));
27
+ }
28
+ };
29
+ PpasCommercialInvoiceRepository.REPOSITORY_NAME = "PpasCommercialInvoiceRepository";
30
+ PpasCommercialInvoiceRepository.JSON_SCHEMA_VALIDATOR_NAME = "PpasCommercialInvoiceRepositoryValidator";
31
+ exports.PpasCommercialInvoiceRepository = PpasCommercialInvoiceRepository = PpasCommercialInvoiceRepository_1 = __decorate([
32
+ (0, tsyringe_1.injectable)(),
33
+ __metadata("design:paramtypes", [])
34
+ ], PpasCommercialInvoiceRepository);
35
+ //# sourceMappingURL=PpasCommercialInvoiceRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PpasCommercialInvoiceRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/repositories/ppas/PpasCommercialInvoiceRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yDAAwC;AACxC,4HAA+F;AAE/F,8FAA2F;AAC3F,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,+BAA+B,iFAArC,MAAM,+BAAgC,SAAQ,6BAAa;IAI9D;QACI,KAAK,CACD,iCAA+B,CAAC,eAAe,EAC/C;YACI,WAAW,EAAE,uDAA0B,CAAC,UAAU;YAClD,QAAQ,EAAE,uBAAgB,CAAC,QAAQ;YACnC,yBAAyB,EAAE,uDAA0B,CAAC,cAAc;YACpE,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CACnB,iCAA+B,CAAC,0BAA0B,EAC1D,uDAA0B,CAAC,UAAU,CACxC,CACJ,CAAC;IACN,CAAC;;AAjBa,+CAAe,GAAG,iCAAiC,AAApC,CAAqC;AACpD,0DAA0B,GAAG,0CAA0C,AAA7C,CAA8C;0CAF7E,+BAA+B;IAD3C,IAAA,qBAAU,GAAE;;GACA,+BAA+B,CAmB3C"}
@@ -0,0 +1,28 @@
1
+ import { IPpasCommercialInvoiceDetailInput } from "../../../../schema-definitions/datasources/enapo/ppas/commercial/IPpasCommercialInvoiceDetailInput";
2
+ import { IPpasCommercialInvoice } from "../../../../schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoice";
3
+ import { IPpasCommercialInvoiceDevice } from "../../../../schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoiceDevice";
4
+ import { IPpasCommercialInvoiceInstallation } from "../../../../schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoiceInstallation";
5
+ import { IPpasCommercialInvoicePrice } from "../../../../schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoicePrice";
6
+ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
7
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
8
+ export declare class PpasCommercialTransformation extends AbstractTransformation<IPpasCommercialInvoiceDetailInput, {
9
+ invoiceHeader: IPpasCommercialInvoice;
10
+ rowInstallations: IPpasCommercialInvoiceInstallation[];
11
+ rowDevices: IPpasCommercialInvoiceDevice[];
12
+ rowPrice: IPpasCommercialInvoicePrice[];
13
+ }> {
14
+ protected logger: ILogger;
15
+ name: string;
16
+ constructor(logger: ILogger);
17
+ protected transformInternal: (element: IPpasCommercialInvoiceDetailInput) => {
18
+ invoiceHeader: IPpasCommercialInvoice;
19
+ rowInstallations: IPpasCommercialInvoiceInstallation[];
20
+ rowDevices: IPpasCommercialInvoiceDevice[];
21
+ rowPrice: IPpasCommercialInvoicePrice[];
22
+ };
23
+ private buildInvoiceHeader;
24
+ private buildInstallationRow;
25
+ private buildDeviceRows;
26
+ private buildPriceRows;
27
+ private createPriceConflictKey;
28
+ }
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.PpasCommercialTransformation = void 0;
16
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
17
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
18
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
19
+ const PpasInvoicePriceTypeHelper_1 = require("./PpasInvoicePriceTypeHelper");
20
+ let PpasCommercialTransformation = exports.PpasCommercialTransformation = class PpasCommercialTransformation extends AbstractTransformation_1.AbstractTransformation {
21
+ constructor(logger) {
22
+ super();
23
+ this.logger = logger;
24
+ this.name = "PpasCommercialTransformation";
25
+ this.transformInternal = (element) => {
26
+ const invoiceHeader = this.buildInvoiceHeader(element);
27
+ const rowInstallations = [];
28
+ const rowDevices = [];
29
+ const rowPrice = [];
30
+ for (const installation of element.installations) {
31
+ const placeId = installation.installation;
32
+ rowInstallations.push(this.buildInstallationRow(element, installation, placeId));
33
+ rowDevices.push(...this.buildDeviceRows(element, installation, placeId));
34
+ rowPrice.push(...this.buildPriceRows(element, installation, placeId));
35
+ }
36
+ return { invoiceHeader, rowInstallations, rowDevices, rowPrice };
37
+ };
38
+ }
39
+ buildInvoiceHeader(element) {
40
+ return {
41
+ id: element.id.intNum,
42
+ preceding_id: element?.precedingId?.intNum,
43
+ customer_id: element.customer.id,
44
+ customer_company_id: element?.customer?.companyId?.toString(),
45
+ customer_name: element.customer.name,
46
+ customer_contract_account_id: element.customer.contractAccountId,
47
+ customer_address_street: element.customerAddress.street,
48
+ customer_address_house_number: (0, PpasInvoicePriceTypeHelper_1.normalizeToStringOrNull)(element.customerAddress.houseNumber),
49
+ customer_address_house_org_number: (0, PpasInvoicePriceTypeHelper_1.normalizeToStringOrNull)(element.customerAddress.houseOrgNumber),
50
+ customer_address_city: element.customerAddress.city,
51
+ customer_address_city_part: element.customerAddress.cityPart,
52
+ customer_address_post_code: element.customerAddress.postCode,
53
+ customer_address_country: element.customerAddress.country,
54
+ customer_address_ruian_id: (0, PpasInvoicePriceTypeHelper_1.normalizeToNumberOrNull)(element.customerAddress.ruianId),
55
+ facts_doc_date: element.facts.docDate,
56
+ facts_net_date: element.facts.netDate,
57
+ facts_billing_transaction: element.facts.billingTransaction,
58
+ facts_to_pay_amount: element.facts.toPayAmount,
59
+ facts_currency: element.facts.currency,
60
+ facts_price_brutto: element.facts.priceBrutto,
61
+ is_canceled: element?.cancellation?.isCanceled,
62
+ canceled_reason: element?.cancellation?.reason,
63
+ };
64
+ }
65
+ buildInstallationRow(element, installation, placeId) {
66
+ return {
67
+ invoice_id: element.id.intNum,
68
+ customer_id: element.customer.id,
69
+ place_id: placeId,
70
+ eic: installation.pointOfDelivery,
71
+ billing_class: installation.billingClass,
72
+ measurement_type: installation.measurementType,
73
+ contract_contract_id: (0, PpasInvoicePriceTypeHelper_1.normalizeToStringOrNull)(installation.contract.id),
74
+ contract_move_in_date: installation.contract.moveInDate,
75
+ contract_move_out_date: installation.contract.moveOutDate,
76
+ tdd_class: installation.tddClass,
77
+ address_street: installation.address.street,
78
+ address_house_number: (0, PpasInvoicePriceTypeHelper_1.normalizeToStringOrNull)(installation.address.houseNumber),
79
+ address_house_org_number: (0, PpasInvoicePriceTypeHelper_1.normalizeToStringOrNull)(installation.address.houseOrgNumber),
80
+ address_city: installation.address.city,
81
+ address_city_part: installation.address.cityPart,
82
+ address_post_code: installation.address.postCode,
83
+ address_country: installation.address.country,
84
+ address_ruian_id: (0, PpasInvoicePriceTypeHelper_1.normalizeToNumberOrNull)(installation.address.ruianId),
85
+ };
86
+ }
87
+ buildDeviceRows(element, installation, placeId) {
88
+ const rows = [];
89
+ const devices = Array.isArray(installation.devices) ? installation.devices : [installation.devices];
90
+ const deviceGroupStateByKey = new Map();
91
+ const uniqueDeviceReadingKeys = new Set();
92
+ for (const device of devices) {
93
+ if (!device?.readings) {
94
+ continue;
95
+ }
96
+ const readings = Array.isArray(device.readings) ? device.readings : [device.readings];
97
+ for (const reading of readings) {
98
+ if (!reading.dateFrom || !reading.dateTo || !reading.kind) {
99
+ this.logger.info(`${this.name}: Skipping reading missing PK fields for device ${device.number}` +
100
+ ` and invoice_id ${element.id.intNum}`);
101
+ continue;
102
+ }
103
+ const deviceGroupKey = (0, PpasInvoicePriceTypeHelper_1.createDeviceGroupKey)(device, {
104
+ dateFrom: reading.dateFrom,
105
+ dateTo: reading.dateTo,
106
+ kind: reading.kind,
107
+ });
108
+ if (uniqueDeviceReadingKeys.has(deviceGroupKey)) {
109
+ this.logger.info(`${this.name}: Duplicate device key for device_serial_number ${device.number}` +
110
+ ` and invoice_id ${element.id.intNum}`);
111
+ continue;
112
+ }
113
+ uniqueDeviceReadingKeys.add(deviceGroupKey);
114
+ const deviceGroupState = (0, PpasInvoicePriceTypeHelper_1.getOrCreateGroupState)(deviceGroupStateByKey, deviceGroupKey);
115
+ const resolvedReadingType = (0, PpasInvoicePriceTypeHelper_1.determinePriceType)(reading?.gas?.consumptionKwh ?? 0, 0, deviceGroupState);
116
+ rows.push({
117
+ device_serial_number: device.number,
118
+ type: device.type,
119
+ invoice_id: element.id.intNum,
120
+ place_id: placeId,
121
+ date_from: reading.dateFrom,
122
+ date_to: reading.dateTo,
123
+ kind: reading.kind,
124
+ reading_from: reading.readingFrom ?? null,
125
+ reading_to: reading.readingTo ?? null,
126
+ consumption: reading.consumption ?? null,
127
+ unit: reading.unit ?? null,
128
+ meter_reading_type: (0, PpasInvoicePriceTypeHelper_1.normalizeToStringOrNull)(reading.mrKind),
129
+ reading_type: resolvedReadingType,
130
+ gas_consumption_kwh: reading?.gas?.consumptionKwh ?? null,
131
+ volume_coefficient: reading?.gas?.volumeCoefficient ?? null,
132
+ combustion_heat: reading?.gas?.combustionHeat ?? null,
133
+ normometers_nm3: reading?.gas?.normometersNm3 ?? null,
134
+ });
135
+ }
136
+ }
137
+ return rows;
138
+ }
139
+ buildPriceRows(element, installation, placeId) {
140
+ const rows = [];
141
+ const groupStateByKey = new Map();
142
+ const uniquePriceConflictKeys = new Set();
143
+ for (const price of installation.prices) {
144
+ const groupKey = (0, PpasInvoicePriceTypeHelper_1.createPriceGroupKey)(price);
145
+ const groupState = (0, PpasInvoicePriceTypeHelper_1.getOrCreateGroupState)(groupStateByKey, groupKey);
146
+ const priceType = (0, PpasInvoicePriceTypeHelper_1.determinePriceType)(price.priceNetto, price.quantity, groupState);
147
+ const priceRow = {
148
+ invoice_id: element.id.intNum,
149
+ customer_id: element.customer.id,
150
+ place_id: placeId,
151
+ date_from: price.dateFrom,
152
+ date_to: price.dateTo,
153
+ kind: price.kind,
154
+ description: price.description,
155
+ price_group: price.priceGroup,
156
+ quantity: price.quantity,
157
+ unit: price.unit,
158
+ unit_price: price.unitPrice,
159
+ time_slot: price.timeSlot != null ? Number(price.timeSlot) : null,
160
+ price_netto: price.priceNetto,
161
+ price_type: priceType,
162
+ currency: price.currency,
163
+ tax_rate: price.taxRate,
164
+ };
165
+ const conflictKey = this.createPriceConflictKey(priceRow);
166
+ if (uniquePriceConflictKeys.has(conflictKey)) {
167
+ this.logger.info(`${this.name}: Duplicate pricing key for invoice_id ${priceRow.invoice_id}`);
168
+ continue;
169
+ }
170
+ uniquePriceConflictKeys.add(conflictKey);
171
+ rows.push(priceRow);
172
+ }
173
+ return rows;
174
+ }
175
+ createPriceConflictKey(row) {
176
+ return [row.invoice_id, row.customer_id, row.place_id, row.date_from, row.date_to, row.kind, row.price_type].join("|");
177
+ }
178
+ };
179
+ exports.PpasCommercialTransformation = PpasCommercialTransformation = __decorate([
180
+ (0, tsyringe_1.injectable)(),
181
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
182
+ __metadata("design:paramtypes", [Object])
183
+ ], PpasCommercialTransformation);
184
+ //# sourceMappingURL=PpasCommercialTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PpasCommercialTransformation.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/transformations/ppas/PpasCommercialTransformation.ts"],"names":[],"mappings":"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"}
@@ -4,17 +4,6 @@ import { IPpasDistributionInvoiceDevice } from "../../../../schema-definitions/m
4
4
  import { IPpasDistributionInvoicePrice } from "../../../../schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoicePrice";
5
5
  import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
6
6
  import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
7
- declare const DISTRIBUTION_PRICE_TYPE: {
8
- readonly STANDARD: "STANDARD";
9
- readonly CORRECTION: "CORRECTION";
10
- };
11
- type DistributionPriceType = (typeof DISTRIBUTION_PRICE_TYPE)[keyof typeof DISTRIBUTION_PRICE_TYPE];
12
- type DistributionGroupState = {
13
- occurrenceIndex: number;
14
- zeroOccurrenceIndex: number;
15
- hasStandardInGroup: boolean;
16
- hasCorrectionInGroup: boolean;
17
- };
18
7
  export declare class PpasDistributionTransformation extends AbstractTransformation<IPpasDistributionInvoiceDetailInput, {
19
8
  invoiceHeader: IPpasDistributionInvoice;
20
9
  rowDevices: IPpasDistributionInvoiceDevice[];
@@ -28,12 +17,5 @@ export declare class PpasDistributionTransformation extends AbstractTransformati
28
17
  rowDevices: IPpasDistributionInvoiceDevice[];
29
18
  rowPrice: IPpasDistributionInvoicePrice[];
30
19
  };
31
- private normalizeToStringOrNull;
32
- private getOrCreateDistributionGroupState;
33
- private resolveNeutralDistributionPriceType;
34
- determineDistributionPriceType(priceNetto: number | null | undefined, quantity: number | null | undefined, groupState: DistributionGroupState): DistributionPriceType;
35
- private createDistributionPriceGroupKey;
36
20
  private createInvoicePriceConflictKey;
37
- private createDeviceGroupKey;
38
21
  }
39
- export {};