ModuleCalculate
parent
4be59b1825
commit
d15244b635
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"device": [18,19]
|
||||||
|
}
|
||||||
|
|
@ -6,13 +6,13 @@ export class ZvksmetricsController {
|
||||||
constructor(private readonly metricsService: ZvksmetricsService) { }
|
constructor(private readonly metricsService: ZvksmetricsService) { }
|
||||||
|
|
||||||
@Get('ranges')
|
@Get('ranges')
|
||||||
async getHello(): Promise<any> {
|
async getHello(@Body() inputMetrics: any): Promise<any> {
|
||||||
let a: number = 7;
|
let a: number = 7;
|
||||||
let b: number = 9;
|
let b: number = 9;
|
||||||
let sum: any = { value: (a + b) / 4 * b + a };
|
let sum: any = { value: (a + b) / 4 * b + a };
|
||||||
await this.metricsService.useStatusModel(1);
|
await this.metricsService.useStatusModel(inputMetrics);
|
||||||
// let a = await this.metricsService.showStatus();
|
// let a = await this.metricsService.showStatus();
|
||||||
// console.log(sum.value);
|
// console.log(inputMetrics);
|
||||||
return sum.value;
|
return sum.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -38,8 +38,6 @@ export class ZvksmetricsController {
|
||||||
|
|
||||||
@Post('input')
|
@Post('input')
|
||||||
async getPostMessage(@Body() inputMetrics: any): Promise<string> {
|
async getPostMessage(@Body() inputMetrics: any): Promise<string> {
|
||||||
// console.log(inputMetrics);
|
|
||||||
// console.log(23+12);
|
|
||||||
console.log(inputMetrics);
|
console.log(inputMetrics);
|
||||||
let out: any = await this.metricsService.useStatusModel(inputMetrics);
|
let out: any = await this.metricsService.useStatusModel(inputMetrics);
|
||||||
return out;
|
return out;
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,8 @@ export class MetricK2 {
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class K2Metrics {
|
export class K2Metrics {
|
||||||
service_name: string;
|
service_name: string;
|
||||||
|
device: number;
|
||||||
|
source: string;
|
||||||
//endpoint_name: string;
|
//endpoint_name: string;
|
||||||
metrics: MetricK2[];
|
metrics: MetricK2[];
|
||||||
};
|
};
|
||||||
|
|
@ -72,44 +74,15 @@ export class ZvksmetricsService {
|
||||||
// console.log(prev);
|
// console.log(prev);
|
||||||
|
|
||||||
let intermediate = await this.getComplexMetricsValues(inp, prev, complex, model, scope);
|
let intermediate = await this.getComplexMetricsValues(inp, prev, complex, model, scope);
|
||||||
console.log(inp);
|
// console.log(intermediate);
|
||||||
|
|
||||||
// console.log(inp.metrics[20], complex.metrics[2]);
|
|
||||||
|
|
||||||
const val = JSON.parse(JSON.stringify(model[0].values));
|
const val = JSON.parse(JSON.stringify(model[0].values));
|
||||||
// console.log(val.arr[1]);
|
|
||||||
// console.log(val);
|
|
||||||
|
|
||||||
// const reif = JSON.parse(comlexCalc[1].values);
|
|
||||||
// console.log(reif);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// console.log(inp);
|
|
||||||
// let rng: any = {val: [{x:3}, {x:4}, {x:5}, {x:9}]};
|
|
||||||
// console.log(rng.val[0].x);
|
|
||||||
// let testFormula: string = (rng.val[0].x + rng.val[1].x - rng.val[2].x + rng.val[3].x).toString();
|
|
||||||
|
|
||||||
// let formula: string = scope[0].ranges[0].sum;
|
|
||||||
// let value: any = {formula};
|
|
||||||
// console.log(evaluate(testFormula, rng));
|
|
||||||
|
|
||||||
// console.log(JSON.stringify("arr:[191, 192, 193]"));
|
|
||||||
|
|
||||||
let x: any = { arr: ["191", "192", "193"], prev: ["1", "1"], abb: ["1", "34"] };
|
|
||||||
//let k = JSON.parse(scope[0].ranges[0].values); //
|
|
||||||
//let y: string = scope[0].ranges[0].formula;
|
|
||||||
let y = "arr[1]/prev[1]*abb[1]+arr[2]*prev[2]+arr[3]+prev[1]/prev[2]";
|
|
||||||
// console.log(y, x);
|
|
||||||
// console.log(evaluate(y, x));
|
|
||||||
|
|
||||||
// let editedMetrics : K2Metrics = await this.getMetrics (inp, comlexCalc, scope);
|
// let editedMetrics : K2Metrics = await this.getMetrics (inp, comlexCalc, scope);
|
||||||
let responseFromExporter: any = await this.sendMetrics(intermediate);
|
let responseFromExporter: any = await this.sendMetrics(intermediate);
|
||||||
let responseFromExporter1: any = await this.sendMetrics(inp);
|
let responseFromExporter1: any = await this.sendMetrics(inp);
|
||||||
|
|
||||||
// console.log(inp.metrics[200].device);
|
|
||||||
|
|
||||||
prev = inp;
|
prev = inp;
|
||||||
|
|
||||||
return responseFromExporter;
|
return responseFromExporter;
|
||||||
|
|
@ -132,11 +105,15 @@ export class ZvksmetricsService {
|
||||||
let length: number = complexCalc.length;
|
let length: number = complexCalc.length;
|
||||||
let metrics: MetricK2[] = complexData.metrics;
|
let metrics: MetricK2[] = complexData.metrics;
|
||||||
|
|
||||||
// let val = await this.setComplexMetricValue(complexCalc[0].values, complexCalc[0].formula, inputData.metrics, prevousData.metrics);
|
let devices: number [] = [18,19];
|
||||||
// let status = 3;
|
let device_len: number = devices.length;
|
||||||
|
|
||||||
|
// const jsonData = require('../conf/devices.json');
|
||||||
|
// console.log(jsonData);
|
||||||
|
for (let d = 0; d<device_len; d++){
|
||||||
for (let i = 0; i < length; i++) {
|
for (let i = 0; i < length; i++) {
|
||||||
let val = await this.setComplexMetricValue(complexCalc[i].values, complexCalc[i].formula, inputData.metrics, prevousData.metrics);
|
let metr = {"source": ""};
|
||||||
|
let val = await this.setComplexMetricValue(complexCalc[i].values, complexCalc[i].formula, inputData.metrics, prevousData.metrics, devices[d], metr);
|
||||||
let status = 3;
|
let status = 3;
|
||||||
let complexMetric = new MetricK2();
|
let complexMetric = new MetricK2();
|
||||||
complexMetric.id = complexCalc[i].id;
|
complexMetric.id = complexCalc[i].id;
|
||||||
|
|
@ -146,32 +123,36 @@ export class ZvksmetricsService {
|
||||||
complexMetric.value = val;
|
complexMetric.value = val;
|
||||||
complexMetric.description = complexCalc[i].name;
|
complexMetric.description = complexCalc[i].name;
|
||||||
complexMetric.status = status;
|
complexMetric.status = status;
|
||||||
// complexMetric.device = number(inputData.metrics.find(el => el.name == complexMetric.name)?.device);
|
complexMetric.device = devices[d];
|
||||||
// complexMetric.device = inputData.metrics[0].device;
|
complexMetric.source = metr.source;
|
||||||
// complexMetric.source = string(inputData.metrics.find(elem => elem.name == complexMetric.name)?.source);
|
|
||||||
metrics.push(complexMetric);
|
metrics.push(complexMetric);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
console.log(complexData);
|
console.log(complexData);
|
||||||
|
|
||||||
return complexData;
|
return complexData;
|
||||||
}
|
}
|
||||||
|
|
||||||
async setComplexMetricValue(value: string, formula: string, currMetrics: MetricK2[], prevMetrics: MetricK2[]): Promise<number> {
|
async setComplexMetricValue(value: string, formula: string, currMetrics: MetricK2[], prevMetrics: MetricK2[], device: number, obj: any): Promise<number> {
|
||||||
const val = JSON.parse(JSON.stringify(value));
|
const val = JSON.parse(JSON.stringify(value));
|
||||||
let arr = val.arr;
|
let arr = val.arr;
|
||||||
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;
|
||||||
|
// console.log(obj.source);
|
||||||
|
|
||||||
for (let i = 0; i < arr_len; i++) {
|
for (let i = 0; i < arr_len; i++) {
|
||||||
arr[i] = currMetrics.find(element => element.name == arr[i])?.value;
|
arr[i] = currMetrics.find(element => element.name == arr[i] && element.device == device)?.value;
|
||||||
}
|
}
|
||||||
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++) {
|
||||||
prevarr[i] = prevMetrics.find(element => element.name == prevarr[i])?.value;
|
prevarr[i] = prevMetrics.find(element => element.name == prevarr[i] && element.device == device)?.value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// console.log(val);
|
|
||||||
|
// console.log(obj.soure);
|
||||||
let result: number = evaluate(formula, val);
|
let result: number = evaluate(formula, val);
|
||||||
// console.log(result);
|
// console.log(result);
|
||||||
return result;
|
return result;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue