| import { _HttpClient } from '@delon/theme'; | 
| import { environment } from 'environments/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); | 
|  } | 
| } |