dataList(1); /** * 渲染模板 */ return $this->render('index', $params); } /** * 查询数据列表 */ protected function dataList($type = '') { $searchCondition = $this->searchWhere(); $where = $searchCondition[0]; $gets = $searchCondition[1]; 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); } /** * @param int $requestType * @return array */ private function searchWhere($requestType = 1) { $request = Yii::$app->request; $reqName = 'get'; if (2 == $requestType) { $reqName = 'post'; } $createTime = $request->$reqName('createTime'); $endTime = $request->$reqName('endTime'); $software_version = $this->filterVar($request->$reqName('software_version')); $hardware_version = $this->filterVar($request->$reqName('hardware_version')); $manufacture_name = $this->filterVar($request->$reqName('manufacture_name')); $model_name = $this->filterVar($request->$reqName('model_name')); $device_id = $this->filterVar($request->$reqName('device_id')); $barcode = $this->filterVar($request->$reqName('barcode')); $city = $this->filterVar($request->$reqName('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]; } return [$where, $gets]; } /** * @return string */ public function actionDelSearch() { $request = Yii::$app->request; $e = new stdClass(); $e->success = false; $e->message = '失败'; $searchCondition = $this->searchWhere(2); $where = $searchCondition[0]; $post = $request->post(); if (empty($post)) { $e->message = '请录入搜索条件'; return $this->renderJson($e); } $upgrades = DeviceStatsRepository::getPageList($where, 0 , 0); $ids = []; foreach($upgrades as $k => $v) { if ($v) { $ids[] = $v['id']; } } if (!$ids) { $e->message = '没有满足条件的记录'; return $this->renderJson($e); } $result = DeviceStats::deleteAll(['id' => $ids]); if ($result) { $e->message = '成功删除'.count($ids).'记录'; $e->success = true; return $this->renderJson($e); } else { $e->message = '删除失败'; return $this->renderJson($e); } } /** * @return string */ public function actionDelItem() { $request = Yii::$app->request; $e = new stdClass(); $e->success = false; $e->message = '失败'; $id = $request->post('id'); if (empty($id)) { $e->message = 'ID为空,删除失败'; return $this->renderJson($e); } if (DeviceStats::delete($id)) { $e->message = '删除成功'; $e->success = true; return $this->renderJson($e); } else { $e->message = '删除失败'; return $this->renderJson($e); } } }