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