MODEL('companyorder'); $CompanyM = $this->MODEL('company'); $StatisM = $this->MODEL('statis'); $this->yunset('user', '地区'); if(isset($_GET['radio_time'])){ $this->yunset('radio_time', $_GET['radio_time']); } //查询报表数据 $time_begin = isset($_GET['time_begin']) ? $_GET['time_begin'] : date('Y-m-d 00:00:00', strtotime('-30 day')); $time_end = isset($_GET['time_end']) ? $_GET['time_end'] :date('Y-m-d H:i:s'); $this->yunset('defaultTimeBegin', $time_begin); $this->yunset('defaultTimeEnd', $time_end); $isAllTime = isset($_GET['isAllTime']) ? $_GET['isAllTime'] : 0; //查询30条内的信息,展示到页面第一屏 if($isAllTime != 1){ $timeBegin = strtotime($time_begin); }else{ $timeBegin = strtotime(date('Y-m-d 00:00:00', strtotime('-30 year'))); } $timeEnd = strtotime("now"); list($in, $out, $net_income) = $StatisM->getStatisTotal($timeBegin, $timeEnd, ''); $data [] = array('time' => '近30', 'in' => $in, 'out' => $out, 'net_income' => $net_income); $this->yunset('data', $data); //如果不是查询全部数据,组织查询的开始、结束时间 if($isAllTime != 1){ $timeBegin = strtotime($time_begin); $timeEnd = strtotime($time_end); $dateBegin = date('Y-m-d', $timeBegin); $dateEnd = date('Y-m-d', $timeEnd); $title = "消费最多地区统计 - {$dateBegin}~{$dateEnd}"; } else{ $title = "消费最多地区统计 - 全部数据"; } $names = array();//扇形每块的名称(收入渠道) $values = array();//扇形每块的值 $topNum = 10;//统计消费最多10个地区 $orwhere['order_state'] = 2; if($isAllTime != 1){ $orwhere['order_time'][] = array('>=', $timeBegin); $orwhere['order_time'][] = array('<=', $timeEnd,'AND'); } $limit = $topNum * 10; $orwhere['groupby'] = 'uid'; $orwhere['orderby'] = array('num,asc'); $orwhere['limit'] = $limit; $field = 'sum(order_price) as `num`, `uid`'; $row = $CompanyorderM->getList($orwhere,array('field'=>$field)); $uidArr = array(); $uidValue = array(); foreach($row as $r){ $uidArr [] = $r['uid']; $uidValue[$r['uid']] = $r['num']; } $uidStr = implode(',', $uidArr); $comwhere['uid'] = array('in',pylode(',',$uidArr)); $comwhere['cityid'] = array('>',0); $data = $CompanyM->getChCompanyList($comwhere,array('field'=>'`uid`,`cityid`,`provinceid`')); $total = 0; foreach($data as $r){ if(array_key_exists($r['cityid'], $values) ){ $values [$r['cityid']]['value'] += $uidValue[$r['uid']]; } else{ $values [$r['cityid']]['value'] = $uidValue[$r['uid']]; $values [$r['cityid']]['pid'] = $r['provinceid']; $values [$r['cityid']]['cid'] = $r['cityid']; } } usort($values,'my_sort'); $city = $this->MODEL('cache')->GetCache(array('city')); $arr = array(); $i = 0; foreach($values as $r){ $names [] = $city['city_name'][$r['pid']] . '-' . $city['city_name'][$r['cid']]; $rr['value'] = $r['value']; $rr['name'] = $city['city_name'][$r['pid']] . '-' . $city['city_name'][$r['cid']]; $arr [] = $rr; $total += $r['value']; $i ++; if($i == $topNum){ break; } } $values = $arr; $this->yunset('total', $total); $this->yunset( array('title' => $title,'names' => $names, 'values' => $values ) ); $c = isset($_GET['c']) ? $_GET['c'] : ''; $this->yunset('gourl', "index.php?m={$_GET['m']}&c={$c}"); $this->yuntpl(array('admin/statis_user')); } } ?>