@golemio/energetics 1.4.13-dev.2001462306 → 1.4.13-dev.2008390014
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 +1 -2
- package/db/migrations/postgresql/sqls/20250819094030-enapo-pre-down.sql +3 -1
- package/db/migrations/postgresql/sqls/20250819094030-enapo-pre-up.sql +24 -21
- package/dist/input-gateway/pre/PreJsonInputController.js +2 -2
- package/dist/input-gateway/pre/PreJsonInputController.js.map +1 -1
- package/dist/integration-engine/enapo/ioc/Di.js +1 -4
- package/dist/integration-engine/enapo/ioc/Di.js.map +1 -1
- package/dist/integration-engine/enapo/repositories/PreIncomingDataLogRepository.js +1 -1
- package/dist/integration-engine/enapo/repositories/PreIncomingDataLogRepository.js.map +1 -1
- package/dist/integration-engine/enapo/transformations/PPasMeasurementTransformation.js +2 -1
- package/dist/integration-engine/enapo/transformations/PPasMeasurementTransformation.js.map +1 -1
- package/dist/integration-engine/enapo/transformations/pre/PreDailyMeasurementsTransformation.js +12 -8
- package/dist/integration-engine/enapo/transformations/pre/PreDailyMeasurementsTransformation.js.map +1 -1
- package/dist/integration-engine/enapo/transformations/pre/PreMeasurementsTransformation.js +15 -8
- package/dist/integration-engine/enapo/transformations/pre/PreMeasurementsTransformation.js.map +1 -1
- package/dist/integration-engine/enapo/transformations/pre/PreMetadataTransfromation.d.ts +2 -10
- package/dist/integration-engine/enapo/transformations/pre/PreMetadataTransfromation.js +13 -36
- package/dist/integration-engine/enapo/transformations/pre/PreMetadataTransfromation.js.map +1 -1
- package/dist/integration-engine/enapo/transformations/pre/helpers/DeviceSerialNumberExtractor.d.ts +4 -0
- package/dist/integration-engine/enapo/transformations/pre/helpers/DeviceSerialNumberExtractor.js +35 -0
- package/dist/integration-engine/enapo/transformations/pre/helpers/DeviceSerialNumberExtractor.js.map +1 -0
- package/dist/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.js +1 -1
- package/dist/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.js.map +1 -1
- package/dist/integration-engine/enapo/workers/task/EnapoPrediTask.d.ts +1 -3
- package/dist/integration-engine/enapo/workers/task/EnapoPrediTask.js +10 -12
- package/dist/integration-engine/enapo/workers/task/EnapoPrediTask.js.map +1 -1
- package/dist/schema-definitions/datasources/enapo/EnapoPreInputSchema.js +1 -2
- package/dist/schema-definitions/datasources/enapo/EnapoPreInputSchema.js.map +1 -1
- package/dist/schema-definitions/datasources/interfaces/enapo/IPreIncomingDataLog.d.ts +12 -4
- package/dist/schema-definitions/datasources/interfaces/enapo/IPrediInputData.d.ts +1 -1
- package/dist/schema-definitions/models/enapo/EnapoMeasurementsModel.d.ts +2 -1
- package/dist/schema-definitions/models/enapo/EnapoMeasurementsModel.js +7 -3
- package/dist/schema-definitions/models/enapo/EnapoMeasurementsModel.js.map +1 -1
- package/dist/schema-definitions/models/enapo/PreIncomingDataLogModel.d.ts +13 -5
- package/dist/schema-definitions/models/enapo/PreIncomingDataLogModel.js +48 -32
- package/dist/schema-definitions/models/enapo/PreIncomingDataLogModel.js.map +1 -1
- package/dist/schema-definitions/models/enapo/interfaces/IEnapoMeasurmentsDto.d.ts +2 -1
- package/docs/implementation_documentation.md +7 -0
- package/package.json +1 -1
- package/dist/integration-engine/enapo/repositories/EnapoMetadataRepository.d.ts +0 -5
- package/dist/integration-engine/enapo/repositories/EnapoMetadataRepository.js +0 -32
- package/dist/integration-engine/enapo/repositories/EnapoMetadataRepository.js.map +0 -1
|
@@ -1,28 +1,31 @@
|
|
|
1
|
-
CREATE TABLE
|
|
2
|
-
|
|
3
|
-
"year"
|
|
4
|
-
"month"
|
|
1
|
+
CREATE TABLE enapo_pre_metadata_history (
|
|
2
|
+
ean varchar NOT NULL,
|
|
3
|
+
"year" int4 NOT NULL,
|
|
4
|
+
"month" int4 NOT NULL,
|
|
5
5
|
month_name varchar NULL,
|
|
6
|
-
days_in_stored_month
|
|
7
|
-
|
|
8
|
-
ean_list _varchar NULL,
|
|
9
|
-
ean_with_meter_replaced _varchar NULL,
|
|
10
|
-
created_at timestamp NULL,
|
|
11
|
-
updated_at timestamp NULL,
|
|
12
|
-
CONSTRAINT enapo_log_pre_pk PRIMARY KEY (id)
|
|
13
|
-
);
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
CREATE TABLE enapo_metadata (
|
|
17
|
-
id varchar NOT NULL,
|
|
18
|
-
id_type varchar NOT NULL,
|
|
19
|
-
source varchar NOT NULL,
|
|
6
|
+
days_in_stored_month int4 NULL,
|
|
7
|
+
consumption_point varchar NULL,
|
|
20
8
|
address varchar NULL,
|
|
21
9
|
location_type varchar NULL,
|
|
22
10
|
company_name varchar NULL,
|
|
23
11
|
company_id varchar NULL,
|
|
24
|
-
|
|
12
|
+
tarif_type varchar NULL,
|
|
13
|
+
tarif_1t2t varchar NULL,
|
|
14
|
+
phases varchar NULL,
|
|
15
|
+
circuit_breaker varchar NULL,
|
|
16
|
+
type_b_meter varchar NULL,
|
|
17
|
+
meter_replaced varchar NULL,
|
|
25
18
|
created_at timestamp NULL,
|
|
26
19
|
updated_at timestamp NULL,
|
|
27
|
-
CONSTRAINT
|
|
28
|
-
);
|
|
20
|
+
CONSTRAINT enapo_log_pre_pk PRIMARY KEY (ean, "year", "month")
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
COMMENT ON COLUMN enapo_pre_metadata_history.meter_replaced IS 'Změna elekroměru na odběrném místě v daném měsíci je indikována takto:
|
|
24
|
+
"meter_replaced": "53435572" ==> beze změny
|
|
25
|
+
"meter_replaced": "2025-06-19|54292510|55505332" ==> změna "datumZměny|starý|nový"
|
|
26
|
+
"meter_replaced": "2025-06-19|54292510|55505332|2025-06-30|55505332|96933662" ==> případně dvě a více změn';
|
|
27
|
+
|
|
28
|
+
ALTER TABLE enapo_measurements RENAME COLUMN eic TO id;
|
|
29
|
+
ALTER TABLE enapo_measurements ADD id_type varchar DEFAULT 'eic' NOT NULL;
|
|
30
|
+
ALTER TABLE enapo_measurements ALTER COLUMN created_at TYPE timestamptz USING created_at::timestamptz;
|
|
31
|
+
ALTER TABLE enapo_measurements ALTER COLUMN updated_at TYPE timestamptz USING updated_at::timestamptz;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PreJsonInputController = void 0;
|
|
4
|
-
const constants_1 = require("../../integration-engine/
|
|
4
|
+
const constants_1 = require("../../integration-engine/enapo/constants");
|
|
5
5
|
const EnapoPreInputSchema_1 = require("../../schema-definitions/datasources/enapo/EnapoPreInputSchema");
|
|
6
6
|
const controllers_1 = require("@golemio/core/dist/input-gateway/controllers");
|
|
7
7
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
8
8
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
9
9
|
class PreJsonInputController extends controllers_1.BaseController {
|
|
10
10
|
constructor() {
|
|
11
|
-
super(constants_1.
|
|
11
|
+
super(constants_1.ENAPO_WORKER_NAME, new golemio_validator_1.JSONSchemaValidator("PreJsonInputController", EnapoPreInputSchema_1.enapoPreInputSchema));
|
|
12
12
|
this.processData = async (inputData) => {
|
|
13
13
|
try {
|
|
14
14
|
await this.validator.Validate(inputData);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreJsonInputController.js","sourceRoot":"","sources":["../../../src/input-gateway/pre/PreJsonInputController.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"PreJsonInputController.js","sourceRoot":"","sources":["../../../src/input-gateway/pre/PreJsonInputController.ts"],"names":[],"mappings":";;;AAAA,wEAAwD;AACxD,wGAAiF;AAEjF,8EAA8E;AAC9E,6EAA8F;AAC9F,mFAAkF;AAElF,MAAa,sBAAuB,SAAQ,4BAAc;IACtD;QACI,KAAK,CAAC,6BAAiB,EAAE,IAAI,uCAAmB,CAAC,wBAAwB,EAAE,yCAAmB,CAAC,CAAC,CAAC;QAG9F,gBAAW,GAAG,KAAK,EAAE,SAAwB,EAAE,EAAE;YACpD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;oBAC3G,UAAU,EAAE,IAAI;iBACnB,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACrF;aACJ;QACL,CAAC,CAAC;IAfF,CAAC;CAgBJ;AAnBD,wDAmBC"}
|
|
@@ -15,7 +15,6 @@ const EnapoPpasTask_1 = require("../workers/task/EnapoPpasTask");
|
|
|
15
15
|
const EnapoPrediTask_1 = require("../workers/task/EnapoPrediTask");
|
|
16
16
|
const EnapoWorkerContainerToken_1 = require("./EnapoWorkerContainerToken");
|
|
17
17
|
const PreIncomingDataLogRepository_1 = require("../repositories/PreIncomingDataLogRepository");
|
|
18
|
-
const EnapoMetadataRepository_1 = require("../repositories/EnapoMetadataRepository");
|
|
19
18
|
//#region Initialization
|
|
20
19
|
const EnapoContainer = Di_1.IntegrationEngineContainer.createChildContainer();
|
|
21
20
|
exports.EnapoContainer = EnapoContainer;
|
|
@@ -26,9 +25,7 @@ EnapoContainer.register(WorkerContainerToken_1.WorkerContainerToken.PpasAveApiDa
|
|
|
26
25
|
EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.CommodityProviderDataSourceFactory, CommodityProviderDataSourceFactory_1.CommodityProviderDataSourceFactory);
|
|
27
26
|
//#endregion
|
|
28
27
|
//#region Repositories
|
|
29
|
-
EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoMeasurementsRepository, EnapoMeasurementsRepository_1.EnapoMeasurementsRepository)
|
|
30
|
-
.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoMetadataRepository, EnapoMetadataRepository_1.EnapoMetadataRepository)
|
|
31
|
-
.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PreIncomingDataLogRepository, PreIncomingDataLogRepository_1.PreIncomingDataLogRepository);
|
|
28
|
+
EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoMeasurementsRepository, EnapoMeasurementsRepository_1.EnapoMeasurementsRepository).register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PreIncomingDataLogRepository, PreIncomingDataLogRepository_1.PreIncomingDataLogRepository);
|
|
32
29
|
//#endregion
|
|
33
30
|
//#region Transformation
|
|
34
31
|
EnapoContainer.registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PPasMeasurementTransformation, PPasMeasurementTransformation_1.PPasMeasurementTransformation);
|
|
@@ -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,6FAA0F;AAC1F,oGAAiG;AACjG,kHAA+G;AAC/G,wGAAqG;AACrG,gGAA6F;AAC7F,iEAA8D;AAC9D,mEAAgE;AAChE,2EAAwE;AACxE,+FAA4F;
|
|
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,6FAA0F;AAC1F,oGAAiG;AACjG,kHAA+G;AAC/G,wGAAqG;AACrG,gGAA6F;AAC7F,iEAA8D;AAC9D,mEAAgE;AAChE,2EAAwE;AACxE,+FAA4F;AAE5F,wBAAwB;AACxB,MAAM,cAAc,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAiCrF,wCAAc;AAhCvB,YAAY;AAEZ,oBAAoB;AACpB,cAAc,CAAC,QAAQ,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AACjG,cAAc,CAAC,QAAQ,CAAC,2CAAoB,CAAC,4BAA4B,EAAE,2DAA4B,CAAC,CAAC;AACzG,cAAc,CAAC,QAAQ,CAAC,qDAAyB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AAC1H,YAAY;AAEZ,sBAAsB;AACtB,cAAc,CAAC,QAAQ,CAAC,qDAAyB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC,QAAQ,CAChH,qDAAyB,CAAC,4BAA4B,EACtD,2DAA4B,CAC/B,CAAC;AACF,YAAY;AAEZ,wBAAwB;AACxB,cAAc,CAAC,iBAAiB,CAAC,qDAAyB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AACzH,cAAc,CAAC,iBAAiB,CAAC,qDAAyB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AACzH,cAAc,CAAC,iBAAiB,CAC5B,qDAAyB,CAAC,kCAAkC,EAC5D,uEAAkC,CACrC,CAAC;AACF,cAAc,CAAC,iBAAiB,CAAC,qDAAyB,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACjH,YAAY;AAEZ,eAAe;AACf,cAAc,CAAC,QAAQ,CAAC,qDAAyB,CAAC,aAAa,EAAE,6BAAa,CAAC,CAAC;AAChF,cAAc,CAAC,QAAQ,CAAC,qDAAyB,CAAC,cAAc,EAAE,+BAAc,CAAC,CAAC"}
|
|
@@ -21,7 +21,7 @@ let PreIncomingDataLogRepository = exports.PreIncomingDataLogRepository = class
|
|
|
21
21
|
pgTableName: PreIncomingDataLogModel_1.PreIncomingDataLogModel.TABLE_NAME,
|
|
22
22
|
pgSchema: _sch_1.EnergeticsSchema.pgSchema,
|
|
23
23
|
outputSequelizeAttributes: PreIncomingDataLogModel_1.PreIncomingDataLogModel.attributeModel,
|
|
24
|
-
savingType: "
|
|
24
|
+
savingType: "insertOrUpdate",
|
|
25
25
|
}, new golemio_validator_1.JSONSchemaValidator(PreIncomingDataLogModel_1.PreIncomingDataLogModel.JSON_SCHEMA_VALIDATOR_NAME, PreIncomingDataLogModel_1.PreIncomingDataLogModel.jsonSchema));
|
|
26
26
|
}
|
|
27
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreIncomingDataLogRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/repositories/PreIncomingDataLogRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAwC;AACxC,8GAAoF;AAEpF,8FAA2F;AAC3F,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,4BAA4B,0CAAlC,MAAM,4BAA6B,SAAQ,6BAAa;IAC3D;QACI,KAAK,CACD,iDAAuB,CAAC,eAAe,EACvC;YACI,WAAW,EAAE,iDAAuB,CAAC,UAAU;YAC/C,QAAQ,EAAE,uBAAgB,CAAC,QAAQ;YACnC,yBAAyB,EAAE,iDAAuB,CAAC,cAAc;YACjE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"PreIncomingDataLogRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/repositories/PreIncomingDataLogRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAwC;AACxC,8GAAoF;AAEpF,8FAA2F;AAC3F,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,4BAA4B,0CAAlC,MAAM,4BAA6B,SAAQ,6BAAa;IAC3D;QACI,KAAK,CACD,iDAAuB,CAAC,eAAe,EACvC;YACI,WAAW,EAAE,iDAAuB,CAAC,UAAU;YAC/C,QAAQ,EAAE,uBAAgB,CAAC,QAAQ;YACnC,yBAAyB,EAAE,iDAAuB,CAAC,cAAc;YACjE,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,iDAAuB,CAAC,0BAA0B,EAAE,iDAAuB,CAAC,UAAU,CAAC,CAClH,CAAC;IACN,CAAC;CACJ,CAAA;uCAbY,4BAA4B;IADxC,IAAA,qBAAU,GAAE;;GACA,4BAA4B,CAaxC"}
|
|
@@ -19,7 +19,8 @@ let PPasMeasurementTransformation = exports.PPasMeasurementTransformation = clas
|
|
|
19
19
|
this.name = "PPasMeasurementTransformation";
|
|
20
20
|
this.transformInternal = (data) => {
|
|
21
21
|
const baseData = {
|
|
22
|
-
|
|
22
|
+
id: data.Eic,
|
|
23
|
+
id_type: "eic",
|
|
23
24
|
timestamp: luxon_1.DateTime.fromISO(data.StandardTime, {
|
|
24
25
|
zone: PpasAveApiHelper_1.PpasAveApiHelper.API_DATE_TZ,
|
|
25
26
|
}).toJSDate(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PPasMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/transformations/PPasMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kHAA6G;AAE7G,qHAAuF;AACvF,wGAA0E;AAE1E,6GAA0G;AAC1G,2DAA2D;AAC3D,iEAAgE;AAIzD,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,+CAGlD;IAHM;;QAII,SAAI,GAAG,+BAA+B,CAAC;QAEpC,sBAAiB,GAAG,CAC1B,IAAwC,EAK1C,EAAE;YACA,MAAM,QAAQ,GAAG;gBACb,
|
|
1
|
+
{"version":3,"file":"PPasMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/transformations/PPasMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kHAA6G;AAE7G,qHAAuF;AACvF,wGAA0E;AAE1E,6GAA0G;AAC1G,2DAA2D;AAC3D,iEAAgE;AAIzD,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,+CAGlD;IAHM;;QAII,SAAI,GAAG,+BAA+B,CAAC;QAEpC,sBAAiB,GAAG,CAC1B,IAAwC,EAK1C,EAAE;YACA,MAAM,QAAQ,GAAG;gBACb,EAAE,EAAE,IAAI,CAAC,GAAG;gBACZ,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,gBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE;oBAC3C,IAAI,EAAE,mCAAgB,CAAC,WAAW;iBACrC,CAAC,CAAC,QAAQ,EAAE;gBACb,MAAM,EAAE,+BAAY,CAAC,kBAAkB;gBACvC,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,oBAAoB,EAAE,IAAI,CAAC,kBAAkB;aAChD,CAAC;YAEF,OAAO;gBACH,eAAe,EAAE;oBACb,KAAK,EAAE,IAAI,CAAC,eAAe;oBAC3B,GAAG,EAAE,6CAAmB,CAAC,IAAI;oBAC7B,GAAG,QAAQ;iBACd;gBACD,iBAAiB,EAAE;oBACf,KAAK,EAAE,IAAI,CAAC,iBAAiB;oBAC7B,GAAG,EAAE,6CAAmB,CAAC,KAAK;oBAC9B,GAAG,QAAQ;iBACd;gBACD,mBAAmB,EAAE;oBACjB,KAAK,EAAE,IAAI,CAAC,mBAAmB;oBAC/B,GAAG,EAAE,6CAAmB,CAAC,QAAQ;oBACjC,GAAG,QAAQ;iBACd;aACJ,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;wCA1CY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;GACA,6BAA6B,CA0CzC"}
|
package/dist/integration-engine/enapo/transformations/pre/PreDailyMeasurementsTransformation.js
CHANGED
|
@@ -12,6 +12,7 @@ const ProviderTypeEnum_1 = require("../../../../schema-definitions/models/enapo/
|
|
|
12
12
|
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
13
13
|
const luxon_1 = require("@golemio/core/dist/shared/luxon");
|
|
14
14
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
15
|
+
const DeviceSerialNumberExtractor_1 = require("./helpers/DeviceSerialNumberExtractor");
|
|
15
16
|
let PreDailyMeasurementsTransformation = exports.PreDailyMeasurementsTransformation = class PreDailyMeasurementsTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
16
17
|
constructor() {
|
|
17
18
|
super(...arguments);
|
|
@@ -25,30 +26,33 @@ let PreDailyMeasurementsTransformation = exports.PreDailyMeasurementsTransformat
|
|
|
25
26
|
const t1WhTotalArray = eanData.daily_data_Wh_per_EAN.T1_Wh_total;
|
|
26
27
|
for (let index = 0; index < t1WhTotalArray.length; index++) {
|
|
27
28
|
const element = t1WhTotalArray[index];
|
|
28
|
-
output.push(this.prepareMeasurement(ean, data, index,
|
|
29
|
+
output.push(this.prepareMeasurement(ean, data, index, eanData.consumption_point, element, MeasurementVariableEnum_1.MeasurementVariable.EActi_VT_DaySum, eanData.meter_replaced));
|
|
29
30
|
}
|
|
30
31
|
const t2WhTotalArray = eanData.daily_data_Wh_per_EAN.T2_Wh_total;
|
|
31
32
|
for (let index = 0; index < t2WhTotalArray.length; index++) {
|
|
32
33
|
const element = t2WhTotalArray[index];
|
|
33
|
-
output.push(this.prepareMeasurement(ean, data, index,
|
|
34
|
+
output.push(this.prepareMeasurement(ean, data, index, eanData.consumption_point, element, MeasurementVariableEnum_1.MeasurementVariable.EActi_NT_DaySum, eanData.meter_replaced));
|
|
34
35
|
}
|
|
35
36
|
const t1t2WhTotalArray = eanData.daily_data_Wh_per_EAN.T1_plus_T2_Wh_total;
|
|
36
37
|
for (let index = 0; index < t1t2WhTotalArray.length; index++) {
|
|
37
38
|
const element = t1t2WhTotalArray[index];
|
|
38
|
-
output.push(this.prepareMeasurement(ean, data, index,
|
|
39
|
+
output.push(this.prepareMeasurement(ean, data, index, eanData.consumption_point, element, MeasurementVariableEnum_1.MeasurementVariable.EActi_VT_NT_DaySum, eanData.meter_replaced));
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
return output;
|
|
43
44
|
};
|
|
44
45
|
}
|
|
45
|
-
prepareMeasurement(ean, data, index,
|
|
46
|
+
prepareMeasurement(ean, data, index, placeId, element, type, meter_replaced) {
|
|
47
|
+
const currentDate = luxon_1.DateTime.fromObject({ year: data.stored_month.year, month: data.stored_month.month, day: index + 1 }, { zone: "UTC" }).toJSDate();
|
|
48
|
+
const deviceSerialNumber = DeviceSerialNumberExtractor_1.DeviceSerialNumberExtractor.extractActual(meter_replaced, currentDate, true);
|
|
46
49
|
return {
|
|
47
|
-
|
|
48
|
-
|
|
50
|
+
id: ean,
|
|
51
|
+
id_type: "ean",
|
|
52
|
+
timestamp: currentDate,
|
|
49
53
|
source: ProviderTypeEnum_1.ProviderType.PREdi,
|
|
50
|
-
place_id:
|
|
51
|
-
device_serial_number:
|
|
54
|
+
place_id: placeId,
|
|
55
|
+
device_serial_number: deviceSerialNumber,
|
|
52
56
|
value: Number(element),
|
|
53
57
|
var: type,
|
|
54
58
|
};
|
package/dist/integration-engine/enapo/transformations/pre/PreDailyMeasurementsTransformation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreDailyMeasurementsTransformation.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/transformations/pre/PreDailyMeasurementsTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,wHAAuF;AAEvF,2GAA0E;
|
|
1
|
+
{"version":3,"file":"PreDailyMeasurementsTransformation.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/transformations/pre/PreDailyMeasurementsTransformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ const ProviderTypeEnum_1 = require("../../../../schema-definitions/models/enapo/
|
|
|
13
13
|
const helpers_1 = require("@golemio/core/dist/helpers");
|
|
14
14
|
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
15
15
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
16
|
+
const DeviceSerialNumberExtractor_1 = require("./helpers/DeviceSerialNumberExtractor");
|
|
16
17
|
let PreMeasurementsTransformation = exports.PreMeasurementsTransformation = class PreMeasurementsTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
17
18
|
constructor() {
|
|
18
19
|
super(...arguments);
|
|
@@ -25,24 +26,30 @@ let PreMeasurementsTransformation = exports.PreMeasurementsTransformation = clas
|
|
|
25
26
|
const eanData = companyData.EAN_list[ean];
|
|
26
27
|
const measurementsT1 = PreMeasurementFilter_1.PreMeasurementFilter.sumDuplicates(eanData.daily_data_Wh_per_EAN.T1_Wh_raw_data.flat());
|
|
27
28
|
for (const measurement of measurementsT1) {
|
|
29
|
+
const date = helpers_1.DateTime.fromFormat(measurement[0], "dd.MM.yyyy T", { timeZone: "UTC" }).toDate();
|
|
30
|
+
const deviceSerialNumber = DeviceSerialNumberExtractor_1.DeviceSerialNumberExtractor.extractActual(eanData.meter_replaced, date);
|
|
28
31
|
output.push({
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
id: ean,
|
|
33
|
+
id_type: "ean",
|
|
34
|
+
timestamp: date,
|
|
31
35
|
source: ProviderTypeEnum_1.ProviderType.PREdi,
|
|
32
|
-
place_id:
|
|
33
|
-
device_serial_number:
|
|
36
|
+
place_id: eanData.consumption_point,
|
|
37
|
+
device_serial_number: deviceSerialNumber,
|
|
34
38
|
value: Number(measurement[1]),
|
|
35
39
|
var: MeasurementVariableEnum_1.MeasurementVariable.EFwActi_VT,
|
|
36
40
|
});
|
|
37
41
|
}
|
|
38
42
|
const measurementsT2 = PreMeasurementFilter_1.PreMeasurementFilter.sumDuplicates(eanData.daily_data_Wh_per_EAN.T2_Wh_raw_data.flat());
|
|
39
43
|
for (const measurement of measurementsT2) {
|
|
44
|
+
const date = helpers_1.DateTime.fromFormat(measurement[0], "dd.MM.yyyy T", { timeZone: "UTC" }).toDate();
|
|
45
|
+
const deviceSerialNumber = DeviceSerialNumberExtractor_1.DeviceSerialNumberExtractor.extractActual(eanData.meter_replaced, date);
|
|
40
46
|
output.push({
|
|
41
|
-
|
|
42
|
-
|
|
47
|
+
id: ean,
|
|
48
|
+
id_type: "ean",
|
|
49
|
+
timestamp: date,
|
|
43
50
|
source: ProviderTypeEnum_1.ProviderType.PREdi,
|
|
44
|
-
place_id:
|
|
45
|
-
device_serial_number:
|
|
51
|
+
place_id: eanData.consumption_point,
|
|
52
|
+
device_serial_number: deviceSerialNumber,
|
|
46
53
|
value: Number(measurement[1]),
|
|
47
54
|
var: MeasurementVariableEnum_1.MeasurementVariable.EFwActi_NT,
|
|
48
55
|
});
|
package/dist/integration-engine/enapo/transformations/pre/PreMeasurementsTransformation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreMeasurementsTransformation.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/transformations/pre/PreMeasurementsTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,mGAA2F;AAC3F,wHAAuF;AAEvF,2GAA0E;AAE1E,wDAAsD;AACtD,6GAA0G;AAC1G,iEAAgE;
|
|
1
|
+
{"version":3,"file":"PreMeasurementsTransformation.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/transformations/pre/PreMeasurementsTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,mGAA2F;AAC3F,wHAAuF;AAEvF,2GAA0E;AAE1E,wDAAsD;AACtD,6GAA0G;AAC1G,iEAAgE;AAChE,uFAAoF;AAG7E,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,+CAAgE;IAA5G;;QACI,SAAI,GAAG,+BAA+B,CAAC;QAEpC,sBAAiB,GAAG,CAAC,IAAqB,EAA2B,EAAE;YAC7E,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACzD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;oBACjD,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAC1C,MAAM,cAAc,GAAG,2CAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;oBAE/G,KAAK,MAAM,WAAW,IAAI,cAAc,EAAE;wBACtC,MAAM,IAAI,GAAG,kBAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;wBAC/F,MAAM,kBAAkB,GAAG,yDAA2B,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;wBACnG,MAAM,CAAC,IAAI,CAAC;4BACR,EAAE,EAAE,GAAG;4BACP,OAAO,EAAE,KAAK;4BACd,SAAS,EAAE,IAAI;4BACf,MAAM,EAAE,+BAAY,CAAC,KAAK;4BAC1B,QAAQ,EAAE,OAAO,CAAC,iBAAiB;4BACnC,oBAAoB,EAAE,kBAAkB;4BACxC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;4BAC7B,GAAG,EAAE,6CAAmB,CAAC,UAAU;yBACb,CAAC,CAAC;qBAC/B;oBAED,MAAM,cAAc,GAAG,2CAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;oBAE/G,KAAK,MAAM,WAAW,IAAI,cAAc,EAAE;wBACtC,MAAM,IAAI,GAAG,kBAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;wBAC/F,MAAM,kBAAkB,GAAG,yDAA2B,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;wBACnG,MAAM,CAAC,IAAI,CAAC;4BACR,EAAE,EAAE,GAAG;4BACP,OAAO,EAAE,KAAK;4BACd,SAAS,EAAE,IAAI;4BACf,MAAM,EAAE,+BAAY,CAAC,KAAK;4BAC1B,QAAQ,EAAE,OAAO,CAAC,iBAAiB;4BACnC,oBAAoB,EAAE,kBAAkB;4BACxC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;4BAC7B,GAAG,EAAE,6CAAmB,CAAC,UAAU;yBACb,CAAC,CAAC;qBAC/B;iBACJ;aACJ;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;wCA9CY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;GACA,6BAA6B,CA8CzC"}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
import { IEnapoMetadata } from "../../../../schema-definitions/datasources/interfaces/enapo/IEnapoMetadata";
|
|
2
1
|
import { IPreIncomingDataLog } from "../../../../schema-definitions/datasources/interfaces/enapo/IPreIncomingDataLog";
|
|
3
2
|
import { IPrediInputData } from "../../../../schema-definitions/datasources/interfaces/enapo/IPrediInputData";
|
|
4
3
|
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
5
|
-
export declare class PreMetadataTransformation extends AbstractTransformation<IPrediInputData, {
|
|
6
|
-
metadata: IEnapoMetadata[];
|
|
7
|
-
log: IPreIncomingDataLog;
|
|
8
|
-
}> {
|
|
4
|
+
export declare class PreMetadataTransformation extends AbstractTransformation<IPrediInputData, IPreIncomingDataLog[]> {
|
|
9
5
|
name: string;
|
|
10
|
-
protected transformInternal: (element: IPrediInputData) =>
|
|
11
|
-
metadata: IEnapoMetadata[];
|
|
12
|
-
log: IPreIncomingDataLog;
|
|
13
|
-
};
|
|
14
|
-
private extractDataFromStructure;
|
|
6
|
+
protected transformInternal: (element: IPrediInputData) => IPreIncomingDataLog[];
|
|
15
7
|
}
|
|
@@ -1,64 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PreMetadataTransformation = void 0;
|
|
4
|
-
const ProviderTypeEnum_1 = require("../../../../schema-definitions/models/enapo/helpers/ProviderTypeEnum");
|
|
5
4
|
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
6
5
|
class PreMetadataTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
7
6
|
constructor() {
|
|
8
7
|
super(...arguments);
|
|
9
8
|
this.name = "PreMetadataTransformation";
|
|
10
9
|
this.transformInternal = (element) => {
|
|
11
|
-
const
|
|
12
|
-
const log = {
|
|
10
|
+
const header = {
|
|
13
11
|
year: element.stored_month.year,
|
|
14
12
|
month: element.stored_month.month,
|
|
15
13
|
month_name: element.stored_month.month_name,
|
|
16
14
|
days_in_stored_month: element.stored_month.days_in_stored_month,
|
|
17
|
-
company_ids: companyIds,
|
|
18
|
-
ean_list: eans,
|
|
19
|
-
ean_with_meter_replaced: eanWithMeterReplaced,
|
|
20
15
|
};
|
|
21
|
-
const
|
|
16
|
+
const log = [];
|
|
22
17
|
for (const company of Object.keys(element.stored_month.companies)) {
|
|
23
18
|
const companyData = element.stored_month.companies[company];
|
|
24
19
|
for (const ean of Object.keys(companyData.EAN_list)) {
|
|
25
20
|
const eanData = companyData.EAN_list[ean];
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
21
|
+
log.push({
|
|
22
|
+
...header,
|
|
23
|
+
ean: ean,
|
|
24
|
+
consumption_point: eanData.consumption_point,
|
|
30
25
|
address: eanData.address,
|
|
31
26
|
location_type: eanData.location_type,
|
|
32
27
|
company_name: companyData.trade_name,
|
|
33
28
|
company_id: company,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
},
|
|
29
|
+
tarif_type: eanData.tarif_type,
|
|
30
|
+
tarif_1t2t: eanData.tarif_1T2T,
|
|
31
|
+
phases: eanData.phases,
|
|
32
|
+
circuit_breaker: eanData.circuit_breaker,
|
|
33
|
+
type_b_meter: eanData.type_B_meter,
|
|
34
|
+
meter_replaced: eanData.meter_replaced,
|
|
41
35
|
});
|
|
42
36
|
}
|
|
43
37
|
}
|
|
44
|
-
return
|
|
45
|
-
};
|
|
46
|
-
this.extractDataFromStructure = (data) => {
|
|
47
|
-
const companyIds = [];
|
|
48
|
-
const eans = [];
|
|
49
|
-
const eanWithMeterReplaced = [];
|
|
50
|
-
for (const company of Object.keys(data.stored_month.companies)) {
|
|
51
|
-
const companyData = data.stored_month.companies[company];
|
|
52
|
-
companyIds.push(company);
|
|
53
|
-
for (const ean of Object.keys(companyData.EAN_list)) {
|
|
54
|
-
const eanData = companyData.EAN_list[ean];
|
|
55
|
-
eans.push(ean);
|
|
56
|
-
if (eanData.meter_replaced === "YES") {
|
|
57
|
-
eanWithMeterReplaced.push(ean);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return { companyIds, eans, eanWithMeterReplaced };
|
|
38
|
+
return log;
|
|
62
39
|
};
|
|
63
40
|
}
|
|
64
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreMetadataTransfromation.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/transformations/pre/PreMetadataTransfromation.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"PreMetadataTransfromation.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/transformations/pre/PreMetadataTransfromation.ts"],"names":[],"mappings":";;;AAEA,6GAA0G;AAE1G,MAAa,yBAA0B,SAAQ,+CAA8D;IAA7G;;QACW,SAAI,GAAG,2BAA2B,CAAC;QAEhC,sBAAiB,GAAG,CAAC,OAAwB,EAAyB,EAAE;YAC9E,MAAM,MAAM,GAAG;gBACX,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI;gBAC/B,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK;gBACjC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,UAAU;gBAC3C,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAAC,oBAAoB;aAClC,CAAC;YAElC,MAAM,GAAG,GAA0B,EAAE,CAAC;YAEtC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;gBAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC5D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;oBACjD,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAE1C,GAAG,CAAC,IAAI,CAAC;wBACL,GAAG,MAAM;wBACT,GAAG,EAAE,GAAG;wBACR,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;wBAC5C,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,aAAa,EAAE,OAAO,CAAC,aAAa;wBACpC,YAAY,EAAE,WAAW,CAAC,UAAU;wBACpC,UAAU,EAAE,OAAO;wBACnB,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,eAAe,EAAE,OAAO,CAAC,eAAe;wBACxC,YAAY,EAAE,OAAO,CAAC,YAAY;wBAClC,cAAc,EAAE,OAAO,CAAC,cAAc;qBAClB,CAAC,CAAC;iBAC7B;aACJ;YAED,OAAO,GAAG,CAAC;QACf,CAAC,CAAC;IACN,CAAC;CAAA;AAtCD,8DAsCC"}
|
package/dist/integration-engine/enapo/transformations/pre/helpers/DeviceSerialNumberExtractor.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DeviceSerialNumberExtractor = void 0;
|
|
4
|
+
const DateTime_1 = require("@golemio/core/dist/helpers/DateTime");
|
|
5
|
+
class DeviceSerialNumberExtractor {
|
|
6
|
+
/* Změna elekroměru na odběrném místě v daném měsíci je indikována takto:
|
|
7
|
+
* "meter_replaced": "53435572" ==> beze změny
|
|
8
|
+
* "meter_replaced": "2025-06-19|54292510|55505332" ==> změna "datumZměny|starý|nový"
|
|
9
|
+
* "meter_replaced": "2025-06-19|54292510|55505332|2025-06-30|55505332|96933662" ==> případně dvě a více změn
|
|
10
|
+
*/
|
|
11
|
+
static extractActual(meterReplaced, date, isDaily = false) {
|
|
12
|
+
if (!meterReplaced.includes("|")) {
|
|
13
|
+
return meterReplaced;
|
|
14
|
+
}
|
|
15
|
+
const changes = meterReplaced.split("|");
|
|
16
|
+
let actualMeter = changes[1];
|
|
17
|
+
for (let i = 0; i < changes.length / 3; i++) {
|
|
18
|
+
const changeDate = isDaily
|
|
19
|
+
? DateTime_1.DateTime.fromFormat(changes[i * 3], "yyyy-MM-dd", { timeZone: "Europe/Prague" }).toDate()
|
|
20
|
+
: DateTime_1.DateTime.fromFormat(changes[i * 3], "yyyy-MM-dd", { timeZone: "Europe/Prague" })
|
|
21
|
+
.add(10, "hours")
|
|
22
|
+
.toDate();
|
|
23
|
+
if (date >= changeDate) {
|
|
24
|
+
actualMeter = changes[i * 3 + 2];
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return actualMeter;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.DeviceSerialNumberExtractor = DeviceSerialNumberExtractor;
|
|
34
|
+
DeviceSerialNumberExtractor.DEFAULT_CHANGE_TIME = "10:00";
|
|
35
|
+
//# sourceMappingURL=DeviceSerialNumberExtractor.js.map
|
package/dist/integration-engine/enapo/transformations/pre/helpers/DeviceSerialNumberExtractor.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeviceSerialNumberExtractor.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/enapo/transformations/pre/helpers/DeviceSerialNumberExtractor.ts"],"names":[],"mappings":";;;AAAA,kEAA+D;AAE/D,MAAa,2BAA2B;IAEpC;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAAC,aAAqB,EAAE,IAAU,EAAE,UAAmB,KAAK;QACnF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC9B,OAAO,aAAa,CAAC;SACxB;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,UAAU,GAAG,OAAO;gBACtB,CAAC,CAAC,mBAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;gBAC3F,CAAC,CAAC,mBAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;qBAC3E,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC;qBAChB,MAAM,EAAE,CAAC;YACpB,IAAI,IAAI,IAAI,UAAU,EAAE;gBACpB,WAAW,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACpC;iBAAM;gBACH,MAAM;aACT;SACJ;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;;AA7BL,kEA8BC;AA7B2B,+CAAmB,GAAG,OAAO,CAAC"}
|
|
@@ -17,7 +17,7 @@ class AbstractEnapoFetchMeasurementsTask extends integration_engine_1.AbstractTa
|
|
|
17
17
|
}
|
|
18
18
|
const uniqueValues = new Set();
|
|
19
19
|
batch = batch.filter((item) => {
|
|
20
|
-
const key = `${item.timestamp.getTime()}_${item.var}_${item.place_id}_${item.
|
|
20
|
+
const key = `${item.timestamp.getTime()}_${item.var}_${item.place_id}_${item.id}`;
|
|
21
21
|
if (uniqueValues.has(key))
|
|
22
22
|
return false;
|
|
23
23
|
uniqueValues.add(key);
|
package/dist/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractEnapoFetchMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.ts"],"names":[],"mappings":";;;AAAA,+CAAwD;AACxD,yFAA+F;AAG/F,8EAAqE;AAErE,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,MAAsB,kCAAqD,SAAQ,iCAAe;IAG9F;QACI,KAAK,CAAC,6BAAiB,CAAC,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,IAA6B,EAAE,aAAsB,KAAK;QAC1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,uBAAuB,EAAE;YAC3D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;YAEvD,IAAI,CAAC,UAAU,EAAE;gBACb,KAAK,GAAG,4DAA+B,CAAC,MAAM,CAAC,KAAK,CAA4B,CAAC;aACpF;YAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;YACvC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"AbstractEnapoFetchMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.ts"],"names":[],"mappings":";;;AAAA,+CAAwD;AACxD,yFAA+F;AAG/F,8EAAqE;AAErE,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,MAAsB,kCAAqD,SAAQ,iCAAe;IAG9F;QACI,KAAK,CAAC,6BAAiB,CAAC,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,IAA6B,EAAE,aAAsB,KAAK;QAC1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,uBAAuB,EAAE;YAC3D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;YAEvD,IAAI,CAAC,UAAU,EAAE;gBACb,KAAK,GAAG,4DAA+B,CAAC,MAAM,CAAC,KAAK,CAA4B,CAAC;aACpF;YAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;YACvC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBAClF,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACxC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,IAAI,KAAK,CAAC,MAAM,EAAE;gBACd,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;CACJ;AA5BD,gFA4BC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { EnapoMeasurementsRepository } from "../../repositories/EnapoMeasurementsRepository";
|
|
2
|
-
import { EnapoMetadataRepository } from "../../repositories/EnapoMetadataRepository";
|
|
3
2
|
import { PreIncomingDataLogRepository } from "../../repositories/PreIncomingDataLogRepository";
|
|
4
3
|
import { PreDailyMeasurementsTransformation } from "../../transformations/pre/PreDailyMeasurementsTransformation";
|
|
5
4
|
import { PreMeasurementsTransformation } from "../../transformations/pre/PreMeasurementsTransformation";
|
|
@@ -18,11 +17,10 @@ export declare class EnapoPrediTask extends AbstractTaskJsonSchema<IPrediInputDa
|
|
|
18
17
|
protected preDailyMeasurementsTransformation: PreDailyMeasurementsTransformation;
|
|
19
18
|
protected preMetadataTransformation: PreMetadataTransformation;
|
|
20
19
|
protected dbConnector: IDatabaseConnector;
|
|
21
|
-
protected metadataRepository: EnapoMetadataRepository;
|
|
22
20
|
protected preIncomingDataLogRepository: PreIncomingDataLogRepository;
|
|
23
21
|
queueName: string;
|
|
24
22
|
queueTtl: number;
|
|
25
23
|
schema: JSONSchemaValidator;
|
|
26
|
-
constructor(config: ISimpleConfig, measurementsRepository: EnapoMeasurementsRepository, logger: ILogger, preMeasurementsTransformation: PreMeasurementsTransformation, preDailyMeasurementsTransformation: PreDailyMeasurementsTransformation, preMetadataTransformation: PreMetadataTransformation, dbConnector: IDatabaseConnector,
|
|
24
|
+
constructor(config: ISimpleConfig, measurementsRepository: EnapoMeasurementsRepository, logger: ILogger, preMeasurementsTransformation: PreMeasurementsTransformation, preDailyMeasurementsTransformation: PreDailyMeasurementsTransformation, preMetadataTransformation: PreMetadataTransformation, dbConnector: IDatabaseConnector, preIncomingDataLogRepository: PreIncomingDataLogRepository);
|
|
27
25
|
protected execute(data: IPrediInputData): Promise<void>;
|
|
28
26
|
}
|
|
@@ -16,7 +16,6 @@ exports.EnapoPrediTask = void 0;
|
|
|
16
16
|
const constants_1 = require("../../constants");
|
|
17
17
|
const EnapoWorkerContainerToken_1 = require("../../ioc/EnapoWorkerContainerToken");
|
|
18
18
|
const EnapoMeasurementsRepository_1 = require("../../repositories/EnapoMeasurementsRepository");
|
|
19
|
-
const EnapoMetadataRepository_1 = require("../../repositories/EnapoMetadataRepository");
|
|
20
19
|
const PreIncomingDataLogRepository_1 = require("../../repositories/PreIncomingDataLogRepository");
|
|
21
20
|
const PreDailyMeasurementsTransformation_1 = require("../../transformations/pre/PreDailyMeasurementsTransformation");
|
|
22
21
|
const PreMeasurementsTransformation_1 = require("../../transformations/pre/PreMeasurementsTransformation");
|
|
@@ -28,7 +27,7 @@ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
|
28
27
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
29
28
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
30
29
|
let EnapoPrediTask = exports.EnapoPrediTask = class EnapoPrediTask extends AbstractTaskJsonSchema_1.AbstractTaskJsonSchema {
|
|
31
|
-
constructor(config, measurementsRepository, logger, preMeasurementsTransformation, preDailyMeasurementsTransformation, preMetadataTransformation, dbConnector,
|
|
30
|
+
constructor(config, measurementsRepository, logger, preMeasurementsTransformation, preDailyMeasurementsTransformation, preMetadataTransformation, dbConnector, preIncomingDataLogRepository) {
|
|
32
31
|
super(constants_1.ENAPO_WORKER_NAME);
|
|
33
32
|
this.config = config;
|
|
34
33
|
this.measurementsRepository = measurementsRepository;
|
|
@@ -37,22 +36,23 @@ let EnapoPrediTask = exports.EnapoPrediTask = class EnapoPrediTask extends Abstr
|
|
|
37
36
|
this.preDailyMeasurementsTransformation = preDailyMeasurementsTransformation;
|
|
38
37
|
this.preMetadataTransformation = preMetadataTransformation;
|
|
39
38
|
this.dbConnector = dbConnector;
|
|
40
|
-
this.metadataRepository = metadataRepository;
|
|
41
39
|
this.preIncomingDataLogRepository = preIncomingDataLogRepository;
|
|
42
40
|
this.queueName = "processPrediData";
|
|
43
41
|
this.queueTtl = 60 * 60 * 1000;
|
|
44
42
|
this.schema = new golemio_validator_1.JSONSchemaValidator("PrediInputDataValidator", EnapoPreInputSchema_1.enapoPreInputSchema);
|
|
45
43
|
}
|
|
46
44
|
async execute(data) {
|
|
47
|
-
const transformedMeasurements = this.preMeasurementsTransformation.transformElement(data);
|
|
48
|
-
const transformedDailyMeasurements = this.preDailyMeasurementsTransformation.transformElement(data);
|
|
49
|
-
const { metadata, log } = this.preMetadataTransformation.transformElement(data);
|
|
50
45
|
const transaction = await this.dbConnector.getConnection().transaction();
|
|
51
46
|
try {
|
|
47
|
+
let transformedMeasurements = this.preMeasurementsTransformation.transformElement(data);
|
|
52
48
|
await this.measurementsRepository.bulkSave(transformedMeasurements, undefined, undefined, undefined, transaction);
|
|
49
|
+
transformedMeasurements = [];
|
|
50
|
+
let transformedDailyMeasurements = this.preDailyMeasurementsTransformation.transformElement(data);
|
|
53
51
|
await this.measurementsRepository.bulkSave(transformedDailyMeasurements, undefined, undefined, undefined, transaction);
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
transformedDailyMeasurements = [];
|
|
53
|
+
let prelog = this.preMetadataTransformation.transformElement(data);
|
|
54
|
+
await this.preIncomingDataLogRepository.bulkSave(prelog, undefined, undefined, undefined, transaction);
|
|
55
|
+
prelog = [];
|
|
56
56
|
await transaction.commit();
|
|
57
57
|
}
|
|
58
58
|
catch (err) {
|
|
@@ -73,11 +73,9 @@ exports.EnapoPrediTask = EnapoPrediTask = __decorate([
|
|
|
73
73
|
__param(4, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PreDailyMeasurementsTransformation)),
|
|
74
74
|
__param(5, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PreMetadataTransformation)),
|
|
75
75
|
__param(6, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
|
|
76
|
-
__param(7, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.
|
|
77
|
-
__param(8, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PreIncomingDataLogRepository)),
|
|
76
|
+
__param(7, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PreIncomingDataLogRepository)),
|
|
78
77
|
__metadata("design:paramtypes", [Object, EnapoMeasurementsRepository_1.EnapoMeasurementsRepository, Object, PreMeasurementsTransformation_1.PreMeasurementsTransformation,
|
|
79
78
|
PreDailyMeasurementsTransformation_1.PreDailyMeasurementsTransformation,
|
|
80
|
-
PreMetadataTransfromation_1.PreMetadataTransformation, Object,
|
|
81
|
-
PreIncomingDataLogRepository_1.PreIncomingDataLogRepository])
|
|
79
|
+
PreMetadataTransfromation_1.PreMetadataTransformation, Object, PreIncomingDataLogRepository_1.PreIncomingDataLogRepository])
|
|
82
80
|
], EnapoPrediTask);
|
|
83
81
|
//# sourceMappingURL=EnapoPrediTask.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnapoPrediTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/task/EnapoPrediTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAwD;AACxD,mFAAoF;AACpF,gGAAiG;AACjG,
|
|
1
|
+
{"version":3,"file":"EnapoPrediTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/task/EnapoPrediTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAwD;AACxD,mFAAoF;AACpF,gGAAiG;AACjG,kGAAmG;AACnG,qHAAsH;AACtH,2GAA4G;AAC5G,mGAAoG;AACpG,8GAAiF;AAKjF,wEAAqE;AACrE,iHAA8G;AAC9G,6EAA8F;AAC9F,mFAAkF;AAClF,iEAAwE;AAGjE,IAAM,cAAc,4BAApB,MAAM,cAAe,SAAQ,+CAAuC;IAKvE,YACoC,MAA+B,EAE/D,sBAA6D,EACnC,MAAyB,EAEnD,6BAAsE,EAEtE,kCAAgF,EAEhF,yBAA8D,EACzB,WAAyC,EAE9E,4BAAoE;QAEpE,KAAK,CAAC,6BAAiB,CAAC,CAAC;QAdiB,WAAM,GAAN,MAAM,CAAe;QAErD,2BAAsB,GAAtB,sBAAsB,CAA6B;QACzB,WAAM,GAAN,MAAM,CAAS;QAEzC,kCAA6B,GAA7B,6BAA6B,CAA+B;QAE5D,uCAAkC,GAAlC,kCAAkC,CAAoC;QAEtE,8BAAyB,GAAzB,yBAAyB,CAA2B;QACf,gBAAW,GAAX,WAAW,CAAoB;QAEpE,iCAA4B,GAA5B,4BAA4B,CAA8B;QAjBjE,cAAS,GAAG,kBAAkB,CAAC;QAC/B,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,WAAM,GAAG,IAAI,uCAAmB,CAAC,yBAAyB,EAAE,yCAAmB,CAAC,CAAC;IAkBxF,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,IAAqB;QACzC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC;QAEzE,IAAI;YACA,IAAI,uBAAuB,GAAG,IAAI,CAAC,6BAA6B,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACxF,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,uBAAuB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAClH,uBAAuB,GAAG,EAAE,CAAC;YAC7B,IAAI,4BAA4B,GAAG,IAAI,CAAC,kCAAkC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAClG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CACtC,4BAA4B,EAC5B,SAAS,EACT,SAAS,EACT,SAAS,EACT,WAAW,CACd,CAAC;YACF,4BAA4B,GAAG,EAAE,CAAC;YAClC,IAAI,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACnE,MAAM,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YACvG,MAAM,GAAG,EAAE,CAAC;YACZ,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;SAC9B;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;YAE7B,IAAI,GAAG,YAAY,qCAAoB,EAAE;gBACrC,MAAM,GAAG,CAAC;aACb;YAED,MAAM,IAAI,6BAAY,CAAC,iCAAiC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SACzF;IACL,CAAC;CACJ,CAAA;yBArDY,cAAc;IAD1B,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;IAC9B,WAAA,IAAA,iBAAM,EAAC,qDAAyB,CAAC,2BAA2B,CAAC,CAAA;IAE7D,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,qDAAyB,CAAC,6BAA6B,CAAC,CAAA;IAE/D,WAAA,IAAA,iBAAM,EAAC,qDAAyB,CAAC,kCAAkC,CAAC,CAAA;IAEpE,WAAA,IAAA,iBAAM,EAAC,qDAAyB,CAAC,yBAAyB,CAAC,CAAA;IAE3D,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IACnC,WAAA,IAAA,iBAAM,EAAC,qDAAyB,CAAC,4BAA4B,CAAC,CAAA;6CAT7B,yDAA2B,UAGpB,6DAA6B;QAExB,uEAAkC;QAE3C,qDAAyB,UAGtB,2DAA4B;GAlB/D,cAAc,CAqD1B"}
|
|
@@ -66,6 +66,7 @@ exports.enapoPreInputSchema = {
|
|
|
66
66
|
"T2_Wh_raw_data",
|
|
67
67
|
],
|
|
68
68
|
},
|
|
69
|
+
consumption_point: { type: "string" },
|
|
69
70
|
address: { type: "string" },
|
|
70
71
|
tarif_type: { type: "string" },
|
|
71
72
|
tarif_1T2T: { type: "string" },
|
|
@@ -75,7 +76,6 @@ exports.enapoPreInputSchema = {
|
|
|
75
76
|
found_in_converge_reports: { type: "string" },
|
|
76
77
|
type_B_meter: { type: "string" },
|
|
77
78
|
meter_replaced: { type: "string" },
|
|
78
|
-
device_serial_number: { type: "string" },
|
|
79
79
|
},
|
|
80
80
|
additionalProperties: true,
|
|
81
81
|
required: [
|
|
@@ -87,7 +87,6 @@ exports.enapoPreInputSchema = {
|
|
|
87
87
|
"circuit_breaker",
|
|
88
88
|
"location_type",
|
|
89
89
|
"meter_replaced",
|
|
90
|
-
"device_serial_number",
|
|
91
90
|
],
|
|
92
91
|
},
|
|
93
92
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnapoPreInputSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/enapo/EnapoPreInputSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,mBAAmB,GAAoC;IAChE,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,YAAY,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzC,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,SAAS,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,iBAAiB,EAAE;wBACf,UAAU,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACR,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAC9B,QAAQ,EAAE;oCACN,IAAI,EAAE,QAAQ;oCACd,iBAAiB,EAAE;wCACf,UAAU,EAAE;4CACR,IAAI,EAAE,QAAQ;4CACd,UAAU,EAAE;gDACR,qBAAqB,EAAE;oDACnB,IAAI,EAAE,QAAQ;oDACd,oBAAoB,EAAE,IAAI;oDAC1B,UAAU,EAAE;wDACR,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;wDACzD,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;wDACzD,mBAAmB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;wDACjE,cAAc,EAAE;4DACZ,IAAI,EAAE,OAAO;4DACb,KAAK,EAAE;gEACH,IAAI,EAAE,OAAO;gEACb,KAAK,EAAE;oEACH,IAAI,EAAE,OAAO;oEACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oEAC/C,QAAQ,EAAE,CAAC;oEACX,QAAQ,EAAE,CAAC;iEACd;6DACJ;yDACJ;wDACD,cAAc,EAAE;4DACZ,IAAI,EAAE,OAAO;4DACb,KAAK,EAAE;gEACH,IAAI,EAAE,OAAO;gEACb,KAAK,EAAE;oEACH,IAAI,EAAE,OAAO;oEACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oEAC/C,QAAQ,EAAE,CAAC;oEACX,QAAQ,EAAE,CAAC;iEACd;6DACJ;yDACJ;qDACJ;oDACD,QAAQ,EAAE;wDACN,aAAa;wDACb,aAAa;wDACb,qBAAqB;wDACrB,gBAAgB;wDAChB,gBAAgB;qDACnB;iDACJ;gDACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDAC3B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDAC1B,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDACnC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDACjC,yBAAyB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDAC7C,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDAChC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"EnapoPreInputSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/enapo/EnapoPreInputSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,mBAAmB,GAAoC;IAChE,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,YAAY,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzC,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,SAAS,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,iBAAiB,EAAE;wBACf,UAAU,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACR,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAC9B,QAAQ,EAAE;oCACN,IAAI,EAAE,QAAQ;oCACd,iBAAiB,EAAE;wCACf,UAAU,EAAE;4CACR,IAAI,EAAE,QAAQ;4CACd,UAAU,EAAE;gDACR,qBAAqB,EAAE;oDACnB,IAAI,EAAE,QAAQ;oDACd,oBAAoB,EAAE,IAAI;oDAC1B,UAAU,EAAE;wDACR,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;wDACzD,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;wDACzD,mBAAmB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;wDACjE,cAAc,EAAE;4DACZ,IAAI,EAAE,OAAO;4DACb,KAAK,EAAE;gEACH,IAAI,EAAE,OAAO;gEACb,KAAK,EAAE;oEACH,IAAI,EAAE,OAAO;oEACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oEAC/C,QAAQ,EAAE,CAAC;oEACX,QAAQ,EAAE,CAAC;iEACd;6DACJ;yDACJ;wDACD,cAAc,EAAE;4DACZ,IAAI,EAAE,OAAO;4DACb,KAAK,EAAE;gEACH,IAAI,EAAE,OAAO;gEACb,KAAK,EAAE;oEACH,IAAI,EAAE,OAAO;oEACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oEAC/C,QAAQ,EAAE,CAAC;oEACX,QAAQ,EAAE,CAAC;iEACd;6DACJ;yDACJ;qDACJ;oDACD,QAAQ,EAAE;wDACN,aAAa;wDACb,aAAa;wDACb,qBAAqB;wDACrB,gBAAgB;wDAChB,gBAAgB;qDACnB;iDACJ;gDACD,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDACrC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDAC3B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDAC1B,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDACnC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDACjC,yBAAyB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDAC7C,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDAChC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6CACrC;4CACD,oBAAoB,EAAE,IAAI;4CAC1B,QAAQ,EAAE;gDACN,uBAAuB;gDACvB,SAAS;gDACT,YAAY;gDACZ,YAAY;gDACZ,QAAQ;gDACR,iBAAiB;gDACjB,eAAe;gDACf,gBAAgB;6CACnB;yCACJ;qCACJ;oCACD,oBAAoB,EAAE,IAAI;oCAC1B,QAAQ,EAAE,EAAE;iCACf;6BACJ;4BACD,oBAAoB,EAAE,IAAI;4BAC1B,QAAQ,EAAE,CAAC,UAAU,CAAC;yBACzB;qBACJ;oBACD,oBAAoB,EAAE,IAAI;oBAC1B,QAAQ,EAAE,EAAE;iBACf;aACJ;YACD,oBAAoB,EAAE,IAAI;YAC1B,QAAQ,EAAE,CAAC,WAAW,CAAC;SAC1B;QACD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACnC;IACD,oBAAoB,EAAE,IAAI;IAC1B,QAAQ,EAAE,CAAC,cAAc,CAAC;CAC7B,CAAC"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
export interface IPreIncomingDataLog {
|
|
2
|
-
|
|
2
|
+
ean: string;
|
|
3
3
|
year: number;
|
|
4
4
|
month: number;
|
|
5
5
|
month_name: string;
|
|
6
6
|
days_in_stored_month: number;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
consumption_point: string;
|
|
8
|
+
address: string;
|
|
9
|
+
location_type: string;
|
|
10
|
+
company_name: string;
|
|
11
|
+
company_id: string;
|
|
12
|
+
tarif_type: string;
|
|
13
|
+
tarif_1t2t: string;
|
|
14
|
+
phases: string;
|
|
15
|
+
circuit_breaker: string;
|
|
16
|
+
type_b_meter: string;
|
|
17
|
+
meter_replaced: string;
|
|
10
18
|
}
|
|
@@ -16,6 +16,7 @@ export interface IPrediCompany {
|
|
|
16
16
|
EAN_list: Record<string, IPrediEanDetail>;
|
|
17
17
|
}
|
|
18
18
|
export interface IPrediEanDetail {
|
|
19
|
+
consumption_point: string;
|
|
19
20
|
address: string;
|
|
20
21
|
tarif_type: string;
|
|
21
22
|
tarif_1T2T: string;
|
|
@@ -25,7 +26,6 @@ export interface IPrediEanDetail {
|
|
|
25
26
|
found_in_converge_reports: string;
|
|
26
27
|
type_B_meter: string;
|
|
27
28
|
meter_replaced: string;
|
|
28
|
-
device_serial_number: string;
|
|
29
29
|
daily_data_Wh_per_EAN: IPrediDailyDataPerEan;
|
|
30
30
|
}
|
|
31
31
|
export interface IPrediDailyDataPerEan {
|
|
@@ -5,7 +5,8 @@ export declare class EnapoMeasurementsModel extends Model<IEnapoMeasurementsDto>
|
|
|
5
5
|
static TABLE_NAME: string;
|
|
6
6
|
static REPOSITORY_NAME: string;
|
|
7
7
|
static JSON_SCHEMA_VALIDATOR_NAME: string;
|
|
8
|
-
|
|
8
|
+
id: string;
|
|
9
|
+
id_type: string;
|
|
9
10
|
value: number;
|
|
10
11
|
timestamp: Date;
|
|
11
12
|
var: string;
|
|
@@ -10,11 +10,14 @@ EnapoMeasurementsModel.TABLE_NAME = "enapo_measurements";
|
|
|
10
10
|
EnapoMeasurementsModel.REPOSITORY_NAME = "EnapoMeasurementsRepository";
|
|
11
11
|
EnapoMeasurementsModel.JSON_SCHEMA_VALIDATOR_NAME = "EnapoMeasurementsRepositoryValidator";
|
|
12
12
|
EnapoMeasurementsModel.attributeModel = {
|
|
13
|
-
|
|
13
|
+
id: {
|
|
14
14
|
type: sequelize_1.DataTypes.STRING(50),
|
|
15
15
|
allowNull: false,
|
|
16
16
|
primaryKey: true,
|
|
17
17
|
},
|
|
18
|
+
id_type: {
|
|
19
|
+
type: sequelize_1.DataTypes.STRING,
|
|
20
|
+
},
|
|
18
21
|
value: {
|
|
19
22
|
type: sequelize_1.DataTypes.DECIMAL(30, 15),
|
|
20
23
|
allowNull: false,
|
|
@@ -48,7 +51,8 @@ EnapoMeasurementsModel.jsonSchema = {
|
|
|
48
51
|
items: {
|
|
49
52
|
type: "object",
|
|
50
53
|
properties: {
|
|
51
|
-
|
|
54
|
+
id: { type: "string" },
|
|
55
|
+
id_type: { type: "string" },
|
|
52
56
|
value: { type: "number" },
|
|
53
57
|
timestamp: { type: "object", required: ["toISOString"] },
|
|
54
58
|
var: { type: "string", enum: Object.values(MeasurementVariableEnum_1.MeasurementVariable) },
|
|
@@ -56,7 +60,7 @@ EnapoMeasurementsModel.jsonSchema = {
|
|
|
56
60
|
place_id: { type: "string" },
|
|
57
61
|
device_serial_number: { type: "string" },
|
|
58
62
|
},
|
|
59
|
-
required: ["
|
|
63
|
+
required: ["id", "id_type", "value", "timestamp", "var", "source", "place_id", "device_serial_number"],
|
|
60
64
|
},
|
|
61
65
|
};
|
|
62
66
|
//# sourceMappingURL=EnapoMeasurementsModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnapoMeasurementsModel.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/enapo/EnapoMeasurementsModel.ts"],"names":[],"mappings":";;;AAAA,+FAAuF;AAEvF,mEAAwF;AAGxF,MAAa,sBAAuB,SAAQ,iBAA4B;;AAAxE,
|
|
1
|
+
{"version":3,"file":"EnapoMeasurementsModel.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/enapo/EnapoMeasurementsModel.ts"],"names":[],"mappings":";;;AAAA,+FAAuF;AAEvF,mEAAwF;AAGxF,MAAa,sBAAuB,SAAQ,iBAA4B;;AAAxE,wDAqEC;AApEiB,iCAAU,GAAG,oBAAoB,CAAC;AAClC,sCAAe,GAAG,6BAA6B,CAAC;AAChD,iDAA0B,GAAG,sCAAsC,CAAC;AAWpE,qCAAc,GAAmE;IAC3F,EAAE,EAAE;QACA,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACnB;IACD,OAAO,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,KAAK,EAAE;QACH,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;QAC/B,SAAS,EAAE,KAAK;KACnB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACnB;IACD,GAAG,EAAE;QACD,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACnB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;KACnB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACnB;IACD,oBAAoB,EAAE;QAClB,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;KACnB;CACJ,CAAC;AAEY,iCAAU,GAA4C;IAChE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE;YACxD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,6CAAmB,CAAC,EAAE;YACjE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3C;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,sBAAsB,CAAC;KACzG;CACJ,CAAC"}
|
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
import { IPreIncomingDataLog } from "../../datasources/interfaces/enapo/IPreIncomingDataLog";
|
|
2
2
|
import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
|
|
3
|
-
import {
|
|
3
|
+
import { Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
|
|
4
4
|
export declare class PreIncomingDataLogModel extends Model<IPreIncomingDataLog> implements IPreIncomingDataLog {
|
|
5
5
|
static TABLE_NAME: string;
|
|
6
6
|
static REPOSITORY_NAME: string;
|
|
7
7
|
static JSON_SCHEMA_VALIDATOR_NAME: string;
|
|
8
|
-
|
|
8
|
+
ean: string;
|
|
9
9
|
year: number;
|
|
10
10
|
month: number;
|
|
11
11
|
month_name: string;
|
|
12
12
|
days_in_stored_month: number;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
consumption_point: string;
|
|
14
|
+
address: string;
|
|
15
|
+
location_type: string;
|
|
16
|
+
company_name: string;
|
|
17
|
+
company_id: string;
|
|
18
|
+
tarif_type: string;
|
|
19
|
+
tarif_1t2t: string;
|
|
20
|
+
phases: string;
|
|
21
|
+
circuit_breaker: string;
|
|
22
|
+
type_b_meter: string;
|
|
23
|
+
meter_replaced: string;
|
|
16
24
|
static attributeModel: ModelAttributes<PreIncomingDataLogModel, IPreIncomingDataLog>;
|
|
17
25
|
static jsonSchema: JSONSchemaType<IPreIncomingDataLog[]>;
|
|
18
26
|
}
|
|
@@ -5,20 +5,21 @@ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
|
5
5
|
class PreIncomingDataLogModel extends sequelize_1.Model {
|
|
6
6
|
}
|
|
7
7
|
exports.PreIncomingDataLogModel = PreIncomingDataLogModel;
|
|
8
|
-
PreIncomingDataLogModel.TABLE_NAME = "
|
|
8
|
+
PreIncomingDataLogModel.TABLE_NAME = "enapo_pre_metadata_history";
|
|
9
9
|
PreIncomingDataLogModel.REPOSITORY_NAME = "PreIncomingDataLogRepository";
|
|
10
10
|
PreIncomingDataLogModel.JSON_SCHEMA_VALIDATOR_NAME = "PreIncomingDataLogModelRepositoryValidator";
|
|
11
11
|
PreIncomingDataLogModel.attributeModel = {
|
|
12
|
-
|
|
13
|
-
type: sequelize_1.DataTypes.
|
|
12
|
+
ean: {
|
|
13
|
+
type: sequelize_1.DataTypes.STRING,
|
|
14
14
|
primaryKey: true,
|
|
15
|
-
autoIncrement: true,
|
|
16
15
|
},
|
|
17
16
|
year: {
|
|
18
17
|
type: sequelize_1.DataTypes.INTEGER,
|
|
18
|
+
primaryKey: true,
|
|
19
19
|
},
|
|
20
20
|
month: {
|
|
21
21
|
type: sequelize_1.DataTypes.INTEGER,
|
|
22
|
+
primaryKey: true,
|
|
22
23
|
},
|
|
23
24
|
month_name: {
|
|
24
25
|
type: sequelize_1.DataTypes.STRING,
|
|
@@ -26,14 +27,38 @@ PreIncomingDataLogModel.attributeModel = {
|
|
|
26
27
|
days_in_stored_month: {
|
|
27
28
|
type: sequelize_1.DataTypes.INTEGER,
|
|
28
29
|
},
|
|
29
|
-
|
|
30
|
-
type: sequelize_1.DataTypes.
|
|
30
|
+
consumption_point: {
|
|
31
|
+
type: sequelize_1.DataTypes.STRING,
|
|
32
|
+
},
|
|
33
|
+
address: {
|
|
34
|
+
type: sequelize_1.DataTypes.STRING,
|
|
35
|
+
},
|
|
36
|
+
location_type: {
|
|
37
|
+
type: sequelize_1.DataTypes.STRING,
|
|
38
|
+
},
|
|
39
|
+
company_name: {
|
|
40
|
+
type: sequelize_1.DataTypes.STRING,
|
|
41
|
+
},
|
|
42
|
+
company_id: {
|
|
43
|
+
type: sequelize_1.DataTypes.STRING,
|
|
44
|
+
},
|
|
45
|
+
tarif_type: {
|
|
46
|
+
type: sequelize_1.DataTypes.STRING,
|
|
31
47
|
},
|
|
32
|
-
|
|
33
|
-
type: sequelize_1.DataTypes.
|
|
48
|
+
tarif_1t2t: {
|
|
49
|
+
type: sequelize_1.DataTypes.STRING,
|
|
50
|
+
},
|
|
51
|
+
phases: {
|
|
52
|
+
type: sequelize_1.DataTypes.STRING,
|
|
34
53
|
},
|
|
35
|
-
|
|
36
|
-
type: sequelize_1.DataTypes.
|
|
54
|
+
circuit_breaker: {
|
|
55
|
+
type: sequelize_1.DataTypes.STRING,
|
|
56
|
+
},
|
|
57
|
+
type_b_meter: {
|
|
58
|
+
type: sequelize_1.DataTypes.STRING,
|
|
59
|
+
},
|
|
60
|
+
meter_replaced: {
|
|
61
|
+
type: sequelize_1.DataTypes.STRING,
|
|
37
62
|
},
|
|
38
63
|
};
|
|
39
64
|
PreIncomingDataLogModel.jsonSchema = {
|
|
@@ -41,33 +66,24 @@ PreIncomingDataLogModel.jsonSchema = {
|
|
|
41
66
|
items: {
|
|
42
67
|
type: "object",
|
|
43
68
|
properties: {
|
|
44
|
-
|
|
69
|
+
ean: { type: "string" },
|
|
45
70
|
year: { type: "integer" },
|
|
46
71
|
month: { type: "integer" },
|
|
47
72
|
month_name: { type: "string" },
|
|
48
73
|
days_in_stored_month: { type: "integer" },
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
},
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
},
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
},
|
|
74
|
+
consumption_point: { type: "string" },
|
|
75
|
+
address: { type: "string" },
|
|
76
|
+
location_type: { type: "string" },
|
|
77
|
+
company_name: { type: "string" },
|
|
78
|
+
company_id: { type: "string" },
|
|
79
|
+
tarif_type: { type: "string" },
|
|
80
|
+
tarif_1t2t: { type: "string" },
|
|
81
|
+
phases: { type: "string" },
|
|
82
|
+
circuit_breaker: { type: "string" },
|
|
83
|
+
type_b_meter: { type: "string" },
|
|
84
|
+
meter_replaced: { type: "string" },
|
|
61
85
|
},
|
|
62
|
-
required: [
|
|
63
|
-
"year",
|
|
64
|
-
"month",
|
|
65
|
-
"month_name",
|
|
66
|
-
"days_in_stored_month",
|
|
67
|
-
"company_ids",
|
|
68
|
-
"ean_list",
|
|
69
|
-
"ean_with_meter_replaced",
|
|
70
|
-
],
|
|
86
|
+
required: ["ean", "year", "month"],
|
|
71
87
|
},
|
|
72
88
|
};
|
|
73
89
|
//# sourceMappingURL=PreIncomingDataLogModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreIncomingDataLogModel.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/enapo/PreIncomingDataLogModel.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"PreIncomingDataLogModel.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/enapo/PreIncomingDataLogModel.ts"],"names":[],"mappings":";;;AAEA,mEAAwF;AAExF,MAAa,uBAAwB,SAAQ,iBAA0B;;AAAvE,0DAqGC;AApGiB,kCAAU,GAAG,4BAA4B,CAAC;AAC1C,uCAAe,GAAG,8BAA8B,CAAC;AACjD,kDAA0B,GAAG,4CAA4C,CAAC;AAmB1E,sCAAc,GAAkE;IAC1F,GAAG,EAAE;QACD,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;KACnB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,UAAU,EAAE,IAAI;KACnB;IACD,KAAK,EAAE;QACH,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,UAAU,EAAE,IAAI;KACnB;IACD,UAAU,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,oBAAoB,EAAE;QAClB,IAAI,EAAE,qBAAS,CAAC,OAAO;KAC1B;IACD,iBAAiB,EAAE;QACf,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,OAAO,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,aAAa,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,YAAY,EAAE;QACV,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,UAAU,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,UAAU,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,UAAU,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,eAAe,EAAE;QACb,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,YAAY,EAAE;QACV,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;CACJ,CAAC;AAEY,kCAAU,GAA0C;IAC9D,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACzB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC1B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACzC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACrC;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;KACrC;CACJ,CAAC"}
|
|
@@ -445,6 +445,13 @@ Task zpracovává zasílaná data o spotřebě elektřiny. Data jsou nám zasíl
|
|
|
445
445
|
- [PreDailyMeasurementsTransformation](../src/integration-engine/enapo/transformations/pre/PreDailyMeasurementsTransformation.ts)
|
|
446
446
|
- [PreMeasurementsTransformation](../src/integration-engine/enapo/transformations/pre/PreMeasurementsTransformation.ts)
|
|
447
447
|
- [PreMetadataTransfromation](../src/integration-engine/enapo/transformations/pre/PreMetadataTransfromation.ts.ts)
|
|
448
|
+
- v případě, že se u measurementů vyskytnou dvě hodnoty ve stejném čase, tak se hodnoty sečtou viz [sumDuplicates](../src/integration-engine/commodity-providers/helper/PreMeasurementFilter.ts)
|
|
449
|
+
- device_serial_number is extracted from raw_data `meter_replaced` value
|
|
450
|
+
- default time for meter change is set to static value `10:00` Europe/Prague time
|
|
451
|
+
- If change occurs e.g. `"meter_replaced": "2025-06-19|54292510|55505332|2025-06-30|55505332|96933662"` measurements before 19.6.2025 will have serial number `54292510` measurements after `2025-06-19 10:00` will have serial number `55505332` and measurements after `2025-06-30 10:00` will have serial number `96933662`
|
|
452
|
+
- [DeviceSerialNumberExtractor](../src/integration-engine/enapo/transformations/pre/helpers/DeviceSerialNumberExtractor.ts)
|
|
453
|
+
|
|
454
|
+
-
|
|
448
455
|
- data modely
|
|
449
456
|
- [EnapoMeasurementsModel](../src/schema-definitions/models/enapo/EnapoMeasurementsModel.ts) tabulka `enapo_measurements`
|
|
450
457
|
- [EnapoMetadataModel](../src/schema-definitions/models/enapo/EnapoMetadataModel.ts) tabulka `enapo_metadata`
|
package/package.json
CHANGED
|
@@ -1,5 +0,0 @@
|
|
|
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 EnapoMetadataRepository extends PostgresModel implements IModel {
|
|
4
|
-
constructor();
|
|
5
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.EnapoMetadataRepository = void 0;
|
|
13
|
-
const _sch_1 = require("../../../schema-definitions");
|
|
14
|
-
const EnapoMetadataModel_1 = require("../../../schema-definitions/models/enapo/EnapoMetadataModel");
|
|
15
|
-
const PostgresModel_1 = require("@golemio/core/dist/integration-engine/models/PostgresModel");
|
|
16
|
-
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
17
|
-
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
18
|
-
let EnapoMetadataRepository = exports.EnapoMetadataRepository = class EnapoMetadataRepository extends PostgresModel_1.PostgresModel {
|
|
19
|
-
constructor() {
|
|
20
|
-
super(EnapoMetadataModel_1.EnapoMetadataModel.REPOSITORY_NAME, {
|
|
21
|
-
pgTableName: EnapoMetadataModel_1.EnapoMetadataModel.TABLE_NAME,
|
|
22
|
-
pgSchema: _sch_1.EnergeticsSchema.pgSchema,
|
|
23
|
-
outputSequelizeAttributes: EnapoMetadataModel_1.EnapoMetadataModel.attributeModel,
|
|
24
|
-
savingType: "insertOrUpdate",
|
|
25
|
-
}, new golemio_validator_1.JSONSchemaValidator(EnapoMetadataModel_1.EnapoMetadataModel.JSON_SCHEMA_VALIDATOR_NAME, EnapoMetadataModel_1.EnapoMetadataModel.jsonSchema));
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
exports.EnapoMetadataRepository = EnapoMetadataRepository = __decorate([
|
|
29
|
-
(0, tsyringe_1.injectable)(),
|
|
30
|
-
__metadata("design:paramtypes", [])
|
|
31
|
-
], EnapoMetadataRepository);
|
|
32
|
-
//# sourceMappingURL=EnapoMetadataRepository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EnapoMetadataRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/repositories/EnapoMetadataRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAwC;AACxC,oGAA0E;AAE1E,8FAA2F;AAC3F,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,uBAAuB,qCAA7B,MAAM,uBAAwB,SAAQ,6BAAa;IACtD;QACI,KAAK,CACD,uCAAkB,CAAC,eAAe,EAClC;YACI,WAAW,EAAE,uCAAkB,CAAC,UAAU;YAC1C,QAAQ,EAAE,uBAAgB,CAAC,QAAQ;YACnC,yBAAyB,EAAE,uCAAkB,CAAC,cAAc;YAC5D,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,uCAAkB,CAAC,0BAA0B,EAAE,uCAAkB,CAAC,UAAU,CAAC,CACxG,CAAC;IACN,CAAC;CACJ,CAAA;kCAbY,uBAAuB;IADnC,IAAA,qBAAU,GAAE;;GACA,uBAAuB,CAanC"}
|