sunhao 5 years ago
parent
commit
0eae9d1084

+ 63 - 0
app/Http/Controllers/Admin/OrderController.php

@@ -1545,6 +1545,69 @@ class OrderController extends Controller
1545 1545
     }
1546 1546
 
1547 1547
     /**
1548
+     * excel导入订单运费信息
1549
+     * @param Request $request
1550
+     */
1551
+    public function importDeliveryExcel(Request $request) {
1552
+        $excelFile = $request->file('orderFile');
1553
+        //实例化Excel读取类
1554
+        $objReader = new PHPExcel_Reader_Excel2007();
1555
+
1556
+        if(!$objReader->canRead($excelFile)){
1557
+            $objReader = new PHPExcel_Reader_Excel5();
1558
+            if(!$objReader->canRead($excelFile)){
1559
+                return redirect('admin/order/warehouse')->with('info','无法识别的Excel文件!');
1560
+            }
1561
+        }
1562
+        $objPHPExcel=$objReader->load($excelFile);
1563
+        $worksheet=$objPHPExcel->getSheet(0);//获取第一个工作表
1564
+        $highestRow=$worksheet->getHighestRow();//取得总行数
1565
+        $highestColumn=$worksheet->getHighestColumn(); //取得总列数
1566
+
1567
+        $lines = $highestRow - 1;
1568
+        if ($lines <= 0) {
1569
+            //'Excel表格中没有数据';
1570
+            return false;
1571
+        }
1572
+
1573
+        $errorArr=[];
1574
+        $okStr = '';
1575
+        for ($row = 2; $row <= $highestRow; ++$row) {
1576
+            $logistics_id = trim($worksheet->getCellByColumnAndRow(1, $row)->getValue()); 
1577
+            $freight_cost = trim($worksheet->getCellByColumnAndRow(13, $row)->getValue());
1578
+           //var_dump($logistics_id,$freight_cost);exit;
1579
+            if($freight_cost>0){
1580
+                $params['freight_cost'] = $freight_cost;
1581
+                $result = Order::where('logistics_id', $logistics_id)->update($params);
1582
+                if (!$result) {
1583
+                    $errorArr[] = $logistics_id;
1584
+                }else{
1585
+                    $okStr .= $logistics_id.',';
1586
+                }
1587
+            }
1588
+            
1589
+        }
1590
+        if (count($errorArr)) {
1591
+            $desc = '共'.($highestRow-1).'个物流单, 其中'.($highestRow-1-count($errorArr)).'个物流单导入成功';
1592
+        }else {
1593
+            $desc = '订单导入成功';
1594
+        }
1595
+
1596
+        #记录操作日志
1597
+        $self_id = session('admin_id');
1598
+        $self_name = session('real_name');            
1599
+        $context = "excel导入订单物流成本 ".$desc;
1600
+        $type = 0; 
1601
+        $tables = 'order';
1602
+        $data_id = $okStr;
1603
+        Oplog::addLog($self_id, $self_name, $context, $type, $tables, $data_id);
1604
+
1605
+        return redirect('admin/order/warehouse')->with('info',$desc);
1606
+        
1607
+
1608
+    }
1609
+
1610
+    /**
1548 1611
      * 导出excel
1549 1612
      * @param $data
1550 1613
      * @param string 

+ 1 - 0
app/Http/routes.php

@@ -70,6 +70,7 @@ Route::group(['prefix' => 'admin'], function(){
70 70
         Route::get('/order/warehouse', 'Admin\OrderController@warehouse');
71 71
         Route::get('/order/predictOrder', 'Admin\OrderController@predictOrder'); //预售订单
72 72
         Route::post('/order/importGoodsExcel', 'Admin\OrderController@importGoodsExcel'); //仓管导入订单成本,物流单号
73
+        Route::post('/order/importDeliveryExcel', 'Admin\OrderController@importDeliveryExcel'); //仓管导入订单成本,物流单号
73 74
         Route::get('/order/warehouse_export', 'Admin\OrderController@warehouse_export'); //仓管订单导出
74 75
         Route::get('/order/order_export', 'Admin\OrderController@order_export');
75 76
         Route::get('/order/create', 'Admin\OrderController@ordercreate');

+ 30 - 0
resources/views/order/warehouselist.blade.php

@@ -31,6 +31,7 @@
31 31
                     <a class="btn btn-primary radius" onclick="user_search()" href="javascript:;">搜索</a>
32 32
                     <a class="btn btn-primary radius" onclick="order_export()" href="javascript:;">导出订单</a>
33 33
                     <a class="btn btn-primary radius" onclick="importExcel('商品导入')" href="javascript:;"> 导入订单</a>
34
+                    <a class="btn btn-primary radius" onclick="importDeliveryExcel('物流导入')" href="javascript:;"> 导入物流成本</a>
34 35
                     <a class="btn btn-primary radius" onclick="window.location.reload();" href="javascript:;"> 刷新</a>
35 36
                 </div>
36 37
             </div>
@@ -151,6 +152,30 @@
151 152
                 </div>
152 153
             </div>
153 154
         </div>
155
+
156
+        <div id="modal-demo12" class="modal fade" tabnonautomatic_index="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
157
+            <div class="modal-dialog">
158
+                <div class="modal-content radius">
159
+                    <div class="modal-body" style="height:80px">
160
+                        <div class="cl pd-5 bg-1 bk-gray mt-20">
161
+                            <div class="panel-heading">上传文件</div>
162
+                            <form class="form-horizontal" method="POST" action="/admin/order/importDeliveryExcel" enctype="multipart/form-data">
163
+                                <input type="hidden" name="_token" value="{{ csrf_token() }}" />
164
+                                <label for="file">选择文件</label>
165
+                                <input id="file" type="file" class="form-control" name="orderFile" required>
166
+                                <button type="submit" class="btn btn-primary radius">确定</button>
167
+                                <button class="btn radius" data-dismiss="modal" aria-hidden="true">关闭</button>
168
+                            </form>
169
+                        </div>
170
+                        <br>
171
+                        {{--<div style="float:right">--}}
172
+                            {{--<button class="btn btn-primary radius" onclick='submits(this,"{{$page}}")' value="&nbsp;&nbsp;确定&nbsp;&nbsp;">&nbsp;&nbsp;确定&nbsp;&nbsp;</button>&nbsp;--}}
173
+                            {{--<button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>--}}
174
+                        {{--</div>--}}
175
+                    </div>
176
+                </div>
177
+            </div>
178
+        </div>
154 179
         
155 180
         <div id="page" class="page_div"></div>
156 181
     </div>
@@ -353,6 +378,11 @@
353 378
             $("#modal-demo1").modal("show");
354 379
         }
355 380
 
381
+        //批量导入
382
+        function importDeliveryExcel(){
383
+            $("#modal-demo12").modal("show");
384
+        }
385
+
356 386
          $(".change_logistics_id").mouseover(
357 387
             function(){
358 388
                 $(this).children("span").show();