@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.
Files changed (78) hide show
  1. package/db/migrations/postgresql/20250120141804-ptas-selected-meters.js +53 -0
  2. package/db/migrations/postgresql/sqls/20250120141804-ptas-selected-meters-down.sql +1 -0
  3. package/db/migrations/postgresql/sqls/20250120141804-ptas-selected-meters-up.sql +3 -0
  4. package/dist/input-gateway/helpers/PreDataExtractor.d.ts +5 -0
  5. package/dist/input-gateway/helpers/PreDataExtractor.js +20 -0
  6. package/dist/input-gateway/helpers/PreDataExtractor.js.map +1 -0
  7. package/dist/input-gateway/index.d.ts +1 -0
  8. package/dist/input-gateway/index.js +1 -0
  9. package/dist/input-gateway/index.js.map +1 -1
  10. package/dist/input-gateway/pre/PreCsvInputController.d.ts +8 -0
  11. package/dist/input-gateway/pre/PreCsvInputController.js +42 -0
  12. package/dist/input-gateway/pre/PreCsvInputController.js.map +1 -0
  13. package/dist/input-gateway/pre/PreInputRouter.d.ts +14 -0
  14. package/dist/input-gateway/pre/PreInputRouter.js +57 -0
  15. package/dist/input-gateway/pre/PreInputRouter.js.map +1 -0
  16. package/dist/input-gateway/pre/PreJsonInputController.d.ts +8 -0
  17. package/dist/input-gateway/pre/PreJsonInputController.js +44 -0
  18. package/dist/input-gateway/pre/PreJsonInputController.js.map +1 -0
  19. package/dist/input-gateway/pre/index.d.ts +2 -0
  20. package/dist/input-gateway/pre/index.js +19 -0
  21. package/dist/input-gateway/pre/index.js.map +1 -0
  22. package/dist/input-gateway/transformations/PreCsvInputTransformation.d.ts +8 -0
  23. package/dist/input-gateway/transformations/PreCsvInputTransformation.js +25 -0
  24. package/dist/input-gateway/transformations/PreCsvInputTransformation.js.map +1 -0
  25. package/dist/integration-engine/commodity-providers/datasources/pre-elektro-api/PreElectroApiDataSourceProvider.js.map +1 -1
  26. package/dist/integration-engine/commodity-providers/helper/PreMeasurementFilter.d.ts +4 -0
  27. package/dist/integration-engine/commodity-providers/helper/PreMeasurementFilter.js +15 -0
  28. package/dist/integration-engine/commodity-providers/helper/PreMeasurementFilter.js.map +1 -0
  29. package/dist/integration-engine/commodity-providers/ioc/Di.js +4 -0
  30. package/dist/integration-engine/commodity-providers/ioc/Di.js.map +1 -1
  31. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.d.ts +2 -0
  32. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js +2 -0
  33. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js.map +1 -1
  34. package/dist/integration-engine/commodity-providers/repositories/StaticMeterSettingsRepository.js.map +1 -1
  35. package/dist/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.d.ts +16 -0
  36. package/dist/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.js +39 -0
  37. package/dist/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.js.map +1 -0
  38. package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js +1 -0
  39. package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js.map +1 -1
  40. package/dist/integration-engine/commodity-providers/workers/interfaces/IPreEanMeasurement.d.ts +4 -0
  41. package/dist/integration-engine/commodity-providers/workers/interfaces/IPreEanMeasurement.js +3 -0
  42. package/dist/integration-engine/commodity-providers/workers/interfaces/IPreEanMeasurement.js.map +1 -0
  43. package/dist/integration-engine/commodity-providers/workers/schema/PreEanMeasurementSchema.d.ts +5 -0
  44. package/dist/integration-engine/commodity-providers/workers/schema/PreEanMeasurementSchema.js +25 -0
  45. package/dist/integration-engine/commodity-providers/workers/schema/PreEanMeasurementSchema.js.map +1 -0
  46. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js +1 -0
  47. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js.map +1 -1
  48. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPreMeasurementDataTask.js.map +1 -1
  49. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPtasWebScrapedMeasurementsTask.d.ts +1 -3
  50. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPtasWebScrapedMeasurementsTask.js +10 -10
  51. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPtasWebScrapedMeasurementsTask.js.map +1 -1
  52. package/dist/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.d.ts +16 -0
  53. package/dist/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.js +74 -0
  54. package/dist/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.js.map +1 -0
  55. package/dist/schema-definitions/datasources/PreCsvInputSchema.d.ts +3 -0
  56. package/dist/schema-definitions/datasources/PreCsvInputSchema.js +19 -0
  57. package/dist/schema-definitions/datasources/PreCsvInputSchema.js.map +1 -0
  58. package/dist/schema-definitions/datasources/PreJsonInputSchema.d.ts +3 -0
  59. package/dist/schema-definitions/datasources/PreJsonInputSchema.js +51 -0
  60. package/dist/schema-definitions/datasources/PreJsonInputSchema.js.map +1 -0
  61. package/dist/schema-definitions/datasources/interfaces/IPreCsvInput.d.ts +5 -0
  62. package/dist/schema-definitions/datasources/interfaces/IPreCsvInput.js +3 -0
  63. package/dist/schema-definitions/datasources/interfaces/IPreCsvInput.js.map +1 -0
  64. package/dist/schema-definitions/datasources/interfaces/IPreJsonInput.d.ts +15 -0
  65. package/dist/schema-definitions/datasources/interfaces/IPreJsonInput.js +3 -0
  66. package/dist/schema-definitions/datasources/interfaces/IPreJsonInput.js.map +1 -0
  67. package/dist/schema-definitions/datasources/interfaces/IStaticMeterSettings.d.ts +3 -0
  68. package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.d.ts +2 -1
  69. package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js +1 -0
  70. package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js.map +1 -1
  71. package/dist/schema-definitions/models/helpers/StaticDataResourceTypeEnum.d.ts +2 -1
  72. package/dist/schema-definitions/models/helpers/StaticDataResourceTypeEnum.js +1 -0
  73. package/dist/schema-definitions/models/helpers/StaticDataResourceTypeEnum.js.map +1 -1
  74. package/dist/schema-definitions/models/interfaces/IStaticDataOutputDto.d.ts +2 -1
  75. package/docs/asyncapi.yaml +32 -2
  76. package/docs/implementation_documentation.md +34 -0
  77. package/docs/openapi-input.yaml +93 -0
  78. 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
@@ -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":"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"}
1
+ {"version":3,"file":"FetchMeasurementOptionsStaticDataTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FetchPreMeasurementDataTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchPreMeasurementDataTask.ts"],"names":[],"mappings":"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"}
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, helper: PreElectroHelper);
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, helper) {
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 === "3050028") {
76
- return measurements.filter((item) => item["Výrobní číslo"] === "69112600");
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":"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"}
1
+ {"version":3,"file":"FetchPtasWebScrapedMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchPtasWebScrapedMeasurementsTask.ts"],"names":[],"mappings":"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"}
@@ -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
+ }
@@ -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,3 @@
1
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
2
+ import { IPreCsvInput } from "./interfaces/IPreCsvInput";
3
+ export declare const preCsvInputSchema: JSONSchemaType<IPreCsvInput[]>;
@@ -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,3 @@
1
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
2
+ import { IPreJsonInput } from "./interfaces/IPreJsonInput";
3
+ export declare const preJsonInputSchema: JSONSchemaType<IPreJsonInput>;
@@ -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,5 @@
1
+ export interface IPreCsvInput {
2
+ "Počátek intervalu": string;
3
+ "Konec intervalu": string;
4
+ [eanCinna: string]: string;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IPreCsvInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPreCsvInput.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/interfaces/IPreCsvInput.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ export interface IPreJsonInput {
2
+ stored_month: {
3
+ companies: {
4
+ [key: string]: {
5
+ EAN_list: {
6
+ [ean: string]: {
7
+ daily_data_Wh_per_EAN: {
8
+ T1_Wh_raw_data: Array<Array<[date: string, value: number]>>;
9
+ };
10
+ };
11
+ };
12
+ };
13
+ };
14
+ };
15
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IPreJsonInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPreJsonInput.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/interfaces/IPreJsonInput.ts"],"names":[],"mappings":""}
@@ -12,3 +12,6 @@ export interface IMeasurementOption {
12
12
  Type: string;
13
13
  Var: MeasurementVariable | string;
14
14
  }
15
+ export interface ISelectedMeters {
16
+ [placeId: string]: string;
17
+ }
@@ -7,5 +7,6 @@ export declare enum CommodityProviderType {
7
7
  PpasAveC = "ppas_ave_api_c",
8
8
  PpasAveMO = "ppas_ave_api_mo",
9
9
  PreOptions = "pre_electro_ftp",
10
- PtasOptions = "ptas_hot_water"
10
+ PtasOptions = "ptas_hot_water",
11
+ PreInputOptions = "pre_electro_input"
11
12
  }
@@ -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,qBAUX;AAVD,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;AAClC,CAAC,EAVW,qBAAqB,qCAArB,qBAAqB,QAUhC"}
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"}
@@ -1,3 +1,4 @@
1
1
  export declare enum StaticDataResourceType {
2
- MeasurementOptions = "MeasurementOptions"
2
+ MeasurementOptions = "MeasurementOptions",
3
+ SelectedMeters = "SelectedMeters"
3
4
  }
@@ -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,sBAEX;AAFD,WAAY,sBAAsB;IAC9B,mEAAyC,CAAA;AAC7C,CAAC,EAFW,sBAAsB,sCAAtB,sBAAsB,QAEjC"}
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
  };
@@ -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