You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
158 lines
5.1 KiB
158 lines
5.1 KiB
<?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 = '376378';
|
|
$countBaf = '28100';
|
|
|
|
$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 = 7;
|
|
$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 = round($temp_count-$temp_day);
|
|
}
|
|
|
|
if ($i == 2) {
|
|
# 减去未满30
|
|
$temp_day = $day * 2;
|
|
$temp_count = round($temp_count-$temp_day);
|
|
}
|
|
|
|
# 每月数量
|
|
$flowInNum = round($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' => round($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' => round($queryBaz['incount']+$countBaz['baz001']['incount']),
|
|
'outcount' => round($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' => round($queryBaf['incount']+$countBaz['BAF055']['incount']),
|
|
'outcount' => round($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;
|