DeviceStatsController.php
3.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<?php
namespace app\ht\modules\datas\controllers;
use Yii;
use yii\data\Pagination;
use app\ht\controllers\BaseController;
use domain\device\DeviceStatsRepository;
use function strtotime;
/**
* 机器状态码管理
* Class DeviceStatsController
* @package app\ht\modules\upgrade\controllers
*/
class DeviceStatsController extends BaseController
{
/**
* 版本日志管理
*/
public function actionIndex()
{
$params = $this->dataList(1);
/**
* 渲染模板
*/
return $this->render('index', $params);
}
/**
* 查询数据列表
*/
protected function dataList($type = '')
{
$request = Yii::$app->request;
$createTime = $request->get('createTime');
$endTime = $request->get('endTime');
$software_version = $this->filterVar($request->get('software_version'));
$hardware_version = $this->filterVar($request->get('hardware_version'));
$manufacture_name = $this->filterVar($request->get('manufacture_name'));
$model_name = $this->filterVar($request->get('model_name'));
$device_id = $this->filterVar($request->get('device_id'));
$barcode = $this->filterVar($request->get('barcode'));
$city = $this->filterVar($request->get('city'));
$gets = [
'createTime' => $createTime,
'endTime' => $endTime,
'software_version' => $software_version,
'hardware_version' => $hardware_version,
'manufacture_name' => $manufacture_name,
'device_id' => $device_id,
'barcode' => $barcode,
'model_name' => $model_name,
'city' => $city,
];
$where = ['and'];
if ($createTime) {
$createTime = strtotime($createTime);
$where[] = ['>=', 'ds.timestamp', $createTime];
}
if ($endTime) {
$endTime = strtotime($endTime) + 86400;
$where[] = ['<=', 'ds.timestamp', $endTime];
}
if ($software_version) {
$where[] = ['like', 'ds.software_version', $software_version];
}
if ($hardware_version) {
$where[] = ['like', 'ds.hardware_version', $hardware_version];
}
if ($manufacture_name) {
$where[] = ['like', 'mf.name', $manufacture_name];
}
if ($model_name) {
$where[] = ['like', 'md.name', $model_name];
}
if ($device_id) {
$where[] = ['like', 'ds.device_id', $device_id];
}
if ($barcode) {
$where[] = ['like', 'ds.barcode', $barcode];
}
if ($city) {
$where[] = ['like', 'ds.city', $city];
}
if ($type == 0) {
$pageList = DeviceStatsRepository::getPageList($where, 0 , 0);
$pages = null;
} else {
$pageSize = 20;
$pages = new Pagination(['totalCount' => DeviceStatsRepository::getPageCount($where), 'pageSize' => $pageSize]);
$pageList = DeviceStatsRepository::getPageList($where, $pages->offset, $pages->limit);
}
/**
* 数据整理
*/
return [
'listdata' => $pageList,
'pages' => $pages,
'gets' => $gets
];
}
/**
* 导出设备状态数据
* @return string
*/
public function actionExport()
{
$params = $this->dataList(0);
return $this->renderPartial('export', $params);
}
}