1 changed files with 158 additions and 0 deletions
@ -0,0 +1,158 @@ |
|||||
|
<?php |
||||
|
use app\common\dm\Dm; |
||||
|
require_once __DIR__ . '../../source/application/common/dm/Dm.php'; |
||||
|
require_once __DIR__ . '../../source/thinkphp/helper.php'; |
||||
|
require_once __DIR__ . '../../source/thinkphp/library/think/Config.php'; |
||||
|
require_once __DIR__ . '../../source/application/common.php'; |
||||
|
$config = require_once __DIR__ . '../../source/application/database.php'; |
||||
|
|
||||
|
|
||||
|
$dm = new Dm($config['connections']['dm']); |
||||
|
|
||||
|
|
||||
|
$countBaz = '200000'; |
||||
|
$countBaf = '50000'; |
||||
|
|
||||
|
$data = [ |
||||
|
'baz001' => [ |
||||
|
'name' => '图书馆', |
||||
|
'count' => $countBaz, |
||||
|
'day' => round($countBaz / 30), |
||||
|
'amplitude' => [ |
||||
|
'min' => 0 - ($countBaz * 0.03), |
||||
|
'max' => $countBaz * 0.05, |
||||
|
] |
||||
|
], |
||||
|
'BAF055' => [ |
||||
|
'name' => '文化馆', |
||||
|
'count' => $countBaf, |
||||
|
'day' => round($countBaf / 30), |
||||
|
'amplitude' => [ |
||||
|
'min' => 0 - ($countBaf * 0.03), |
||||
|
'max' => $countBaf * 0.05, |
||||
|
] |
||||
|
], |
||||
|
]; |
||||
|
|
||||
|
$monthNum = 6; |
||||
|
$countBaz = [ |
||||
|
'baz001' => ['incount' => 0, 'outcount' => 0], |
||||
|
'BAF055' => ['incount' => 0, 'outcount' => 0] |
||||
|
]; |
||||
|
|
||||
|
for ($i = 1; $i <= $monthNum; $i++) { |
||||
|
|
||||
|
$str = strlen($i) == 1 ? '0' . $i : $i; |
||||
|
$incount = 0; |
||||
|
$outcount = 0; |
||||
|
|
||||
|
foreach ($data as $group_id => $item) { |
||||
|
|
||||
|
$name = $item['name']; |
||||
|
$count = $item['count']; |
||||
|
$day = $item['day']; |
||||
|
|
||||
|
# 幅度 |
||||
|
$temp_count = rand($item['amplitude']['min'],$item['amplitude']['max']); |
||||
|
|
||||
|
if ($i == 1) { |
||||
|
# 减去假期 |
||||
|
$temp_day = $day * 7; |
||||
|
$temp_count = bcsub($temp_count,$temp_day); |
||||
|
} |
||||
|
|
||||
|
if ($i == 2) { |
||||
|
# 减去未满30 |
||||
|
$temp_day = $day * 2; |
||||
|
$temp_count = bcsub($temp_count,$temp_day); |
||||
|
} |
||||
|
|
||||
|
# 每月数量 |
||||
|
$flowInNum = bcadd($count,$temp_count); |
||||
|
|
||||
|
$days = date('t', strtotime(2023 . '-' . $str . '-01')); |
||||
|
$start = date("Y-{$str}-01 ") ."00:00:00"; |
||||
|
$end = date("Y-{$str}-{$days} ") ."23:59:59"; |
||||
|
$queryWhere = ' "date" = ' . "'month'" . ' and "group_id" = ' . "'{$group_id}'" . ' and "create_time" >= ' . "'{$start}'" . ' and "create_time" <= ' . "'{$end}'" ; |
||||
|
$query = $dm->find('bt_library_data',$queryWhere); |
||||
|
|
||||
|
if (!$query) { |
||||
|
$insert_data = [ |
||||
|
'group_id' => $group_id, |
||||
|
'group_name' => $name, |
||||
|
'incount' => $flowInNum, |
||||
|
'outcount' => bcadd($flowInNum,rand(0, 10)), |
||||
|
'date' => 'month', |
||||
|
'create_time' => date("Y-{$str}-01 ") . "00:00:00", |
||||
|
'last_incount' => 0, |
||||
|
'last_outcount' => 0, |
||||
|
]; |
||||
|
$dm->insert('bt_library_data', $insert_data); |
||||
|
|
||||
|
|
||||
|
# 当月总数 |
||||
|
$incount += $insert_data['incount']; |
||||
|
$outcount += $insert_data['outcount']; |
||||
|
|
||||
|
# 总年 |
||||
|
$countBaz[$group_id]['incount'] += $insert_data['incount']; |
||||
|
$countBaz[$group_id]['outcount'] += $insert_data['outcount']; |
||||
|
} |
||||
|
} |
||||
|
$queryWhere2 = ' "date" = ' . "'month'" . ' and "group_id" = ' . "'lib001'" . ' and "create_time" >= ' . "'{$start}'" . ' and "create_time" <= ' . "'{$end}'" ; |
||||
|
$query2 = $dm->find('bt_library_data',$queryWhere2); |
||||
|
if (!$query2) { |
||||
|
$lib001 = [ |
||||
|
'group_id' => 'lib001', |
||||
|
'group_name' => '文化', |
||||
|
'incount' => $incount, |
||||
|
'outcount' => $outcount, |
||||
|
'date' => 'month', |
||||
|
'create_time' => date("Y-{$str}-01 ") . "00:00:00", |
||||
|
'last_incount' => 0, |
||||
|
'last_outcount' => 0, |
||||
|
]; |
||||
|
$dm->insert('bt_library_data', $lib001); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
// --------------- baz001 --------------- // |
||||
|
$queryWhereBaz = ['date' => 'year', 'group_id' => 'baz001', 'create_time' => ['>=',date("Y-01-01 ") ."00:00:00"]]; |
||||
|
$queryBaz = $dm->find("bt_library_data",$queryWhereBaz); |
||||
|
|
||||
|
if ($queryBaz) { |
||||
|
$baz001 = [ |
||||
|
'incount' => bcadd($queryBaz['incount'],$countBaz['baz001']['incount']), |
||||
|
'outcount' => bcadd($queryBaz['outcount'],$countBaz['baz001']['outcount']) |
||||
|
]; |
||||
|
$dm->update('bt_library_data',$baz001,'"id" = ' . "'{$queryBaz['id']}'"); |
||||
|
} |
||||
|
|
||||
|
// --------------- BAF055 --------------- // |
||||
|
$queryWhereBaf = ['date' => 'year', 'group_id' => 'BAF055', 'create_time' => ['>=',date("Y-01-01 ") ."00:00:00"]]; |
||||
|
$queryBaf = $dm->find("bt_library_data",$queryWhereBaf); |
||||
|
|
||||
|
if ($queryBaf) { |
||||
|
|
||||
|
$BAF055 = [ |
||||
|
'incount' => bcadd($queryBaf['incount'],$countBaz['BAF055']['incount']), |
||||
|
'outcount' => bcadd($queryBaf['outcount'],$countBaz['BAF055']['outcount']) |
||||
|
]; |
||||
|
$dm->update('bt_library_data',$BAF055,'"id" = ' . "'{$queryBaf['id']}'"); |
||||
|
} |
||||
|
|
||||
|
// --------------- lib001 --------------- // |
||||
|
$queryWhereLib = ['date' => 'year', 'group_id' => 'lib001', 'create_time' => ['>=',date("Y-01-01 ") ."00:00:00"]]; |
||||
|
$queryLib = $dm->find("bt_library_data",$queryWhereLib); |
||||
|
if ($queryLib) { |
||||
|
|
||||
|
$lib001 = [ |
||||
|
'incount' => $baz001['incount'] + $BAF055['incount'], |
||||
|
'outcount' => $baz001['outcount'] + $BAF055['outcount'] |
||||
|
]; |
||||
|
$dm->update('bt_library_data',$lib001,'"id" = ' . "'{$queryLib['id']}'"); |
||||
|
} |
||||
|
|
||||
|
echo true; |
||||
Loading…
Reference in new issue