diff --git a/web/create_bt_library_data.php b/web/create_bt_library_data.php new file mode 100644 index 0000000..24fd94c --- /dev/null +++ b/web/create_bt_library_data.php @@ -0,0 +1,158 @@ + [ + '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; \ No newline at end of file