作者 王晓刚
1 个管道 的构建 通过 耗费 2 秒

统计

... ... @@ -72,43 +72,80 @@ class StatisticsController extends AdminBaseController
$logistics = Db::name('logistics')->where(array('is_del'=>0))->select();
$receiver_data = Db::name('receiver')->where(array('is_del'=>0))->select();
$receiver_yesterday = [];
$receiver_today = [];
foreach($receiver_data as $key => $r_d){
//根据收货地址筛选前一天下单量
$receiver_place = Db::name('order')
$receiver_yesterday_place = Db::name('order')
->where(array('receiver_province'=>$r_d['receiver_province'],'receiver_city'=>$r_d['receiver_city'],'receiver_county'=>$r_d['receiver_county']))
->where($where)
->where('is_del',0)
->count();
$receiver_cancel = Db::name('order')
$receiver_yesterday_cancel = Db::name('order')
->where(array('receiver_province'=>$r_d['receiver_province'],'receiver_city'=>$r_d['receiver_city'],'receiver_county'=>$r_d['receiver_county']))
->where($where)
->where('status',-1)
->where('is_del',0)
->count();
$receiver_get = Db::name('order')
$receiver_yesterday_get = Db::name('order')
->where(array('receiver_province'=>$r_d['receiver_province'],'receiver_city'=>$r_d['receiver_city'],'receiver_county'=>$r_d['receiver_county']))
->where($where)
->where("status != 1 and status != -1")
->where('is_del',0)
->count();
$receiver_total_weight = Db::name('order')
$receiver_yesterday_total_weight = Db::name('order')
->where(array('receiver_province'=>$r_d['receiver_province'],'receiver_city'=>$r_d['receiver_city'],'receiver_county'=>$r_d['receiver_county']))
->where($where)
->where("status != 1 and status != -1")
->where('is_del',0)
->sum('total_weight');
$receiver_total_price = Db::name('order')
$receiver_yesterday_total_price = Db::name('order')
->where(array('receiver_province'=>$r_d['receiver_province'],'receiver_city'=>$r_d['receiver_city'],'receiver_county'=>$r_d['receiver_county']))
->where($where)
->where("status != 1 and status != -1")
->where('is_del',0)
->sum('total_price');
$receiver_yesterday[] = ["$r_d[receiver_county]"];
$receiver_yesterday[$key][] = $receiver_place;
$receiver_yesterday[$key][] = $receiver_cancel;
$receiver_yesterday[$key][] = $receiver_get;
$receiver_yesterday[$key][] = $receiver_total_weight;
$receiver_yesterday[$key][] = $receiver_total_price;
$receiver_yesterday[$key][] = $receiver_yesterday_place;
$receiver_yesterday[$key][] = $receiver_yesterday_cancel;
$receiver_yesterday[$key][] = $receiver_yesterday_get;
$receiver_yesterday[$key][] = $receiver_yesterday_total_weight;
$receiver_yesterday[$key][] = $receiver_yesterday_total_price;
//总体收货地址数据统计
$receiver_today_place = Db::name('order')
->where(array('receiver_province'=>$r_d['receiver_province'],'receiver_city'=>$r_d['receiver_city'],'receiver_county'=>$r_d['receiver_county']))
->where($where1)->where($where2)
->where('is_del',0)
->count();
$receiver_today_cancel = Db::name('order')
->where(array('receiver_province'=>$r_d['receiver_province'],'receiver_city'=>$r_d['receiver_city'],'receiver_county'=>$r_d['receiver_county']))
->where($where1)->where($where2)
->where('status',-1)
->where('is_del',0)
->count();
$receiver_today_get = Db::name('order')
->where(array('receiver_province'=>$r_d['receiver_province'],'receiver_city'=>$r_d['receiver_city'],'receiver_county'=>$r_d['receiver_county']))
->where($where1)->where($where2)
->where("status != 1 and status != -1")
->where('is_del',0)
->count();
$receiver_today_total_weight = Db::name('order')
->where(array('receiver_province'=>$r_d['receiver_province'],'receiver_city'=>$r_d['receiver_city'],'receiver_county'=>$r_d['receiver_county']))
->where($where1)->where($where2)
->where("status != 1 and status != -1")
->where('is_del',0)
->sum('total_weight');
$receiver_today_total_price = Db::name('order')
->where(array('receiver_province'=>$r_d['receiver_province'],'receiver_city'=>$r_d['receiver_city'],'receiver_county'=>$r_d['receiver_county']))
->where($where1)->where($where2)
->where("status != 1 and status != -1")
->where('is_del',0)
->sum('total_price');
$receiver_today[] = ["$r_d[receiver_county]"];
$receiver_today[$key][] = $receiver_today_place;
$receiver_today[$key][] = $receiver_today_cancel;
$receiver_today[$key][] = $receiver_today_get;
$receiver_today[$key][] = $receiver_today_total_weight;
$receiver_today[$key][] = $receiver_today_total_price;
}
//总体数据统计
$today_visit = Db::name('visit')->where($where1)->count();
... ... @@ -129,6 +166,7 @@ class StatisticsController extends AdminBaseController
'yesterday'=>json_encode($yesterday),
'receiver_yesterday'=>$receiver_yesterday,
'today'=>json_encode($today),
'receiver_today'=>$receiver_today,
]);
$this->assign('start_time', isset($param['start_time']) ? $param['start_time'] : '');
$this->assign('end_time', isset($param['end_time']) ? $param['end_time'] : '');
... ...
... ... @@ -220,6 +220,49 @@
]
};
myChart3.setOption(option3);
//总体收货地址数据统计
var myChart4 = echarts.init(document.getElementById('main4'));
option4 = {
title: {
text: '前一天收货地址数据统计',
subtext: 'Feature Sample: Gradient Color, Shadow, Click Zoom'
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'category',
},
yAxis: {
type: 'value',
boundaryGap: [0, 0.01]
},
dataset: {
source: [
['product','下单数','取消数','取件数','总重量','快递费'],
<foreach name="$receiver_today" item="r_t">
{:json_encode($r_t,JSON_UNESCAPED_UNICODE)},
</foreach>
]
},
series: [
{type: 'bar'},
{type: 'bar'},
{type: 'bar'},
{type: 'bar'},
{type: 'bar'},
]
};
myChart4.setOption(option4);
</script>
</body>
</html>
\ No newline at end of file
... ...