Browse Source

同步线上代码

master
wanghongjun 3 years ago
parent
commit
66dbcab2db
  1. 13
      source/application/api/controller/library/Pass.php
  2. 11
      source/application/api/controller/pass/Create.php
  3. 8
      source/application/common/dm/Dm.php
  4. 65
      source/application/common/logic/PassFlow.php
  5. 16
      source/application/task/controller/Group.php
  6. 6
      source/application/task/controller/Passreal.php

13
source/application/api/controller/library/Pass.php

@ -78,7 +78,7 @@ class Pass extends Controller
}
// --------------------- 小时数据 --------------------- //
$hoursQueryWhere = ['hour_time' => $hour, 'group_id' => $val['group_id']];
$hoursQueryWhere = ['hour_time' => $hour, 'group_id' => $val['group_id'], 'create_time' => ['>=',date('Y-m-d 00:00:00')]];
$hoursQuery = $dm->find("bt_library_hours",$hoursQueryWhere);
# 默认单天数据
@ -106,9 +106,9 @@ class Pass extends Controller
$lastHours = $dm->find('bt_library_hours',$lastHoursWhere,'*','id DESC');
if ($lastHours) {
$incount = $val['today_incount'] - $lastHours['target_today_incount'];
$incount = $incount > 0 ? $incount : 0;
$outcount = $val['today_outcount'] - $lastHours['target_today_outcount'];
$outcount = $outcount > 0 ? $outcount : 0;
$incount = $incount > 0 ? $incount : 0;
$outcount = $outcount > 0 ? $outcount : 0;
}
# 创建数据
$insert = [
@ -118,7 +118,7 @@ class Pass extends Controller
'outcount' => $outcount,
'target_today_incount' => $val['today_incount'],
'target_today_outcount' => $val['today_outcount'],
'hour_time' => $hour,
'hour_time' => $hour,
'create_time' => date("Y-m-d H:i:s",time())
];
@ -189,7 +189,7 @@ class Pass extends Controller
return $this->renderSuccess();
}
/**
/**
* 获取今日借阅办证数据
* @return array
*/
@ -198,4 +198,5 @@ class Pass extends Controller
$data = PassFlow::getLibraryLeaseData();
return $this->renderSuccess(compact('data'));
}
}
}

11
source/application/api/controller/pass/Create.php

@ -62,9 +62,10 @@ class Create extends Controller
$queryWhere = ['groupId' => $val['groupId'],'granularity' => $val['granularity'],'statTime' => $val['statTime']];
$query = $dm->find('bt_passenger_flow',$queryWhere);
$groupRes = $dm->find('bt_passenger_monitor_group',['groupId' => $val['groupId']]);
$groupName = isset($groupRes['groupName']) ? $groupRes['groupName']:$val['groupName'];
$groupRes = $dm->find('bt_passenger_monitor_group',['groupId' => $val['groupId']]);
$groupName = isset($groupRes['groupName']) ? $groupRes['groupName'] : $val['groupName'];
$insert_arr = [
'groupId' => $val['groupId'],
'groupName' => $groupName,
@ -108,11 +109,11 @@ class Create extends Controller
$dm = new Dm();
foreach ($data as $val) {
$queryWhere = ['groupId' => $val['groupId'],'granularity' => $val['granularity'],'statTime' => $val['statTime']];
$queryWhere = ['groupId' => $val['groupId'],'granularity' => $val['granularity'],'statTime' => $val['statTime'],'date'=>$val['date']];
$query = $dm->find('bt_passenger_flow_all',$queryWhere);
$groupRes = $dm->find('bt_passenger_monitor_group',['groupId' => $val['groupId']]);
$groupName = isset($groupRes['groupName']) ? $groupRes['groupName'] : $val['groupName'];
$groupName = isset($groupRes['groupName']) ? $groupRes['groupName']:$val['groupName'];
$insert_arr = [
'groupId' => $val['groupId'],
@ -246,4 +247,4 @@ class Create extends Controller
}
}
}

8
source/application/common/dm/Dm.php

@ -4,12 +4,6 @@ namespace app\common\dm;
class Dm
{
private $host = 'localhost:5236'; // IP 地址
private $port = '5236'; // 端口号
private $dbname = 'CXK'; // 数据库名
private $username = 'SYSDBA'; // 用户名
private $password = 'SYSDBA'; // 密码
private $charset = 'GBK'; // 字符集
public $conn;
public $database = 'STADIUM';
@ -319,4 +313,4 @@ class Dm
'pageData' => $pageData,
];
}
}
}

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

@ -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;
}
}
}

16
source/application/task/controller/Group.php

@ -7,7 +7,19 @@ use app\common\model\Pass;
class Group
{
function run()
public function run(){
$link = dm_connect('10.97.121.4:5236','SYSDBA','Hn@dameng123') or die('err'.dm_error());
$sql='select * from "STADIUM"."bt_config"';
$res = dm_exec($link,$sql);
$data = [];
while ($row = dm_fetch_array($res)) {
$data=$row;
}
var_dump($data);
dm_close($link);
}
function runbak()
{
$config = config('api_config');
@ -80,4 +92,4 @@ class Group
return true;
}
}
}

6
source/application/task/controller/Passreal.php

@ -40,18 +40,18 @@ class Passreal
'statisticsTime' => $value['statisticsTime'],
'enter' => $value['enter'],
'exit' => $value['exit'],
'pass' => $value['pass'] ?: '',
'pass' => $value['pass'],
'holdValue' => $value['holdValue'],
'allEnter' => $value['allEnter'],
'allExit' => $value['allExit']
];
#Db::table('bt_passenger_flow_real')->insert($insert_arr);
Db::table('bt_passenger_flow_real')->insert($insert_arr);
$requestData[] = $insert_arr;
}
} catch (\Exception $e) {
return $e->getMessage();
exit( $e->getMessage() );
}
$requestRes = \app\common\model\Pass::requestCreateData($requestData,'/api/pass.create/createPassengerFlowReal', $config['host_path']);

Loading…
Cancel
Save