From efe936a73370a55d4c3336fb9973a92fcf87efff Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Thu, 08 Mar 2018 09:22:09 +0800
Subject: [PATCH] ts语法修正,报表部分功能实现

---
 src/app/business/services/http/alarm-config.service.ts |   44 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 40 insertions(+), 4 deletions(-)

diff --git a/src/app/business/services/http/alarm-config.service.ts b/src/app/business/services/http/alarm-config.service.ts
index 6db6cbf..7e3cd14 100644
--- a/src/app/business/services/http/alarm-config.service.ts
+++ b/src/app/business/services/http/alarm-config.service.ts
@@ -3,17 +3,53 @@
 import { environment } from '@env/environment';
 import { Observable } from 'rxjs/Observable';
 import { ResultBean } from '@business/entity/grid';
-import { AlarmConfig } from '@business/entity/data';
+import { AlarmConfig, AlarmConfigValue, AlarmSensorLevel, AlarmMode } from '@business/entity/data';
 
 @Injectable()
 export class AlarmConfigService {
   private urls = {
-    getByOid: environment.SERVER_BASH_URL + 'alarm-config/get-by-oid'
+    getByOid: environment.SERVER_BASH_URL + 'alarm-config/get-by-oid',
+    save: environment.SERVER_BASH_URL + 'alarm-config/add-or-modify',
   };
   constructor( private http: _HttpClient) {
      
   }
-  public getByOid(oid:number):Observable<ResultBean<AlarmConfig>>{
-     return this.http.get(this.urls.getByOid,{organizationId:oid});
+  public generateAlarmConfig(sensors: {sensorKey: string} [], alarmConfig?: AlarmConfig): AlarmConfig {
+        const _alarmConfig: AlarmConfig = alarmConfig == null || alarmConfig.value == null ? {value: {
+            alarmLevels: null,
+            alarmMode: null
+        }} : alarmConfig;
+        let alarmLevels = _alarmConfig.value.alarmLevels;
+        alarmLevels = alarmLevels == null ? {} : alarmLevels;
+        sensors.forEach(
+          sensor => {
+                const key = sensor.sensorKey;
+                alarmLevels[key]  = 
+                alarmLevels[key] == null ?
+                {
+                  enable: false,
+                  increment: [0, 0, 0],
+                  degressEnable: false,
+                  degression:  [0, 0, 0]
+                } : alarmLevels[key];
+             }
+         );
+         _alarmConfig.value.alarmLevels = alarmLevels;
+         // ������������
+         let alarmMode = _alarmConfig.value.alarmMode;
+         alarmMode = alarmMode == null ? {
+          enable: false,
+          level1: null,
+          level2: null,
+          level3: null
+        } : alarmMode;
+        _alarmConfig.value.alarmMode = alarmMode;
+        return _alarmConfig;
+  }
+  public getByOid(oid: number): Observable<ResultBean<AlarmConfig>> {
+     return this.http.get(this.urls.getByOid, {organizationId: oid});
+  }
+  public save(data: any): Observable<ResultBean<any>> {
+    return this.http.post(this.urls.save, data);
   }
 }

--
Gitblit v1.8.0