CalcUpdate
parent
e46ecc0e68
commit
9b18bf46a6
|
|
@ -3,9 +3,10 @@ import { AppController } from './app.controller';
|
|||
import { AppService } from './app.service';
|
||||
import { ZvksmetricsModule } from './zvksmetrics/zvksmetrics.module';
|
||||
import { GruberModule } from './gruber/gruber.module';
|
||||
import { DatabaseModule } from './database/database.module';
|
||||
|
||||
@Module({
|
||||
imports: [ZvksmetricsModule, GruberModule],
|
||||
imports: [ZvksmetricsModule, GruberModule, DatabaseModule],
|
||||
controllers: [AppController],
|
||||
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 { response } from 'express';
|
||||
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()
|
||||
|
|
@ -127,7 +127,7 @@ export class ZvksmetricsService {
|
|||
for (let i = 0; i < length; i++) {
|
||||
let metr = {"source": ""};
|
||||
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();
|
||||
complexMetric.id = complexCalc[i].id;
|
||||
complexMetric.name = complexCalc[i].name;
|
||||
|
|
@ -148,28 +148,43 @@ export class ZvksmetricsService {
|
|||
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));
|
||||
let arr = val.arr;
|
||||
// let dev = currMetrics.find(element => element.id == "measure_1217")?.id;
|
||||
// console.log(dev);
|
||||
let arr_len: number = arr.length;
|
||||
obj.source = currMetrics.find(element => element.name == arr[0] && element.device == device)?.source;
|
||||
// console.log(obj.source);
|
||||
|
||||
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;
|
||||
|
||||
// if(!arr[i]){
|
||||
// console.log(arr[i], temp, device);
|
||||
// arr[i]=0;
|
||||
// }
|
||||
}
|
||||
let prevarr = val.prevarr;
|
||||
if (prevarr) {
|
||||
let prevarr_len: number = prevarr.length;
|
||||
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;
|
||||
// console.log(prevarr[i], temp1, device);
|
||||
}
|
||||
}
|
||||
|
||||
// console.log(obj.soure);
|
||||
try{
|
||||
let result: number = evaluate(formula, val);
|
||||
// console.log(result);
|
||||
return result;
|
||||
// console.log(result);
|
||||
} catch {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
async setMetricsStatus(metric: MetricK2, scope: MetricsRanges[]): Promise<number> {
|
||||
|
|
|
|||
Loading…
Reference in New Issue