import { _HttpClient } from '@delon/theme';
|
import { environment } from '@env/environment';
|
import { Injectable } from '@angular/core';
|
import { ResultBean, PageBean } from '@business/entity/grid';
|
import { Observable } from 'rxjs/Observable';
|
import { ExampleService, Criteria } from '@business/services/util/example.service';
|
import { Device } from '@business/entity/data';
|
|
@Injectable()
|
export class DeviceService {
|
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',
|
count: environment.SERVER_BASH_URL + 'device/count-by-example'
|
};
|
public getListUrl () {
|
return this.urls.list;
|
}
|
|
constructor(private http: _HttpClient) { }
|
delete(...ids: number[]): Observable< ResultBean<any> > {
|
return this.http.post(this.urls.delete, ids);
|
}
|
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() : '';
|
if (!!page) {
|
if ( page.getOrderByClause != null && page.getOrderByClause instanceof Function) {
|
orderByClause = page.getOrderByClause();
|
}
|
} else {
|
page = {pageIndex: 0, pageSize: 20};
|
}
|
const param: PageBean = {pageSize: page.pageSize, pageIndex: page.pageIndex,
|
queryParams: _queryParams, orderByClause: orderByClause};
|
return this.http.get(this.urls.list, param);
|
}
|
}
|