Browse Source

分销发货单

sunhao 5 years ago
parent
commit
945301ab1f

+ 136 - 0
app/Http/Controllers/Admin/FxStatisticsController.php

@@ -0,0 +1,136 @@
1
+<?php
2
+/**
3
+ * Created by Sublime.
4
+ * User: hao
5
+ * Date: 19/08/30
6
+ * Time: 上午11:20
7
+ */
8
+namespace App\Http\Controllers\Admin;
9
+
10
+use App\Http\Controllers\Controller;
11
+use App\Logs;
12
+use App\Order;
13
+use App\FxOrder;
14
+use App\FxOrderGoodsSkus;
15
+use App\Admin;
16
+use App\Goods;
17
+use App\GoodsSkus;
18
+use App\RedisModel as Redis;
19
+use Illuminate\Http\Request;
20
+use Illuminate\Support\Facades\DB;
21
+
22
+class FxStatisticsController extends Controller
23
+{
24
+     /**
25
+     * 发货财务明细
26
+     */
27
+    public function sendFinanceList(Request $request){
28
+        $team_id = (int)$request->input('team_id');
29
+        //分銷商只能看自己团队
30
+        $self_id = session('admin_id');
31
+        $team_id = Admin::where('id', $self_id)->pluck('team_id');
32
+        $stime = $request->input('stime');
33
+        $etime = $request->input('etime');
34
+        $warehouse = 3;
35
+
36
+        $page = (int)$request->input('page');
37
+        $pageSize = 20;
38
+        if($page<=0){
39
+            $page = 1;
40
+        }
41
+
42
+        $offset = ($page-1) * $pageSize;
43
+
44
+        $count = FxOrder::where(function($query) use($team_id, $stime, $etime, $warehouse){
45
+            if($team_id) $query->where('team_id', $team_id);
46
+            if($warehouse) $query->where('warehouse', $warehouse);
47
+            if($stime) $query->where('send_time', '>=', $stime);
48
+            if($etime) $query->where('send_time', '<=', $etime);
49
+
50
+        })->where('is_del', 0)->where('status','>=',2)->where('logistics_id', '>', '')->count();
51
+        if ($count > 1) {
52
+            // 总页数
53
+            $pages = ceil($count/$pageSize);
54
+        }else{
55
+            // 总页数
56
+            $pages = 1;
57
+        }
58
+
59
+        $teams = DB::table('teams')->lists('name', 'id');
60
+        $resultQuery = FxOrder::select('team_id', 'createTime', 'id', 'receivedAmount', 'cost', 'freight_cost', 'payment_type', 'send_time', 'warehouse', 'receiverName', 'logistics_id')->where(function($query) use($team_id, $stime, $etime, $warehouse){
61
+            if($team_id) $query->where('team_id', $team_id);
62
+            if($warehouse) $query->where('warehouse', $warehouse);
63
+            if($stime ) $query->where('send_time', '>=', $stime);
64
+            if($etime ) $query->where('send_time', '<=', $etime);
65
+        })->where('is_del', 0)->where('status','>=',2)->where('logistics_id', '>', '');
66
+
67
+        $result = $resultQuery->orderBy('send_time','desc')->offset($offset)->limit($pageSize)->get();
68
+        
69
+        $result = json_decode(json_encode($result), true);
70
+        $payArr = [1=>'微信支付', 2=>'付款码支付', 3=>'个体户支付', 4=>'充值卡支付'];
71
+        $wareArr = array(
72
+            0 => '其他',
73
+            1 => 'A仓',
74
+            2 => 'B仓',
75
+            3 => 'C仓',
76
+        );
77
+        foreach($result as $k=>&$v){
78
+            $v['team_name'] = $v['team_id']>0 ? $teams[$v['team_id']] : '';;            
79
+            $v['payment_type'] = $payArr[$v['payment_type']];
80
+            $v['ctime'] = $v['send_time'];
81
+            $v['warehouse'] = $wareArr[$v['warehouse']];
82
+        }
83
+
84
+        return view('/fxstatistics/sendFinanceList',[
85
+            'result'   =>   $result,
86
+            'team_id'   =>   $team_id,
87
+            'stime'   =>   $stime,
88
+            'etime'   =>   $etime,
89
+            'page'   =>   $page,
90
+            'count'   =>   $count,
91
+            'pages'   =>   $pages,
92
+        ]);
93
+    } 
94
+
95
+     /**
96
+     * 发货财务明细
97
+     */
98
+    public function sendFinanceList_export(Request $request){
99
+        $team_id = (int)$request->input('team_id');
100
+        $self_id = session('admin_id');
101
+        $team_id = Admin::where('id', $self_id)->pluck('team_id');
102
+        $stime = $request->input('stime');
103
+        $etime = $request->input('etime');
104
+        $warehouse = 3;
105
+        
106
+        $teams = DB::table('teams')->lists('name', 'id');
107
+        $resultQuery = FxOrder::select('team_id', 'createTime', 'id', 'receivedAmount', 'cost', 'freight_cost', 'payment_type', 'send_time', 'warehouse', 'receiverName', 'logistics_id')->where(function($query) use($team_id, $stime, $etime, $warehouse){
108
+            if($team_id) $query->where('team_id', $team_id);
109
+            if($warehouse) $query->where('warehouse', $warehouse);
110
+            if($stime ) $query->where('send_time', '>=', $stime);
111
+            if($etime ) $query->where('send_time', '<=', $etime);
112
+        })->where('is_del', 0)->where('status','>=',2)->where('logistics_id', '>', '');
113
+
114
+        $result = $resultQuery->orderBy('send_time','desc')->get();
115
+        
116
+        $result = json_decode(json_encode($result), true);
117
+        $payArr = [1=>'微信支付', 2=>'付款码支付', 3=>'个体户支付', 4=>'充值卡支付'];
118
+        $wareArr = array(
119
+            0 => '其他',
120
+            1 => 'A仓',
121
+            2 => 'B仓',
122
+            3 => 'C仓',
123
+        );
124
+        foreach($result as $k=>&$v){
125
+            $v['team_name'] = $v['team_id']>0 ? $teams[$v['team_id']] : '';;            
126
+            $v['payment_type'] = $payArr[$v['payment_type']];
127
+            $v['ctime'] = $v['send_time'];
128
+            $v['warehouse'] = $wareArr[$v['warehouse']];
129
+        }
130
+
131
+        $indexKey = ['team_name','ctime','id','receivedAmount', 'cost', 'freight_cost', 'payment_type', 'receiverName', 'logistics_id'];      
132
+        $title = ['团队', '发货时间', '订单编号', '成交金额','货品成本', '物流成本', '支付方式', '收货人', '物流单号'];
133
+        $filename = 'fahuomingxi_'.date('Y-m-d_H').'.xlsx';
134
+        return Order::export_excel($result, $filename, $indexKey, $title);
135
+    }                                                                          
136
+}

+ 3 - 0
app/Http/routes.php

@@ -194,6 +194,9 @@ Route::group(['prefix' => 'admin'], function(){
194 194
         Route::get('/statistics/refundFinanceList', 'Admin\StatisticsController@refundFinanceList');
195 195
         Route::get('/statistics/sendFinanceList', 'Admin\StatisticsController@sendFinanceList');
196 196
 
197
+        Route::get('/fxstatistics/sendFinanceList', 'Admin\FxStatisticsController@sendFinanceList');
198
+        Route::get('fxstatistics/sendFinanceList_export', 'Admin\FxStatisticsController@sendFinanceList_export');
199
+
197 200
         Route::get('/statistics/aftersaleFinanceList_export', 'Admin\StatisticsController@aftersaleFinanceList_export');
198 201
         Route::get('/statistics/refundFinanceList_export', 'Admin\StatisticsController@refundFinanceList_export');
199 202
         Route::get('/statistics/sendFinanceList_export', 'Admin\StatisticsController@sendFinanceList_export');

+ 2 - 0
resources/views/admin/index.blade.php

@@ -117,6 +117,8 @@
117 117
                         <li @if(!isset($res['statistics/depositDayReport'])) style="display:none;list-style-type:none;" @endif><a data-href="{{url('admin/statistics/depositDetail')}}" data-title="充值卡充值明细" href="javascript:void(0)">充值卡充值明细</a></li>
118 118
                         <li @if(!isset($res['statistics/depositDayReport'])) style="display:none;list-style-type:none;" @endif><a data-href="{{url('admin/statistics/consumDetail')}}" data-title="充值卡消费明细" href="javascript:void(0)">充值卡消费明细</a></li>
119 119
                         <li @if(!isset($res['statistics/depositDayReport'])) style="display:none;list-style-type:none;" @endif><a data-href="{{url('admin/statistics/customerMonthAccount')}}" data-title="客户充值消费月报" href="javascript:void(0)">客户充值消费月报</a></li>
120
+                        
121
+                        <li @if(!isset($res['fxstatistics/sendFinanceList'])) style="display:none;list-style-type:none;" @endif><a data-href="{{url('admin/fxstatistics/sendFinanceList')}}" data-title="分销发货订单财务明细" href="javascript:void(0)">分销发货订单财务明细</a></li>
120 122
                     </ul>
121 123
                 </dd>
122 124
             </dl>

+ 97 - 0
resources/views/fxstatistics/sendFinanceList.blade.php

@@ -0,0 +1,97 @@
1
+@extends('admin/master')
2
+@section('content')
3
+    <body>
4
+    <div class="page-container">
5
+        <div>
6
+            <div>                          
7
+                <input class="input-text" style="width:6%;text-align:center" type="text" value="开始时间"/>
8
+                <input id="stime" type="text" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd' })" autocomplete="off" class="input-text Wdate" style="width:12%;text-align:center;margin-left: -5px" name="stime" value="{{$stime?$stime:''}}">
9
+                <input class="input-text" style="width:6%;text-align:center" type="text" value="结束时间"/>
10
+                <input id="etime"type="text" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd' })" autocomplete="off" class="input-text Wdate" style="width:12%;text-align:center;margin-left: -5px" name="etime" value="{{$etime?$etime:''}}">
11
+                              
12
+                <a class="btn btn-primary radius"  style="margin-left: 5px" onclick="user_search()" href="javascript:;">搜索</a>
13
+                <a class="btn btn-primary radius" onclick="statistics_export()" href="javascript:;"><i class="Hui-iconfont"></i> 导出数据</a>
14
+                
15
+            </div>
16
+        </div>
17
+        
18
+        <div class="mt-20">
19
+            <table class="table table-border table-bordered table-bg table-hover table-sort">
20
+                <thead>
21
+                <tr class="text-c">
22
+                    <th width="5%">团队</th>
23
+                    <th width="5%">发货时间</th>
24
+                    <th width="5%">订单编号</th>
25
+                    <th width="5%">成交金额</th>                
26
+                    <th width="5%">货品成本</th>                
27
+                    <th width="5%">物流成本</th>                
28
+                                               
29
+                    <th width="5%">支付方式</th>                                                                                                
30
+                    <th width="5%">收货人</th>                                                
31
+                    <th width="5%">物流单号</th>                                                
32
+                </tr>
33
+                </thead>
34
+                <tbody>
35
+                @if($result)
36
+                    @foreach($result as $a)
37
+                        <tr class="text-c" style=" text-align:center;">                           
38
+                            <td>{{$a['team_name']}}</td>                            
39
+                            <td>{{$a['ctime']}}</td>
40
+                            <td>{{$a['id']}}</td>
41
+                            <td>{{$a['receivedAmount']}}</td>                      
42
+                            <td>{{$a['cost']}}</td>                      
43
+                            <td>{{$a['freight_cost']}}</td>                      
44
+
45
+                            <td>{{$a['payment_type']}}</td>
46
+                            <td>{{$a['receiverName']}}</td>
47
+                            <td>{{$a['logistics_id']}}</td>
48
+
49
+                        </tr>
50
+                    @endforeach
51
+                @endif
52
+                </tbody>
53
+            </table>
54
+        </div>
55
+        <div id="page" class="page_div"></div>
56
+    </div>
57
+    
58
+    <!--_footer 作为公共模版分离出去-->
59
+    <script type="text/javascript" src="/admin/lib/jquery/1.9.1/jquery.min.js"></script>
60
+    <script type="text/javascript" src="/admin/lib/layer/2.4/layer.js"></script>
61
+    <script type="text/javascript" src="/admin/static/h-ui/js/H-ui.min.js"></script>
62
+    <script type="text/javascript" src="/admin/static/h-ui.admin/js/H-ui.admin.js"></script>
63
+    <script type="text/javascript" src="/admin/lib/page/paging.js"></script>
64
+    <script type="text/javascript" src="/admin/lib/My97DatePicker/4.8/WdatePicker.js"></script>
65
+    <!--/_footer 作为公共模版分离出去-->
66
+    <!--/_footer 作为公共模版分离出去-->
67
+     <script type="text/javascript">
68
+        function user_search(){
69
+            var stime = $('#stime').val();
70
+            var etime = $('#etime').val();
71
+            location.href = 'sendFinanceList?stime='+stime+'&etime='+etime;
72
+        }
73
+        //导出
74
+        function statistics_export(){
75
+            var stime = $('#stime').val();
76
+            var etime = $('#etime').val();
77
+            location.href = '/admin/fxstatistics/sendFinanceList_export?stime='+stime+'&etime='+etime;
78
+        }
79
+       
80
+        /*分页*/
81
+            
82
+        $("#page").paging({
83
+            pageNo:{{$page}},
84
+            totalPage: {{$pages}},
85
+            totalSize: {{$count}},
86
+            callback: function(num) {
87
+                var stime = $('#stime').val();
88
+                var etime = $('#etime').val();
89
+                location.href='sendFinanceList?page='+num+'&stime='+stime+'&etime='+etime;
90
+            }
91
+        })
92
+        
93
+    </script>
94
+   
95
+    </body>
96
+
97
+@endsection