123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672 |
- <?php
- namespace Home\Controller;
- use Think\Controller;
- use Vendor\PHPExcel;
- class ExportModuleController extends ComController
- {
- public function getStatusDetailsListExpor()
- {
- $Date = I();
- $phone = $Date['phone'];
- $company_code = $Date['company_code'];
- $status_type = $Date['status_type'];
- $transfer_type = $Date['transfer_type'];
- $dwtype = $Date['dwtype'];
- if (!empty($_SESSION['phone'])) {
- $phone = $_SESSION['phone'];
- }
- if (!isset($status_type)) {
- $res['msg'] = '操作失败,缺少重要参数';
- $res['flag'] = false;
- echo json_encode($res);
- exit();
- }
- if (!empty($company_code)) {
- $device_list = $this->getDeviceCode($company_code);
- } else {
- $company_code1 = M()->query("select owner_code from sp_owner_phone WHERE phone='" . $phone . "' GROUP BY owner_code limit 1");
- $company_code = $company_code1[0]['owner_code'];
- $device_list = $this->getDeviceCode($company_code);
- }
- $where = '';
- if (!empty($transfer_type)) {
- $where .= " and b.transfer_type='" . $transfer_type . "' ";
- }
- if (!empty($dwtype)) {
- $where .= " and b.dwtype='" . $dwtype . "' ";
- }
- switch ($status_type) {
- case '1':
- $data1 = M()->query("select b.* from sp_v_device_status as a join sp_owner as b on a.device_id=b.owner_code where a.device_status='离线' and a.device_id in(" . $device_list . ")" . $where);
- $data2 = M()->query("SELECT b.* FROM sp_devices_status AS a JOIN sp_owner AS b ON a.deviceid=b.owner_code WHERE b.dwtype=1 AND a.true_status in(75,300) AND b.company='" . $company_code . "' " . $where);
- break;
- case '2':
- $data1 = M()->query("select b.* from sp_v_device_status as a join sp_owner as b on a.device_id=b.owner_code where a.device_status='在线' and a.device_id in(" . $device_list . ")" . $where);
- $data2 = M()->query("SELECT b.* FROM sp_devices_status AS a JOIN sp_owner AS b ON a.deviceid=b.owner_code WHERE b.dwtype=1 AND a.true_status='0' AND b.company='" . $company_code . "' " . $where);
- break;
- default:
- $res['msg'] = '操作失败,系统中尚未定义该类型';
- $res['flag'] = false;
- echo json_encode($res);
- exit();
- break;
- }
- $data = array_merge($data1, $data2);
- vendor('PHPExcel.PHPExcel');
- // vendor('PHPExcel.PHPExcel.Style');
- $objPHPExcel = new \PHPExcel();
- $objPHPExcel->setActiveSheetIndex(0);
- $objPHPExcel->setActiveSheetIndex(0)
- ->setCellValue('A1', '设备编号')
- ->setCellValue('B1', '设备名称')
- ->setCellValue('C1', '单元地址')
- ->setCellValue('D1', '类型编号')
- ->setCellValue('E1', '传输方式')
- ->setCellValue('F1', '添加时间');
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('C')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('D')->setWidth(20);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('E')->setWidth(20);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('F')->setWidth(30);
- $objPHPExcel->getActiveSheet()->getStyle('A')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('B')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('C')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('D')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('E')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('F')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- if (!empty($data)) {
- foreach ($data as $key => $value) {
- // $objPHPExcel->getActiveSheet()->getStyle('A'. ($key + 2))->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->setCellValue('A' . ($key + 2), ' ' . $data[$key]['owner_code']);
- $objPHPExcel->getActiveSheet()->setCellValue('B' . ($key + 2), $data[$key]['owner_name']);
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), $data[$key]['unitinfo']);
- $objPHPExcel->getActiveSheet()->setCellValue('D' . ($key + 2), $data[$key]['dwtype']);
- $objPHPExcel->getActiveSheet()->setCellValue('E' . ($key + 2), $data[$key]['transfer_type']);
- $objPHPExcel->getActiveSheet()->setCellValue('F' . ($key + 2), $data[$key]['install_time']);
- }
- }
- $filename = '设备运行状态列表' . date('ymd', time()) . '.xls';
- $objPHPExcel->getActiveSheet()->setTitle('设备运行状态列表');
- ob_end_clean();
- header("Content-Type: application/force-download");
- header("Content-Type: application/octet-stream");
- header("Content-Type: application/download");
- header('Content-Disposition:inline;filename="' . $filename . '"');
- $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
- $objWriter->save('php://output');
- exit;
- }
- public function getManualInspectorListExpor()
- {
- $Data = I('');
- $clzt = $Data['clzt'];
- $start_time = $Data['start_time'];
- $end_time = $Data['end_time'];
- $company_code = $Data['company_code'];
- if (empty($company_code)) {
- $res['msg'] = '操作失败,缺少参数';
- $res['flag'] = false;
- echo json_encode($res);
- }
- $where = '';
- if (isset($clzt)) {
- $where .= " and clzt=" . $clzt . " ";
- }
- if (!empty($start_time)) {
- $where .= " and timestamp>='" . $start_time . "' ";
- }
- if (!empty($end_time)) {
- $where .= " and timestamp<'" . $end_time . "' ";
- }
- $ResData = query_187_ytapi("select id,content,timestamp,artificial_code,clzt from person_data where company_code='" . $company_code . "' " . $where . " order by timestamp desc LIMIT 1000");
- foreach ($ResData as $key => $value) {
- $str = str_replace('"]', '', $ResData[$key]['content']);
- $ResData[$key]['content'] = str_replace('["', '', $str);
- }
- vendor('PHPExcel.PHPExcel');
- $objPHPExcel = new \PHPExcel();
- $objPHPExcel->setActiveSheetIndex(0);
- $objPHPExcel->setActiveSheetIndex(0)
- ->setCellValue('A1', '督察单编号')
- ->setCellValue('B1', '督察内容')
- ->setCellValue('C1', '处理状态')
- ->setCellValue('D1', '上报时间');
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('C')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('D')->setWidth(30);
- $objPHPExcel->getActiveSheet()->getStyle('A')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('B')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('C')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('D')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- if (!empty($ResData)) {
- foreach ($ResData as $key => $value) {
- $objPHPExcel->getActiveSheet()->setCellValue('A' . ($key + 2), ' ' . $ResData[$key]['artificial_code']);
- $objPHPExcel->getActiveSheet()->setCellValue('B' . ($key + 2), $ResData[$key]['content']);
- if ($ResData[$key]['clzt'] == 0) {
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "未处理");
- } else {
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "已处理");
- }
- $objPHPExcel->getActiveSheet()->setCellValue('D' . ($key + 2), $ResData[$key]['timestamp']);
- }
- }
- $filename = '人员督察单' . date('ymd', time()) . '.xls';
- $objPHPExcel->getActiveSheet()->setTitle('人员督察单');
- ob_end_clean();
- header("Content-Type: application/force-download");
- header("Content-Type: application/octet-stream");
- header("Content-Type: application/download");
- header('Content-Disposition:inline;filename="' . $filename . '"');
- $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
- $objWriter->save('php://output');
- exit;
- }
- public function getElectronicInspectorListExpor()
- {
- $Data = I('');
- $clzt = $Data['clzt'];
- $start_time = $Data['start_time'];
- $end_time = $Data['end_time'];
- $company_code = $Data['company_code'];
- if (empty($company_code)) {
- $res['msg'] = '操作失败,缺少参数';
- $res['flag'] = false;
- echo json_encode($res);
- }
- $where = '';
- if (isset($clzt)) {
- $where .= " and clzt=" . $clzt . " ";
- }
- if (!empty($start_time)) {
- $where .= " and timestamp>='" . $start_time . "' ";
- }
- if (!empty($end_time)) {
- $where .= " and timestamp<'" . $end_time . "' ";
- }
- $ResData = query_187_ytapi("select id,content,timestamp,supervise_code,clzt from jingan_analysis_data where status=0 and content !='设备离线' and company_code='" . $company_code . "' " . $where . " order by timestamp desc");
- foreach ($ResData as $key => $value) {
- $str = str_replace('"]', '', $ResData[$key]['content']);
- $ResData[$key]['content'] = str_replace('["', '', $str);
- }
- vendor('PHPExcel.PHPExcel');
- $objPHPExcel = new \PHPExcel();
- $objPHPExcel->setActiveSheetIndex(0);
- $objPHPExcel->setActiveSheetIndex(0)
- ->setCellValue('A1', '督察单编号')
- ->setCellValue('B1', '督察内容')
- ->setCellValue('C1', '处理状态')
- ->setCellValue('D1', '上报时间');
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('C')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('D')->setWidth(30);
- $objPHPExcel->getActiveSheet()->getStyle('A')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('B')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('C')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('D')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- if (!empty($ResData)) {
- foreach ($ResData as $key => $value) {
- $objPHPExcel->getActiveSheet()->setCellValue('A' . ($key + 2), ' ' . $ResData[$key]['supervise_code']);
- $objPHPExcel->getActiveSheet()->setCellValue('B' . ($key + 2), $ResData[$key]['content']);
- if ($ResData[$key]['clzt'] == 0) {
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "未处理");
- } else {
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "已处理");
- }
- $objPHPExcel->getActiveSheet()->setCellValue('D' . ($key + 2), $ResData[$key]['timestamp']);
- }
- }
- $filename = '电子督察单' . date('ymd', time()) . '.xls';
- $objPHPExcel->getActiveSheet()->setTitle('电子督察单');
- ob_end_clean();
- header("Content-Type: application/force-download");
- header("Content-Type: application/octet-stream");
- header("Content-Type: application/download");
- header('Content-Disposition:inline;filename="' . $filename . '"');
- $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
- $objWriter->save('php://output');
- exit;
- }
- public function getDeviceListExpor()
- {
- $Data = I('');
- $company_code = $Data['company_code'];
- $dwtype = $Data['dwtype'];
- $start_time = $Data['start_time'];
- $end_time = $Data['end_time'];
- $where = '';
- if (!empty($start_time)) {
- $where .= " and a.install_time>='" . $start_time . "' ";
- }
- if (!empty($end_time)) {
- $where .= " and a.install_time<'" . $end_time . "' ";
- }
- if ($dwtype == 1) {
- $device_list = M()->query("SELECT a.id,a.owner_code,a.owner_name,a.dwtype,b.true_status,IF(b.true_status=0,'在线','离线') as device_state,a.install_time,a.unitinfo FROM sp_owner AS a JOIN sp_devices_status AS b ON a.owner_code=b.deviceid WHERE a.company='" . $company_code . "' AND a.dwtype=1 " . $where . " order by a.id DESC");
- } else {
- $device_list = M()->query("SELECT a.id,a.owner_code,a.owner_name,a.dwtype,IF(timestampdiff(HOUR,max(`b`.`data_time`),now())<12,'在线','离线') AS device_state,a.install_time,a.unitinfo FROM sp_owner AS a left JOIN sp_owner_status AS b ON a.owner_code=b.device_id WHERE a.company='" . $company_code . "' AND a.dwtype=" . $dwtype . " " . $where . " GROUP BY a.owner_code ORDER BY a.id DESC");
- }
- vendor('PHPExcel.PHPExcel');
- $objPHPExcel = new \PHPExcel();
- $objPHPExcel->setActiveSheetIndex(0);
- $objPHPExcel->setActiveSheetIndex(0)
- ->setCellValue('A1', '设备编号')
- ->setCellValue('B1', '设备名称')
- ->setCellValue('C1', '单元地址')
- ->setCellValue('D1', '设备状态')
- ->setCellValue('E1', '添加时间');
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('C')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('D')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('E')->setWidth(30);
- $objPHPExcel->getActiveSheet()->getStyle('A')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('B')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('C')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('D')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('E')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- if (!empty($device_list)) {
- foreach ($device_list as $key => $value) {
- $objPHPExcel->getActiveSheet()->setCellValue('A' . ($key + 2), ' ' . $device_list[$key]['owner_code']);
- $objPHPExcel->getActiveSheet()->setCellValue('B' . ($key + 2), $device_list[$key]['owner_name']);
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), $device_list[$key]['unitinfo']);
- $objPHPExcel->getActiveSheet()->setCellValue('D' . ($key + 2), $device_list[$key]['device_state']);
- $objPHPExcel->getActiveSheet()->setCellValue('E' . ($key + 2), $device_list[$key]['install_time']);
- }
- }
- $filename = '设备管理列表' . date('ymd', time()) . '.xls';
- $objPHPExcel->getActiveSheet()->setTitle('设备管理列表');
- ob_end_clean();
- header("Content-Type: application/force-download");
- header("Content-Type: application/octet-stream");
- header("Content-Type: application/download");
- header('Content-Disposition:inline;filename="' . $filename . '"');
- $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
- $objWriter->save('php://output');
- exit;
- }
- public function getIntegratedAlarmListExpor()
- {
- $Date = I();
- $company_code = $Date['company_code'];
- $type = $Date['type'];
- $processing_status = $Date['processing_status'];
- $start_time = $Date['start_time'];
- $end_time = $Date['end_time'];
- if (empty($company_code) && empty($type)) {
- $res['msg'] = '操作失败,缺少关键参数';
- $res['flag'] = false;
- echo json_encode($res);
- exit();
- }
- $where = '';
- if (!empty($start_time)) {
- $where .= " and a.time>='" . $start_time . "' ";
- }
- if (isset($processing_status)) {
- $where .= " and a.clzt='" . $processing_status . "' ";
- }
- if (!empty($start_time)) {
- $where .= " and a.time<'" . $end_time . "' ";
- }
- switch ($type) {
- case '1'://报警主机
- $table = 'sp_hj2017';
- $types = '1';
- break;
- case '2'://水表和液位
- $table = 'sp_sj2017';
- $types = '2,5';
- break;
- case '3'://烟感
- $table = 'sp_hj2017';
- $types = '3';
- break;
- case '4'://消防栓
- $table = 'sp_sj2017';
- $types = $type;
- break;
- case '5'://液位
- $table = 'sp_sj2017';
- $types = '5';
- break;
- case '6'://RTU
- $table = 'sp_rtu2017';
- $types = $type;
- break;
- case '7'://电气火灾
- $table = 'sp_ef2017';
- $types = $type;
- break;
- case '16'://视频监测
- $table = 'sp_video2017';
- $types = $type;
- break;
- case '17'://电梯监测
- $table = 'sp_lifter2017';
- $types = $type;
- break;
- case '128'://井盖
- $table = 'sp_iw2017';
- $types = $type;
- break;
- case '129'://地磁
- $table = 'sp_dc2020';
- $types = $type;
- break;
- case '130'://门禁
- $table = 'sp_door2020';
- $types = $type;
- break;
- case '131'://可燃气体
- $table = 'sp_gas2020';
- $types = $type;
- break;
- default:
- $res['msg'] = '操作失败,设备类型尚未定义,请联系管理员';
- $res['flag'] = 3002;
- echo json_encode($res);
- exit();
- break;
- }
- $alarm_list = M()->query("SELECT a.id,a.device_code,a.time,a.data1,a.data4,a.data2,a.clzt,b.company AS company_code,b.owner_name,b.unitinfo,b.dwtype as type FROM " . $table . " AS a JOIN sp_owner AS b ON a.device_code=b.owner_code WHERE b.dwtype in(" . $types . ") AND b.company='" . $company_code . "' " . $where . " ORDER BY a.id DESC");
- if ($type == 2 || $type == 4) {
- foreach ($alarm_list as $key => $value) {
- switch ($alarm_list[$key]['data1']) {
- case 'WP1':
- $alarm_list[$key]['data4'] = '低压';
- break;
- case 'WP2':
- $alarm_list[$key]['data4'] = '高压';
- break;
- case 'WP3':
- $alarm_list[$key]['data4'] = '故障';
- break;
- case 'WP4':
- $alarm_list[$key]['data4'] = '离线';
- break;
- case 'LL1':
- $alarm_list[$key]['data4'] = '低水位';
- break;
- case 'LL2':
- $alarm_list[$key]['data4'] = '高水位';
- break;
- default:
- $alarm_list[$key]['data4'] = '其他' . $alarm_list[$key]['data1'];
- break;
- }
- }
- } else if ($type == 7) {
- foreach ($alarm_list as $key => $value) {
- if ($alarm_list[$key]['data1'] == 'EF1') {
- $alarm_list[$key]['data4'] = '欠压报警';
- } elseif ($alarm_list[$key]['data1'] == 'EF2') {
- $alarm_list[$key]['data4'] = '过压报警';
- } elseif ($alarm_list[$key]['data1'] == 'EF3') {
- $alarm_list[$key]['data4'] = '过流报警';
- } elseif ($alarm_list[$key]['data1'] == 'EF4') {
- $alarm_list[$key]['data4'] = '漏电报警';
- } elseif ($alarm_list[$key]['data1'] == 'EF5') {
- $alarm_list[$key]['data4'] = '回路1温度超限报警';
- } elseif ($alarm_list[$key]['data1'] == 'EF6') {
- $alarm_list[$key]['data4'] = '回路2温度超限报警';
- } elseif ($alarm_list[$key]['data1'] == 'EF7') {
- $alarm_list[$key]['data4'] = '回路3温度超限报警';
- } elseif ($alarm_list[$key]['data1'] == 'EF8') {
- $alarm_list[$key]['data4'] = '回路4温度超限报警';
- } elseif ($alarm_list[$key]['data1'] == 'EF9') {
- $alarm_list[$key]['data4'] = '离线';
- } else {
- $alarm_list[$key]['data4'] = '其他' . $alarm_list[$key]['data1'];
- }
- }
- }
- vendor('PHPExcel.PHPExcel');
- $objPHPExcel = new \PHPExcel();
- $objPHPExcel->setActiveSheetIndex(0);
- $objPHPExcel->setActiveSheetIndex(0)
- ->setCellValue('A1', '设备编号')
- ->setCellValue('B1', '设备名称')
- ->setCellValue('C1', '单元地址')
- ->setCellValue('D1', '告警状态')
- ->setCellValue('E1', '告警时间');
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('C')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('D')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('E')->setWidth(30);
- $objPHPExcel->getActiveSheet()->getStyle('A')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('B')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('C')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('D')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('E')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- if (!empty($alarm_list)) {
- foreach ($alarm_list as $key => $value) {
- $objPHPExcel->getActiveSheet()->setCellValue('A' . ($key + 2), ' ' . $alarm_list[$key]['device_code']);
- $objPHPExcel->getActiveSheet()->setCellValue('B' . ($key + 2), $alarm_list[$key]['owner_name']);
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), $alarm_list[$key]['unitinfo']);
- if ($alarm_list[$key]['clzt'] == 0) {
- $objPHPExcel->getActiveSheet()->setCellValue('D' . ($key + 2), "未处理");
- } else if ($alarm_list[$key]['clzt'] == 1) {
- $objPHPExcel->getActiveSheet()->setCellValue('D' . ($key + 2), "已处理");
- }
- $objPHPExcel->getActiveSheet()->setCellValue('E' . ($key + 2), $alarm_list[$key]['time']);
- }
- }
- $filename = '综合告警列表' . date('ymd', time()) . '.xls';
- $objPHPExcel->getActiveSheet()->setTitle('综合告警列表');
- ob_end_clean();
- header("Content-Type: application/force-download");
- header("Content-Type: application/octet-stream");
- header("Content-Type: application/download");
- header('Content-Disposition:inline;filename="' . $filename . '"');
- $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
- $objWriter->save('php://output');
- exit;
- }
- public function getDeviceConfigListExpor()
- {
- $Data = I();
- $company_code = $Data['company_code'];
- $dwtype = $Data['dwtype'];
- $transmission_mode = $Data['transmission_mode'];
- $status = $Data['status'];
- $device_code_list = $Data['device_code_list'];
- $where = "";
- if (!empty($dwtype)) {
- $where .= " and a.dwtype = '" . $dwtype . "' ";
- }
- if (!empty($transmission_mode)) {
- $where .= " and a.transfer_type = '" . $transmission_mode . "' ";
- }
- $device_list = '';
- if ($status == 1) {
- } else {
- if (!empty($device_code_list)){
- $device_list1 = explode(",", $device_code_list);
- // print_r($device_list1);
- // exit();
- for ($i=0;$i<count($device_list1);$i++){
- if ($i==0){
- $device_list="'".$device_list1[$i]."'";
- }else{
- $device_list.=",'".$device_list1[$i]."'";
- }
- }
- }
- // $device_list = str_replace('"',"'",str_replace(']', '', str_replace('[', '', $device_code_list)));
- if (!empty($device_list)) {
- $where .= " and a.owner_code in (" . $device_list . ") ";
- }
- }
- if (empty($dwtype)) {
- $device_data1 = M()->query("SELECT a.id,a.owner_code,a.louyu,a.company,a.owner_name,a.dwtype,IF(timestampdiff(HOUR,max(`b`.`data_time`),now())<12,'在线','离线') AS device_state,a.install_time,a.unitinfo FROM sp_owner AS a JOIN sp_owner_status AS b ON a.owner_code=b.device_id WHERE a.dwtype!=1 and a.company='" . $company_code . "' " . $where . " GROUP BY a.owner_code ORDER BY a.install_time DESC");
- $device_data2 = M()->query("SELECT a.id,a.owner_code,a.louyu,a.company,a.owner_name,a.dwtype,IF(true_status=0,'在线','离线') AS device_state,a.install_time,a.unitinfo FROM sp_owner AS a JOIN sp_devices_status AS b ON a.owner_code=b.deviceid WHERE a.dwtype=1 and a.company='" . $company_code . "' " . $where . " GROUP BY a.owner_code ORDER BY a.install_time DESC");
- $device_data = array_merge($device_data1, $device_data2);
- array_multisort(array_column($device_data, 'install_time'), SORT_DESC, $device_data);
- } else {
- if ($dwtype == 1) {
- $device_data = M()->query("SELECT a.id,a.owner_code,a.louyu,a.company,a.owner_name,a.dwtype,IF(true_status=0,'在线','离线') AS device_state,a.install_time,a.unitinfo FROM sp_owner AS a JOIN sp_devices_status AS b ON a.owner_code=b.deviceid WHERE a.dwtype=1 and a.company='" . $company_code . "' " . $where . " GROUP BY a.owner_code ORDER BY a.install_time DESC");
- } else {
- $device_data = M()->query("SELECT a.id,a.owner_code,a.louyu,a.company,a.owner_name,a.dwtype,IF(timestampdiff(HOUR,max(`b`.`data_time`),now())<12,'在线','离线') AS device_state,a.install_time,a.unitinfo FROM sp_owner AS a JOIN sp_owner_status AS b ON a.owner_code=b.device_id WHERE a.dwtype!=1 and a.company='" . $company_code . "' " . $where . " GROUP BY a.owner_code ORDER BY a.install_time DESC");
- }
- }
- vendor('PHPExcel.PHPExcel');
- $objPHPExcel = new \PHPExcel();
- $objPHPExcel->setActiveSheetIndex(0);
- $objPHPExcel->setActiveSheetIndex(0)
- ->setCellValue('A1', '设备编号')
- ->setCellValue('B1', '设备名称')
- ->setCellValue('C1', '设备类型')
- ->setCellValue('D1', '单元地址')
- ->setCellValue('E1', '设备状态')
- ->setCellValue('F1', '告警时间');
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('C')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('D')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('E')->setWidth(30);
- $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('F')->setWidth(30);
- $objPHPExcel->getActiveSheet()->getStyle('A')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('B')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('C')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('D')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('E')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- $objPHPExcel->getActiveSheet()->getStyle('F')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- if (!empty($device_data)) {
- foreach ($device_data as $key => $value) {
- $objPHPExcel->getActiveSheet()->setCellValue('A' . ($key + 2), ' ' . $device_data[$key]['owner_code']);
- $objPHPExcel->getActiveSheet()->setCellValue('B' . ($key + 2), $device_data[$key]['owner_name']);
- switch ($device_data[$key]['dwtype']) {
- case '1':
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "用传");
- break;
- case '2':
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "水表");
- break;
- case '3':
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "烟感");
- break;
- case '5':
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "液位");
- break;
- case '6':
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "RTU");
- break;
- case '7':
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "电气火灾");
- break;
- case '16':
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "视频监测");
- break;
- case '17':
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "电梯监测");
- break;
- case '128'://井盖
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "井盖监测");
- break;
- case '129'://地磁
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "地磁监测");
- break;
- case '130'://门禁
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "门禁监测");
- break;
- case '131'://可燃气体
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "可燃气体");
- break;
- default:
- $objPHPExcel->getActiveSheet()->setCellValue('C' . ($key + 2), "未定义");
- break;
- }
- $objPHPExcel->getActiveSheet()->setCellValue('D' . ($key + 2), $device_data[$key]['unitinfo']);
- $objPHPExcel->getActiveSheet()->setCellValue('E' . ($key + 2), $device_data[$key]['device_state']);
- $objPHPExcel->getActiveSheet()->setCellValue('F' . ($key + 2), $device_data[$key]['install_time']);
- }
- }
- $filename = '设备列表' . date('ymd', time()) . '.xls';
- $objPHPExcel->getActiveSheet()->setTitle('设备列表');
- ob_end_clean();
- header("Content-Type: application/force-download");
- header("Content-Type: application/octet-stream");
- header("Content-Type: application/download");
- header('Content-Disposition:inline;filename="' . $filename . '"');
- $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
- $objWriter->save('php://output');
- exit;
- }
- public function getceshi()
- {
- $arr = ["devcie" => ['aaa', 'bbb']];
- echo json_encode($arr);
- }
- }
|