@golemio/energetics 1.4.8-rc.1556310797 → 1.4.8-rc.1648036666
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/migrations/postgresql/20250120141804-ptas-selected-meters.js +53 -0
- package/db/migrations/postgresql/sqls/20250120141804-ptas-selected-meters-down.sql +1 -0
- package/db/migrations/postgresql/sqls/20250120141804-ptas-selected-meters-up.sql +3 -0
- package/dist/input-gateway/helpers/PreDataExtractor.d.ts +5 -0
- package/dist/input-gateway/helpers/PreDataExtractor.js +20 -0
- package/dist/input-gateway/helpers/PreDataExtractor.js.map +1 -0
- package/dist/input-gateway/index.d.ts +1 -0
- package/dist/input-gateway/index.js +1 -0
- package/dist/input-gateway/index.js.map +1 -1
- package/dist/input-gateway/pre/PreCsvInputController.d.ts +8 -0
- package/dist/input-gateway/pre/PreCsvInputController.js +42 -0
- package/dist/input-gateway/pre/PreCsvInputController.js.map +1 -0
- package/dist/input-gateway/pre/PreInputRouter.d.ts +14 -0
- package/dist/input-gateway/pre/PreInputRouter.js +57 -0
- package/dist/input-gateway/pre/PreInputRouter.js.map +1 -0
- package/dist/input-gateway/pre/PreJsonInputController.d.ts +8 -0
- package/dist/input-gateway/pre/PreJsonInputController.js +44 -0
- package/dist/input-gateway/pre/PreJsonInputController.js.map +1 -0
- package/dist/input-gateway/pre/index.d.ts +2 -0
- package/dist/input-gateway/pre/index.js +19 -0
- package/dist/input-gateway/pre/index.js.map +1 -0
- package/dist/input-gateway/transformations/PreCsvInputTransformation.d.ts +8 -0
- package/dist/input-gateway/transformations/PreCsvInputTransformation.js +25 -0
- package/dist/input-gateway/transformations/PreCsvInputTransformation.js.map +1 -0
- package/dist/integration-engine/commodity-providers/datasources/pre-elektro-api/PreElectroApiDataSourceProvider.js.map +1 -1
- package/dist/integration-engine/commodity-providers/helper/PreMeasurementFilter.d.ts +4 -0
- package/dist/integration-engine/commodity-providers/helper/PreMeasurementFilter.js +15 -0
- package/dist/integration-engine/commodity-providers/helper/PreMeasurementFilter.js.map +1 -0
- package/dist/integration-engine/commodity-providers/ioc/Di.js +4 -0
- package/dist/integration-engine/commodity-providers/ioc/Di.js.map +1 -1
- package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.d.ts +2 -0
- package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js +2 -0
- package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js.map +1 -1
- package/dist/integration-engine/commodity-providers/repositories/StaticMeterSettingsRepository.js.map +1 -1
- package/dist/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.d.ts +16 -0
- package/dist/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.js +39 -0
- package/dist/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js +1 -0
- package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/interfaces/IPreEanMeasurement.d.ts +4 -0
- package/dist/integration-engine/commodity-providers/workers/interfaces/IPreEanMeasurement.js +3 -0
- package/dist/integration-engine/commodity-providers/workers/interfaces/IPreEanMeasurement.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/schema/PreEanMeasurementSchema.d.ts +5 -0
- package/dist/integration-engine/commodity-providers/workers/schema/PreEanMeasurementSchema.js +25 -0
- package/dist/integration-engine/commodity-providers/workers/schema/PreEanMeasurementSchema.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js +1 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPreMeasurementDataTask.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPtasWebScrapedMeasurementsTask.d.ts +1 -3
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPtasWebScrapedMeasurementsTask.js +10 -10
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPtasWebScrapedMeasurementsTask.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.d.ts +16 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.js +74 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.js.map +1 -0
- package/dist/schema-definitions/datasources/PreCsvInputSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/PreCsvInputSchema.js +19 -0
- package/dist/schema-definitions/datasources/PreCsvInputSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/PreJsonInputSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/PreJsonInputSchema.js +51 -0
- package/dist/schema-definitions/datasources/PreJsonInputSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/interfaces/IPreCsvInput.d.ts +5 -0
- package/dist/schema-definitions/datasources/interfaces/IPreCsvInput.js +3 -0
- package/dist/schema-definitions/datasources/interfaces/IPreCsvInput.js.map +1 -0
- package/dist/schema-definitions/datasources/interfaces/IPreJsonInput.d.ts +15 -0
- package/dist/schema-definitions/datasources/interfaces/IPreJsonInput.js +3 -0
- package/dist/schema-definitions/datasources/interfaces/IPreJsonInput.js.map +1 -0
- package/dist/schema-definitions/datasources/interfaces/IStaticMeterSettings.d.ts +3 -0
- package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.d.ts +2 -1
- package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js +1 -0
- package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js.map +1 -1
- package/dist/schema-definitions/models/helpers/StaticDataResourceTypeEnum.d.ts +2 -1
- package/dist/schema-definitions/models/helpers/StaticDataResourceTypeEnum.js +1 -0
- package/dist/schema-definitions/models/helpers/StaticDataResourceTypeEnum.js.map +1 -1
- package/dist/schema-definitions/models/interfaces/IStaticDataOutputDto.d.ts +2 -1
- package/docs/asyncapi.yaml +32 -2
- package/docs/implementation_documentation.md +34 -0
- package/docs/openapi-input.yaml +93 -0
- package/package.json +3 -1
|
@@ -0,0 +1,25 @@
|
|
|
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.PreEanMeasurementSchema = void 0;
|
|
13
|
+
const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
|
|
14
|
+
class PreEanMeasurementSchema {
|
|
15
|
+
}
|
|
16
|
+
exports.PreEanMeasurementSchema = PreEanMeasurementSchema;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, class_validator_1.IsArray)(),
|
|
19
|
+
__metadata("design:type", Array)
|
|
20
|
+
], PreEanMeasurementSchema.prototype, "T1_Wh_raw_data", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, class_validator_1.IsString)(),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], PreEanMeasurementSchema.prototype, "ean", void 0);
|
|
25
|
+
//# sourceMappingURL=PreEanMeasurementSchema.js.map
|
package/dist/integration-engine/commodity-providers/workers/schema/PreEanMeasurementSchema.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PreEanMeasurementSchema.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/schema/PreEanMeasurementSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+EAA8E;AAE9E,MAAa,uBAAuB;CAMnC;AAND,0DAMC;AAJG;IADC,IAAA,yBAAO,GAAE;8BACO,KAAK;+DAAmB;AAGzC;IADC,IAAA,0BAAQ,GAAE;;oDACE"}
|
|
@@ -43,6 +43,7 @@ const optionLookupKeys = {
|
|
|
43
43
|
[CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveMO]: "AveHlavni.mesto.Praha.64581ptions",
|
|
44
44
|
[CommodityProviderTypeEnum_1.CommodityProviderType.PreOptions]: "PreOptions",
|
|
45
45
|
[CommodityProviderTypeEnum_1.CommodityProviderType.PtasOptions]: "PtasOptions",
|
|
46
|
+
[CommodityProviderTypeEnum_1.CommodityProviderType.PreInputOptions]: "PreInputOptions",
|
|
46
47
|
};
|
|
47
48
|
let FetchMeasurementOptionsStaticDataTask = exports.FetchMeasurementOptionsStaticDataTask = class FetchMeasurementOptionsStaticDataTask extends AbstractEmptyTask_1.AbstractEmptyTask {
|
|
48
49
|
constructor(logger, staticDataSourceProvider, meterSettingsRepository, meterSettingsRepositoryCapitalDistrict) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetchMeasurementOptionsStaticDataTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,+HAA8I;AAC9I,iIAAgJ;AAChJ,yEAAwF;AACxF,oGAAmH;AAEnH,uHAAsF;AACtF,yHAAwF;AACxF,wEAAqE;AAErE,uGAAoG;AACpG,6EAAwE;AACxE,iEAAwE;AAExE,MAAM,gBAAgB,GAAG;IACrB,CAAC,iDAAqB,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;IAC5D,CAAC,iDAAqB,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;IAChE,CAAC,iDAAqB,CAAC,QAAQ,CAAC,EAAE,aAAa;IAC/C,CAAC,iDAAqB,CAAC,QAAQ,CAAC,EAAE,aAAa;IAC/C,CAAC,iDAAqB,CAAC,QAAQ,CAAC,EAAE,qBAAqB;IACvD,CAAC,iDAAqB,CAAC,QAAQ,CAAC,EAAE,yBAAyB;IAC3D,CAAC,iDAAqB,CAAC,SAAS,CAAC,EAAE,mCAAmC;IACtE,CAAC,iDAAqB,CAAC,UAAU,CAAC,EAAE,YAAY;IAChD,CAAC,iDAAqB,CAAC,WAAW,CAAC,EAAE,aAAa;
|
|
1
|
+
{"version":3,"file":"FetchMeasurementOptionsStaticDataTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.ts"],"names":[],"mappings":"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"}
|
package/dist/integration-engine/commodity-providers/workers/tasks/FetchPreMeasurementDataTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetchPreMeasurementDataTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchPreMeasurementDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,uHAAsI;AACtI,iGAAgH;
|
|
1
|
+
{"version":3,"file":"FetchPreMeasurementDataTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchPreMeasurementDataTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { PreElectroHelper } from "../../datasources/pre-elektro-api/helpers/PreElectroHelper";
|
|
2
1
|
import { MeasurementRepository } from "../../repositories/MeasurementRepository";
|
|
3
2
|
import { StaticMeterSettingsRepository } from "../../repositories/StaticMeterSettingsRepository";
|
|
4
3
|
import { PtasWebMeasurementTransformation } from "../../transformations/PtasWebMeasurementTransformation";
|
|
@@ -11,11 +10,10 @@ export declare class FetchPtasWebScrapedMeasurementsTask extends AbstractTaskJso
|
|
|
11
10
|
private meterSettingsRepository;
|
|
12
11
|
protected measurementRepository: MeasurementRepository;
|
|
13
12
|
protected transformation: PtasWebMeasurementTransformation;
|
|
14
|
-
protected helper: PreElectroHelper;
|
|
15
13
|
protected schema: JSONSchemaValidator;
|
|
16
14
|
readonly queueName = "savePtasMeasurements";
|
|
17
15
|
readonly queueTtl: number;
|
|
18
|
-
constructor(logger: ILogger, meterSettingsRepository: StaticMeterSettingsRepository, measurementRepository: MeasurementRepository, transformation: PtasWebMeasurementTransformation
|
|
16
|
+
constructor(logger: ILogger, meterSettingsRepository: StaticMeterSettingsRepository, measurementRepository: MeasurementRepository, transformation: PtasWebMeasurementTransformation);
|
|
19
17
|
protected execute(data: IPtasWebScrapingInput): Promise<void>;
|
|
20
18
|
private handleDuplicates;
|
|
21
19
|
}
|
|
@@ -23,7 +23,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
24
|
exports.FetchPtasWebScrapedMeasurementsTask = void 0;
|
|
25
25
|
const constants_1 = require("../../constants");
|
|
26
|
-
const PreElectroHelper_1 = require("../../datasources/pre-elektro-api/helpers/PreElectroHelper");
|
|
27
26
|
const WorkerContainerToken_1 = require("../../ioc/WorkerContainerToken");
|
|
28
27
|
const MeasurementRepository_1 = require("../../repositories/MeasurementRepository");
|
|
29
28
|
const StaticMeterSettingsRepository_1 = require("../../repositories/StaticMeterSettingsRepository");
|
|
@@ -37,13 +36,12 @@ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
|
37
36
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
38
37
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
39
38
|
let FetchPtasWebScrapedMeasurementsTask = exports.FetchPtasWebScrapedMeasurementsTask = class FetchPtasWebScrapedMeasurementsTask extends AbstractTaskJsonSchema_1.AbstractTaskJsonSchema {
|
|
40
|
-
constructor(logger, meterSettingsRepository, measurementRepository, transformation
|
|
39
|
+
constructor(logger, meterSettingsRepository, measurementRepository, transformation) {
|
|
41
40
|
super(constants_1.WORKER_NAME);
|
|
42
41
|
this.logger = logger;
|
|
43
42
|
this.meterSettingsRepository = meterSettingsRepository;
|
|
44
43
|
this.measurementRepository = measurementRepository;
|
|
45
44
|
this.transformation = transformation;
|
|
46
|
-
this.helper = helper;
|
|
47
45
|
this.schema = new golemio_validator_1.JSONSchemaValidator("FetchPtasWebScrapedMeasurementsTask", PtasWebScrapingJsonSchema_1.ptasWebScrapingJsonSchema);
|
|
48
46
|
this.queueName = "savePtasMeasurements";
|
|
49
47
|
this.queueTtl = 60 * 60 * 1000;
|
|
@@ -54,9 +52,13 @@ let FetchPtasWebScrapedMeasurementsTask = exports.FetchPtasWebScrapedMeasurement
|
|
|
54
52
|
if (!measurementOptions) {
|
|
55
53
|
throw new golemio_errors_1.GeneralError("Measurement options not found", this.constructor.name);
|
|
56
54
|
}
|
|
55
|
+
const selectedMeters = yield this.meterSettingsRepository.getData(CommodityProviderTypeEnum_1.CommodityProviderType.PtasOptions, StaticDataResourceTypeEnum_1.StaticDataResourceType.SelectedMeters);
|
|
56
|
+
if (!selectedMeters) {
|
|
57
|
+
throw new golemio_errors_1.GeneralError("Static data of selected meters not found", this.constructor.name);
|
|
58
|
+
}
|
|
57
59
|
//podle původního scraperu z C# bereme pouze teplo horké vody
|
|
58
60
|
let hotWaterMeasurements = data.measurements.filter((item) => item["Druh registru"] === "Teplo horké vody");
|
|
59
|
-
hotWaterMeasurements = this.handleDuplicates(data["placeId"], hotWaterMeasurements);
|
|
61
|
+
hotWaterMeasurements = this.handleDuplicates(data["placeId"], hotWaterMeasurements, selectedMeters);
|
|
60
62
|
let batch = [];
|
|
61
63
|
for (const measurement of hotWaterMeasurements) {
|
|
62
64
|
const option = measurementOptions.find((item) => item.Meter === data["placeId"]);
|
|
@@ -71,9 +73,9 @@ let FetchPtasWebScrapedMeasurementsTask = exports.FetchPtasWebScrapedMeasurement
|
|
|
71
73
|
});
|
|
72
74
|
}
|
|
73
75
|
// temporary solution to finish project "převzetí energetické databáze"
|
|
74
|
-
handleDuplicates(placeId, measurements) {
|
|
75
|
-
if (placeId
|
|
76
|
-
return measurements.filter((item) => item["Výrobní číslo"] ===
|
|
76
|
+
handleDuplicates(placeId, measurements, selectedMeters) {
|
|
77
|
+
if (Object.keys(selectedMeters).includes(placeId)) {
|
|
78
|
+
return measurements.filter((item) => item["Výrobní číslo"] === selectedMeters[placeId]);
|
|
77
79
|
}
|
|
78
80
|
// create list of unique item["Výrobní číslo"]
|
|
79
81
|
const uniqueSerialNumbers = Array.from(new Set(measurements.map((item) => item["Výrobní číslo"])));
|
|
@@ -89,10 +91,8 @@ exports.FetchPtasWebScrapedMeasurementsTask = FetchPtasWebScrapedMeasurementsTas
|
|
|
89
91
|
__param(1, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.StaticMeterSettingsRepository)),
|
|
90
92
|
__param(2, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.MeasurementRepository)),
|
|
91
93
|
__param(3, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.PtasWebMeasurementTransformation)),
|
|
92
|
-
__param(4, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.PreElectroHelper)),
|
|
93
94
|
__metadata("design:paramtypes", [Object, StaticMeterSettingsRepository_1.StaticMeterSettingsRepository,
|
|
94
95
|
MeasurementRepository_1.MeasurementRepository,
|
|
95
|
-
PtasWebMeasurementTransformation_1.PtasWebMeasurementTransformation
|
|
96
|
-
PreElectroHelper_1.PreElectroHelper])
|
|
96
|
+
PtasWebMeasurementTransformation_1.PtasWebMeasurementTransformation])
|
|
97
97
|
], FetchPtasWebScrapedMeasurementsTask);
|
|
98
98
|
//# sourceMappingURL=FetchPtasWebScrapedMeasurementsTask.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetchPtasWebScrapedMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchPtasWebScrapedMeasurementsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"FetchPtasWebScrapedMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchPtasWebScrapedMeasurementsTask.ts"],"names":[],"mappings":"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"}
|
package/dist/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PreMeasurementTransformation } from "../../transformations/PreMeasurementTransformation";
|
|
2
|
+
import { StaticMeterSettingsRepository } from "../../repositories/StaticMeterSettingsRepository";
|
|
3
|
+
import { MeasurementRepository } from "../../repositories/MeasurementRepository";
|
|
4
|
+
import { IPreEanMeasurement } from "../interfaces/IPreEanMeasurement";
|
|
5
|
+
import { PreEanMeasurementSchema } from "../schema/PreEanMeasurementSchema";
|
|
6
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
7
|
+
export declare class ProcessPreEanMeasurementsTask extends AbstractTask<IPreEanMeasurement> {
|
|
8
|
+
private meterSettingsRepository;
|
|
9
|
+
protected measurementRepository: MeasurementRepository;
|
|
10
|
+
protected transformation: PreMeasurementTransformation;
|
|
11
|
+
protected schema: typeof PreEanMeasurementSchema;
|
|
12
|
+
readonly queueName = "processPreEanMeasurements";
|
|
13
|
+
readonly queueTtl: number;
|
|
14
|
+
constructor(meterSettingsRepository: StaticMeterSettingsRepository, measurementRepository: MeasurementRepository, transformation: PreMeasurementTransformation);
|
|
15
|
+
protected execute(measurementInput: IPreEanMeasurement): Promise<void>;
|
|
16
|
+
}
|
package/dist/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.ProcessPreEanMeasurementsTask = void 0;
|
|
25
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
26
|
+
const WorkerContainerToken_1 = require("../../ioc/WorkerContainerToken");
|
|
27
|
+
const PreMeasurementTransformation_1 = require("../../transformations/PreMeasurementTransformation");
|
|
28
|
+
const StaticMeterSettingsRepository_1 = require("../../repositories/StaticMeterSettingsRepository");
|
|
29
|
+
const MeasurementRepository_1 = require("../../repositories/MeasurementRepository");
|
|
30
|
+
const PreEanMeasurementSchema_1 = require("../schema/PreEanMeasurementSchema");
|
|
31
|
+
const CommodityProviderTypeEnum_1 = require("../../../../schema-definitions/models/helpers/CommodityProviderTypeEnum");
|
|
32
|
+
const StaticDataResourceTypeEnum_1 = require("../../../../schema-definitions/models/helpers/StaticDataResourceTypeEnum");
|
|
33
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
34
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
35
|
+
const constants_1 = require("../../constants");
|
|
36
|
+
const PreMeasurementFilter_1 = require("../../helper/PreMeasurementFilter");
|
|
37
|
+
let ProcessPreEanMeasurementsTask = exports.ProcessPreEanMeasurementsTask = class ProcessPreEanMeasurementsTask extends integration_engine_1.AbstractTask {
|
|
38
|
+
constructor(meterSettingsRepository, measurementRepository, transformation) {
|
|
39
|
+
super(constants_1.WORKER_NAME);
|
|
40
|
+
this.meterSettingsRepository = meterSettingsRepository;
|
|
41
|
+
this.measurementRepository = measurementRepository;
|
|
42
|
+
this.transformation = transformation;
|
|
43
|
+
this.schema = PreEanMeasurementSchema_1.PreEanMeasurementSchema;
|
|
44
|
+
this.queueName = "processPreEanMeasurements";
|
|
45
|
+
this.queueTtl = 60 * 60 * 1000;
|
|
46
|
+
}
|
|
47
|
+
execute(measurementInput) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
const measurementOptions = yield this.meterSettingsRepository.getData(CommodityProviderTypeEnum_1.CommodityProviderType.PreInputOptions, StaticDataResourceTypeEnum_1.StaticDataResourceType.MeasurementOptions);
|
|
50
|
+
if (!measurementOptions) {
|
|
51
|
+
throw new golemio_errors_1.GeneralError("Measurement options not found", this.constructor.name);
|
|
52
|
+
}
|
|
53
|
+
const option = measurementOptions.find((item) => item.Meter === measurementInput.ean);
|
|
54
|
+
if (!option) {
|
|
55
|
+
throw new golemio_errors_1.GeneralError("Measurement option not found for meter " + measurementInput.ean, this.constructor.name);
|
|
56
|
+
}
|
|
57
|
+
const measurements = this.transformation.transformElement({
|
|
58
|
+
option,
|
|
59
|
+
measurementInput: PreMeasurementFilter_1.PreMeasurementFilter.sumDuplicates(measurementInput),
|
|
60
|
+
});
|
|
61
|
+
yield this.measurementRepository.bulkSave(measurements);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
exports.ProcessPreEanMeasurementsTask = ProcessPreEanMeasurementsTask = __decorate([
|
|
66
|
+
(0, tsyringe_1.injectable)(),
|
|
67
|
+
__param(0, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.StaticMeterSettingsRepository)),
|
|
68
|
+
__param(1, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.MeasurementRepository)),
|
|
69
|
+
__param(2, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.PreMeasurementTransformation)),
|
|
70
|
+
__metadata("design:paramtypes", [StaticMeterSettingsRepository_1.StaticMeterSettingsRepository,
|
|
71
|
+
MeasurementRepository_1.MeasurementRepository,
|
|
72
|
+
PreMeasurementTransformation_1.PreMeasurementTransformation])
|
|
73
|
+
], ProcessPreEanMeasurementsTask);
|
|
74
|
+
//# sourceMappingURL=ProcessPreEanMeasurementsTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProcessPreEanMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAwE;AACxE,yEAAwF;AAExF,qGAAoH;AACpH,oGAAmH;AACnH,oFAAmG;AAEnG,+EAAyG;AACzG,uHAAsF;AACtF,yHAAwF;AAExF,6EAAwE;AACxE,8EAAqE;AACrE,+CAAgE;AAChE,4EAA2F;AAGpF,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,iCAAgC;IAK/E,YAEI,uBAA8D,EACV,qBAAsD,EAC/C,cAAsD;QAEjH,KAAK,CAAC,uBAAW,CAAC,CAAC;QAJX,4BAAuB,GAAvB,uBAAuB,CAA+B;QACA,0BAAqB,GAArB,qBAAqB,CAAuB;QACrC,mBAAc,GAAd,cAAc,CAA8B;QAR3G,WAAM,GAAG,iDAAuB,CAAC;QAC3B,cAAS,GAAG,2BAA2B,CAAC;QACxC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAS1C,CAAC;IAEe,OAAO,CAAC,gBAAoC;;YACxD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CACjE,iDAAqB,CAAC,eAAe,EACrC,mDAAsB,CAAC,kBAAkB,CAC5C,CAAC;YAEF,IAAI,CAAC,kBAAkB,EAAE;gBACrB,MAAM,IAAI,6BAAY,CAAC,+BAA+B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAClF;YAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAE1G,IAAI,CAAC,MAAM,EAAE;gBACT,MAAM,IAAI,6BAAY,CAAC,yCAAyC,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACnH;YAED,MAAM,YAAY,GAAsB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;gBACzE,MAAM;gBACN,gBAAgB,EAAE,2CAAoB,CAAC,aAAa,CAAC,gBAAgB,CAAC;aACzE,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC5D,CAAC;KAAA;CACJ,CAAA;wCArCY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAA;IAE1D,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,qBAAqB,CAAC,CAAA;IAClD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,4BAA4B,CAAC,CAAA;qCAFzB,6DAA6B;QACuB,6CAAqB;QACrB,2DAA4B;GAT5G,6BAA6B,CAqCzC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.preCsvInputSchema = void 0;
|
|
4
|
+
exports.preCsvInputSchema = {
|
|
5
|
+
type: "array",
|
|
6
|
+
items: {
|
|
7
|
+
type: "object",
|
|
8
|
+
properties: {
|
|
9
|
+
"Počátek intervalu": { type: "string", pattern: "^\\d{1,2}.\\d{1,2}.\\d{4} \\d{1,2}:\\d{2}$" },
|
|
10
|
+
"Konec intervalu": { type: "string", pattern: "^\\d{1,2}.\\d{1,2}.\\d{4} \\d{1,2}:\\d{2}$" },
|
|
11
|
+
},
|
|
12
|
+
patternProperties: {
|
|
13
|
+
"^[0-9]{18} - Činná - spotřeba [kW]$": { type: "string" },
|
|
14
|
+
},
|
|
15
|
+
additionalProperties: true,
|
|
16
|
+
required: ["Konec intervalu"],
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=PreCsvInputSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PreCsvInputSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/PreCsvInputSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,iBAAiB,GAAmC;IAC7D,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,4CAA4C,EAAE;YAC9F,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,4CAA4C,EAAE;SAC/F;QACD,iBAAiB,EAAE;YACf,qCAAqC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5D;QACD,oBAAoB,EAAE,IAAI;QAC1B,QAAQ,EAAE,CAAC,iBAAiB,CAAC;KAChC;CACJ,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.preJsonInputSchema = void 0;
|
|
4
|
+
exports.preJsonInputSchema = {
|
|
5
|
+
type: "object",
|
|
6
|
+
properties: {
|
|
7
|
+
stored_month: {
|
|
8
|
+
type: "object",
|
|
9
|
+
properties: {
|
|
10
|
+
companies: {
|
|
11
|
+
type: "object",
|
|
12
|
+
patternProperties: {
|
|
13
|
+
"^[0-9]+$": {
|
|
14
|
+
type: "object",
|
|
15
|
+
properties: {
|
|
16
|
+
EAN_list: {
|
|
17
|
+
type: "object",
|
|
18
|
+
patternProperties: {
|
|
19
|
+
"^[0-9]+$": {
|
|
20
|
+
type: "object",
|
|
21
|
+
properties: {
|
|
22
|
+
daily_data_Wh_per_EAN: {
|
|
23
|
+
type: "object",
|
|
24
|
+
additionalProperties: true,
|
|
25
|
+
required: ["T1_Wh_raw_data"],
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
additionalProperties: true,
|
|
29
|
+
required: ["daily_data_Wh_per_EAN"],
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
additionalProperties: true,
|
|
33
|
+
required: [],
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
additionalProperties: true,
|
|
37
|
+
required: ["EAN_list"],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
additionalProperties: true,
|
|
41
|
+
required: [],
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
additionalProperties: true,
|
|
45
|
+
required: ["companies"],
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
additionalProperties: true,
|
|
49
|
+
required: ["stored_month"],
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=PreJsonInputSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PreJsonInputSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/PreJsonInputSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,kBAAkB,GAAkC;IAC7D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,YAAY,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,SAAS,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,iBAAiB,EAAE;wBACf,UAAU,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACR,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,QAAQ,EAAE,CAAC,gBAAgB,CAAC;iDAC/B;6CACJ;4CACD,oBAAoB,EAAE,IAAI;4CAC1B,QAAQ,EAAE,CAAC,uBAAuB,CAAC;yCACtC;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;KACJ;IACD,oBAAoB,EAAE,IAAI;IAC1B,QAAQ,EAAE,CAAC,cAAc,CAAC;CAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPreCsvInput.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/interfaces/IPreCsvInput.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPreJsonInput.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/interfaces/IPreJsonInput.ts"],"names":[],"mappings":""}
|
|
@@ -12,5 +12,6 @@ var CommodityProviderType;
|
|
|
12
12
|
CommodityProviderType["PpasAveMO"] = "ppas_ave_api_mo";
|
|
13
13
|
CommodityProviderType["PreOptions"] = "pre_electro_ftp";
|
|
14
14
|
CommodityProviderType["PtasOptions"] = "ptas_hot_water";
|
|
15
|
+
CommodityProviderType["PreInputOptions"] = "pre_electro_input";
|
|
15
16
|
})(CommodityProviderType || (exports.CommodityProviderType = CommodityProviderType = {}));
|
|
16
17
|
//# sourceMappingURL=CommodityProviderTypeEnum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommodityProviderTypeEnum.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/helpers/CommodityProviderTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"CommodityProviderTypeEnum.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/helpers/CommodityProviderTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAWX;AAXD,WAAY,qBAAqB;IAC7B,mEAA0C,CAAA;IAC1C,uEAA8C,CAAA;IAC9C,oDAA2B,CAAA;IAC3B,oDAA2B,CAAA;IAC3B,oDAA2B,CAAA;IAC3B,oDAA2B,CAAA;IAC3B,sDAA6B,CAAA;IAC7B,uDAA8B,CAAA;IAC9B,uDAA8B,CAAA;IAC9B,8DAAqC,CAAA;AACzC,CAAC,EAXW,qBAAqB,qCAArB,qBAAqB,QAWhC"}
|
|
@@ -4,5 +4,6 @@ exports.StaticDataResourceType = void 0;
|
|
|
4
4
|
var StaticDataResourceType;
|
|
5
5
|
(function (StaticDataResourceType) {
|
|
6
6
|
StaticDataResourceType["MeasurementOptions"] = "MeasurementOptions";
|
|
7
|
+
StaticDataResourceType["SelectedMeters"] = "SelectedMeters";
|
|
7
8
|
})(StaticDataResourceType || (exports.StaticDataResourceType = StaticDataResourceType = {}));
|
|
8
9
|
//# sourceMappingURL=StaticDataResourceTypeEnum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticDataResourceTypeEnum.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/helpers/StaticDataResourceTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"StaticDataResourceTypeEnum.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/helpers/StaticDataResourceTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAC9B,mEAAyC,CAAA;IACzC,2DAAiC,CAAA;AACrC,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IMeasurementOption } from "../../datasources/interfaces/IStaticMeterSettings";
|
|
1
|
+
import { IMeasurementOption, ISelectedMeters } from "../../datasources/interfaces/IStaticMeterSettings";
|
|
2
2
|
import { CommodityProviderType } from "../helpers/CommodityProviderTypeEnum";
|
|
3
3
|
import { StaticDataResourceType } from "../helpers/StaticDataResourceTypeEnum";
|
|
4
4
|
export interface IStaticDataOutputDto {
|
|
@@ -8,4 +8,5 @@ export interface IStaticDataOutputDto {
|
|
|
8
8
|
}
|
|
9
9
|
export type ResourceTypeDict = {
|
|
10
10
|
[StaticDataResourceType.MeasurementOptions]: IMeasurementOption[];
|
|
11
|
+
[StaticDataResourceType.SelectedMeters]: ISelectedMeters;
|
|
11
12
|
};
|
package/docs/asyncapi.yaml
CHANGED
|
@@ -125,6 +125,17 @@ channels:
|
|
|
125
125
|
messages:
|
|
126
126
|
targetDays:
|
|
127
127
|
$ref: "#/components/messages/energetics.fetchConsumptionMessage"
|
|
128
|
+
energetics.processPreEanMeasurementsTask:
|
|
129
|
+
address: dataplatform.energeticscommodity.processPreEanMeasurementsTask
|
|
130
|
+
description: process incoming measurements from PRE
|
|
131
|
+
bindings:
|
|
132
|
+
amqp:
|
|
133
|
+
is: queue
|
|
134
|
+
queue:
|
|
135
|
+
durable: true
|
|
136
|
+
messages:
|
|
137
|
+
preEanMeasurementMessage:
|
|
138
|
+
$ref: "#/components/messages/energetics.preEanMeasurementMessage"
|
|
128
139
|
energetics.savePtasMeasurements:
|
|
129
140
|
address: dataplatform.energeticscommodity.savePtasMeasurements
|
|
130
141
|
description: downloads measurements data from Pražská Teplárenská
|
|
@@ -200,6 +211,10 @@ operations:
|
|
|
200
211
|
action: "send"
|
|
201
212
|
channel:
|
|
202
213
|
$ref: "#/channels/energetics.fetchVeoliaMeasurements"
|
|
214
|
+
energetics.preEanMeasurementMessage:
|
|
215
|
+
action: "send"
|
|
216
|
+
channel:
|
|
217
|
+
$ref: "#/channels/energetics.processPreEanMeasurementsTask"
|
|
203
218
|
components:
|
|
204
219
|
messages:
|
|
205
220
|
emptyMessage:
|
|
@@ -234,6 +249,11 @@ components:
|
|
|
234
249
|
type: object
|
|
235
250
|
$ref: "#/components/schemas/energetics.IVeoliaMeasurementsMessages"
|
|
236
251
|
additionalProperties: false
|
|
252
|
+
energetics.preEanMeasurementMessage:
|
|
253
|
+
payload:
|
|
254
|
+
type: object
|
|
255
|
+
$ref: "#/components/schemas/energetics.preEanMeasurementMessage"
|
|
256
|
+
additionalProperties: false
|
|
237
257
|
schemas:
|
|
238
258
|
energetics.IFetchConsumptionInput:
|
|
239
259
|
type: object
|
|
@@ -314,7 +334,7 @@ components:
|
|
|
314
334
|
type: string
|
|
315
335
|
energetics.IVeoliaMeasurementsMessages:
|
|
316
336
|
type: object
|
|
317
|
-
properties:
|
|
337
|
+
properties:
|
|
318
338
|
dateFrom:
|
|
319
339
|
type: string
|
|
320
340
|
format: date
|
|
@@ -328,4 +348,14 @@ components:
|
|
|
328
348
|
description: The type of provider from which the measurements are to be fetched
|
|
329
349
|
enum:
|
|
330
350
|
- "cem_api_veolia_water"
|
|
331
|
-
- "cem_api_veolia_electro"
|
|
351
|
+
- "cem_api_veolia_electro"
|
|
352
|
+
energetics.preEanMeasurementMessage:
|
|
353
|
+
type: object
|
|
354
|
+
properties:
|
|
355
|
+
ean:
|
|
356
|
+
type: string
|
|
357
|
+
description: EAN code of measuring device
|
|
358
|
+
T1_Wh_raw_data:
|
|
359
|
+
type: array
|
|
360
|
+
description: Array of timestamps and values of measurements
|
|
361
|
+
|
|
@@ -13,6 +13,21 @@ Modul slouží k ukládání dat o spotřebě energií v budovách a jednotlivý
|
|
|
13
13
|
|
|
14
14
|
- POST (/ptas/{id}) s id odběrného místa jako parametrem => RabbitMQ send Message `savePtasMeasurements` ([Data example](../test/input-gateway/data/ptas-hot-water-data-input.csv))
|
|
15
15
|
|
|
16
|
+
#### _POST /pre_
|
|
17
|
+
|
|
18
|
+
- PRE posílá data na Input Gateway v JSON formátu (POST na /pre).
|
|
19
|
+
- Očekávaný [formát dat](../src/schema-definitions/datasources/interfaces/IPreJsonInput.ts)
|
|
20
|
+
- Na IG chodí větší soubory (např. 20M). Proto se na IG rozdělí podle měřidel a vyříznou se jen data, co zpracováváme.
|
|
21
|
+
Dál to postupuje na IE přes rabbit do [ProcessPreEanMeasurementsTask](../src/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.ts).
|
|
22
|
+
|
|
23
|
+
#### _POST /pre/csv_
|
|
24
|
+
|
|
25
|
+
- Endpoint pro příjem historických dat PRE v CSV formátu (POST na /pre/csv).
|
|
26
|
+
- Očekávaný [formát dat](../src/schema-definitions/datasources/interfaces/IPreCsvInput.ts)
|
|
27
|
+
- V IG se CSV převede na stejný formát, jako /pre používá endpoint a dál na IE postupuje stejně.
|
|
28
|
+
Tj. přes rabbit do [ProcessPreEanMeasurementsTask](../src/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.ts).
|
|
29
|
+
|
|
30
|
+
|
|
16
31
|
### Data aktivně stahujeme
|
|
17
32
|
|
|
18
33
|
**Dostupní poskytovatelé**:
|
|
@@ -246,9 +261,28 @@ Metoda sbírá data o spotřebách od poskytovatele komodit - PRE (Pražská ene
|
|
|
246
261
|
- [StaticMeterSettingsModel](../src/schema-definitions/models/StaticMeterSettingsModel.ts) tabulka `commodity_static_meter_settings`
|
|
247
262
|
- [MeasurementModel](../src/schema-definitions/models/MeasurementsModel.ts) tabulka `consumption_energy_measurements`
|
|
248
263
|
|
|
264
|
+
#### _task: ProcessPreEanMeasurementsTask_
|
|
265
|
+
|
|
266
|
+
Přijímá data o spotřebách od PRE z IG (viz. nahoře)
|
|
267
|
+
|
|
268
|
+
- vstupní rabbitmq fronta
|
|
269
|
+
- název: dataplatform.energeticscommodity.processPreEanMeasurements
|
|
270
|
+
- TTL: 1 hodina
|
|
271
|
+
- parametry: [IPreEanMeasurement](../src/integration-engine/commodity-providers/workers/interfaces/IPreEanMeasurement.ts)
|
|
272
|
+
- validuje se na IG
|
|
273
|
+
- závislé fronty nejsou
|
|
274
|
+
- datový zdroj je PRE IG endpoint (viz. nahoře)
|
|
275
|
+
- transformace
|
|
276
|
+
- [PreMeasurementTransformation](../src/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.ts)
|
|
277
|
+
- Vstupní hodnoty se stejným datem měření se sčítají. Duplicitní timestamp vzniká při přechodu na zimní čas.
|
|
278
|
+
- data modely
|
|
279
|
+
- odsud si bere statická data: [StaticMeterSettingsModel](../src/schema-definitions/models/StaticMeterSettingsModel.ts) tabulka `commodity_static_meter_settings`
|
|
280
|
+
- sem ukládá: [MeasurementModel](../src/schema-definitions/models/MeasurementsModel.ts) tabulka `consumption_energy_measurements`
|
|
281
|
+
|
|
249
282
|
#### _task: FetchPtasWebScrapedMeasurementsTask_
|
|
250
283
|
|
|
251
284
|
Pomocí tohoto tasku zpracováváme a ukládáme data z input gateway z fronty savePtasMeasurements. Podle původního scraperu z C# bereme pouze teplo horké vody.
|
|
285
|
+
Aby nedocházelo ke konfliktům měřidel, filtrují se měřidla dle seznamu uloženém ve statických datech.
|
|
252
286
|
|
|
253
287
|
- vstupní rabbitmq fronta
|
|
254
288
|
- název: dataplatform.energeticscommodity.savePtasMeasurements
|