CalcUpdate
parent
e46ecc0e68
commit
9b18bf46a6
|
|
@ -3,9 +3,10 @@ import { AppController } from './app.controller';
|
||||||
import { AppService } from './app.service';
|
import { AppService } from './app.service';
|
||||||
import { ZvksmetricsModule } from './zvksmetrics/zvksmetrics.module';
|
import { ZvksmetricsModule } from './zvksmetrics/zvksmetrics.module';
|
||||||
import { GruberModule } from './gruber/gruber.module';
|
import { GruberModule } from './gruber/gruber.module';
|
||||||
|
import { DatabaseModule } from './database/database.module';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [ZvksmetricsModule, GruberModule],
|
imports: [ZvksmetricsModule, GruberModule, DatabaseModule],
|
||||||
controllers: [AppController],
|
controllers: [AppController],
|
||||||
providers: [AppService],
|
providers: [AppService],
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
import { Module } from '@nestjs/common';
|
||||||
|
|
||||||
|
@Module({})
|
||||||
|
export class DatabaseModule {}
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -3,7 +3,7 @@ import axios, { Axios, AxiosResponse } from 'axios';
|
||||||
import { readFile, writeFile } from 'node:fs/promises';
|
import { readFile, writeFile } from 'node:fs/promises';
|
||||||
import { response } from 'express';
|
import { response } from 'express';
|
||||||
import { json } from 'node:stream/consumers';
|
import { json } from 'node:stream/consumers';
|
||||||
import math, { create, all, evaluate, number, random, complex, string } from 'mathjs'
|
import math, { create, all, evaluate, number, random, complex, string, SQRT1_2 } from 'mathjs'
|
||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
|
@ -127,7 +127,7 @@ export class ZvksmetricsService {
|
||||||
for (let i = 0; i < length; i++) {
|
for (let i = 0; i < length; i++) {
|
||||||
let metr = {"source": ""};
|
let metr = {"source": ""};
|
||||||
let val = await this.setComplexMetricValue(complexCalc[i].values, complexCalc[i].formula, inputData.metrics, prevousData.metrics, devices[d], metr);
|
let val = await this.setComplexMetricValue(complexCalc[i].values, complexCalc[i].formula, inputData.metrics, prevousData.metrics, devices[d], metr);
|
||||||
if(val){
|
if(val !=null || val != undefined){
|
||||||
let complexMetric = new MetricK2();
|
let complexMetric = new MetricK2();
|
||||||
complexMetric.id = complexCalc[i].id;
|
complexMetric.id = complexCalc[i].id;
|
||||||
complexMetric.name = complexCalc[i].name;
|
complexMetric.name = complexCalc[i].name;
|
||||||
|
|
@ -148,28 +148,43 @@ export class ZvksmetricsService {
|
||||||
return complexData;
|
return complexData;
|
||||||
}
|
}
|
||||||
|
|
||||||
async setComplexMetricValue(value: string, formula: string, currMetrics: MetricK2[], prevMetrics: MetricK2[], device: number, obj: any): Promise<number> {
|
async setComplexMetricValue(value: string, formula: string, currMetrics: MetricK2[], prevMetrics: MetricK2[], device: number, obj: any): Promise<any> {
|
||||||
const val = JSON.parse(JSON.stringify(value));
|
const val = JSON.parse(JSON.stringify(value));
|
||||||
let arr = val.arr;
|
let arr = val.arr;
|
||||||
|
// let dev = currMetrics.find(element => element.id == "measure_1217")?.id;
|
||||||
|
// console.log(dev);
|
||||||
let arr_len: number = arr.length;
|
let arr_len: number = arr.length;
|
||||||
obj.source = currMetrics.find(element => element.name == arr[0] && element.device == device)?.source;
|
obj.source = currMetrics.find(element => element.name == arr[0] && element.device == device)?.source;
|
||||||
// console.log(obj.source);
|
// console.log(obj.source);
|
||||||
|
|
||||||
for (let i = 0; i < arr_len; i++) {
|
for (let i = 0; i < arr_len; i++) {
|
||||||
|
let temp = arr[i];
|
||||||
arr[i] = currMetrics.find(element => element.name == arr[i] && element.device == device)?.value;
|
arr[i] = currMetrics.find(element => element.name == arr[i] && element.device == device)?.value;
|
||||||
|
|
||||||
|
// if(!arr[i]){
|
||||||
|
// console.log(arr[i], temp, device);
|
||||||
|
// arr[i]=0;
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
let prevarr = val.prevarr;
|
let prevarr = val.prevarr;
|
||||||
if (prevarr) {
|
if (prevarr) {
|
||||||
let prevarr_len: number = prevarr.length;
|
let prevarr_len: number = prevarr.length;
|
||||||
for (let i = 0; i < prevarr_len; i++) {
|
for (let i = 0; i < prevarr_len; i++) {
|
||||||
|
let temp1 = prevarr[i];
|
||||||
prevarr[i] = prevMetrics.find(element => element.name == prevarr[i] && element.device == device)?.value;
|
prevarr[i] = prevMetrics.find(element => element.name == prevarr[i] && element.device == device)?.value;
|
||||||
|
// console.log(prevarr[i], temp1, device);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// console.log(obj.soure);
|
// console.log(obj.soure);
|
||||||
|
try{
|
||||||
let result: number = evaluate(formula, val);
|
let result: number = evaluate(formula, val);
|
||||||
// console.log(result);
|
// console.log(result);
|
||||||
return result;
|
return result;
|
||||||
|
// console.log(result);
|
||||||
|
} catch {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async setMetricsStatus(metric: MetricK2, scope: MetricsRanges[]): Promise<number> {
|
async setMetricsStatus(metric: MetricK2, scope: MetricsRanges[]): Promise<number> {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue