From 0d8b1828eea6bb027bbf71ddcd9c28a7bcf0ca3b Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Fri, 26 Jan 2018 14:38:12 +0800
Subject: [PATCH] 组织配置

---
 src/app/business/services/http/alarm-config.service.ts |   40 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 38 insertions(+), 2 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..9fd4271 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 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