public function editAction() { $id = reqnum('id', ''); if (!$id) { return; } $m = new Psys_SimModel(); if ($_POST) { if ($_POST['activation'] && !$_POST['renewaldate']) { $k = $_POST['frequency'] == 4 ? ($_POST['frequency'] * $_POST['frequency'] + 2 * $_POST['frequency']) / 2 : ($_POST['frequency'] * $_POST['frequency'] + $_POST['frequency']) / 2; $_POST['renewaldate'] = $_POST['activation'] ? date('Y-m-d', strtotime("+{$k} month", strtotime($_POST['activation']))) : ''; } $r = $m->UpdateOne($_POST, array('id' => $id)); if ($r > 0) { echo "<script>alert('成功');</script>"; echo "<meta http-equiv='Refresh' content='0;URL=/sim/index'>"; $this->forward = 'add'; return; } echo "<script>alert('失败');</script>"; } $data = $m->GetOne(array('id' => $id)); foreach ($data as $key => $var) { $this->smarty->assign($key, $var); } $this->forward = "edit"; }
/** * 列表 */ public function indexAction() { $page = reqnum("page", 1); $pagesize = reqnum("pagesize", 100); $nt = new PSys_RegionModel(); $list = $nt->GetList('region_type = 2', ' region_id ASC', $page, $pagesize, "*"); self::inidate($list['allnum'], $page, $pagesize, count($list['allrow'])); $this->smarty->assign('list', $list['allrow']); $this->smarty->assign('psys_base_url', PSYS_BASE_URL); $this->forward = "index"; }
public function __construct($prjname = 'psys') { global $G_X; $prjname = $prjname == '' ? $G_X['prjstr'] : $prjname; if (!in_array($prjname, array_keys($G_X['allow_project']))) { header("Location:/html/noproject.html"); return; } if (reqnum("ajax", 0) == 1) { $this->isajax = true; } $this->smarty = new Smarty(); $this->SetUserInfo(); $this->SetTemplate($prjname); }
/** * * @do ajax 获取用户列表数据 * * @member public * @author jerry * @copyright rockhippo * @param - * @return html * */ public function ajaxMemberHtmlAction() { $start = reqstr("start", ""); $end = reqstr("end", ""); $call = reqstr("call", ""); $PSys_memberModel = new PSys_MemberModel(); $page = reqnum('page', 1); $pagesize = 20; $where = array(); $where["regfrom"] = 2; if ($start) { $where["regtime_>="] = strtotime($start); } if ($end) { $where["regtime_<="] = strtotime($end); } if ($call) { $where["phoneno_like"] = $call; } $order = "regtime DESC"; $result = $PSys_memberModel->GetList($where, $order, $page, $pagesize, "username,nickname,phoneno,sex,regtime,regip,trainno"); if ($result['allnum'] % $pagesize) { $last = floor($result['allnum'] / $pagesize) + 1; } else { $last = $result['allnum'] / $pagesize; } if ($page > 1) { $this->smarty->assign("pre", $page - 1); } else { $this->smarty->assign("pre", 1); } if ($page == $last) { $this->smarty->assign("next", $last); } else { $this->smarty->assign("next", $page + 1); } $PSys_PointModel = new PSys_PointModel(); foreach ($result["allrow"] as $k => $v) { $cond['username'] = $v['username']; $pointsRs = $PSys_PointModel->GetOne($cond, 'points', 'rhi_account'); $result["allrow"][$k]['points'] = $pointsRs['points']; $result["allrow"][$k]['key'] = $k + 1; } $this->smarty->assign("last", $last); $this->smarty->assign("data", $result["allrow"]); $this->smarty->assign("total_num", $result["allnum"]); $this->forward = "ajaxMember"; }
public function pointslistAction() { $page = reqnum("page", 1); $pagesize = reqnum("pagesize", 20); $username = reqstr('username', ''); $model = new Psys_PointsModel(); $where = array(); if (!empty($username)) { $where['username'] = username; } $orderby = ''; $field = '*'; $points_list = $model->GetList($where, $orderby, $page, $pagesize, $field); if (!empty($points_list['allrow'])) { foreach ($points_list['allrow'] as &$points) { //获取城市信息 $points['ctime'] = date('Y-m-d H:i:s', $points['ctime']); } } self::inidate($points_list['allnum'], $page, $pagesize, count($points_list['allrow'])); $this->smarty->assign('points_list', $points_list['allrow']); $this->forward = 'pointslist'; }
/** * 手机品牌、浏览器、系统排行数据 */ public function mobilerankdataAction() { $data = reqstr('data'); if (!$data) { return; } $page = reqnum('page', 1); $pagesize = 10; $data = urldecode($data); $info = array(); parse_str($data, $info); $date = (int) $info['date'] ? (int) $info['date'] : 7; //默认是查出7天的数据 $sdate = trim($info['sdate']) ? trim($info['sdate']) : ''; $edate = trim($info['edate']) ? trim($info['edate']) : ''; $station = (int) $info['station'] ? (int) $info['station'] : 0; // 0 表示查询出所有车站 $type = trim($info['type']) ? trim($info['type']) : 'mobile'; //默认是手机 if (!$sdate || !$edate) { $edate = date('Y-m-d'); $sdate = date('Y-m-d', strtotime("-{$date} day")); } $sdate = str_replace('-', '_', $sdate); $edate = str_replace('-', '_', $edate); $nt = new Psys_ResourceModel(); $data = $nt->MobileRankData($sdate, $edate, $station, $type, $page, $pagesize); $data_graph = $nt->MobileRankData($sdate, $edate, $station, $type, $page, $pagesize, 1); $paging = $this->paging($data['allnum'], $page, $pagesize, count($data['allrow'])); $stations = $nt->station(); $total = 0; foreach ($data['allrow'] as &$v) { if ($station) { $v['stationname'] = $this->getstationname($stations, $station); } else { $v['stationname'] = 'ALL'; } $total += $v['num']; } $phonebrand = array('mobile' => '手机品牌', 'browser' => '浏览器', 'sys' => '手机系统'); $datas[0]['type'] = 'pie'; $datas[0]['name'] = $phonebrand[$type] . '使用占比'; foreach ($data_graph['allrow'] as $v1) { $datas[0]['data'][] = array($v1['name'], (double) round($v1['num'] / $total * 100, 2)); } $result['y_cat'] = $datas; return array('table' => $data['allrow'], 'paging' => $paging, 'graph' => $result); }
public function tasksAction() { $appkey = reqstr('appkey', ''); $username = reqstr('username', ''); $taskid = reqstr('taskid', ''); $indate = reqstr('indate', 0); $todate = reqstr('todate', 0); $where = '1=1 '; if (!empty($appkey)) { $where .= " and appkey='" . $appkey . "'"; } if (!empty($taskid)) { $where .= ' and taskid=' . $taskid; } if (!empty($username)) { $where .= " and username='******'"; } if ($todate > 0) { $where .= ' and ctime > ' . strtotime($indate); } if ($indate > 0) { $where .= ' and ctime <= ' . strtotime($todate); } $page = reqnum("page", 1); $pagesize = reqnum("pagesize", 10); $applist = array('61' => '开心消消乐', '49' => '消灭星星2015', '47' => '萌宠泡泡龙', '68' => '凤凰视频', '69' => '哪吒看书', '70' => '微看点'); $m = new Psys_UserModel(); $list = $m->GetList($where, 'id DESC', $page, $pagesize, "*", 'rhi_usertask'); foreach ($list['allrow'] as $key => &$var) { MsgInfoConst::GetAppKey($var['appkey'], $err); $var['appkey'] = $err['msg']; $var['taskid'] = $applist[$var['taskid']]; } $s_arr = $arr_xip_fw[$appkey]; self::inidate($list['allnum'], $page, $pagesize, count($list['allrow'])); $this->smarty->assign('appkeys', MsgInfoConst::$appkey_arr); //站点列表 $this->smarty->assign('tasks', $applist); //站点列表 $this->smarty->assign('list', $list['allrow']); $this->smarty->assign('psys_base_url', PSYS_BASE_URL); $this->forward = "tasks"; }
/** * * @do ajax 访问人数 uv数据 * * @pageview public * @author Nick * @copyright rockhippo * @param - * @return - * */ public function ajaxUVpageviewAction() { $PSys_PageviewModel = new PSys_PageviewModel(); $where = array(); $fastSearch = reqnum("fastSearch", 0); //快速查询 $dataStatusFS = reqnum("datastatusFS", 1); //快速查询合并、比较筛选按钮 1为合并 2为比较 默认合并 switch ($fastSearch) { case 1: //当天 $date = date("Y-m-d"); $data = array(); //x轴数据 $data['xv'] = array('00' => '0 hour', '01' => '1 hour', '02' => '2 hour', '03' => '3 hour', '04' => '4 hour', '05' => '5 hour', '06' => '6 hour', '07' => '7 hour', '08' => '8 hour', '09' => '9 hour', '10' => '10 hour', '11' => '11 hour', '12' => '12 hour', '13' => '13 hour', '14' => '14 hour', '15' => '15 hour', '16' => '16 hour', '17' => '17 hour', '18' => '18 hour', '19' => '19 hour', '20' => '20 hour', '21' => '21 hour', '22' => '22 hour', '23' => '23 hour'); if ($dataStatusFS == 1) { $group = "`hour`"; $dbname = "rha_aclog_hour"; $result = $PSys_PageviewModel->getDay($date, $group, $dbname); //合并的数据节点设置 $data['data'][1]['name'] = '所有站点'; $data['data'][1]['marker'] = "square"; foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data'][1]['id'][] = $val['id']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } foreach ($data['xv'] as $k => $v) { $data['data'][1]['data'][] = $total[$k] != '' ? intval($total[$k]) : 0; } $data['data']['num'] = 1; } else { $group = "`hour`,`stationid`"; $dbname = "rha_aclog_hour"; $result = $PSys_PageviewModel->getDay($date, $group, $dbname); foreach ($result as $key => $val) { $total[$val['stationid']][$val['date']] = $val['total']; //$data['data'][$val['stationid']]['data'][] = intval($val['total']); $data['data'][$val['stationid']]['id'][] = $val['id']; $data['data']['table'][$val['stationid']][] = array('date' => $val['date'], 'total' => $val['total']); } //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = is_array($data['data']['table'][$val['id']]) ? $data['data']['table'][$val['id']] : array(); $stationChoice[] = $val['id']; foreach ($data['xv'] as $k => $v) { $data['data'][$val['id']]['data'][] = $total[$val['id']][$k] != '' ? intval($total[$val['id']][$k]) : 0; } } unset($data['data'][0]); unset($data['data']['table'][0]); $data['data']['num'] = count($station['allrow']); } $data['data']['key'] = array("小时", "人数"); //table 栏目提示 array按顺序 break; case 2: //本周 $bdate = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + 1, date("Y"))); $edate = date("Y-m-d", mktime(23, 59, 59, date("m"), date("d") - date("w") + 7, date("Y"))); if (date("N", strtotime($bdate)) == 1) { $data = array(); $data['error'] = 'WEEKNODATA'; break; } $data = array(); if ($dataStatusFS == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); $data['data'][1]['name'] = "所有站点"; $data['data'][1]['marker'] = "square"; foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 1; $i <= 7; $i++) { $data['xv'][] = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + $i, date("Y"))); //$data['data'][1]['data'][] = intval($result[$i-1]['total']); $data['data'][1]['data'][] = $total[date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + $i, date("Y")))] ? intval($total[date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + $i, date("Y")))]) : 0; } $data['data']['num'] = 1; $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); foreach ($result as $key => $val) { $total[$val['station']][$val['date']] = $val['total']; //$data['data'][$val['station']]['data'][] = intval($val['total']); $data['data']['table'][$val['station']][] = array('date' => $val['date'], 'total' => $val['total']); } //x轴数据 $data['xv'] = array(); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = is_array($data['data']['table'][$val['id']]) ? $data['data']['table'][$val['id']] : array(); $stationChoice[] = $val['id']; } //print_r($total[1][date("Y-m-d",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")))]); for ($i = 1; $i <= 7; $i++) { $data['xv'][] = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + $i, date("Y"))); foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['data'][] = $total[$val['id']][date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + $i, date("Y")))] ? intval($total[$val['id']][date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + $i, date("Y")))]) : 0; } } $data['data']['num'] = count($station['allrow']); $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 } break; case 3: //本月 $bdate = date("Y-m-d", mktime(0, 0, 0, date("m"), 1, date("Y"))); $edate = date("Y-m-d", mktime(23, 59, 59, date("m"), date("t"), date("Y"))); if (date("j") == 1) { $data = array(); $data['error'] = 'MONTHNODATA'; break; } $data = array(); if ($dataStatusFS == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); $data['data'][1]['name'] = "所有站点"; $data['data'][1]['marker'] = "square"; //遍历数据 foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 1; $i <= date("t"); $i++) { $data['xv'][] = date("d", mktime(0, 0, 0, date("m"), $i, date("Y"))); $data['data'][1]['data'][] = $total[date("Y-m-d", mktime(0, 0, 0, date("m"), $i, date("Y")))] ? intval($total[date("Y-m-d", mktime(0, 0, 0, date("m"), $i, date("Y")))]) : 0; } $data['data']['num'] = 1; $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = array(); $stationChoice[] = $val['id']; } //遍历数据 foreach ($result as $key => $val) { $total[$val['date']][$val['station']] = $val['total']; $data['data']['table'][$val['station']][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 1; $i <= date("t"); $i++) { $data['xv'][] = date("d", mktime(0, 0, 0, date("m"), $i, date("Y"))); //遍历数据 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['data'][] = $total[date("Y-m-d", mktime(0, 0, 0, date("m"), $i, date("Y")))][$val['id']] == '' ? 0 : intval($total[date("Y-m-d", mktime(0, 0, 0, date("m"), $i, date("Y")))][$val['id']]); } } $data['data']['num'] = count($station['allrow']); $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 } break; default: $dateSearch = reqstr("dateSearch", ""); $datastatus = reqnum("datastatus", 1); $stationC = reqarray("stationC"); $screening['station'] = ""; $stationChoice = array(); if ($stationC == array()) { //若为空则为不排除站点 foreach ($station['allrow'] as $key => $val) { $screening['station'] .= '<a class="btn" id="close-station-' . $val['id'] . '" onclick="screeningSpan(\'close-station\',' . $val['id'] . ');">' . $val['stationname'] . ' <i class="icon-remove"></i><input type="hidden" name="stationCheck[]" value="' . $val['id'] . '" /></a> '; $stationChoice[] = $val['id']; //选中的站点 } } else { foreach ($station['allrow'] as $key => $val) { if (in_array($val['id'], $stationC)) { $screening['station'] .= '<a class="btn" id="close-station-' . $val['id'] . '" onclick="screeningSpan(\'close-station\',' . $val['id'] . ');">' . $val['stationname'] . ' <i class="icon-remove"></i><input type="hidden" name="stationCheck[]" value="' . $val['id'] . '" /></a> '; $stationChoice[] = $val['id']; //选中的站点 } } } switch ($dateSearch) { case "oneday": $date = reqstr("oneday"); $data = array(); //x轴数据 $data['xv'] = array('00' => '0 hour', '01' => '1 hour', '02' => '2 hour', '03' => '3 hour', '04' => '4 hour', '05' => '5 hour', '06' => '6 hour', '07' => '7 hour', '08' => '8 hour', '09' => '9 hour', '10' => '10 hour', '11' => '11 hour', '12' => '12 hour', '13' => '13 hour', '14' => '14 hour', '15' => '15 hour', '16' => '16 hour', '17' => '17 hour', '18' => '18 hour', '19' => '19 hour', '20' => '20 hour', '21' => '21 hour', '22' => '22 hour', '23' => '23 hour'); if ($datastatus == 1) { $group = "`hour`"; $dbname = "rha_aclog_hour"; $result = $PSys_PageviewModel->getDay($date, $group, $dbname, $stationChoice); //合并的数据节点设置 $data['data'][1]['name'] = '所有站点'; $data['data'][1]['marker'] = "square"; foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data'][1]['id'][] = $val['id']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } foreach ($data['xv'] as $k => $v) { $data['data'][1]['data'][] = $total[$k] != '' ? intval($total[$k]) : 0; } $data['data']['num'] = 1; $stationChoice = array(); $stationChoice[0] = 1; } else { $group = "`hour`,`stationid`"; $dbname = "rha_aclog_hour"; $result = $PSys_PageviewModel->getDay($date, $group, $dbname, $stationChoice); foreach ($result as $key => $val) { $total[$val['stationid']][$val['date']] = $val['total']; //$data['data'][$val['stationid']]['data'][] = intval($val['total']); $data['data'][$val['stationid']]['id'][] = $val['id']; $data['data']['table'][$val['stationid']][] = array('date' => $val['date'], 'total' => $val['total']); } //重过滤$station $where = array(); $where['id_IN'] = $stationChoice; $order = "id ASC"; $field = "id,stationname"; $station = $PSys_PageviewModel->GetList($where, $order, 0, 0, $field, "rha_station"); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = is_array($data['data']['table'][$val['id']]) ? $data['data']['table'][$val['id']] : array(); foreach ($data['xv'] as $k => $v) { $data['data'][$val['id']]['data'][] = $total[$val['id']][$k] != '' ? intval($total[$val['id']][$k]) : 0; } } unset($data['data'][0]); unset($data['data']['table'][0]); $data['data']['num'] = count($station['allrow']); } $data['data']['key'] = array("小时", "人数"); //table 栏目提示 array按顺序 $data['screening']['date'] = '<a class="btn" onclick="screeningSpan(\'close-date\');">单日/' . $date . ' <i class="icon-remove"></i><input type="hidden" name="dateSearch" value="oneday" /><input type="hidden" name="oneday" value="' . $date . '" /></a> '; break; case "manyday": $bdate = reqstr("bmanyday"); $edate = reqstr("emanyday"); //计算天数差 $Days = round((strtotime($edate) - strtotime($bdate)) / 3600 / 24); $data = array(); if ($datastatus == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice); //print_r($result); //x轴数据 $data['xv'] = array(); $data['data'][1]['name'] = "所有站点"; $data['data'][1]['marker'] = "square"; foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 0; $i <= $Days; $i++) { $day = $i; $data['xv'][] = date("Y-m-d", strtotime("{$bdate} +{$day} day")); //$data['data'][1]['data'][] = intval($result[$i-1]['total']); $data['data'][1]['data'][] = $total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))] ? intval($total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))]) : 0; } $data['data']['num'] = 1; $stationChoice = array(); $stationChoice[0] = 1; //to do... } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); foreach ($result as $key => $val) { $total[$val['station']][$val['date']] = $val['total']; //$data['data'][$val['station']]['data'][] = intval($val['total']); $data['data']['table'][$val['station']][] = array('date' => $val['date'], 'total' => $val['total']); } //x轴数据 $data['xv'] = array(); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = is_array($data['data']['table'][$val['id']]) ? $data['data']['table'][$val['id']] : array(); } //print_r($total[1][date("Y-m-d",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")))]); for ($i = 0; $i <= $Days; $i++) { $day = $i; $data['xv'][] = date("Y-m-d", strtotime("{$bdate} +{$day} day")); //$data['data'][1]['data'][] = intval($result[$i-1]['total']); foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['data'][] = $total[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$day} day"))] ? intval($total[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$day} day"))]) : 0; } } $data['data']['num'] = count($station['allrow']); } $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 $data['screening']['date'] = '<a class="btn" onclick="screeningSpan(\'close-date\');">多日/' . $bdate . ' ~ ' . $edate . ' <i class="icon-remove"></i><input type="hidden" name="dateSearch" value="manyday" /><input type="hidden" name="manyday" value="' . $date . '" /></a> '; break; case "oneweek": $day = reqstr("oneweek"); $edate = date('Y-m-d', strtotime("{$day} Sunday")); $bdate = date('Y-m-d', strtotime("{$edate} -6 days")); //计算天数差 $Days = round((strtotime($edate) - strtotime($bdate)) / 3600 / 24); if (date("N", strtotime($bdate)) == 1 && $bdate == date("Y-m-d")) { $data = array(); $data['error'] = 'WEEKNODATA'; break; } $data = array(); if ($datastatus == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); $data['data'][1]['name'] = "所有站点"; $data['data'][1]['marker'] = "square"; foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 0; $i <= $Days; $i++) { $day = $i; $data['xv'][] = date("Y-m-d", strtotime("{$bdate} +{$day} day")); //$data['data'][1]['data'][] = intval($result[$i-1]['total']); $data['data'][1]['data'][] = $total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))] ? intval($total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))]) : 0; } $data['data']['num'] = 1; $stationChoice = array(); $stationChoice[0] = 1; //to do... } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); foreach ($result as $key => $val) { $total[$val['station']][$val['date']] = $val['total']; //$data['data'][$val['station']]['data'][] = intval($val['total']); $data['data']['table'][$val['station']][] = array('date' => $val['date'], 'total' => $val['total']); } //x轴数据 $data['xv'] = array(); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = is_array($data['data']['table'][$val['id']]) ? $data['data']['table'][$val['id']] : array(); } //print_r($total[1][date("Y-m-d",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")))]); for ($i = 0; $i <= $Days; $i++) { $day = $i; $data['xv'][] = date("Y-m-d", strtotime("{$bdate} +{$day} day")); //$data['data'][1]['data'][] = intval($result[$i-1]['total']); foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['data'][] = $total[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$day} day"))] ? intval($total[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$day} day"))]) : 0; } } $data['data']['num'] = count($station['allrow']); } $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 $data['screening']['date'] = '<a class="btn" onclick="screeningSpan(\'close-date\');">单周/' . $bdate . ' ~ ' . $edate . ' <i class="icon-remove"></i><input type="hidden" name="dateSearch" value="oneweek" /><input type="hidden" name="oneweek" value="' . $date . '" /></a> '; break; case "manyweek": $bday = reqstr("bmanyweek"); $edate2 = date('Y-m-d', strtotime("{$bday} Sunday")); $bdate = date('Y-m-d', strtotime("{$edate2} -6 days")); $eday = reqstr("emanyweek"); $edate = date('Y-m-d', strtotime("{$eday} Sunday")); $bdate2 = date('Y-m-d', strtotime("{$edate} -6 days")); //计算周数差 $Weeks = round((strtotime($edate) - strtotime($bdate)) / 3600 / 24 / 7); $data = array(); if ($datastatus == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); $data['data'][1]['name'] = "所有站点"; $data['data'][1]['marker'] = "square"; foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 0; $i < $Weeks; $i++) { for ($j = 1; $j <= 7; $j++) { $day = $i * 7 + $j - 1; if ($j == 1) { $data['xv'][$i] = date("Y/m/d", strtotime("{$bdate} +{$day} day")); } if ($j == 7) { $data['xv'][$i] .= ' - ' . date("m/d", strtotime("{$bdate} +{$day} day")); } //$data['data'][1]['data'][] = intval($result[$i-1]['total']); $data['data'][1]['data'][$i] += $total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))] ? intval($total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))]) : 0; } } $data['data']['num'] = 1; $stationChoice = array(); $stationChoice[0] = 1; //to do... } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); foreach ($result as $key => $val) { $total[$val['station']][$val['date']] = $val['total']; //$data['data'][$val['station']]['data'][] = intval($val['total']); $data['data']['table'][$val['station']][] = array('date' => $val['date'], 'total' => $val['total']); } //x轴数据 $data['xv'] = array(); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = is_array($data['data']['table'][$val['id']]) ? $data['data']['table'][$val['id']] : array(); } //print_r($total[1][date("Y-m-d",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")))]); for ($i = 0; $i < $Weeks; $i++) { for ($j = 1; $j <= 7; $j++) { $day = $i * 7 + $j - 1; if ($j == 1) { $data['xv'][$i] = date("Y/m/d", strtotime("{$bdate} +{$day} day")); } if ($j == 7) { $data['xv'][$i] .= ' - ' . date("m/d", strtotime("{$bdate} +{$day} day")); } //to do ..... 2周还是读天数表 see you tomorrow //$data['data'][1]['data'][] = intval($result[$i-1]['total']); foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['data'][$i] += $total[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$day} day"))] ? intval($total[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$day} day"))]) : 0; } } } $data['data']['num'] = count($station['allrow']); } $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 $data['screening']['date'] = '<a class="btn" onclick="screeningSpan(\'close-date\');">多周/' . $bdate . ' ~ ' . $edate . ' <i class="icon-remove"></i><input type="hidden" name="dateSearch" value="manyweek" /><input type="hidden" name="manyweek" value="' . $date . '" /></a> '; break; case "onemonth": $date = reqstr("onemonth"); $bdate = date("Y-m-01", strtotime($date)); $edate = date("Y-m-d", strtotime("{$bdate} +1 month -1 day")); $data = array(); if ($datastatus == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); $data['data'][1]['name'] = "所有站点"; $data['data'][1]['marker'] = "square"; //遍历数据 foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 1; $i <= date("t", strtotime($date)); $i++) { $day = $i - 1; $data['xv'][] = date("d", strtotime("{$date} + {$day} day")); $data['data'][1]['data'][] = $total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))] ? intval($total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))]) : 0; } $data['data']['num'] = 1; $stationChoice = array(); $stationChoice[0] = 1; //to do... } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = array(); } //遍历数据 foreach ($result as $key => $val) { $total[$val['date']][$val['station']] = $val['total']; $data['data']['table'][$val['station']][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 1; $i <= date("t", strtotime($date)); $i++) { $day = $i - 1; $data['xv'][] = date("d", strtotime("{$date} + {$day} day")); //遍历数据 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['data'][] = $total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))][$val['id']] ? intval($total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))][$val['id']]) : 0; } } $data['data']['num'] = count($station['allrow']); } $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 $data['screening']['date'] = '<a class="btn" onclick="screeningSpan(\'close-date\');">单月/' . $bdate . ' <i class="icon-remove"></i><input type="hidden" name="dateSearch" value="onemonth" /><input type="hidden" name="onemonth" value="' . $date . '" /></a> '; break; case "manymonth": $bday = reqstr("bmanymonth"); $bdate = date("Y-m-01", strtotime($bday)); $eday = reqstr("emanymonth"); $edate = date("Y-m-d", strtotime("{$eday} +1 month -1 day")); //计算月数差 $Months = (date("Y", strtotime($eday)) - date("Y", strtotime($bday))) * 12 + (date("m", strtotime($eday)) - date("m", strtotime($bday))) + 1; for ($i = 0; $i < $Months; $i++) { $dateArr[$i] = date("Y-m", strtotime("{$bday} +{$i} month")); } $data = array(); if ($datastatus == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); $data['data'][1]['name'] = "所有站点"; $data['data'][1]['marker'] = "square"; foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; for ($i = 0; $i < count($dateArr); $i++) { if ($dateArr[$i] == date("Y-m", strtotime($val['date']))) { $data['data']['table'][1][$i]['date'] = $dateArr[$i]; $data['data']['table'][1][$i]['total'] += $val['total']; } } } $day = 0; for ($i = 0; $i < $Months; $i++) { $num = date("t", strtotime("{$bday} +{$i} month")); for ($j = 1; $j <= $num; $j++) { if ($j == 1) { $data['xv'][$i] = date("Y/m", strtotime("{$bday} +{$i} month")); } //echo $day."<br/>"; //$data['data'][1]['data'][] = intval($result[$i-1]['total']); $data['data'][1]['data'][$i] += $total[date("Y-m-d", strtotime("{$bday} +{$day} day"))] ? intval($total[date("Y-m-d", strtotime("{$bday} +{$day} day"))]) : 0; $day++; } } $data['data']['num'] = 1; $stationChoice = array(); $stationChoice[0] = 1; //to do... } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); foreach ($result as $key => $val) { $total[$val['station']][$val['date']] = $val['total']; //$data['data'][$val['station']]['data'][] = intval($val['total']); //$data['data']['table'][$val['station']][] = array('date'=>$val['date'],'total'=>$val['total']); for ($i = 0; $i < count($dateArr); $i++) { //创建初始array if ($data['data']['table'][$val['station']][$i]['date'] == '') { $data['data']['table'][$val['station']][$i]['date'] = $dateArr[$i]; $data['data']['table'][$val['station']][$i]['total'] = 0; } if ($dateArr[$i] == date("Y-m", strtotime($val['date']))) { $data['data']['table'][$val['station']][$i]['date'] = $dateArr[$i]; $data['data']['table'][$val['station']][$i]['total'] += $val['total']; } } } //x轴数据 $data['xv'] = array(); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = is_array($data['data']['table'][$val['id']]) ? $data['data']['table'][$val['id']] : array(); } $day = 0; //print_r($total[1][date("Y-m-d",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")))]); for ($i = 0; $i < $Months; $i++) { $num = date("t", strtotime("{$bday} +{$i} month")); for ($j = 1; $j <= $num; $j++) { if ($j == 1) { $data['xv'][$i] = date("Y/m", strtotime("{$bday} +{$i} month")); } //echo $day."<br/>"; //$data['data'][1]['data'][] = intval($result[$i-1]['total']); foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['data'][$i] += $total[$val['id']][date("Y-m-d", strtotime("{$bday} +{$day} day"))] ? intval($total[$val['id']][date("Y-m-d", strtotime("{$bday} +{$day} day"))]) : 0; } $day++; } } $data['data']['num'] = count($station['allrow']); } $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 $data['screening']['date'] = '<a class="btn" onclick="screeningSpan(\'close-date\');">多月/' . $bdate . "~" . $edate . ' <i class="icon-remove"></i><input type="hidden" name="dateSearch" value="manymonth" /><input type="hidden" name="manymonth" value="' . $date . '" /></a> '; break; } if (!$data['error']) { $data['screening']['station'] = $screening['station']; } else { $data['screening']['station'] = array(); } } //将所有default = 0 的 都要写一遍 to do ... if (!$stationChoice) { $stationChoice[0] = 1; } if (!$data['error']) { $data['data']['station'] = $stationChoice; } else { $data['data']['station'] = array(); } die(json_encode($data)); }
public function uploadfileAction() { $istmp = reqnum('istmp', 0); //require_once PUBLIC_PATH.'php'.DIRECTORY_SEPARATOR.'JSON.php'; require_once PUBLIC_PATH . 'psys/php/JSON.php'; //文件保存目录路径 $save_path = NEWS_PATH; //文件保存目录URL $save_url = '/'; //定义允许上传的文件扩展名 $ext_arr = array('image' => array('gif', 'jpg', 'jpeg', 'png', 'bmp'), 'flash' => array('swf', 'flv'), 'media' => array('swf', 'flv', 'mp3', 'wav', 'wma', 'wmv', 'mid', 'avi', 'mpg', 'asf', 'rm', 'rmvb'), 'file' => array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'htm', 'html', 'txt', 'zip', 'rar', 'gz', 'bz2')); //最大文件大小 $max_size = 1000000; //$save_path = realpath($save_path) . '/'; //PHP上传失败 if (!empty($_FILES['imgFile']['error'])) { switch ($_FILES['imgFile']['error']) { case '1': $error = '超过php.ini允许的大小。'; break; case '2': $error = '超过表单允许的大小。'; break; case '3': $error = '图片只有部分被上传。'; break; case '4': $error = '请选择图片。'; break; case '6': $error = '找不到临时目录。'; break; case '7': $error = '写文件到硬盘出错。'; break; case '8': $error = 'File upload stopped by extension。'; break; case '999': default: $error = '未知错误。'; } alert($error); } //有上传文件时 if (empty($_FILES) === false) { //原文件名 $file_name = $_FILES['imgFile']['name']; //服务器上临时文件名 $tmp_name = $_FILES['imgFile']['tmp_name']; //文件大小 $file_size = $_FILES['imgFile']['size']; //检查文件名 if (!$file_name) { $this->alert("请选择文件。"); } //检查目录 if (@is_dir($save_path) === false) { if (!mkdir($save_path)) { $this->alert("上传目录不存在。"); } } //检查目录写权限 if (@is_writable($save_path) === false) { $this->alert("上传目录没有写权限。"); } //检查是否已上传 if (@is_uploaded_file($tmp_name) === false) { $this->alert("上传失败。"); } //检查文件大小 if ($file_size > $max_size) { $this->alert("上传文件大小超过限制。"); } //检查目录名 $dir_name = empty($_GET['dir']) ? 'image' : trim($_GET['dir']); if (empty($ext_arr[$dir_name])) { $this->alert("目录名不正确。"); } //获得文件扩展名 $temp_arr = explode(".", $file_name); $file_ext = array_pop($temp_arr); $file_ext = trim($file_ext); $file_ext = strtolower($file_ext); //检查扩展名 if (in_array($file_ext, $ext_arr[$dir_name]) === false) { $this->alert("上传文件扩展名是不允许的扩展名。\n只允许" . implode(",", $ext_arr[$dir_name]) . "格式。"); } //创建文件夹 if ($dir_name !== '') { $save_path .= $dir_name . "/"; $save_url .= $dir_name . "/"; if (!file_exists($save_path)) { mkdir($save_path); } } $ymd = date("Ymd"); $save_path .= $ymd . "/"; $save_url .= $ymd . "/"; if (!file_exists($save_path)) { mkdir($save_path); } //新文件名 $new_file_name = date("YmdHis") . '_' . rand(10000, 99999) . '.' . $file_ext; //移动文件 $file_path = $save_path . $new_file_name; if (move_uploaded_file($tmp_name, $file_path) === false) { $this->alert("上传文件失败。"); } @chmod($file_path, 0644); $file_url = $save_url . $new_file_name; if ($istmp) { require_once COMMON_PATH . "XThumb.php"; $imgtmp = new XThumb(); $target = $save_path . 'tmp_' . $new_file_name; $imgtmp->imgZoom($file_path, '180', '120', $target); $file_url = $save_url . 'tmp_' . $new_file_name; } header('Content-type: text/html; charset=UTF-8'); $json = new Services_JSON(); echo $json->encode(array('error' => 0, 'url' => $file_url)); exit; } }
/** * 上传四张全屏广告图片 */ function uploadalbumAction() { $num = reqnum("num", 0); $files = array(); foreach ($_FILES['file'] as $k => $v) { foreach ($v as $key => $val) { $files[$key][$k] = $val; } } //图片长宽,大小限制 $file_maxsize = '128000'; //上传错误提示 $errorMsg = array('0' => '文件上传成功', '1' => '文件超出了服务器配置大小', '2' => '文件超出了表单配置大小', '3' => '仅部分文件上传', '4' => '没有找到上传文件,请选择文件', '5' => '上传文件大小为零', '6' => '未找到临时文件夹', '7' => '临时文件夹写入失败', '8' => '服务器文件上传扩展未开启', '9' => '上传图片规格不符合要求', '10' => '存放文件夹建立失败', '11' => '上传文件移动失败', '12' => '文件格式错误'); $dir = ALBUM_PATH; //返回数据 $arr = array(); //json数据返回 $returnJson = ''; //上传详情 $msg = ''; //成功与否标志 $flag = true; foreach ($files as $k => $file) { //文件后缀名 $fileType = strtoupper(substr(strrchr($file['name'], '.'), 1)); $img_info = getimagesize($file['tmp_name']); //上传文件名 $name = 'alb_' . uniqid() . '.' . $fileType; $arr['img_name'] = $name; $arr['img_x'] = $img_info[0]; $arr['img_y'] = $img_info[1]; if ($file['error'] == 0) { if (!is_dir($dir)) { if (!mkdir($dir, 0777, true)) { $flag = false; $msg = $msg ? $msg . ',' . $file['name'] . $errorMsg[10] : $file['name'] . $errorMsg[10]; } } else { if ($fileType != 'JPEG' && $fileType != 'TIFF' && $fileType != 'BMP' && $fileType != 'GIF' && $fileType != 'PNG' && $fileType != 'JPG') { $flag = false; $msg = $msg ? $msg . ',' . $file['name'] . $errorMsg[11] : $file['name'] . $errorMsg[11]; } else { if ($arr['img_x'] >= '1024' || $arr['img_y'] >= '680') { $flag = false; $msg = $msg ? $msg . ',' . $file['name'] . $errorMsg[9] : $file['name'] . $errorMsg[9]; } else { $savePath = $dir . $name; if (!move_uploaded_file($file['tmp_name'], $savePath)) { $flag = false; $msg = $msg ? $msg . ',' . $file['name'] . $errorMsg[11] : $file['name'] . $errorMsg[11]; } } } } } else { $flag = false; $msg = $msg ? $msg . ',' . $file['name'] . $errorMsg[$file['error']] : $file['name'] . $errorMsg[$file['error']]; $arr['result'] = 'error'; $arr['msg'] = $errorMsg[$file['error']]; } } if ($flag) { $arr['result'] = 'success'; $arr['msg'] = $errorMsg[$file['error']]; $arr['num'] = $num; } else { $arr['result'] = 'error'; $arr['msg'] = $msg; $arr['num'] = $num; } //json返回 $returnJson = json_encode($arr); echo "<script type='text/javascript'>window.parent.callbackFunction('" . $returnJson . "');</script>"; }
public function stationeditAction() { $model = new Psys_TripModel(); $model->SetDb("db-rht_train"); $ispost = reqnum('ispost', 0); if ($ispost) { $id = reqnum('id', 0); $sno = reqstr('sno'); $fz = reqstr('fz'); $dz = reqstr('dz'); $stime = reqstr('stime'); $dtime = reqstr('dtime'); $dzxh = reqstr('dzxh'); $isdz = reqstr('isdz'); $flag = reqstr('flag'); $appkey = reqstr('appkey'); $data = array('sno' => $sno, 'fz' => $fz, 'dz' => $dz, 'stime' => $stime, 'dtime' => $dtime, 'dzxh' => $dzxh, 'isdz' => $isdz, 'flag' => $flag, 'appkey' => $appkey); if ($id > 0) { $where = array('id' => $id); $re = $model->UpdateOne($data, $where, "rht_station"); $msg = '修改'; } else { $re = $model->AddOne($data, "rht_station"); $msg = '添加'; } if ($re) { echo '<script>alert("' . $msg . '成功,反回列表!");window.location.href="/trip/stlist?trainno=' . $sno . '"</script>'; exit; } } $id = reqnum('id', 0); $station = array(); if ($id > 0) { $where = array('id' => $id); $station = $model->GetOne($where, "*", "rht_station"); $this->smarty->assign('action', 'edit'); } else { $this->smarty->assign('action', 'add'); } $this->smarty->assign('station', $station); $this->forward = "add"; }
public function expAction() { $orderid = reqstr('orderid', ''); $username = reqstr('username', ''); $id = reqstr('id', ''); $where = '1=1 and flag=1'; if (!empty($orderid)) { $where .= " and orderid='" . $orderid . "'"; } if (!empty($username)) { $where .= ' and username='******','); $where .= " and id in (" . $id . ")"; } $page = reqnum("page", 1); $pagesize = reqnum("pagesize", 1000); $m = new Psys_UserModel(); $list = $m->GetList($where, '', $page, $pagesize, "id,username,mark,goodsid,num,ctime", 'rhi_mallorder'); global $G_X; $filestr = 'charge' . date('YmdHis') . uniqid() . '.csv'; $filename = PUBLIC_PATH . $G_X['prjstr'] . DIRECTORY_SEPARATOR . $filestr; //设置文件名 if (!file_exists($filename)) { touch($filename); chmod($filename, 0777); } $fp = fopen($filename, 'w'); $title = array("序号", "电话号码", '发放号码', '商品id', '数目', '兑换时间'); foreach ($title as &$value) { $value = iconv('utf-8', 'gb2312', $value); } fputcsv($fp, $title); if ($list['allrow']) { foreach ($list['allrow'] as &$row) { $row['ctime'] = date('Y-m-d H:i:s', $row['ctime']); if (fputcsv($fp, $row)) { $m->UpdateOne(array('ifuse' => 1), array('id' => $row['id']), 'rhi_mallorder'); } } } fclose($fp); // header('Content-Type: application/octet-stream'); // header('Content-Disposition: attachment; filename=' . $filestr); // header('Content-Transfer-Encoding: binary'); // header('Content-Length: ' . filesize($fileName)); // readfile($filename); return array('status' => 1, 'filename' => $filestr); }
/** * * @do 导出人寿用户数据 * * @pingan public * @author jerry * @copyright rockhippo * @param - * @return - * */ public function ajaxRensUserExportAction() { $start = reqstr("start", ""); $end = reqstr("end", ""); $page = reqnum('page', 1); $pagesize = 20; $order = ""; $where = $stationArr = array(); if ($start) { $where["create_time_>="] = strtotime($start); } if ($end) { $where["create_time_<"] = strtotime($end) + 24 * 3600; } $where['type'] = 206; $where['pid'] = 0; $PSys_PinganModel = new PSys_PinganModel(); $PSys_PinganRule = new PSys_PinganRule(); $stationlist = $PSys_PinganModel->GetList(array(), $order, 0, 0, "id,stationname,appkey", "rha_station"); foreach ($stationlist['allrow'] as $k => $v) { $temp_key = $v['appkey']; $stationArr[$temp_key]['name'] = $v['stationname']; } $sex = $bx_type = array(); $sex[1] = '男'; $sex[2] = '女'; $result = $PSys_PinganModel->GetList($where, 'create_time DESC', 0, 0, "*"); foreach ($result['allrow'] as $k => $v) { $temp_key = $v['appkey']; $result['allrow'][$k]['station'] = $stationArr[$temp_key]['name']; $result['allrow'][$k]['create_time'] = date('Y-m-d H:i:s', $v['create_time']); $temp_sex = $v['sex']; $result['allrow'][$k]['sex'] = $sex[$temp_sex]; } //清空输出缓存 ob_clean(); $objPHPExcel = new PHPExcel(); $objPHPExcel->getProperties()->setCreator("rockhippo")->setLastModifiedBy("jerry")->setTitle("人寿保单用户数据")->setSubject("人寿数据")->setDescription("")->setKeywords("excel")->setCategory("result file"); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', '日 期')->setCellValue('B1', '注册地点')->setCellValue('C1', '手机号')->setCellValue('D1', '姓名')->setCellValue('E1', '性别')->setCellValue('F1', '省份')->setCellValue('G1', '城市')->setCellValue('H1', '年龄'); foreach ($result['allrow'] as $k => $v) { $num = $k + 2; $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A' . $num, $v['create_time'])->setCellValue('B' . $num, $v['station'])->setCellValue('C' . $num, $v['mobile'])->setCellValue('D' . $num, $v['name'])->setCellValue('E' . $num, $v['sex'])->setCellValue('F' . $num, $v['sheng'])->setCellValue('G' . $num, $v['shi'])->setCellValue('H' . $num, $v['age']); } $objPHPExcel->getActiveSheet()->setTitle('User'); $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="人寿保单用户数据.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit; }
/** * 会员解锁 */ public function keylockAction() { $id = reqnum('id', 0); if (!$id) { return; } $nt = new Psys_MemberUserModel(); $res = $nt->UpdateOne(array('flag' => 1), array('id' => $id)); header('location:/member/block'); }
/** * 根据类型获取对应的车站或者汽车 */ public function getstationtypeAction() { //1火车站,1汽车站,3汽车上 $bus = reqnum('stationtype', 1); //默认火车站 $obj = new PSys_BusModel(); $tb = 'rha_station'; $obj->SetDb('rha_admin'); $getfiled = 'id,stationname'; switch ($bus) { case '1': $where = array('stationtype' => 1); break; case '2': $where = array('stationtype' => 2); break; case '3': $tb = 'rb_car'; $obj->SetDb('bus_db'); $getfiled = 'id,number'; break; } $buses = $obj->GetList($where, '', 0, 0, $getfiled, $tb); if ($bus != 3) { foreach ($buses['allrow'] as &$v) { $v['number'] = $v['stationname']; } } $this->smarty->assign("buses", $buses['allrow']); $this->forward = 'buses'; }
/** * 广告展示详情 */ public function showadpvinfoAction() { $data = reqstr('data'); // if (!$data) { // return; // } $page = reqnum('page', 1); $pagesize = 10; $data = urldecode($data); $info = array(); parse_str($data, $info); $date = (int) $info['date'] ? (int) $info['date'] : 7; //默认是查出7天的数据 $sdate = trim($info['sdate']) ? trim($info['sdate']) : ''; $edate = trim($info['edate']) ? trim($info['edate']) : ''; $station = (int) $info['station'] ? (int) $info['station'] : 0; // 0 表示查询出所有车站 $adtype = trim($info['adtype']) ? trim($info['adtype']) : 'ad'; //默认是广告1 if (!$sdate || !$edate) { $edate = date('Y-m-d'); $sdate = date('Y-m-d', strtotime("-{$date} day")); } //如果时间区间大于30天则按照30天计算 $date_area = abs(strtotime($edate) - strtotime($sdate)) / 86400; if ($date_area > 30) { $sdate = date('Y-m-d', strtotime("-30 day")); } $sdate = str_replace('-', '_', $sdate); $edate = str_replace('-', '_', $edate); $nt = new Psys_StationModel(); $data = $nt->ShowAdPvInfo($sdate, $edate, $station, $adtype, $page, $pagesize); $graphdata = $nt->ShowAdPvInfo($sdate, $edate, $station, $adtype, $page, $pagesize, 1); $paging = $this->paging($data['allnum'], $page, $pagesize, count($data['allrow'])); /*------------------------------数据格式---------------------------------------------*/ foreach ($data['allrow'] as $k => &$v) { $v['adname'] = $nt->GetAdName($v['detail'])['adname']; } $nts = new Psys_ResourceModel(); foreach ($graphdata['allrow'] as $v1) { $adinfo = $nt->GetAdName($v1['detail']); $x_date = $x_cat[] = date('m/d', strtotime(str_replace('_', '-', $v1['date']))); $eventrecordinfo = $nts->EventRecordInfo($v1['date'], 5, $station); //返回特殊点的提示信息 if (!empty($eventrecordinfo)) { $title = $eventrecordinfo['title']; $descript = $eventrecordinfo['descript']; } else { $title = ''; $descript = ''; } $datas[$adinfo['id']]['infos']['date' . $x_date]['title'] = $title; $datas[$adinfo['id']]['infos']['date' . $x_date]['descript'] = $descript; if (empty($eventrecordinfo)) { $datas[$adinfo['id']]['data'][] = (int) $v1['num']; } else { $datas[$adinfo['id']]['data'][] = array('y' => (int) $v1['num'], 'marker' => array('fillColor' => '#FF0000', 'lineColor' => '#FF0000', 'states' => array('hover' => array('fillColor' => '#FF0000', 'lineColor' => '#FF0000')))); //设置当前点鼠标经过的颜色 } $datas[$adinfo['id']]['name'] = $adinfo['adname']; } /*------------------------------chart数据格式需要索引从0开始---------------------------------------------*/ $j = 0; foreach (array_unique($x_cat) as $v_x) { $result['x_cat'][$j] = $v_x; $j++; } $i = 0; foreach ($datas as $val) { $datass[$i] = $val; if ($i > 0) { $datass[$i]['visible'] = false; } $i++; } $result['y_cat'] = $datass; $stations = $nt->station(); if ($station) { $stationname = $this->getstationname($stations, $station); } else { $stationname = '所有车站'; } return array('table' => $data['allrow'], 'graph' => $result, 'paging' => $paging, 'station' => $stationname); }
/** * * @do 删除菜单 * * @access public * @author Nick * @copyright rockhippo * @param - * @return - * */ public function deleteAction() { $id = reqnum("id", 0); if ($id == 0) { $this->jump('The user id is error.', 'errors', '/user/index'); exit; } if ($id == 1) { $this->jump('Admin can not be delete.', 'errors', '/user/index'); exit; } //删除 $PSys_UserModel = new PSys_UserModel(); $return = $PSys_UserModel->DeleteUser($id); if ($return) { $this->operateLogs(1); $this->jump('Delete success.', 'success', '/user/index'); } else { $this->operateLogs(0); $this->jump('Delete failed.', 'errors', '/user/index'); } exit; }
/** * 添加 */ public function addAction() { $traintype = array('K' => '快速', 'Z' => '直达特快', '' => '其他', 'T' => '空调特快', 'D' => '动车组', 'G' => '高速动车'); $id = reqnum('id', 0); $ispost = reqnum('ispost', 0); $trainModel = new Psys_TrainModel(); $one = array(); if ($ispost == 1) { $rtn = array('result' => 'ERROR'); $one['trainno'] = reqstr('checi', ''); if ($one['trainno'] == '') { MsgInfoConst::GetMsg(2001, $rtn); return $rtn; } else { $one['trainno'] = str_ireplace("/", ",", trim($one['trainno'], ',')); $one['trainno'] = ',' . $one['trainno'] . ','; } $one['traintype'] = reqstr('leixin', ''); $one['bstation'] = reqstr('b_station', ''); $one['btime'] = str_ireplace(':', ':', reqstr('btime_station', '')); $one['estation'] = reqstr('e_station', ''); $one['etime'] = str_ireplace(':', ':', reqstr('etime_station', '')); $one['runtime'] = str_ireplace(':', ':', reqstr('runtime', '')); $one['price'] = reqstr('price', ''); $one['mileage'] = reqstr('mileage', ''); if ($id > 0) { $w = array('id' => $id); $res = $trainModel->UpdateOne($one, $w); $m = new Psys_ResModel(); $m->Record($one, $res, 'db-rht_sync', 'trainno', 'rhs_downsync'); } else { $res = $trainModel->AddOne($one); $m = new Psys_ResModel(); $m->Record($one, $res, 'db-rht_sync', 'trainno', 'rhs_downsync'); } $rtn['result'] = 'SUCCESS'; MsgInfoConst::GetMsg(2002, $rtn); return $rtn; } else { $one['trainno'] = ''; $one['traintype'] = ''; $one['bstation'] = ''; $one['btime'] = ''; $one['estation'] = ''; $one['etime'] = ''; $one['runtime'] = ''; $one['price'] = ''; $one['mileage'] = ''; } if ($id > 0) { $one = $trainModel->GetOne(array('id' => $id)); if (!$one) { $id = 0; } else { $one['trainno'] = str_ireplace(",", "/", trim($one['trainno'], ',')); } } $this->smarty->assign('one', $one); $this->smarty->assign('id', $id); $this->smarty->assign('traintype', $traintype); $this->forward = "add"; }
/** * 天天向前冲 */ public function forwardAction() { $productid = 10006; $page = reqnum("page", 1); $pagesize = reqnum("pagesize", 10); $this->displayThree($productid, $page, $pagesize); }
/** * 同步删除 * Enter description here ... */ public function syncdelAction() { $ispost = reqnum('ispost', 0); if ($ispost) { $id = reqnum('id', 0); $m = new Psys_ResModel(); $return = $m->syncDb($id, true); return $return; } }
/** * ajax提交 */ public function loginAction() { $ispost = reqnum('ispost', 0); if ($ispost == 1) { $curcode = reqnum('code'); $beforcode = XSession::Get("AdminLoginVcode"); if ($curcode != $beforcode) { MsgInfoConst::GetMsg(1006, $result); return $result; } $registerName = reqstr('username', ''); $password = reqstr('passwd', ''); $result = array('result' => 'ERROR'); if ($registerName == '' || $password == '') { MsgInfoConst::GetMsg(1000, $result); return $result; } $memModel = new Psys_AdminUserModel(); $userone = $memModel->Login($registerName, $password, $result); return $result; } $this->forward = "login"; }
public function ajaxAddAction() { $m = new PSys_MenuModel(); if ($_POST['ispost']) { $data = array(); $data['action'] = reqstr('action'); $data['name'] = reqstr('name'); $data['class'] = reqstr('class'); $data['pid'] = reqnum('pid', 0); if ($data['action'] and $data['name']) { $ps = $m->AddOne($data); if ($ps) { $m->getMenuTree(0, true); header('location:/menu/index'); exit; } } } $all = $m->getMenuTree(); $this->smarty->assign("all", $all); $this->smarty->assign("action", '/menu/ajaxAdd'); $this->forward = "ajaxEdit"; }
public function updateadsAction() { $adsid = reqnum('adsid', 0); $adsType = reqnum('adsType', 0); $cityid = $_POST['cityid']; $ispost = reqnum('ispost', 0); if ($ispost == 0) { $this->forward = "adsallot"; return; } $m = new Psys_AdsRule(); if ($adsType == '5') { //删除所有车站这个广告 $where = array(); $stationads = $m->getonecity('adsone'); foreach ($stationads as $key => $val) { $stationOne = $val['adsone']; $naArr = explode(',', $stationOne); for ($i = 0; $i < count($naArr); $i++) { if ($naArr[$i] == $adsid) { unset($naArr[$i]); } } $naArr = implode(',', $naArr); $data = array('adsone' => $naArr); $whereCid = array('id' => $val['id']); $m->UpdateCityOne($data, $whereCid); } //添加所选车站所选广告 foreach ($cityid as $key => $val) { $adone = ''; $where = array('id' => $val); $city = $m->getonecity($where, '*'); $cityone = $city[0]['adsone']; $nameArr = explode(',', $cityone); for ($i = 0; $i < count($nameArr); $i++) { if ($nameArr[$i] == $adsid) { $adone = 'have'; } } if ($adone == '') { array_push($nameArr, $adsid); if ($nameArr[0] == '') { unset($nameArr[0]); } $cityone = implode(',', $nameArr); $data = array('adsone' => $cityone); $m->UpdateCityOne($data, $where); } } } if ($adsType == '6') { //删除所有车站这个广告 $where = array(); $stationads = $m->getonecity('adstwo'); foreach ($stationads as $key => $val) { $stationTwo = $val['adstwo']; $naArr = explode(',', $stationTwo); for ($i = 0; $i < count($naArr); $i++) { if ($naArr[$i] == $adsid) { unset($naArr[$i]); } } $naArr = implode(',', $naArr); $data = array('adsTwo' => $naArr); $whereCid = array('id' => $val['id']); $m->UpdateCityOne($data, $whereCid); } //添加所选车站所选广告 foreach ($cityid as $key => $val) { $adtwo = ''; $where = array('id' => $val); $city = $m->getonecity($where, '*'); $citytwo = $city[0]['adstwo']; $nameArr = explode(',', $citytwo); for ($i = 0; $i < count($nameArr); $i++) { if ($nameArr[$i] == $adsid) { $adtwo = 'have'; } } if ($adtwo == '') { array_push($nameArr, $adsid); if ($nameArr[0] == '') { unset($nameArr[0]); } $cityone = implode(',', $nameArr); $data = array('adstwo' => $cityone); $m->UpdateCityOne($data, $where); } } } echo "<script>window.location.href='/fullads/index';alert('修改成功');</script>"; }
public function toggleadsAction() { $ispost = reqnum('ispost', 0); if ($ispost == 1) { $id = reqnum('id', 0); $flag = reqnum('flag'); $result = array('result' => 'ERROR'); if (!$id) { return $result; } $flag = empty($flag) ? 1 : 0; $rule = new Psys_AdsRule(); $ret = $rule->updateStationAds(array('flag' => $flag), array('id' => $id)); if ($ret) { $result['result'] = 'SUCCESS'; } return $result; } }
/** * 所选时间段范围内的每7天WiFi连接数与注册数 */ public function wifidataweekAction() { $data = reqstr('data'); if (!$data) { return; } $data = urldecode($data); $info = array(); parse_str($data, $info); $date = (int) $info['date'] ? (int) $info['date'] : 7; //默认是查出7天的数据 $sdate = trim($info['sdate']) ? trim($info['sdate']) : ''; $edate = trim($info['edate']) ? trim($info['edate']) : ''; //默认是青岛南 $station = empty($info['station']) ? 1 : implode(',', $info['station']); if (!$sdate || !$edate) { $edate = date('Y-m-d'); $sdate = date('Y-m-d', strtotime("-{$date} day")); } if ($sdate < '2015-02-01') { $sdate = '2015-02-01'; } $isbaifenbi = reqnum('baifenbi', 0); $dates = $this->cutdate($sdate, $edate); $nt = new Psys_StationModel(); foreach ($dates as $v_date) { $res[] = $nt->wifidataweek($station, $v_date['sdate'], $v_date['edate']); } $datas[0]['name'] = 'wifi连接数'; $datas[1]['name'] = '注册数'; foreach ($res as $v) { $result['x_cat'][] = $v['datearea']; $datas[0]['data'][] = (int) $v['wifi']; $datas[1]['data'][] = (int) $v['reg']; if ($isbaifenbi) { $baifenbis[0]['name'] = '周注册连接百分比'; $b = $v['reg'] / $v['wifi'] * 100; $baifenbis[0]['data'][] = (double) round($b, 2); } } $result['y_data'] = $datas; if ($isbaifenbi) { $result['baifenbi'] = $baifenbis; } return $result; }
/** * * @do 导出excel * * @comprehensive public * @author Nick * @copyright rockhippo * @param - * @return - * */ public function ajaxOutputExcelAction() { $wordArr = array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"); $PSys_ComprehensiveModel = new PSys_ComprehensiveModel(); //站点数据 $where = array(); $order = "id ASC"; $field = "id,stationname"; $PSys_ComprehensiveModel = new PSys_ComprehensiveModel(); $station = $PSys_ComprehensiveModel->GetList($where, $order, 0, 0, $field, "rha_station"); $fastSearch = reqnum("fastSearch", 0); //快速查询 $dataStatusFS = reqnum("datastatusFS", 1); //快速查询合并、比较筛选按钮 1为合并 2为比较 默认合并 $data['xv'] = array("访问WIFI", "广告1", "注册页", "注册(登陆)", "广告2", "访问首页", "下载火伴"); switch ($fastSearch) { case 1: //昨日 $date = date("Y-m-d", strtotime("-1 day")); $group = ""; $dbname = "rha_wifi_daily"; $step = 1; $_step[1] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step); $date = date("Y_m_d", strtotime("-1 day")); $group = ""; $dbname = "rha_count_record"; $step = 2; $_step[2] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step); $group = ""; $dbname = "rha_count_record"; $step = 3; $_step[3] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step); $group = ""; $dbname = "rha_count_record"; $step = 4; $_step[4] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step); $group = ""; $dbname = "rha_count_record"; $step = 5; $_step[5] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step); $group = ""; $dbname = "rha_count_record"; $step = 6; $_step[6] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step); $group = ""; $dbname = "rha_count_record"; $step = 7; $_step[7] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '综合统计-流程综合统计'; $Subject = '昨日-合并'; $Description = '综合统计-流程综合统计(昨日-合并)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "流程"); $XPhpExcel->setValue("B1", "人数"); $XPhpExcel->setWidth("A", 20, 2); $XPhpExcel->setWidth("B", 20, 2); foreach ($data['xv'] as $key => $val) { if ($_step[$key][0]['total'] != '') { $m = "(" . round($_step[$key + 1][0]['total'] / $_step[$key][0]['total'] * 100, 2) . "%)"; } $XPhpExcel->setValue("A" . ($key + 2), $val); $XPhpExcel->setValue("B" . ($key + 2), strval($_step[$key + 1][0]['total'] . $m . " ")); } //清空输出缓存 ob_clean(); $XPhpExcel->output(str_replace("_", "-", $date) . "/" . $Description); unset($XPhpExcel); //销毁 break; case 2: //本周 $date = date("Y-m-d"); $bdate = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + 1, date("Y"))); $edate = date("Y-m-d", mktime(23, 59, 59, date("m"), date("d") - date("w") + 7, date("Y"))); if (date("N", strtotime($date)) == 1) { $data['error'] = 'WEEKNODATA'; break; } $group = ""; $dbname = "rha_wifi_daily"; $step = 1; $_step[1] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step); $bdate = date("Y_m_d", mktime(0, 0, 0, date("m"), date("d") - date("w") + 1, date("Y"))); $edate = date("Y_m_d", mktime(23, 59, 59, date("m"), date("d") - date("w") + 7, date("Y"))); $group = ""; $dbname = "rha_count_record"; $step = 2; $_step[2] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step); $group = ""; $dbname = "rha_count_record"; $step = 3; $_step[3] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step); $group = ""; $dbname = "rha_count_record"; $step = 4; $_step[4] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step); $group = ""; $dbname = "rha_count_record"; $step = 5; $_step[5] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step); $group = ""; $dbname = "rha_count_record"; $step = 6; $_step[6] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step); $group = ""; $dbname = "rha_count_record"; $step = 7; $_step[7] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '综合统计-流程综合统计'; $Subject = '本周-合并'; $Description = '综合统计-流程综合统计(本周-合并)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "流程"); $XPhpExcel->setValue("B1", "人数"); $XPhpExcel->setWidth("A", 20, 2); $XPhpExcel->setWidth("B", 20, 2); foreach ($data['xv'] as $key => $val) { if ($_step[$key][0]['total'] != '') { $m = "(" . round($_step[$key + 1][0]['total'] / $_step[$key][0]['total'] * 100, 2) . "%)"; } $XPhpExcel->setValue("A" . ($key + 2), $val); $XPhpExcel->setValue("B" . ($key + 2), strval($_step[$key + 1][0]['total'] . $m . " ")); } //清空输出缓存 ob_clean(); $XPhpExcel->output(str_replace("_", "/", $bdate) . "~" . str_replace("_", "/", $edate) . "/" . $Description); unset($XPhpExcel); //销毁 break; case 3: //本月 $bdate = date("Y-m-d", mktime(0, 0, 0, date("m"), 1, date("Y"))); $edate = date("Y-m-d", mktime(23, 59, 59, date("m"), date("t"), date("Y"))); $date = date("Y-m"); $group = ""; $dbname = "rha_wifi_daily"; $step = 1; $_step[1] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step); $bdate = date("Y_m_d", mktime(0, 0, 0, date("m"), 1, date("Y"))); $edate = date("Y_m_d", mktime(23, 59, 59, date("m"), date("t"), date("Y"))); $group = ""; $dbname = "rha_count_record"; $step = 2; $_step[2] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step); $group = ""; $dbname = "rha_count_record"; $step = 3; $_step[3] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step); $group = ""; $dbname = "rha_count_record"; $step = 4; $_step[4] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step); $group = ""; $dbname = "rha_count_record"; $step = 5; $_step[5] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step); $group = ""; $dbname = "rha_count_record"; $step = 6; $_step[6] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step); $group = ""; $dbname = "rha_count_record"; $step = 7; $_step[7] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '综合统计-流程综合统计'; $Subject = '本月-合并'; $Description = '综合统计-流程综合统计(本月-合并)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "流程"); $XPhpExcel->setValue("B1", "人数"); $XPhpExcel->setWidth("A", 20, 2); $XPhpExcel->setWidth("B", 20, 2); foreach ($data['xv'] as $key => $val) { if ($_step[$key][0]['total'] != '') { $m = "(" . round($_step[$key + 1][0]['total'] / $_step[$key][0]['total'] * 100, 2) . "%)"; } $XPhpExcel->setValue("A" . ($key + 2), $val); $XPhpExcel->setValue("B" . ($key + 2), strval($_step[$key + 1][0]['total'] . $m . " ")); } //清空输出缓存 ob_clean(); $XPhpExcel->output($date . "/" . $Description); unset($XPhpExcel); //销毁 break; default: $dateSearch = reqstr("dateSearch", ""); $datastatus = reqnum("datastatus", 1); $stationC = reqstr("stationC"); $stationC = explode(",", $stationC); $stationChoice = array(); if ($stationC == array()) { //若为空则为不排除站点 foreach ($station['allrow'] as $key => $val) { $stationChoice[] = $val['id']; //选中的站点 } } else { foreach ($station['allrow'] as $key => $val) { if (in_array($val['id'], $stationC)) { $stationChoice[] = $val['id']; //选中的站点 } } } switch ($dateSearch) { case "oneday": $date = reqstr("oneday"); $group = ""; $dbname = "rha_wifi_daily"; $step = 1; $_step[1] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step, $stationChoice); $date = date("Y_m_d", strtotime($date)); $group = ""; $dbname = "rha_count_record"; $step = 2; $_step[2] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step, $stationChoice); $group = ""; $dbname = "rha_count_record"; $step = 3; $_step[3] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step, $stationChoice); $group = ""; $dbname = "rha_count_record"; $step = 4; $_step[4] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step, $stationChoice); $group = ""; $dbname = "rha_count_record"; $step = 5; $_step[5] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step, $stationChoice); $group = ""; $dbname = "rha_count_record"; $step = 6; $_step[6] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step, $stationChoice); $group = ""; $dbname = "rha_count_record"; $step = 7; $_step[7] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step, $stationChoice); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '综合统计-流程综合统计'; $Subject = '单日-合并'; $Description = '综合统计-流程综合统计(单日-合并)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "流程"); $XPhpExcel->setValue("B1", "人数"); $XPhpExcel->setWidth("A", 20, 2); $XPhpExcel->setWidth("B", 20, 2); foreach ($data['xv'] as $key => $val) { if ($_step[$key][0]['total'] != '') { $m = "(" . round($_step[$key + 1][0]['total'] / $_step[$key][0]['total'] * 100, 2) . "%)"; } $XPhpExcel->setValue("A" . ($key + 2), $val); $XPhpExcel->setValue("B" . ($key + 2), strval($_step[$key + 1][0]['total'] . $m . " ")); } //清空输出缓存 ob_clean(); $XPhpExcel->output(str_replace("_", "-", $date) . "/" . $Description); unset($XPhpExcel); //销毁 break; case "manyday": $bdate = reqstr("bmanyday"); $edate = reqstr("emanyday"); //计算天数差 $Days = round((strtotime($edate) - strtotime($bdate)) / 3600 / 24); $group = ""; $dbname = "rha_wifi_daily"; $step = 1; $_step[1] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step, $stationChoice); $bdate = str_replace("-", "_", $bdate); $edate = str_replace("-", "_", $edate); $group = ""; $dbname = "rha_count_record"; $step = 2; $_step[2] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step, $stationChoice); $group = ""; $dbname = "rha_count_record"; $step = 3; $_step[3] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step, $stationChoice); $group = ""; $dbname = "rha_count_record"; $step = 4; $_step[4] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step, $stationChoice); $group = ""; $dbname = "rha_count_record"; $step = 5; $_step[5] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step, $stationChoice); $group = ""; $dbname = "rha_count_record"; $step = 6; $_step[6] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step, $stationChoice); $group = ""; $dbname = "rha_count_record"; $step = 7; $_step[7] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step, $stationChoice); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '综合统计-流程综合统计'; $Subject = '多日-合并'; $Description = '综合统计-流程综合统计(多日-合并)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "流程"); $XPhpExcel->setValue("B1", "人数"); $XPhpExcel->setWidth("A", 20, 2); $XPhpExcel->setWidth("B", 20, 2); foreach ($data['xv'] as $key => $val) { if ($_step[$key][0]['total'] != '') { $m = "(" . round($_step[$key + 1][0]['total'] / $_step[$key][0]['total'] * 100, 2) . "%)"; } $XPhpExcel->setValue("A" . ($key + 2), $val); $XPhpExcel->setValue("B" . ($key + 2), strval($_step[$key + 1][0]['total'] . $m . " ")); } //清空输出缓存 ob_clean(); $XPhpExcel->output(str_replace("_", "/", $bdate) . "~" . str_replace("_", "/", $edate) . "/" . $Description); unset($XPhpExcel); //销毁 break; } } }
public function logAction() { $page = reqnum("page", 1); $pagesize = reqnum("pagesize", 10); $obj = new Psys_IpcModel(); $data = $obj->GetList('', 'id DESC', $page, $pagesize, "*", 'rha_ipclog'); self::inidate($data['allnum'], $page, $pagesize, count($data['allrow'])); $this->smarty->assign('list', $data['allrow']); $this->forward = "log"; }
public function checkboxAction() { //return 123; $year = reqnum('year', ''); $month = reqnum('month', ''); $day = reqnum('day', ''); $model = new Psys_FinModel(); $dateArray = $model->dateRange($year, $month, $day); //var_dump($dateArray);exit; return $dateArray; }
/** * * @do 导出excel * * @access public * @author Nick * @copyright rockhippo * @param - * @return - * */ public function ajaxOutputExcelAction() { $wordArr = array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"); $PSys_AccessModel = new PSys_AccessModel(); //站点数据 $where = array(); $order = "id ASC"; $field = "id,stationname"; $PSys_AccessModel = new PSys_AccessModel(); $station = $PSys_AccessModel->GetList($where, $order, 0, 0, $field, "rha_station"); $fastSearch = reqnum("fastSearch", 0); //快速查询 $dataStatusFS = reqnum("datastatusFS", 1); //快速查询合并、比较筛选按钮 1为合并 2为比较 默认合并 $xv = array('00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'); switch ($fastSearch) { case 1: //当天 $date = date("Y-m-d"); $data = array(); if ($dataStatusFS == 1) { $group = "`hour`"; $dbname = "rha_aclog_hour"; $result = $PSys_AccessModel->getDay($date, $group, $dbname); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '本日-合并'; $Description = '访问统计-访问人数(本日-合并)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "小时"); $XPhpExcel->setValue("B1", "人数"); $XPhpExcel->setWidth("B", 20, 2); foreach ($result as $key => $val) { $XPhpExcel->setValue("A" . ($key + 2), $val["date"]); $XPhpExcel->setValue("B" . ($key + 2), $val["total"]); } //清空输出缓存 ob_clean(); $XPhpExcel->output($date . "/" . $Description); unset($XPhpExcel); //销毁 } else { $group = "`hour`,`stationid`"; $dbname = "rha_aclog_hour"; $result = $PSys_AccessModel->getDay($date, $group, $dbname); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '本日-比较'; $Description = '访问统计-访问人数(本日-比较)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "小时"); for ($i = 0; $i < count($xv); $i++) { $XPhpExcel->setValue("A" . ($i + 2), $i); } $data = array(); //遍历数据获取所需结构 foreach ($result as $key => $val) { $data[$val['stationid']][$val['date']] = $val['total']; } foreach ($station['allrow'] as $key => $val) { $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数"); $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2); for ($i = 0; $i < count($xv); $i++) { //echo $wordArr[$val['id']].($i+2) . "~" . $data[$val['id']][$xv[$i]] . "<br>"; $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $data[$val['id']][$xv[$i]]); } } //清空输出缓存 ob_clean(); $XPhpExcel->output($date . "/" . $Description); unset($XPhpExcel); //销毁 } break; case 2: //本周 $date = date("Y-m-d"); $bdate = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + 1, date("Y"))); $edate = date("Y-m-d", mktime(23, 59, 59, date("m"), date("d") - date("w") + 7, date("Y"))); $data = array(); if ($dataStatusFS == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '本周-合并'; $Description = '访问统计-访问人数(本周-合并)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "日期"); $XPhpExcel->setValue("B1", "人数"); $XPhpExcel->setWidth("A", 14, 2); $XPhpExcel->setWidth("B", 20, 2); foreach ($result as $key => $val) { $XPhpExcel->setValue("A" . ($key + 2), $val["date"]); $XPhpExcel->setValue("B" . ($key + 2), $val["total"]); } //清空输出缓存 ob_clean(); $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description); unset($XPhpExcel); //销毁 } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '本周-比较'; $Description = '访问统计-访问人数(本周-比较)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "日期"); $XPhpExcel->setWidth("A", 14, 2); for ($i = 0; $i < 7; $i++) { $XPhpExcel->setValue("A" . ($i + 2), date("Y-m-d", strtotime("{$bdate} +{$i} day"))); } $data = array(); //遍历数据获取所需结构 foreach ($result as $key => $val) { $data[$val['station']][$val['date']] = $val['total']; } foreach ($station['allrow'] as $key => $val) { $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数"); $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2); for ($i = 0; $i < 7; $i++) { //echo $wordArr[$val['id']].($i+2) . "~" . $data[$val['id']][$xv[$i]] . "<br>"; $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $data[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$i} day"))]); } } //清空输出缓存 ob_clean(); $XPhpExcel->output($date . "/" . $Description); unset($XPhpExcel); //销毁 } break; case 3: //本月 $bdate = date("Y-m-d", mktime(0, 0, 0, date("m"), 1, date("Y"))); $edate = date("Y-m-d", mktime(23, 59, 59, date("m"), date("t"), date("Y"))); $date = date("Y-m"); $data = array(); if ($dataStatusFS == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '本月-合并'; $Description = '访问统计-访问人数(本月-合并)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "日期"); $XPhpExcel->setValue("B1", "人数"); $XPhpExcel->setWidth("A", 14, 2); $XPhpExcel->setWidth("B", 20, 2); foreach ($result as $key => $val) { $XPhpExcel->setValue("A" . ($key + 2), $val["date"]); $XPhpExcel->setValue("B" . ($key + 2), $val["total"]); } //清空输出缓存 ob_clean(); $XPhpExcel->output($date . "/" . $Description); unset($XPhpExcel); //销毁 } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '本月-比较'; $Description = '访问统计-访问人数(本月-比较)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "日期"); $XPhpExcel->setWidth("A", 14, 2); for ($i = 0; $i < date("t"); $i++) { $XPhpExcel->setValue("A" . ($i + 2), date("Y-m-d", strtotime("{$bdate} +{$i} day"))); } $data = array(); //遍历数据获取所需结构 foreach ($result as $key => $val) { $data[$val['station']][$val['date']] = $val['total']; } foreach ($station['allrow'] as $key => $val) { $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数"); $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2); for ($i = 0; $i < date("t"); $i++) { //echo $wordArr[$val['id']].($i+2) . "~" . $data[$val['id']][$xv[$i]] . "<br>"; $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $data[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$i} day"))]); } } //清空输出缓存 ob_clean(); $XPhpExcel->output($date . "/" . $Description); unset($XPhpExcel); //销毁 } break; default: $dateSearch = reqstr("dateSearch", ""); $datastatus = reqnum("datastatus", 1); $stationC = reqstr("stationC"); $stationC = explode(",", $stationC); $stationChoice = array(); if ($stationC == array()) { //若为空则为不排除站点 foreach ($station['allrow'] as $key => $val) { $stationChoice[] = $val['id']; //选中的站点 } } else { foreach ($station['allrow'] as $key => $val) { if (in_array($val['id'], $stationC)) { $stationChoice[] = $val['id']; //选中的站点 } } } switch ($dateSearch) { case "oneday": $date = reqstr("oneday"); $data = array(); //x轴数据 $xv = array('00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'); if ($datastatus == 1) { $group = "`hour`"; $dbname = "rha_aclog_hour"; $result = $PSys_AccessModel->getDay($date, $group, $dbname, $stationChoice); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '单日-合并'; $Description = '访问统计-访问人数(单日-合并)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "小时"); $XPhpExcel->setValue("B1", "人数"); $XPhpExcel->setWidth("B", 20, 2); foreach ($result as $key => $val) { $XPhpExcel->setValue("A" . ($key + 2), $val["date"]); $XPhpExcel->setValue("B" . ($key + 2), $val["total"]); } //清空输出缓存 ob_clean(); $XPhpExcel->output($date . "/" . $Description); unset($XPhpExcel); //销毁 } else { $group = "`hour`,`stationid`"; $dbname = "rha_aclog_hour"; $result = $PSys_AccessModel->getDay($date, $group, $dbname, $stationChoice); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '单日-比较'; $Description = '访问统计-访问人数(单日-比较)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "小时"); for ($i = 0; $i < count($xv); $i++) { $XPhpExcel->setValue("A" . ($i + 2), $i); } $data = array(); //遍历数据获取所需结构 foreach ($result as $key => $val) { $data[$val['stationid']][$val['date']] = $val['total']; } foreach ($station['allrow'] as $key => $val) { $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数"); $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2); for ($i = 0; $i < count($xv); $i++) { //echo $wordArr[$val['id']].($i+2) . "~" . $data[$val['id']][$xv[$i]] . "<br>"; $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $data[$val['id']][$xv[$i]]); } } //清空输出缓存 ob_clean(); $XPhpExcel->output($date . "/" . $Description); unset($XPhpExcel); //销毁 } break; case "manyday": $bdate = reqstr("bmanyday"); $edate = reqstr("emanyday"); //计算天数差 $Days = round((strtotime($edate) - strtotime($bdate)) / 3600 / 24); $data = array(); if ($datastatus == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '多日-合并'; $Description = '访问统计-访问人数(多日-合并)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "日期"); $XPhpExcel->setValue("B1", "人数"); $XPhpExcel->setWidth("A", 14, 2); $XPhpExcel->setWidth("B", 20, 2); foreach ($result as $key => $val) { $XPhpExcel->setValue("A" . ($key + 2), $val["date"]); $XPhpExcel->setValue("B" . ($key + 2), $val["total"]); } //清空输出缓存 ob_clean(); $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description); unset($XPhpExcel); //销毁 } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '多日-比较'; $Description = '访问统计-访问人数(多日-比较)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "日期"); $XPhpExcel->setWidth("A", 14, 2); for ($i = 0; $i < $Days; $i++) { $XPhpExcel->setValue("A" . ($i + 2), date("Y-m-d", strtotime("{$bdate} +{$i} day"))); } $data = array(); //遍历数据获取所需结构 foreach ($result as $key => $val) { $data[$val['station']][$val['date']] = $val['total']; } ////重过滤$station // $where = array(); // $where['id_IN'] = $stationChoice; // $order = "id ASC"; // $field = "id,stationname"; // $station = $PSys_AccessModel->GetList($where, $order, 0, 0, $field, "rha_station"); foreach ($station['allrow'] as $key => $val) { $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数"); $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2); for ($i = 0; $i < $Days; $i++) { //echo $wordArr[$val['id']].($i+2) . "~" . $data[$val['id']][$xv[$i]] . "<br>"; $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $data[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$i} day"))]); } } //清空输出缓存 ob_clean(); $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description); unset($XPhpExcel); //销毁 } break; case "oneweek": $day = reqstr("oneweek"); $edate = date('Y-m-d', strtotime("{$day} Sunday")); $bdate = date('Y-m-d', strtotime("{$edate} -6 days")); //计算天数差 $Days = round((strtotime($edate) - strtotime($bdate)) / 3600 / 24); $data = array(); if ($datastatus == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '单周-合并'; $Description = '访问统计-访问人数(单周-合并)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "日期"); $XPhpExcel->setValue("B1", "人数"); $XPhpExcel->setWidth("A", 14, 2); $XPhpExcel->setWidth("B", 20, 2); foreach ($result as $key => $val) { $XPhpExcel->setValue("A" . ($key + 2), $val["date"]); $XPhpExcel->setValue("B" . ($key + 2), $val["total"]); } //清空输出缓存 ob_clean(); $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description); unset($XPhpExcel); //销毁 } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '单周-比较'; $Description = '访问统计-访问人数(单周-比较)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "日期"); $XPhpExcel->setWidth("A", 14, 2); for ($i = 0; $i < 7; $i++) { $XPhpExcel->setValue("A" . ($i + 2), date("Y-m-d", strtotime("{$bdate} +{$i} day"))); } $data = array(); //遍历数据获取所需结构 foreach ($result as $key => $val) { $data[$val['station']][$val['date']] = $val['total']; } ////重过滤$station // $where = array(); // $where['id_IN'] = $stationChoice; // $order = "id ASC"; // $field = "id,stationname"; // $station = $PSys_AccessModel->GetList($where, $order, 0, 0, $field, "rha_station"); foreach ($station['allrow'] as $key => $val) { $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数"); $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2); for ($i = 0; $i < 7; $i++) { //echo $wordArr[$val['id']].($i+2) . "~" . $data[$val['id']][$xv[$i]] . "<br>"; $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $data[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$i} day"))]); } } //清空输出缓存 ob_clean(); $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description); unset($XPhpExcel); //销毁 } break; case "manyweek": $bday = reqstr("bmanyweek"); $edate2 = date('Y-m-d', strtotime("{$bday} Sunday")); $bdate = date('Y-m-d', strtotime("{$edate2} -6 days")); $eday = reqstr("emanyweek"); $edate = date('Y-m-d', strtotime("{$eday} Sunday")); $bdate2 = date('Y-m-d', strtotime("{$edate} -6 days")); //计算周数差 $Weeks = round((strtotime($edate) - strtotime($bdate)) / 3600 / 24 / 7); $data = array(); if ($datastatus == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice); foreach ($result as $key => $val) { $data[$val['date']] = $val['total']; } $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '多周-合并'; $Description = '访问统计-访问人数(多周-合并)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "日期"); $XPhpExcel->setValue("B1", "人数"); $XPhpExcel->setWidth("A", 25, 2); $XPhpExcel->setWidth("B", 20, 2); for ($i = 0; $i < $Weeks; $i++) { $num = 0; for ($j = 1; $j <= 7; $j++) { $day = $i * 7 + $j - 1; $dt = date("Y-m-d", strtotime("{$bdate} +{$day} day")); $num += $data[$dt]; if ($j == 1) { $d = date("Y/m/d", strtotime("{$bdate} +{$day} day")); } if ($j == 7) { $d .= ' - ' . date("m/d", strtotime("{$bdate} +{$day} day")); $XPhpExcel->setValue("A" . ($i + 2), $d); $XPhpExcel->setValue("B" . ($i + 2), $num); } } } //清空输出缓存 ob_clean(); $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description); unset($XPhpExcel); //销毁 } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice); foreach ($result as $key => $val) { $data[$val['station']][$val['date']] = $val['total']; } $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '多周-比较'; $Description = '访问统计-访问人数(多周-比较)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "日期"); $XPhpExcel->setWidth("A", 25, 2); foreach ($station['allrow'] as $key => $val) { $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数"); $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2); for ($i = 0; $i < $Weeks; $i++) { $num = 0; for ($j = 1; $j <= 7; $j++) { $day = $i * 7 + $j - 1; $dt = date("Y-m-d", strtotime("{$bdate} +{$day} day")); $num += $data[$val['id']][$dt]; if ($j == 1) { $d = date("Y/m/d", strtotime("{$bdate} +{$day} day")); } if ($j == 7) { $d .= ' - ' . date("m/d", strtotime("{$bdate} +{$day} day")); $XPhpExcel->setValue("A" . ($i + 2), $d); $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $num); } } } } //to do nick 2030 celeste //清空输出缓存 ob_clean(); $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description); unset($XPhpExcel); //销毁 } break; case "onemonth": $date = reqstr("onemonth"); $bdate = date("Y-m-01", strtotime($date)); $edate = date("Y-m-d", strtotime("{$bdate} +1 month -1 day")); $date = date("Y-m", strtotime($date)); $Days = date("t", strtotime($date)); $data = array(); if ($datastatus == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '单月-合并'; $Description = '访问统计-访问人数(单月-合并)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "日期"); $XPhpExcel->setValue("B1", "人数"); $XPhpExcel->setWidth("A", 14, 2); $XPhpExcel->setWidth("B", 20, 2); foreach ($result as $key => $val) { $XPhpExcel->setValue("A" . ($key + 2), $val["date"]); $XPhpExcel->setValue("B" . ($key + 2), $val["total"]); } //清空输出缓存 ob_clean(); $XPhpExcel->output($date . "/" . $Description); unset($XPhpExcel); //销毁 } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice); $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '单月-比较'; $Description = '访问统计-访问人数(单月-比较)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "日期"); $XPhpExcel->setWidth("A", 14, 2); for ($i = 0; $i < $Days; $i++) { $XPhpExcel->setValue("A" . ($i + 2), date("Y-m-d", strtotime("{$bdate} +{$i} day"))); } $data = array(); //遍历数据获取所需结构 foreach ($result as $key => $val) { $data[$val['station']][$val['date']] = $val['total']; } ////重过滤$station // $where = array(); // $where['id_IN'] = $stationChoice; // $order = "id ASC"; // $field = "id,stationname"; // $station = $PSys_AccessModel->GetList($where, $order, 0, 0, $field, "rha_station"); foreach ($station['allrow'] as $key => $val) { $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数"); $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2); for ($i = 0; $i < $Days; $i++) { //echo $wordArr[$val['id']].($i+2) . "~" . $data[$val['id']][$xv[$i]] . "<br>"; $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $data[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$i} day"))]); } } //清空输出缓存 ob_clean(); $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description); unset($XPhpExcel); //销毁 } break; case "manymonth": $bday = reqstr("bmanymonth"); $bdate = date("Y-m-01", strtotime($bday)); $eday = reqstr("emanymonth"); $edate = date("Y-m-d", strtotime("{$eday} +1 month -1 day")); //计算月数差 $Months = (date("Y", strtotime($eday)) - date("Y", strtotime($bday))) * 12 + (date("m", strtotime($eday)) - date("m", strtotime($bday))) + 1; for ($i = 0; $i < $Months; $i++) { $dateArr[$i] = date("Y-m", strtotime("{$bday} +{$i} month")); } $data = array(); if ($datastatus == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice); foreach ($result as $key => $val) { $data[$val['date']] = $val['total']; } $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '多月-合并'; $Description = '访问统计-访问人数(多月-合并)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "日期"); $XPhpExcel->setValue("B1", "人数"); $XPhpExcel->setWidth("A", 25, 2); $XPhpExcel->setWidth("B", 20, 2); $day = 0; for ($i = 0; $i < $Months; $i++) { $nums = 0; $num = date("t", strtotime("{$bday} +{$i} month")); $d = date("Y-m-01", strtotime("{$bday} +{$i} month")); for ($j = 1; $j <= $num; $j++) { if ($j == 1) { $d = date("Y/m", strtotime("{$bday} +{$i} month")); $XPhpExcel->setValue("A" . ($i + 2), $d); } //echo $day."<br/>"; //$data['data'][1]['data'][] = intval($result[$i-1]['total']); $nums += $data[date("Y-m-d", strtotime("{$bday} +{$day} day"))]; $day++; } $XPhpExcel->setValue("B" . ($i + 2), $nums); } //清空输出缓存 ob_clean(); $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description); unset($XPhpExcel); //销毁 } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice); foreach ($result as $key => $val) { $data[$val['station']][$val['date']] = $val['total']; } $XPhpExcel = new XPhpExcel(); $Creator = "statis.rockhippo.com"; $LastModifiedBy = $Creator; $Title = '访问统计-访问人数'; $Subject = '多月-比较'; $Description = '访问统计-访问人数(多月-比较)'; $Keywords = $Description; $Category = $Description; $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category); $XPhpExcel->setSheet(0, $Subject); $XPhpExcel->setValue("A1", "日期"); $XPhpExcel->setWidth("A", 25, 2); foreach ($station['allrow'] as $key => $val) { $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数"); $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2); $day = 0; for ($i = 0; $i < $Months; $i++) { $nums = 0; $num = date("t", strtotime("{$bday} +{$i} month")); $d = date("Y-m-01", strtotime("{$bday} +{$i} month")); for ($j = 1; $j <= $num; $j++) { if ($j == 1) { $d = date("Y/m", strtotime("{$bday} +{$i} month")); $XPhpExcel->setValue("A" . ($i + 2), $d); } //echo $day."<br/>"; //$data['data'][1]['data'][] = intval($result[$i-1]['total']); $nums += $data[$val['id']][date("Y-m-d", strtotime("{$bday} +{$day} day"))]; $day++; } $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $nums); } } //清空输出缓存 ob_clean(); $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description); unset($XPhpExcel); //销毁 } break; } } }
public function getTimeNumAction() { $stime = reqstr('stime', 0); $etime = reqstr('etime', 0); $type = reqstr('type', 0); $username = reqstr('username', ''); $code = reqstr('code', ''); $appk = reqstr('appk', ''); $obj = new Psys_SmsModel(); if ($stime) { $stime = strtotime($stime); } else { //$stime = strtotime("-1 day"); $stime = ''; } if ($etime) { $etime = strtotime($etime); } else { $etime = ''; } $smscot = $obj->getSmsStatistics(); $postime = '&'; if (!empty($stime) and !empty($etime)) { $postime .= 'stime=' . date('Y-m-d', $stime) . '&etime=' . date('Y-m-d', $etime); } $postime .= 'type=' . $type; if (!empty($appk)) { $postime .= '&appk=' . $appk; } if (!empty($username)) { $postime .= '&username='******'&code=' . $code; } $page = reqnum("page", 1); $pagesize = reqnum("pagesize", 20); $data = $obj->getSmsIdclogList($stime, $etime, $type, $username, $appk, $code, $page, $pagesize); self::inidate($data['allnum'], $page, $pagesize, count($data['allrow'])); $appkeys = $this->getAppkeys(); foreach ($data['allrow'] as &$v) { if (!empty($appkeys[$v['appkey']])) { $v['appkey'] = $appkeys[$v['appkey']]; } else { $v['appkey'] = $v['appkey']; } } $this->smarty->assign('appkeys', $appkeys); //站点列表 $this->smarty->assign('smscot', $smscot); //当前从几开始 $this->smarty->assign('stime', $stime); $this->smarty->assign('etime', $etime); $this->smarty->assign('appk', $appk); $this->smarty->assign('username', $username); $this->smarty->assign('type', $type); $this->smarty->assign('postime', $postime); $this->smarty->assign('list', $data['allrow']); $this->forward = "smsnum"; }