@golemio/energetics 1.12.2-dev.2727447026 → 1.12.2-dev.2740928370
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.
- package/db/example/00_clear_test_data.sql +0 -13
- package/db/migrations/postgresql/{20260730120000-enapo-om-detail-porsenna.js → 20260805090000-ppas-distribution-installation.js} +2 -8
- package/db/migrations/postgresql/sqls/20260805090000-ppas-distribution-installation-down.sql +86 -0
- package/db/migrations/postgresql/sqls/20260805090000-ppas-distribution-installation-up.sql +124 -0
- package/dist/integration-engine/enapo/datasources/ppas/distribution/PpasDistributionDatasource.js +2 -5
- package/dist/integration-engine/enapo/datasources/ppas/distribution/PpasDistributionDatasource.js.map +1 -1
- package/dist/integration-engine/enapo/ioc/Di.js +2 -0
- package/dist/integration-engine/enapo/ioc/Di.js.map +1 -1
- package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.d.ts +1 -0
- package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js +1 -0
- package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js.map +1 -1
- package/dist/integration-engine/enapo/repositories/ppas/PpasDistributionInvoiceInstallationRepository.d.ts +7 -0
- package/dist/integration-engine/enapo/repositories/ppas/PpasDistributionInvoiceInstallationRepository.js +36 -0
- package/dist/integration-engine/enapo/repositories/ppas/PpasDistributionInvoiceInstallationRepository.js.map +1 -0
- package/dist/integration-engine/enapo/transformations/ppas/PpasDistributionTransformation.d.ts +7 -0
- package/dist/integration-engine/enapo/transformations/ppas/PpasDistributionTransformation.js +133 -122
- package/dist/integration-engine/enapo/transformations/ppas/PpasDistributionTransformation.js.map +1 -1
- package/dist/integration-engine/enapo/workers/task/EnapoPpasDistributionTask.d.ts +3 -1
- package/dist/integration-engine/enapo/workers/task/EnapoPpasDistributionTask.js +10 -5
- package/dist/integration-engine/enapo/workers/task/EnapoPpasDistributionTask.js.map +1 -1
- package/dist/output-gateway/constants/Links.d.ts +0 -1
- package/dist/output-gateway/constants/Links.js +1 -2
- package/dist/output-gateway/constants/Links.js.map +1 -1
- package/dist/output-gateway/index.js +1 -8
- package/dist/output-gateway/index.js.map +1 -1
- package/dist/output-gateway/ioc/Di.js +1 -9
- package/dist/output-gateway/ioc/Di.js.map +1 -1
- package/dist/output-gateway/ioc/ModuleContainerToken.d.ts +0 -4
- package/dist/output-gateway/ioc/ModuleContainerToken.js +0 -4
- package/dist/output-gateway/ioc/ModuleContainerToken.js.map +1 -1
- package/dist/schema-definitions/datasources/enapo/ppas/distribution/IPpasDistributionInvoiceDetailInput.d.ts +10 -10
- package/dist/schema-definitions/datasources/enapo/ppas/distribution/IPpasDistributionInvoiceListInput.d.ts +1 -1
- package/dist/schema-definitions/datasources/enapo/ppas/distribution/PpasDistributionSchema.d.ts +1 -3
- package/dist/schema-definitions/datasources/enapo/ppas/distribution/PpasDistributionSchema.js +57 -72
- package/dist/schema-definitions/datasources/enapo/ppas/distribution/PpasDistributionSchema.js.map +1 -1
- package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceDeviceModel.d.ts +9 -8
- package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceDeviceModel.js +10 -8
- package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceDeviceModel.js.map +1 -1
- package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceInstallationModel.d.ts +26 -0
- package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceInstallationModel.js +56 -0
- package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceInstallationModel.js.map +1 -0
- package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceModel.d.ts +1 -17
- package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceModel.js +1 -33
- package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceModel.js.map +1 -1
- package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoicePriceModel.d.ts +2 -1
- package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoicePriceModel.js +5 -3
- package/dist/schema-definitions/models/enapo/ppas/PpasDistributionInvoicePriceModel.js.map +1 -1
- package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoice.d.ts +1 -17
- package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoiceDevice.d.ts +9 -7
- package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoiceInstallation.d.ts +20 -0
- package/dist/{output-gateway/models/interfaces/IEnoBuildingDetailView.js → schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoiceInstallation.js} +1 -1
- package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoiceInstallation.js.map +1 -0
- package/dist/schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoicePrice.d.ts +3 -1
- package/dist/schema-definitions/models/eno/AddressModel.d.ts +1 -1
- package/dist/schema-definitions/models/eno/AddressModel.js +1 -1
- package/dist/schema-definitions/models/eno/AddressModel.js.map +1 -1
- package/dist/schema-definitions/models/eno/interfaces/IAddress.d.ts +1 -1
- package/docs/implementation_documentation.md +4 -41
- package/docs/openapi-output.yaml +1 -260
- package/package.json +1 -1
- package/db/example/06_eno.sql +0 -25
- package/db/example/07_enapo_om_detail.sql +0 -131
- package/db/migrations/postgresql/20260729100000-enapo-gid-mapping-om-detail.js +0 -53
- package/db/migrations/postgresql/sqls/20260729100000-enapo-gid-mapping-om-detail-down.sql +0 -3
- package/db/migrations/postgresql/sqls/20260729100000-enapo-gid-mapping-om-detail-up.sql +0 -179
- package/db/migrations/postgresql/sqls/20260730120000-enapo-om-detail-porsenna-down.sql +0 -132
- package/db/migrations/postgresql/sqls/20260730120000-enapo-om-detail-porsenna-up.sql +0 -287
- package/db/scripts/ded_gid_mapping_mock_import.sql +0 -48
- package/dist/output-gateway/controllers/v2/EnoBuildingsController.d.ts +0 -11
- package/dist/output-gateway/controllers/v2/EnoBuildingsController.js +0 -53
- package/dist/output-gateway/controllers/v2/EnoBuildingsController.js.map +0 -1
- package/dist/output-gateway/helpers/objectMappers.d.ts +0 -10
- package/dist/output-gateway/helpers/objectMappers.js +0 -37
- package/dist/output-gateway/helpers/objectMappers.js.map +0 -1
- package/dist/output-gateway/models/EnoBuildingDetailViewModel.d.ts +0 -35
- package/dist/output-gateway/models/EnoBuildingDetailViewModel.js +0 -43
- package/dist/output-gateway/models/EnoBuildingDetailViewModel.js.map +0 -1
- package/dist/output-gateway/models/EnoConsumptionPointViewModel.d.ts +0 -105
- package/dist/output-gateway/models/EnoConsumptionPointViewModel.js +0 -118
- package/dist/output-gateway/models/EnoConsumptionPointViewModel.js.map +0 -1
- package/dist/output-gateway/models/EnoPorsennaDeviceViewModel.d.ts +0 -27
- package/dist/output-gateway/models/EnoPorsennaDeviceViewModel.js +0 -41
- package/dist/output-gateway/models/EnoPorsennaDeviceViewModel.js.map +0 -1
- package/dist/output-gateway/models/interfaces/IEnoBuildingDetailView.d.ts +0 -30
- package/dist/output-gateway/models/interfaces/IEnoBuildingDetailView.js.map +0 -1
- package/dist/output-gateway/models/interfaces/IEnoConsumptionPointView.d.ts +0 -104
- package/dist/output-gateway/models/interfaces/IEnoConsumptionPointView.js +0 -3
- package/dist/output-gateway/models/interfaces/IEnoConsumptionPointView.js.map +0 -1
- package/dist/output-gateway/models/interfaces/IEnoPorsennaDeviceView.d.ts +0 -22
- package/dist/output-gateway/models/interfaces/IEnoPorsennaDeviceView.js +0 -3
- package/dist/output-gateway/models/interfaces/IEnoPorsennaDeviceView.js.map +0 -1
- package/dist/output-gateway/repositories/AbstractNumericParsingRepository.d.ts +0 -12
- package/dist/output-gateway/repositories/AbstractNumericParsingRepository.js +0 -41
- package/dist/output-gateway/repositories/AbstractNumericParsingRepository.js.map +0 -1
- package/dist/output-gateway/repositories/EnoBuildingAddressesRepository.d.ts +0 -8
- package/dist/output-gateway/repositories/EnoBuildingAddressesRepository.js +0 -62
- package/dist/output-gateway/repositories/EnoBuildingAddressesRepository.js.map +0 -1
- package/dist/output-gateway/repositories/EnoBuildingDetailRepository.d.ts +0 -18
- package/dist/output-gateway/repositories/EnoBuildingDetailRepository.js +0 -100
- package/dist/output-gateway/repositories/EnoBuildingDetailRepository.js.map +0 -1
- package/dist/output-gateway/repositories/EnoConsumptionPointsRepository.d.ts +0 -8
- package/dist/output-gateway/repositories/EnoConsumptionPointsRepository.js +0 -51
- package/dist/output-gateway/repositories/EnoConsumptionPointsRepository.js.map +0 -1
- package/dist/output-gateway/repositories/EnoPorsennaDevicesRepository.d.ts +0 -8
- package/dist/output-gateway/repositories/EnoPorsennaDevicesRepository.js +0 -51
- package/dist/output-gateway/repositories/EnoPorsennaDevicesRepository.js.map +0 -1
- package/dist/output-gateway/repositories/PorsennaConsumptionsRepository.d.ts +0 -8
- package/dist/output-gateway/repositories/PorsennaConsumptionsRepository.js +0 -52
- package/dist/output-gateway/repositories/PorsennaConsumptionsRepository.js.map +0 -1
- package/dist/output-gateway/repositories/PpasInvoiceChildRepository.d.ts +0 -13
- package/dist/output-gateway/repositories/PpasInvoiceChildRepository.js +0 -39
- package/dist/output-gateway/repositories/PpasInvoiceChildRepository.js.map +0 -1
- package/dist/output-gateway/repositories/interfaces/IEnoBuildingDetailAggregate.d.ts +0 -22
- package/dist/output-gateway/repositories/interfaces/IEnoBuildingDetailAggregate.js +0 -3
- package/dist/output-gateway/repositories/interfaces/IEnoBuildingDetailAggregate.js.map +0 -1
- package/dist/output-gateway/routers/interfaces/IEnoBuildingDetailResponse.d.ts +0 -106
- package/dist/output-gateway/routers/interfaces/IEnoBuildingDetailResponse.js +0 -3
- package/dist/output-gateway/routers/interfaces/IEnoBuildingDetailResponse.js.map +0 -1
- package/dist/output-gateway/routers/v2/V2EnoBuildingsRouter.d.ts +0 -9
- package/dist/output-gateway/routers/v2/V2EnoBuildingsRouter.js +0 -40
- package/dist/output-gateway/routers/v2/V2EnoBuildingsRouter.js.map +0 -1
- package/dist/output-gateway/transformations/EnoBuildingDetailTransformation.d.ts +0 -14
- package/dist/output-gateway/transformations/EnoBuildingDetailTransformation.js +0 -149
- package/dist/output-gateway/transformations/EnoBuildingDetailTransformation.js.map +0 -1
- package/dist/schema-definitions/models/enapo/EnapoGidMappingModel.d.ts +0 -17
- package/dist/schema-definitions/models/enapo/EnapoGidMappingModel.js +0 -63
- package/dist/schema-definitions/models/enapo/EnapoGidMappingModel.js.map +0 -1
- package/dist/schema-definitions/models/enapo/interfaces/IEnapoGidMapping.d.ts +0 -11
- package/dist/schema-definitions/models/enapo/interfaces/IEnapoGidMapping.js +0 -3
- package/dist/schema-definitions/models/enapo/interfaces/IEnapoGidMapping.js.map +0 -1
|
@@ -9,16 +9,3 @@ truncate organizations;
|
|
|
9
9
|
truncate access_limitation;
|
|
10
10
|
truncate enapo_measurements;
|
|
11
11
|
truncate enapo_pre_metadata_history;
|
|
12
|
-
truncate enapo_gid_mapping;
|
|
13
|
-
truncate eno_budova;
|
|
14
|
-
truncate eno_adresa;
|
|
15
|
-
truncate enapo_ppas_distribution_invoice;
|
|
16
|
-
truncate enapo_ppas_distribution_invoice_device;
|
|
17
|
-
truncate enapo_ppas_distribution_invoice_price;
|
|
18
|
-
truncate enapo_ppas_commercial_invoice;
|
|
19
|
-
truncate enapo_ppas_commercial_invoice_installations;
|
|
20
|
-
truncate enapo_ppas_commercial_invoice_device;
|
|
21
|
-
truncate enapo_ppas_commercial_invoice_price;
|
|
22
|
-
truncate enapo_porsenna_buildings;
|
|
23
|
-
truncate enapo_porsenna_devices;
|
|
24
|
-
truncate enapo_porsenna_consumption;
|
|
@@ -7,10 +7,6 @@ var fs = require('fs');
|
|
|
7
7
|
var path = require('path');
|
|
8
8
|
var Promise;
|
|
9
9
|
|
|
10
|
-
/**
|
|
11
|
-
* We receive the dbmigrate dependency from dbmigrate initially.
|
|
12
|
-
* This enables us to not have to rely on NODE_PATH.
|
|
13
|
-
*/
|
|
14
10
|
exports.setup = function(options, seedLink) {
|
|
15
11
|
dbm = options.dbmigrate;
|
|
16
12
|
type = dbm.dataType;
|
|
@@ -19,12 +15,11 @@ exports.setup = function(options, seedLink) {
|
|
|
19
15
|
};
|
|
20
16
|
|
|
21
17
|
exports.up = function(db) {
|
|
22
|
-
var filePath = path.join(__dirname, 'sqls', '
|
|
18
|
+
var filePath = path.join(__dirname, 'sqls', '20260805090000-ppas-distribution-installation-up.sql');
|
|
23
19
|
return new Promise( function( resolve, reject ) {
|
|
24
20
|
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
25
21
|
if (err) return reject(err);
|
|
26
22
|
console.log('received data: ' + data);
|
|
27
|
-
|
|
28
23
|
resolve(data);
|
|
29
24
|
});
|
|
30
25
|
})
|
|
@@ -34,12 +29,11 @@ exports.up = function(db) {
|
|
|
34
29
|
};
|
|
35
30
|
|
|
36
31
|
exports.down = function(db) {
|
|
37
|
-
var filePath = path.join(__dirname, 'sqls', '
|
|
32
|
+
var filePath = path.join(__dirname, 'sqls', '20260805090000-ppas-distribution-installation-down.sql');
|
|
38
33
|
return new Promise( function( resolve, reject ) {
|
|
39
34
|
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
40
35
|
if (err) return reject(err);
|
|
41
36
|
console.log('received data: ' + data);
|
|
42
|
-
|
|
43
37
|
resolve(data);
|
|
44
38
|
});
|
|
45
39
|
})
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
-- Rounding is lossy, but an integer column cannot hold the fractional periods.
|
|
2
|
+
ALTER TABLE enapo_ppas_distribution_invoice_price
|
|
3
|
+
ALTER COLUMN time_slot TYPE int4 USING round(time_slot)::int4;
|
|
4
|
+
|
|
5
|
+
-- Give up the per-installation scoping. The pre-existing keys cannot represent more than one
|
|
6
|
+
-- installation per invoice, so colliding rows beyond the lowest place_id are dropped first -- the same
|
|
7
|
+
-- lossy restore the invoice header gets below.
|
|
8
|
+
DELETE FROM enapo_ppas_distribution_invoice_device d
|
|
9
|
+
USING enapo_ppas_distribution_invoice_device x
|
|
10
|
+
WHERE d.device_serial_number = x.device_serial_number
|
|
11
|
+
AND d.invoice_id = x.invoice_id
|
|
12
|
+
AND d.date_from = x.date_from
|
|
13
|
+
AND d.date_to = x.date_to
|
|
14
|
+
AND d.reading_type = x.reading_type
|
|
15
|
+
AND d.kind = x.kind
|
|
16
|
+
AND d.place_id > x.place_id;
|
|
17
|
+
|
|
18
|
+
DELETE FROM enapo_ppas_distribution_invoice_price p
|
|
19
|
+
USING enapo_ppas_distribution_invoice_price x
|
|
20
|
+
WHERE p.invoice_id = x.invoice_id
|
|
21
|
+
AND p.customer_id = x.customer_id
|
|
22
|
+
AND p.date_from = x.date_from
|
|
23
|
+
AND p.date_to = x.date_to
|
|
24
|
+
AND p.kind = x.kind
|
|
25
|
+
AND p.price_type = x.price_type
|
|
26
|
+
AND p.place_id > x.place_id;
|
|
27
|
+
|
|
28
|
+
-- Dropping the column cascades away both the place_id index and the primary key that contains it.
|
|
29
|
+
ALTER TABLE enapo_ppas_distribution_invoice_device DROP COLUMN place_id;
|
|
30
|
+
ALTER TABLE enapo_ppas_distribution_invoice_device
|
|
31
|
+
ADD CONSTRAINT enapo_ppas_distribution_invoice_device_pk
|
|
32
|
+
PRIMARY KEY (device_serial_number, invoice_id, date_from, date_to, reading_type, kind);
|
|
33
|
+
|
|
34
|
+
ALTER TABLE enapo_ppas_distribution_invoice_price DROP COLUMN place_id;
|
|
35
|
+
ALTER TABLE enapo_ppas_distribution_invoice_price
|
|
36
|
+
ADD CONSTRAINT enapo_ppas_distribution_invoice_price_pk
|
|
37
|
+
PRIMARY KEY (invoice_id, customer_id, date_from, date_to, kind, price_type);
|
|
38
|
+
|
|
39
|
+
ALTER TABLE enapo_ppas_distribution_invoice
|
|
40
|
+
ADD COLUMN eic varchar NULL,
|
|
41
|
+
ADD COLUMN place_id varchar NULL,
|
|
42
|
+
ADD COLUMN installations_billing_class varchar NULL,
|
|
43
|
+
ADD COLUMN installations_measurement_type varchar NULL,
|
|
44
|
+
ADD COLUMN installations_contract_contract_id varchar NULL,
|
|
45
|
+
ADD COLUMN installations_contract_move_in_date date NULL,
|
|
46
|
+
ADD COLUMN installations_contract_move_out_date date NULL,
|
|
47
|
+
ADD COLUMN installations_tdd_class varchar NULL,
|
|
48
|
+
ADD COLUMN installations_address_street varchar NULL,
|
|
49
|
+
ADD COLUMN installations_address_house_number varchar NULL,
|
|
50
|
+
ADD COLUMN installations_address_house_org_number varchar NULL,
|
|
51
|
+
ADD COLUMN installations_address_city varchar NULL,
|
|
52
|
+
ADD COLUMN installations_address_city_part varchar NULL,
|
|
53
|
+
ADD COLUMN installations_address_post_code varchar NULL,
|
|
54
|
+
ADD COLUMN installations_address_country varchar NULL,
|
|
55
|
+
ADD COLUMN installations_address_ruian_id int8 NULL;
|
|
56
|
+
|
|
57
|
+
-- Only one installation fits the invoice header, so the lowest place_id per invoice is restored.
|
|
58
|
+
UPDATE enapo_ppas_distribution_invoice i
|
|
59
|
+
SET
|
|
60
|
+
eic = s.eic,
|
|
61
|
+
place_id = s.place_id,
|
|
62
|
+
installations_billing_class = s.billing_class,
|
|
63
|
+
installations_measurement_type = s.measurement_type,
|
|
64
|
+
installations_contract_contract_id = s.contract_contract_id,
|
|
65
|
+
installations_contract_move_in_date = s.contract_move_in_date,
|
|
66
|
+
installations_contract_move_out_date = s.contract_move_out_date,
|
|
67
|
+
installations_tdd_class = s.tdd_class,
|
|
68
|
+
installations_address_street = s.address_street,
|
|
69
|
+
installations_address_house_number = s.address_house_number,
|
|
70
|
+
installations_address_house_org_number = s.address_house_org_number,
|
|
71
|
+
installations_address_city = s.address_city,
|
|
72
|
+
installations_address_city_part = s.address_city_part,
|
|
73
|
+
installations_address_post_code = s.address_post_code,
|
|
74
|
+
installations_address_country = s.address_country,
|
|
75
|
+
installations_address_ruian_id = s.address_ruian_id
|
|
76
|
+
FROM (
|
|
77
|
+
SELECT DISTINCT ON (invoice_id, customer_id) *
|
|
78
|
+
FROM enapo_ppas_distribution_installation
|
|
79
|
+
ORDER BY invoice_id, customer_id, place_id
|
|
80
|
+
) s
|
|
81
|
+
WHERE i.id = s.invoice_id AND i.customer_id = s.customer_id;
|
|
82
|
+
|
|
83
|
+
CREATE INDEX idx_ppas_invoice_eic ON enapo_ppas_distribution_invoice(eic);
|
|
84
|
+
CREATE INDEX idx_ppas_invoice_place_id ON enapo_ppas_distribution_invoice(place_id);
|
|
85
|
+
|
|
86
|
+
DROP TABLE enapo_ppas_distribution_installation;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
CREATE TABLE enapo_ppas_distribution_installation (
|
|
2
|
+
invoice_id varchar,
|
|
3
|
+
customer_id varchar,
|
|
4
|
+
place_id varchar,
|
|
5
|
+
eic varchar NULL,
|
|
6
|
+
billing_class varchar NULL,
|
|
7
|
+
measurement_type varchar NULL,
|
|
8
|
+
contract_contract_id varchar NULL,
|
|
9
|
+
contract_move_in_date date NULL,
|
|
10
|
+
contract_move_out_date date NULL,
|
|
11
|
+
tdd_class varchar NULL,
|
|
12
|
+
address_street varchar NULL,
|
|
13
|
+
address_house_number varchar NULL,
|
|
14
|
+
address_house_org_number varchar NULL,
|
|
15
|
+
address_city varchar NULL,
|
|
16
|
+
address_city_part varchar NULL,
|
|
17
|
+
address_post_code varchar NULL,
|
|
18
|
+
address_country varchar NULL,
|
|
19
|
+
address_ruian_id int8 NULL,
|
|
20
|
+
created_at timestamptz DEFAULT now() NULL,
|
|
21
|
+
updated_at timestamptz NULL,
|
|
22
|
+
CONSTRAINT enapo_ppas_distribution_installation_pk PRIMARY KEY (invoice_id, customer_id, place_id)
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
CREATE INDEX idx_ppas_distribution_installation_eic ON enapo_ppas_distribution_installation(eic);
|
|
26
|
+
CREATE INDEX idx_ppas_distribution_installation_place_id ON enapo_ppas_distribution_installation(place_id);
|
|
27
|
+
|
|
28
|
+
-- Move the already stored installations out of the invoice header, its still necessary to download history because there can be more than one installation per invoice
|
|
29
|
+
INSERT INTO enapo_ppas_distribution_installation (
|
|
30
|
+
invoice_id, customer_id, place_id, eic, billing_class, measurement_type,
|
|
31
|
+
contract_contract_id, contract_move_in_date, contract_move_out_date, tdd_class,
|
|
32
|
+
address_street, address_house_number, address_house_org_number, address_city,
|
|
33
|
+
address_city_part, address_post_code, address_country, address_ruian_id
|
|
34
|
+
)
|
|
35
|
+
SELECT
|
|
36
|
+
id, customer_id, place_id, eic, installations_billing_class, installations_measurement_type,
|
|
37
|
+
installations_contract_contract_id, installations_contract_move_in_date, installations_contract_move_out_date,
|
|
38
|
+
installations_tdd_class, installations_address_street, installations_address_house_number,
|
|
39
|
+
installations_address_house_org_number, installations_address_city, installations_address_city_part,
|
|
40
|
+
installations_address_post_code, installations_address_country, installations_address_ruian_id
|
|
41
|
+
FROM enapo_ppas_distribution_invoice
|
|
42
|
+
WHERE place_id IS NOT NULL
|
|
43
|
+
ON CONFLICT (invoice_id, customer_id, place_id) DO NOTHING;
|
|
44
|
+
|
|
45
|
+
ALTER TABLE enapo_ppas_distribution_invoice_device ADD COLUMN place_id varchar NULL;
|
|
46
|
+
ALTER TABLE enapo_ppas_distribution_invoice_price ADD COLUMN place_id varchar NULL;
|
|
47
|
+
|
|
48
|
+
-- Existing rows were written when only installations[0] was stored
|
|
49
|
+
UPDATE enapo_ppas_distribution_invoice_device d
|
|
50
|
+
SET place_id = s.place_id
|
|
51
|
+
FROM (
|
|
52
|
+
SELECT invoice_id, min(place_id) AS place_id
|
|
53
|
+
FROM enapo_ppas_distribution_installation
|
|
54
|
+
GROUP BY invoice_id
|
|
55
|
+
) s
|
|
56
|
+
WHERE d.invoice_id = s.invoice_id;
|
|
57
|
+
|
|
58
|
+
UPDATE enapo_ppas_distribution_invoice_price p
|
|
59
|
+
SET place_id = s.place_id
|
|
60
|
+
FROM (
|
|
61
|
+
SELECT invoice_id, customer_id, min(place_id) AS place_id
|
|
62
|
+
FROM enapo_ppas_distribution_installation
|
|
63
|
+
GROUP BY invoice_id, customer_id
|
|
64
|
+
) s
|
|
65
|
+
WHERE p.invoice_id = s.invoice_id AND p.customer_id = s.customer_id;
|
|
66
|
+
|
|
67
|
+
-- Rows whose invoice never reached the installation table cannot be attributed to a consumption point.
|
|
68
|
+
-- Deleting them here would be silent data loss, so the migration stops instead and leaves the call to us.
|
|
69
|
+
DO $$
|
|
70
|
+
DECLARE
|
|
71
|
+
orphan_devices bigint;
|
|
72
|
+
orphan_prices bigint;
|
|
73
|
+
BEGIN
|
|
74
|
+
SELECT count(*) INTO orphan_devices FROM enapo_ppas_distribution_invoice_device WHERE place_id IS NULL;
|
|
75
|
+
SELECT count(*) INTO orphan_prices FROM enapo_ppas_distribution_invoice_price WHERE place_id IS NULL;
|
|
76
|
+
|
|
77
|
+
IF orphan_devices > 0 OR orphan_prices > 0 THEN
|
|
78
|
+
RAISE EXCEPTION
|
|
79
|
+
'Cannot scope distribution rows by place_id: % device and % price rows belong to invoices missing from enapo_ppas_distribution_installation. Resolve or remove them, then re-run.',
|
|
80
|
+
orphan_devices, orphan_prices;
|
|
81
|
+
END IF;
|
|
82
|
+
END $$;
|
|
83
|
+
|
|
84
|
+
ALTER TABLE enapo_ppas_distribution_invoice_device
|
|
85
|
+
ALTER COLUMN place_id SET NOT NULL,
|
|
86
|
+
DROP CONSTRAINT enapo_ppas_distribution_invoice_device_pk,
|
|
87
|
+
ADD CONSTRAINT enapo_ppas_distribution_invoice_device_pk
|
|
88
|
+
PRIMARY KEY (device_serial_number, invoice_id, place_id, date_from, date_to, reading_type, kind);
|
|
89
|
+
|
|
90
|
+
ALTER TABLE enapo_ppas_distribution_invoice_price
|
|
91
|
+
ALTER COLUMN place_id SET NOT NULL,
|
|
92
|
+
DROP CONSTRAINT enapo_ppas_distribution_invoice_price_pk,
|
|
93
|
+
ADD CONSTRAINT enapo_ppas_distribution_invoice_price_pk
|
|
94
|
+
PRIMARY KEY (invoice_id, customer_id, place_id, date_from, date_to, kind, price_type);
|
|
95
|
+
|
|
96
|
+
CREATE INDEX idx_ppas_distribution_invoice_device_place_id ON enapo_ppas_distribution_invoice_device(place_id);
|
|
97
|
+
CREATE INDEX idx_ppas_distribution_invoice_price_place_id ON enapo_ppas_distribution_invoice_price(place_id);
|
|
98
|
+
|
|
99
|
+
-- timeSlot is a fraction of the billed period (e.g. 0.19355 = 6 of 31 days), not an int
|
|
100
|
+
ALTER TABLE enapo_ppas_distribution_invoice_price
|
|
101
|
+
ALTER COLUMN time_slot TYPE numeric;
|
|
102
|
+
|
|
103
|
+
DROP INDEX IF EXISTS idx_ppas_invoice_eic;
|
|
104
|
+
DROP INDEX IF EXISTS idx_ppas_invoice_place_id;
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
ALTER TABLE enapo_ppas_distribution_invoice
|
|
109
|
+
DROP COLUMN eic,
|
|
110
|
+
DROP COLUMN place_id,
|
|
111
|
+
DROP COLUMN installations_billing_class,
|
|
112
|
+
DROP COLUMN installations_measurement_type,
|
|
113
|
+
DROP COLUMN installations_contract_contract_id,
|
|
114
|
+
DROP COLUMN installations_contract_move_in_date,
|
|
115
|
+
DROP COLUMN installations_contract_move_out_date,
|
|
116
|
+
DROP COLUMN installations_tdd_class,
|
|
117
|
+
DROP COLUMN installations_address_street,
|
|
118
|
+
DROP COLUMN installations_address_house_number,
|
|
119
|
+
DROP COLUMN installations_address_house_org_number,
|
|
120
|
+
DROP COLUMN installations_address_city,
|
|
121
|
+
DROP COLUMN installations_address_city_part,
|
|
122
|
+
DROP COLUMN installations_address_post_code,
|
|
123
|
+
DROP COLUMN installations_address_country,
|
|
124
|
+
DROP COLUMN installations_address_ruian_id;
|
package/dist/integration-engine/enapo/datasources/ppas/distribution/PpasDistributionDatasource.js
CHANGED
|
@@ -26,11 +26,8 @@ let PpasDistributionDatasource = class PpasDistributionDatasource extends Abstra
|
|
|
26
26
|
from,
|
|
27
27
|
to,
|
|
28
28
|
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
result = [result];
|
|
32
|
-
}
|
|
33
|
-
return result;
|
|
29
|
+
const result = await datasource.getAll();
|
|
30
|
+
return (Array.isArray(result) ? result : [result]);
|
|
34
31
|
}
|
|
35
32
|
async getInvoiceDetail(intNum) {
|
|
36
33
|
const datasource = await this.getDatasource("/distribution/v1/invoice/detail/" + intNum, PpasDistributionSchema_1.ppasDistributionInvoiceDetailInputJsonSchema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PpasDistributionDatasource.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/enapo/datasources/ppas/distribution/PpasDistributionDatasource.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,yIAGyE;AAEzE,wEAAqE;AACrE,iEAAwE;AACxE,sEAAmE;AAG5D,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,+CAAsB;IAClE,YAA4C,MAAqB;QAC7D,KAAK,CAAC,MAAM,EAAE,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,EAAU;QAChD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,mEAA0C,EAAE;YACrH,IAAI;YACJ,EAAE;SACL,CAAC,CAAC;QACH,
|
|
1
|
+
{"version":3,"file":"PpasDistributionDatasource.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/enapo/datasources/ppas/distribution/PpasDistributionDatasource.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,yIAGyE;AAEzE,wEAAqE;AACrE,iEAAwE;AACxE,sEAAmE;AAG5D,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,+CAAsB;IAClE,YAA4C,MAAqB;QAC7D,KAAK,CAAC,MAAM,EAAE,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,EAAU;QAChD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,mEAA0C,EAAE;YACrH,IAAI;YACJ,EAAE;SACL,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;QAEzC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAwC,CAAC;IAC9F,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACxC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CACvC,kCAAkC,GAAG,MAAM,EAC3C,qEAA4C,CAC/C,CAAC;QACF,OAAO,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,CAAwC,CAAC;IAC9E,CAAC;CACJ,CAAA;AAtBY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;;GADlC,0BAA0B,CAsBtC"}
|
|
@@ -32,6 +32,7 @@ const PpasCommercialInvoiceInstallationRepository_1 = require("../repositories/p
|
|
|
32
32
|
const PpasCommercialInvoicePriceRepository_1 = require("../repositories/ppas/PpasCommercialInvoicePriceRepository");
|
|
33
33
|
const PpasCommercialInvoiceRepository_1 = require("../repositories/ppas/PpasCommercialInvoiceRepository");
|
|
34
34
|
const PpasDistributionInvoiceDeviceRepository_1 = require("../repositories/ppas/PpasDistributionInvoiceDeviceRepository");
|
|
35
|
+
const PpasDistributionInvoiceInstallationRepository_1 = require("../repositories/ppas/PpasDistributionInvoiceInstallationRepository");
|
|
35
36
|
const PpasDistributionInvoicePriceRepository_1 = require("../repositories/ppas/PpasDistributionInvoicePriceRepository");
|
|
36
37
|
const PpasDistributionInvoiceRepository_1 = require("../repositories/ppas/PpasDistributionInvoiceRepository");
|
|
37
38
|
const PPasMeasurementTransformation_1 = require("../transformations/PPasMeasurementTransformation");
|
|
@@ -85,6 +86,7 @@ EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.En
|
|
|
85
86
|
.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoStructureRepository, EnoStructureRepository_1.EnoStructureRepository)
|
|
86
87
|
.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoGeometryRepository, EnoGeometryRepository_1.EnoGeometryRepository)
|
|
87
88
|
.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PpasDistributionInvoiceDeviceRepository, PpasDistributionInvoiceDeviceRepository_1.PpasDistributionInvoiceDeviceRepository)
|
|
89
|
+
.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PpasDistributionInvoiceInstallationRepository, PpasDistributionInvoiceInstallationRepository_1.PpasDistributionInvoiceInstallationRepository)
|
|
88
90
|
.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PpasDistributionInvoicePriceRepository, PpasDistributionInvoicePriceRepository_1.PpasDistributionInvoicePriceRepository)
|
|
89
91
|
.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PpasDistributionInvoiceRepository, PpasDistributionInvoiceRepository_1.PpasDistributionInvoiceRepository)
|
|
90
92
|
.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PpasCommercialInvoiceRepository, PpasCommercialInvoiceRepository_1.PpasCommercialInvoiceRepository)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,iIAA4H;AAC5H,qHAAgH;AAChH,kIAA6H;AAC7H,6FAAwF;AACxF,qEAA0F;AAE1F,kFAA+E;AAC/E,mGAAgG;AAChG,mFAAgF;AAChF,sGAAmG;AACnG,4GAAyG;AACzG,6FAA0F;AAC1F,+FAA4F;AAC5F,mFAAgF;AAChF,qFAAkF;AAClF,yEAAsE;AACtE,qFAAkF;AAClF,qFAAkF;AAClF,mFAAgF;AAChF,6FAA0F;AAC1F,qFAAkF;AAClF,yFAAsF;AACtF,uFAAoF;AACpF,+FAA4F;AAC5F,sGAAmG;AACnG,0GAAuG;AACvG,kGAA+F;AAC/F,sHAAmH;AACnH,kIAA+H;AAC/H,oHAAiH;AACjH,0GAAuG;AACvG,0HAAuH;AACvH,wHAAqH;AACrH,8GAA2G;AAC3G,oGAAiG;AACjG,oFAAiF;AACjF,8FAA2F;AAC3F,wGAAqG;AACrG,0GAAuG;AACvG,qHAAkH;AAClH,yGAAsG;AACtG,uGAAoG;AACpG,2GAAwG;AACxG,kHAA+G;AAC/G,wGAAqG;AACrG,gGAA6F;AAC7F,qFAAkF;AAClF,yFAAsF;AACtF,iEAA8D;AAC9D,mEAAgE;AAChE,qEAAkE;AAClE,qEAAkE;AAClE,iEAA8D;AAC9D,uEAAoE;AACpE,uFAAoF;AACpF,2EAAwE;AAExE,wBAAwB;AACxB,MAAM,cAAc,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/ioc/Di.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ declare const EnapoWorkerContainerToken: {
|
|
|
8
8
|
EnapoMetadataRepository: symbol;
|
|
9
9
|
PreIncomingDataLogRepository: symbol;
|
|
10
10
|
PpasDistributionInvoiceDeviceRepository: symbol;
|
|
11
|
+
PpasDistributionInvoiceInstallationRepository: symbol;
|
|
11
12
|
PpasDistributionInvoicePriceRepository: symbol;
|
|
12
13
|
PpasDistributionInvoiceRepository: symbol;
|
|
13
14
|
PpasCommercialInvoiceRepository: symbol;
|
|
@@ -14,6 +14,7 @@ const EnapoWorkerContainerToken = {
|
|
|
14
14
|
EnapoMetadataRepository: Symbol(),
|
|
15
15
|
PreIncomingDataLogRepository: Symbol(),
|
|
16
16
|
PpasDistributionInvoiceDeviceRepository: Symbol(),
|
|
17
|
+
PpasDistributionInvoiceInstallationRepository: Symbol(),
|
|
17
18
|
PpasDistributionInvoicePriceRepository: Symbol(),
|
|
18
19
|
PpasDistributionInvoiceRepository: Symbol(),
|
|
19
20
|
PpasCommercialInvoiceRepository: Symbol(),
|
|
@@ -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,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"}
|
|
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,6CAA6C,EAAE,MAAM,EAAE;IACvD,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 PpasDistributionInvoiceInstallationRepository extends PostgresModel implements IModel {
|
|
4
|
+
static REPOSITORY_NAME: string;
|
|
5
|
+
static JSON_SCHEMA_VALIDATOR_NAME: string;
|
|
6
|
+
constructor();
|
|
7
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
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 PpasDistributionInvoiceInstallationRepository_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.PpasDistributionInvoiceInstallationRepository = void 0;
|
|
14
|
+
const _sch_1 = require("../../../../schema-definitions");
|
|
15
|
+
const PpasDistributionInvoiceInstallationModel_1 = require("../../../../schema-definitions/models/enapo/ppas/PpasDistributionInvoiceInstallationModel");
|
|
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 PpasDistributionInvoiceInstallationRepository = PpasDistributionInvoiceInstallationRepository_1 = class PpasDistributionInvoiceInstallationRepository extends PostgresModel_1.PostgresModel {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(PpasDistributionInvoiceInstallationRepository_1.REPOSITORY_NAME, {
|
|
22
|
+
pgTableName: PpasDistributionInvoiceInstallationModel_1.PpasDistributionInvoiceInstallationModel.TABLE_NAME,
|
|
23
|
+
pgSchema: _sch_1.EnergeticsSchema.pgSchema,
|
|
24
|
+
outputSequelizeAttributes: PpasDistributionInvoiceInstallationModel_1.PpasDistributionInvoiceInstallationModel.attributeModel,
|
|
25
|
+
savingType: "insertOrUpdate",
|
|
26
|
+
}, new golemio_validator_1.JSONSchemaValidator(PpasDistributionInvoiceInstallationRepository_1.JSON_SCHEMA_VALIDATOR_NAME, PpasDistributionInvoiceInstallationModel_1.PpasDistributionInvoiceInstallationModel.jsonSchema));
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports.PpasDistributionInvoiceInstallationRepository = PpasDistributionInvoiceInstallationRepository;
|
|
30
|
+
PpasDistributionInvoiceInstallationRepository.REPOSITORY_NAME = "PpasDistributionInvoiceInstallationRepository";
|
|
31
|
+
PpasDistributionInvoiceInstallationRepository.JSON_SCHEMA_VALIDATOR_NAME = "PpasDistributionInvoiceInstallationRepositoryValidator";
|
|
32
|
+
exports.PpasDistributionInvoiceInstallationRepository = PpasDistributionInvoiceInstallationRepository = PpasDistributionInvoiceInstallationRepository_1 = __decorate([
|
|
33
|
+
(0, tsyringe_1.injectable)(),
|
|
34
|
+
__metadata("design:paramtypes", [])
|
|
35
|
+
], PpasDistributionInvoiceInstallationRepository);
|
|
36
|
+
//# sourceMappingURL=PpasDistributionInvoiceInstallationRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PpasDistributionInvoiceInstallationRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/repositories/ppas/PpasDistributionInvoiceInstallationRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yDAAwC;AACxC,wJAA2H;AAE3H,8FAA2F;AAC3F,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,6CAA6C,qDAAnD,MAAM,6CAA8C,SAAQ,6BAAa;IAI5E;QACI,KAAK,CACD,+CAA6C,CAAC,eAAe,EAC7D;YACI,WAAW,EAAE,mFAAwC,CAAC,UAAU;YAChE,QAAQ,EAAE,uBAAgB,CAAC,QAAQ;YACnC,yBAAyB,EAAE,mFAAwC,CAAC,cAAc;YAClF,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CACnB,+CAA6C,CAAC,0BAA0B,EACxE,mFAAwC,CAAC,UAAU,CACtD,CACJ,CAAC;IACN,CAAC;;AAlBQ,sGAA6C;AACxC,6DAAe,GAAG,+CAA+C,AAAlD,CAAmD;AAClE,wEAA0B,GAAG,wDAAwD,AAA3D,CAA4D;wDAF3F,6CAA6C;IADzD,IAAA,qBAAU,GAAE;;GACA,6CAA6C,CAmBzD"}
|
package/dist/integration-engine/enapo/transformations/ppas/PpasDistributionTransformation.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { IPpasDistributionInvoiceDetailInput } from "../../../../schema-definitions/datasources/enapo/ppas/distribution/IPpasDistributionInvoiceDetailInput";
|
|
2
2
|
import { IPpasDistributionInvoice } from "../../../../schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoice";
|
|
3
3
|
import { IPpasDistributionInvoiceDevice } from "../../../../schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoiceDevice";
|
|
4
|
+
import { IPpasDistributionInvoiceInstallation } from "../../../../schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoiceInstallation";
|
|
4
5
|
import { IPpasDistributionInvoicePrice } from "../../../../schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoicePrice";
|
|
5
6
|
import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
|
|
6
7
|
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
7
8
|
export declare class PpasDistributionTransformation extends AbstractTransformation<IPpasDistributionInvoiceDetailInput, {
|
|
8
9
|
invoiceHeader: IPpasDistributionInvoice;
|
|
10
|
+
rowInstallations: IPpasDistributionInvoiceInstallation[];
|
|
9
11
|
rowDevices: IPpasDistributionInvoiceDevice[];
|
|
10
12
|
rowPrice: IPpasDistributionInvoicePrice[];
|
|
11
13
|
}> {
|
|
@@ -14,8 +16,13 @@ export declare class PpasDistributionTransformation extends AbstractTransformati
|
|
|
14
16
|
constructor(logger: ILogger);
|
|
15
17
|
protected transformInternal: (element: IPpasDistributionInvoiceDetailInput) => {
|
|
16
18
|
invoiceHeader: IPpasDistributionInvoice;
|
|
19
|
+
rowInstallations: IPpasDistributionInvoiceInstallation[];
|
|
17
20
|
rowDevices: IPpasDistributionInvoiceDevice[];
|
|
18
21
|
rowPrice: IPpasDistributionInvoicePrice[];
|
|
19
22
|
};
|
|
23
|
+
private buildInvoiceHeader;
|
|
24
|
+
private buildInstallationRow;
|
|
25
|
+
private buildDeviceRows;
|
|
26
|
+
private buildPriceRows;
|
|
20
27
|
private createInvoicePriceConflictKey;
|
|
21
28
|
}
|