|
|
|
@ -86,7 +86,7 @@ class PassFlow |
|
|
|
} |
|
|
|
if ($date == 'week' || $date == 'all') { |
|
|
|
$data['week'] = [ |
|
|
|
'start_time' => date("Y-m-d",strtotime('this week')) . 'T00:00:00.000+08:00', |
|
|
|
'start_time' => date("Y-m-d",strtotime("this week")) . 'T00:00:00.000+08:00', |
|
|
|
'end_time' => date("Y-m-d",strtotime("-".(date("w") - 7) . "day")) . 'T23:59:59.000+08:00' |
|
|
|
]; |
|
|
|
} |
|
|
|
@ -116,7 +116,7 @@ class PassFlow |
|
|
|
$groupsData = []; |
|
|
|
$dkey=[]; |
|
|
|
if ($date_str == 'H:00') { |
|
|
|
$hour = (int)date("H"); |
|
|
|
$hour = (int) date('H'); |
|
|
|
for ($i = 0; $i <= $hour; $i++) { |
|
|
|
$str = strlen($i) == 1 ? '0'.$i.':00' : $i.':00'; |
|
|
|
$allTimeData[$str]['num'] = 0; |
|
|
|
@ -261,20 +261,19 @@ class PassFlow |
|
|
|
$sumFind = $dm->find('bt_passenger_flow_all', $sumWhere,'SUM("flowInNum") as NUM'); |
|
|
|
$returnData['sumYear']['noRepeatInNum'] = isset($sumFind['NUM']) ? $sumFind['NUM'] : 0; |
|
|
|
|
|
|
|
if (empty($param['groupsId'])) { |
|
|
|
# 文化数据 |
|
|
|
$mData = $dm->find('bt_library',['group_id' => 'lib001']); |
|
|
|
if (empty($groupsId)) { |
|
|
|
# 文化数据 |
|
|
|
$mData = $dm->find('bt_library',['group_id' => 'lib001']); |
|
|
|
$returnData['day']['noRepeatInNum'] += isset($mData['today_incount']) ? $mData['today_incount'] : 0; |
|
|
|
$returnData['month']['noRepeatInNum'] += isset($mData['month_incount']) ? $mData['month_incount'] : 0; |
|
|
|
$returnData['year']['noRepeatInNum'] += isset($mData['year_incount']) ? $mData['year_incount'] : 0; |
|
|
|
$returnData['sumYear']['noRepeatInNum'] += isset($mData['year_incount']) ? $mData['year_incount'] : 0; |
|
|
|
$week_start = date("Y-m-d 00:00:00",strtotime('this week')); |
|
|
|
$week_end = date("Y-m-d 23:59:59",strtotime("-".(date("w") - 7) . "day")); |
|
|
|
$weekDateWhere = ' "group_id" =' . "'lib001'" . ' and "create_time" >= ' . "'{$week_start}'" . ' and "create_time" <= ' . "'{$week_end}'"; |
|
|
|
$weekDate = $dm->find('bt_library_hours',$weekDateWhere,'SUM("incount") as NUM'); |
|
|
|
$returnData['week']['noRepeatInNum'] += isset($weekDate['NUM']) ? $weekDate['NUM'] : 0; |
|
|
|
} |
|
|
|
|
|
|
|
$returnData['sumYear']['noRepeatInNum'] += isset($mData['year_incount']) ? $mData['year_incount'] : 0; |
|
|
|
$week_start = date("Y-m-d 00:00:00",strtotime('this week')); |
|
|
|
$week_end = date("Y-m-d 23:59:59",strtotime("-".(date("w") - 7) . "day")); |
|
|
|
$weekDateWhere = ' "group_id" =' . "'lib001'" . ' and "create_time" >= ' . "'{$week_start}'" . ' and "create_time" <= ' . "'{$week_end}'"; |
|
|
|
$weekDate = $dm->find('bt_library_hours',$weekDateWhere,'SUM("incount") as NUM'); |
|
|
|
$returnData['week']['noRepeatInNum'] += isset($weekDate['NUM']) ? $weekDate['NUM'] : 0; |
|
|
|
} |
|
|
|
foreach ($returnData as &$val) { |
|
|
|
$val['noRepeatInNum'] = formatNumber($val['noRepeatInNum']); |
|
|
|
} |
|
|
|
@ -306,7 +305,7 @@ class PassFlow |
|
|
|
|
|
|
|
$returnData = []; |
|
|
|
foreach ($data as $groupId => $val) { |
|
|
|
$proportion = $val['allEnter'] > 0 ? round($val['allEnter']/$threshold,2) : 0; |
|
|
|
$proportion = $val['allEnter'] > 0 ? round($val['allEnter']/$threshold,4) : 0; |
|
|
|
$val['proportion'] = ($proportion * 100) . "%"; |
|
|
|
$val['congestion'] = self::getPassType($proportion); |
|
|
|
$val['groupId'] = $groupId; |
|
|
|
@ -318,7 +317,7 @@ class PassFlow |
|
|
|
} |
|
|
|
$libData = $dm->select('bt_library',['group_id' => ['baz001','BAF055']]); |
|
|
|
foreach ($libData as $libRow) { |
|
|
|
$libProportion = $libRow['today_incount'] > 0 ? round($libRow['today_incount']/$threshold,2) : 0; |
|
|
|
$libProportion = $libRow['today_incount'] > 0 ? round($libRow['today_incount']/$threshold,4) : 0; |
|
|
|
// 文化馆排 4# 图书馆 2# |
|
|
|
$isort = $libRow['group_id']=='baz001'?2:4; |
|
|
|
$returnData[] = [ |
|
|
|
@ -397,15 +396,15 @@ class PassFlow |
|
|
|
$groupData = $dm->select('bt_passenger_monitor_group',$groupsWhere); |
|
|
|
foreach ($groupData as $groupDataRow) { |
|
|
|
foreach ($allTimeData as $date => $dateValue) { |
|
|
|
$returnData[$groupDataRow['groupName']][$date] = $dateValue; |
|
|
|
$returnData[$groupDataRow['groupId']][$date] = $dateValue; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
foreach ($list as $value) { |
|
|
|
$date = date('H:00',ceil($value['createTime'] / 1000)); // 各时间端进馆人数 |
|
|
|
if (!isset($allTimeData[$date])) continue; |
|
|
|
if (!isset($returnData[$value['groupName']][$allTimeData[$date]])) $returnData[$value['groupName']][$date] = 0; |
|
|
|
$returnData[$value['groupName']][$date] += $value['flowInNum']; |
|
|
|
if (!isset($returnData[$value['groupId']][$allTimeData[$date]])) $returnData[$value['groupId']][$date] = 0; |
|
|
|
$returnData[$value['groupId']][$date] += $value['flowInNum']; |
|
|
|
} |
|
|
|
|
|
|
|
$data = []; |
|
|
|
@ -419,13 +418,18 @@ class PassFlow |
|
|
|
$listData['dkeys'][] = $itemKey; |
|
|
|
$listData['dvalue'][] = $itemRow; |
|
|
|
} |
|
|
|
if (is_numeric($groupName)) { |
|
|
|
$groupData = $dm->find('bt_passenger_monitor_group',['groupId' => $groupName]); |
|
|
|
$groupName = isset($groupData['groupName']) ? $groupData['groupName'] : $groupName; |
|
|
|
} |
|
|
|
$data[] = [ |
|
|
|
'groupName' => $groupName, |
|
|
|
'list' => $listData |
|
|
|
]; |
|
|
|
} |
|
|
|
$data = self::getLibraryGroupHoursList($dm,false,$data); |
|
|
|
|
|
|
|
if(empty($param['groupsId'])){ |
|
|
|
$data = self::getLibraryGroupHoursList($dm,false,$data); |
|
|
|
} |
|
|
|
return $data; |
|
|
|
} |
|
|
|
|
|
|
|
@ -642,13 +646,12 @@ class PassFlow |
|
|
|
if (empty($dm)) $dm = new Dm(); |
|
|
|
|
|
|
|
# 获取文化组id |
|
|
|
if ($is_group) { |
|
|
|
$groupRes = $dm->select('bt_passenger_monitor_group',['type' => 2],'"groupId","groupName"'); |
|
|
|
$groupsId = []; |
|
|
|
foreach ($groupRes as $groupRow) $groupsId[] = $groupRow['groupId']; |
|
|
|
$data = self::toDayGroupsEnterNum($dm,['groupsId' => implode("|",$groupsId)]); |
|
|
|
} |
|
|
|
|
|
|
|
if ($is_group) { |
|
|
|
$groupRes = $dm->select('bt_passenger_monitor_group',['type' => 2],'"groupId","groupName"'); |
|
|
|
$groupsId = []; |
|
|
|
foreach ($groupRes as $groupRow) $groupsId[] = $groupRow['groupId']; |
|
|
|
$data = self::toDayGroupsEnterNum($dm,['groupsId' => implode("|",$groupsId)]); |
|
|
|
} |
|
|
|
# 图书、文化馆 |
|
|
|
$start_create_time = date("Y-m-d 00:00:00"); |
|
|
|
$end_create_time = date("Y-m-d 23:59:59"); |
|
|
|
@ -709,10 +712,12 @@ class PassFlow |
|
|
|
'returncount' => 0 |
|
|
|
]; |
|
|
|
if ($LibLeaseRes) { |
|
|
|
$data['newreader'] = $LibLeaseRes['newreader']; # 今日办证人数 |
|
|
|
$data['servcount'] = $LibLeaseRes['servcount']; # 今日借书册数 |
|
|
|
$data['newreader'] = $LibLeaseRes['newreader']; # 今日办证册数 |
|
|
|
$data['servcount'] = $LibLeaseRes['servcount']; # 今日借书人数 |
|
|
|
$data['returncount'] = $LibLeaseRes['returncount']; # 今日还书册数 |
|
|
|
} |
|
|
|
return $data; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|