Browse Source

判断统计组是否为空

master
wanghongjun 3 years ago
parent
commit
30c9352f5c
  1. 34
      source/application/common/logic/PassFlow.php

34
source/application/common/logic/PassFlow.php

@ -38,7 +38,7 @@ class PassFlow
$where .= $where ? ' and "granularity" = ' . "'hourly'" : ' "granularity" = ' . "'hourly'"; $where .= $where ? ' and "granularity" = ' . "'hourly'" : ' "granularity" = ' . "'hourly'";
$where .= ' and "statTime" >= ' . "'{$start_time}'" . ' and "statTime" <= ' . "'{$end_time}'"; $where .= ' and "statTime" >= ' . "'{$start_time}'" . ' and "statTime" <= ' . "'{$end_time}'";
$list = $dm->select('bt_passenger_flow', $where); $list = $dm->select('bt_passenger_flow', $where);
$data = self::handleGroupData($list,'H:00',$dm); $data = self::handleGroupData($list,'H:00',$dm,$groupsId);
$allTimeData = $data['allTimeData']; $allTimeData = $data['allTimeData'];
$groupsData = $data['groupsData']; $groupsData = $data['groupsData'];
$dkeys = $data['dkeys']; $dkeys = $data['dkeys'];
@ -49,7 +49,7 @@ class PassFlow
$where .= $where ? ' and "granularity" = ' . "'daily'" : ' "granularity" = ' . "'daily'"; $where .= $where ? ' and "granularity" = ' . "'daily'" : ' "granularity" = ' . "'daily'";
$where .= ' and "statTime" >= ' . "'{$start_time}'" . ' and "statTime" <= ' . "'{$end_time}'"; $where .= ' and "statTime" >= ' . "'{$start_time}'" . ' and "statTime" <= ' . "'{$end_time}'";
$list = $dm->select('bt_passenger_flow', $where); $list = $dm->select('bt_passenger_flow', $where);
$data = self::handleGroupData($list, 'd',$dm); $data = self::handleGroupData($list, 'd',$dm,$groupsId);
$allTimeData = $data['allTimeData']; $allTimeData = $data['allTimeData'];
$groupsData = $data['groupsData']; $groupsData = $data['groupsData'];
$dkeys = $data['dkeys']; $dkeys = $data['dkeys'];
@ -60,7 +60,7 @@ class PassFlow
$where .= $where ? ' and "granularity" = ' . "'monthly'" : ' "granularity" = ' . "'monthly'"; $where .= $where ? ' and "granularity" = ' . "'monthly'" : ' "granularity" = ' . "'monthly'";
$where .= ' and "statTime" >= ' . "'{$start_time}'" . ' and "statTime" <= ' . "'{$end_time}'"; $where .= ' and "statTime" >= ' . "'{$start_time}'" . ' and "statTime" <= ' . "'{$end_time}'";
$list = $dm->select('bt_passenger_flow', $where); $list = $dm->select('bt_passenger_flow', $where);
$data = self::handleGroupData($list, 'm',$dm); $data = self::handleGroupData($list, 'm',$dm,$groupsId);
$allTimeData = $data['allTimeData']; $allTimeData = $data['allTimeData'];
$groupsData = $data['groupsData']; $groupsData = $data['groupsData'];
$dkeys = $data['dkeys']; $dkeys = $data['dkeys'];
@ -111,7 +111,7 @@ class PassFlow
* @param $date_str * @param $date_str
* @return array * @return array
*/ */
protected static function handleGroupData($list,$date_str = 'H:00',$dm = null) { protected static function handleGroupData($list,$date_str = 'H:00',$dm = null,$groupsId = '') {
$allTimeData = []; $allTimeData = [];
$groupsData = []; $groupsData = [];
$dkey=[]; $dkey=[];
@ -152,17 +152,19 @@ class PassFlow
} }
ksort($allTimeData); ksort($allTimeData);
$res = $dm->select('bt_library',['group_id' => ['baz001','BAF055']]); if (empty($groupsId)) {
foreach ($res as $row) { $res = $dm->select('bt_library',['group_id' => ['baz001','BAF055']]);
if ($date_str == 'H:00') { foreach ($res as $row) {
$sumNoRepeatInNum += $row['today_incount']; if ($date_str == 'H:00') {
$groupsData[$row['group_name']]['noRepeatInNum'] = $row['today_incount']; $sumNoRepeatInNum += $row['today_incount'];
} elseif ($date_str == 'd') { $groupsData[$row['group_name']]['noRepeatInNum'] = $row['today_incount'];
$sumNoRepeatInNum += $row['month_incount']; } elseif ($date_str == 'd') {
$groupsData[$row['group_name']]['noRepeatInNum'] = $row['month_incount']; $sumNoRepeatInNum += $row['month_incount'];
} elseif ($date_str == 'm') { $groupsData[$row['group_name']]['noRepeatInNum'] = $row['month_incount'];
$sumNoRepeatInNum += $row['year_incount']; } elseif ($date_str == 'm') {
$groupsData[$row['group_name']]['noRepeatInNum'] = $row['year_incount']; $sumNoRepeatInNum += $row['year_incount'];
$groupsData[$row['group_name']]['noRepeatInNum'] = $row['year_incount'];
}
} }
} }
// 计算各组占比 // 计算各组占比
@ -455,7 +457,7 @@ class PassFlow
if (!isset($returnData[$str])) $returnData[$str] = 0; if (!isset($returnData[$str])) $returnData[$str] = 0;
} }
foreach ($list as $value) { foreach ($list as $value) {
$date = date('H:00',strtotime($value['statTime']) + (8*3600)); // 各时间端进馆人数 $date = date('H:00',strtotime($value['statTime'])); // 各时间端进馆人数
if (!isset($allTimeData[$date])) continue; if (!isset($allTimeData[$date])) continue;
$returnData[$date] += $value['flowInNum']; $returnData[$date] += $value['flowInNum'];
} }

Loading…
Cancel
Save