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

统计

... ... @@ -542,118 +542,58 @@ class OrderController extends AdminBaseController
->setCellValue("AC$n", "$v[receiver_address] ")
->setCellValue("AD$n", "$status");
}
dump($a);
exit();
$msgWorkSheet = new \PHPExcel_Worksheet($PHPExcel, 'card_message'); //创建一个工作表
$PHPExcel->addSheet($msgWorkSheet); //插入工作表
$PHPSheet2 = $PHPExcel->setActiveSheetIndex(1); //切换到新创建的工作表
$PHPSheet2->setTitle('订单信息2'); //给当前活动sheet设置名称
$PHPSheet2->setCellValue('A1', 'ID')
->setCellValue('B1', '物流公司')
->setCellValue('C1', '订单号')
->setCellValue('D1', '运单号')
->setCellValue('E1', '预约时间')
->setCellValue('F1', '下单时间')
->setCellValue('G1', '取货时间')
->setCellValue('H1', '到达时间')
->setCellValue('I1', '到达分拣厂时间')
->setCellValue('J1', '分类时间')
->setCellValue('K1', '再生时间')
->setCellValue('L1', '总重量(单位:千克)')
->setCellValue('M1', '总体积(单位:立方米)')
->setCellValue('N1', '包装费(单位:¥)')
->setCellValue('O1', '运费(单位:¥)')
->setCellValue('P1', '总价格(单位:¥)')
->setCellValue('Q1', '备注')
->setCellValue('R1', '发货人姓名')
->setCellValue('S1', '发货人电话')
->setCellValue('T1', '发货省')
->setCellValue('U1', '发货市')
->setCellValue('V1', '发货区/县')
->setCellValue('W1', '发货详细地址')
->setCellValue('X1', '收货人姓名')
->setCellValue('Y1', '收货人电话')
->setCellValue('Z1', '收货省')
->setCellValue('AA1', '收货市')
->setCellValue('AB1', '收货区/县')
->setCellValue('AC1', '收货详细地址')
->setCellValue('AD1', '订单状态');
foreach ($data as $k => $v) {
$n = $k + 2;
$low_time = date('Y-m-d H:i:s',$v['low_time']);//下单时间
if(!empty($v['get_time'])){
$get_time = date('Y-m-d H:i:s',$v['get_time']);//取货时间
}else{
$get_time = '';
}
if(!empty($v['reach_time'])){
$reach_time = date('Y-m-d H:i:s',$v['reach_time']);//到达时间
}else{
$reach_time = '';
}
if(!empty($v['lv_time'])){
$lv_time = date('Y-m-d H:i:s',$v['lv_time']);//到达分拣厂
}else{
$lv_time = '';
}
if(!empty($v['classify_time'])){
$classify_time = date('Y-m-d H:i:s',$v['classify_time']);//分类时间
}else{
$classify_time = '';
}
if(!empty($v['rebirth_time'])){
$rebirth_time = date('Y-m-d H:i:s',$v['rebirth_time']);//再生时间
}else{
$rebirth_time = '';
}
if($v['status'] == 1){
$status = '已下单';
}else if($v['status'] == 2){
$status = '已取货';
}else if($v['status'] == 3){
$status = '已到达';
}else if($v['status'] == 4){
$status = '已到达分拣厂';
}else if($v['status'] == 5){
$status = '已分类';
}else if($v['status'] == 6){
$status = '已再生';
}else if($v['status'] == -1){
$status = '已取消';
}
$PHPSheet2->setCellValue("A$n", "$v[id] ")
->setCellValue("B$n", "$v[logistics_name]")
->setCellValue("C$n", "$v[order_number] ")
->setCellValue("D$n", "$v[mail_no] ")
->setCellValue("E$n", "$v[time]")
->setCellValue("F$n", "$low_time")
->setCellValue("G$n", "$get_time")
->setCellValue("H$n", "$reach_time")
->setCellValue("I$n", "$lv_time")
->setCellValue("J$n", "$classify_time")
->setCellValue("K$n", "$rebirth_time")
->setCellValue("L$n", "$v[total_weight] ")
->setCellValue("M$n", "$v[total_volume] ")
->setCellValue("N$n", "$v[package_service_price] ")
->setCellValue("O$n", "$v[transport_price] ")
->setCellValue("P$n", "$v[total_price] ")
->setCellValue("Q$n", "$v[remark]")
->setCellValue("R$n", "$v[sender_name]")
->setCellValue("S$n", "$v[sender_phone] ")
->setCellValue("T$n", "$v[sender_province] ")
->setCellValue("U$n", "$v[sender_city] ")
->setCellValue("V$n", "$v[sender_county] ")
->setCellValue("W$n", "$v[sender_address] ")
->setCellValue("X$n", "$v[receiver_name] ")
->setCellValue("Y$n", "$v[receiver_phone] ")
->setCellValue("Z$n", "$v[receiver_province] ")
->setCellValue("AA$n", "$v[receiver_city] ")
->setCellValue("AB$n", "$v[receiver_county] ")
->setCellValue("AC$n", "$v[receiver_address] ")
->setCellValue("AD$n", "$status");
$PHPSheet2->setTitle('数据统计信息'); //给当前活动sheet设置名称
$PHPSheet2->setCellValue('A1', '访问量')
->setCellValue('B1', '下单数')
->setCellValue('C1', '取消数')
->setCellValue('D1', '取货数')
->setCellValue('E1', '总重量(单位:千克)')
->setCellValue('F1', '总价格(单位:¥)')
->setCellValue('G1', '时间段')
->setCellValue('H1', '时间段')
->setCellValue('I1', '快递公司')
->setCellValue('J1', '关键字')
->setCellValue('K1', '收货地址');
if(!empty($param['start_time'])){
$start_time = $param['start_time'];
}else{
$start_time = '';
}
if(!empty($param['end_time'])){
$end_time = $param['end_time'];
}else{
$end_time = '';
}
if (!empty($logistics_id)) {
$logistics = Db::name('logistics')->where('id',$logistics_id)->find();
$logistics_name = $logistics['logistics_name'];
}else{
$logistics_name = '';
}
if (!empty($keyword)) {
$keyword = $keyword;
}else{
$keyword = '';
}
if (!empty($receiver)) {
$receiver = implode('|',$receiver);
}else{
$receiver = '';
}
$PHPSheet->setCellValue("A2", "$visit ")
->setCellValue("B2", "$place ")
->setCellValue("C2", "$cancel ")
->setCellValue("D2", "$get ")
->setCellValue("E2", "$total_weight ")
->setCellValue("F2", "$total_price ")
->setCellValue("G2", "$start_time ")
->setCellValue("H2", "$end_time ")
->setCellValue("I2", "$logistics_name")
->setCellValue("J2", "$keyword")
->setCellValue("K2", "$receiver");
$PHPSheet1->getDefaultColumnDimension()->setWidth(20);//设置默认宽度
$PHPSheet2->getDefaultColumnDimension()->setWidth(20);//设置默认宽度
$PHPWriter = PHPExcel_IOFactory::createWriter($PHPExcel,'Excel2007');//按照指定格式生成Excel文件,‘Excel2007'表示生成2007版本的xlsx,
... ...
... ... @@ -113,30 +113,30 @@ class StatisticsController extends AdminBaseController
//总体收货地址数据统计
$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($where1)
->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($where1)
->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($where1)
->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($where1)
->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($where1)
->where("status != 1 and status != -1")
->where('is_del',0)
->sum('total_price');
... ...