Browse Source

重新计算成本

sunhao 5 years ago
parent
commit
a1979fb15b
2 changed files with 59 additions and 0 deletions
  1. 58 0
      app/Console/Commands/AfreshOrderCost.php
  2. 1 0
      app/Console/Kernel.php

+ 58 - 0
app/Console/Commands/AfreshOrderCost.php

@@ -0,0 +1,58 @@
1
+<?php 
2
+namespace App\Console\Commands;
3
+
4
+use Illuminate\Console\Command;
5
+use DB;
6
+use App\Order;
7
+use App\OrderGoodsSkus;
8
+use App\GoodsSkus;
9
+class AfreshOrderCost extends Command {
10
+
11
+    protected $signature = 'AfreshOrderCost';
12
+
13
+    /**
14
+     * The console command description.
15
+     *
16
+     * @var string
17
+     */
18
+    protected $description = '重洗C仓订单成本';
19
+
20
+
21
+    public function handle()
22
+    {
23
+        $this->AfreshOrderCost();
24
+    }
25
+
26
+    public function AfreshOrderCost(){
27
+        $order_list = Order::where('warehouse', 3)->where('is_del', 0)->where('status', '=', 3)->get();
28
+        foreach($order_list as $k=>$order){
29
+
30
+            $order_cost = 0;
31
+            //获取商品
32
+            $goods = OrderGoodsSkus::where('order_id', $order->id)->where('is_del', 0)->get();
33
+            foreach($goods as $good){
34
+                //获取sku成本
35
+                $sku = GoodsSkus::select('referenceCost', 'price')->where('id', $good->sku_id)->first();
36
+                if($good->send_num>=400){
37
+
38
+                    //修改订单商品信息
39
+                    $send_num = $good->send_num / 500;
40
+                    OrderGoodsSkus::where('id', $good->id)->update(['send_num'=>$send_num, 'price'=>$sku->price, 'num'=>$send_num]);
41
+                    $good->send_num = $send_num;
42
+                }
43
+
44
+                //重新计算订单成本
45
+                $order_cost += $good->send_num * $sku->referenceCost;
46
+
47
+            }
48
+            //更新成本
49
+            $res = Order::where('id', $order->id)->update(['cost'=>$order_cost]);
50
+            echo "\n".$order->id. ' 成本:'.$order_cost.' 结果:'.$res;
51
+        }
52
+        
53
+
54
+    }
55
+
56
+
57
+
58
+}

+ 1 - 0
app/Console/Kernel.php

@@ -34,6 +34,7 @@ class Kernel extends ConsoleKernel {
34 34
         'App\Console\Commands\DisRoiByDay60',
35 35
         'App\Console\Commands\SyncCustSaler',
36 36
         'App\Console\Commands\DayGrandTotal',
37
+        'App\Console\Commands\AfreshOrderCost',
37 38
 
38 39
         
39 40
     ];