Dashboard.php
4.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?php
namespace app\admin\controller;
use think\Db;
use app\common\controller\Backend;
use think\Config;
/**
* 控制台
*
* @icon fa fa-dashboard
* @remark 用于展示当前系统中的统计数据、统计报表及重要实时数据
*/
class Dashboard extends Backend
{
/**
* 查看
*/
public function index()
{
$seventtime = \fast\Date::unixtime('day', -7);
$paylist = $createlist = [];
for ($i = 0; $i < 7; $i++) {
$day = date("Y-m-d", $seventtime + ($i * 86400));
$createlist[$day] = mt_rand(20, 200);
$paylist[$day] = mt_rand(1, mt_rand(1, $createlist[$day]));
}
$hooks = config('addons.hooks');
$uploadmode = isset($hooks['upload_config_init']) && $hooks['upload_config_init'] ? implode(',', $hooks['upload_config_init']) : 'local';
$addonComposerCfg = ROOT_PATH . '/vendor/karsonzhang/fastadmin-addons/composer.json';
Config::parse($addonComposerCfg, "json", "composer");
$config = Config::get("composer");
$addonVersion = isset($config['version']) ? $config['version'] : __('Unknown');
//月 起止时间戳
$start_time = mktime(0, 0, 0, date('m'), 1, date('Y'));
$end_time = mktime(23, 59, 59, date('m'), date('t'), date('Y'));
$map['createtime'] = ['between', [$start_time, $end_time]];
//报修总量
$BaoxiuArr = Db::name('baoxiudan')->where($map)->select();
$BaoxiuWancheng = Db::name('baoxiudan')->where('type', 2)->where($map)->select();
$BaoxiuWeiWancheng = Db::name('baoxiudan')->where('type', 1)->where($map)->select();
$Round = round(count($BaoxiuWancheng) / count($BaoxiuArr) * 100, 2);
$WRound = round(count($BaoxiuWeiWancheng) / count($BaoxiuArr) * 100, 2);
//监控系统
$jiankong = Db::name('baoxiudan')->where('system', 1)->where($map)->select();
//通信系统
$tongxin = Db::name('baoxiudan')->where('system', 2)->where($map)->select();
//供配电系统
$peidian = Db::name('baoxiudan')->where('system', 3)->where($map)->select();
//计重设备
$jizhong = Db::name('baoxiudan')->where('system', 4)->where($map)->select();
//收费系统
$shoufei = Db::name('baoxiudan')->where('system', 5)->where($map)->select();
$this->view->assign([
'baoxiunum' => count($BaoxiuArr),
'baoxiu' => $Round . '%',
'wbaoxiu' => $WRound . '%',
'jiankong' => count($jiankong),
'tongxin' => count($tongxin),
'peidian' => count($peidian),
'jizhong' => count($jizhong),
'shoufei' => count($shoufei),
'totaluser' => 35200,
'totalviews' => 219390,
'totalorder' => 32143,
'totalorderamount' => 174800,
'todayuserlogin' => 321,
'todayusersignup' => 430,
'todayorder' => 2324,
'unsettleorder' => 132,
'sevendnu' => '80%',
'sevendau' => '32%',
'paylist' => $paylist,
'createlist' => $createlist,
'addonversion' => $addonVersion,
'uploadmode' => $uploadmode,
]);
$ZhanDianArr = Db::name('zhandian')->select();
foreach ($ZhanDianArr as $k => $v) {
$data[$k]['id'] = $v['id'];
$data[$k]['zhandian_name'] = $v['zhandian'];
$BaoXiuZhandian = Db::name('baoxiudan')->where('zhandian_id', $v['id'])->where($map)->select();
$BaoxiuWancheng = Db::name('baoxiudan')->where('zhandian_id', $v['id'])->where($map)->where('type', 2)->select();
$BaoxiuWeiWancheng = Db::name('baoxiudan')->where('zhandian_id', $v['id'])->where($map)->where('type', 1)->select();
$Round = round(count($BaoxiuWancheng) / count($BaoxiuArr) * 100, 2);
$WRound = round(count($BaoxiuWeiWancheng) / count($BaoxiuArr) * 100, 2);
if (empty($BaoXiuZhandian)) {
$data[$k]['baoxiu_num'] = 0;
$data[$k]['BaoXiuStr'] = '';
$data[$k]['Round'] = '无记录';
$data[$k]['WRound'] = '无记录';
} else {
$data[$k]['baoxiu_num'] = count($BaoXiuZhandian);
foreach ($BaoXiuZhandian as $k1 => $v1) {
$StrArr[$k1] = $v1['colum'];
}
$data[$k]['BaoXiuStr'] = implode($StrArr, ',');
$data[$k]['Round'] = $Round;
$data[$k]['WRound'] = $WRound;
}
}
$this->view->assign("row", $data);
return $this->view->fetch();
}
}