From 7ca521e4267b987270f6ccbb9a6c076aeb467d96 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Wed, 04 Jul 2018 17:11:33 +0800
Subject: [PATCH] 设备,监控站 管理功能增强
---
src/app/business/services/http/device.service.ts | 36 ++++++++++++++++++++++++++++++------
1 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/src/app/business/services/http/device.service.ts b/src/app/business/services/http/device.service.ts
index 9ad5d43..83c70d2 100644
--- a/src/app/business/services/http/device.service.ts
+++ b/src/app/business/services/http/device.service.ts
@@ -3,7 +3,7 @@
import { Injectable } from '@angular/core';
import { ResultBean, PageBean } from '@business/entity/grid';
import { Observable } from 'rxjs/Observable';
-import { ExampleService } from '@business/services/util/example.service';
+import { ExampleService, Criteria } from '@business/services/util/example.service';
import { Device } from '@business/entity/data';
@Injectable()
@@ -11,16 +11,37 @@
private urls = {
list: environment.SERVER_BASH_URL + 'device/page-list',
save: environment.SERVER_BASH_URL + 'device/add-or-modify',
- delete: environment.SERVER_BASH_URL + 'device/delete-by-ids'
+ delete: environment.SERVER_BASH_URL + 'device/delete-by-ids',
+ count: environment.SERVER_BASH_URL + 'device/count-by-example'
};
public getListUrl () {
return this.urls.list;
}
- public getSqlParams(queryText: string) {
+ public getSqlParams(queryMap: {[key: string]: number|string}) {
const example = new ExampleService();
- if (queryText != null && queryText !== '') {
- example.or().andLike({name: 'name', value: '%' + queryText + '%'});
- example.or().andLike({name: 'mac', value: '%' + queryText + '%'});
+ const orgId = !!queryMap.orgId ? queryMap.orgId : null;
+ const mpointId = !!queryMap.mpointId ? queryMap.mpointId : null;
+ const devMacOrName = !!queryMap.devMacOrName && !!(<string>queryMap.devMacOrName).trim() ? queryMap.devMacOrName : null;
+ let criWithMac: Criteria = null;
+ let criWithName: Criteria = null;
+ if (!!devMacOrName) {
+ criWithName = example.or().andLike({name: 'name', value: '%' + devMacOrName + '%'});
+ criWithMac = example.or().andLike({name: 'mac', value: '%' + devMacOrName + '%'});
+ }
+ if (!!mpointId) {
+ if (!!devMacOrName) {
+ criWithName.andEqualTo({name: 'monitorPointId', value: mpointId});
+ criWithMac.andEqualTo({name: 'monitorPointId', value: mpointId});
+ }else {
+ example.or().andEqualTo({name: 'monitorPointId', value: mpointId});
+ }
+ } else if (!!orgId) {
+ if (!!devMacOrName) {
+ criWithName.andCondition(`monitor_point_id in (select id from monitor_point where organization_id = ${orgId})`);
+ criWithMac.andCondition(`monitor_point_id in (select id from monitor_point where organization_id = ${orgId})`);
+ }else {
+ example.or().andCondition(`monitor_point_id in (select id from monitor_point where organization_id = ${orgId})`);
+ }
}
return example.getSqlParam();
}
@@ -31,6 +52,9 @@
public save(data: Device): Observable<any> {
return this.http.post(this.urls.save, data);
}
+ public countByExample(example: ExampleService): Observable<ResultBean<number>> {
+ return this.http.get(this.urls.count, { queryParams: example.getSqlParam()});
+ }
public getPageByExample(page: PageBean, example: ExampleService): Observable<PageBean> {
let orderByClause = '';
const _queryParams = !!example ? example.getSqlParam() : '';
--
Gitblit v1.8.0