shish 3 سال پیش
والد
کامیت
688225f3f7
1فایلهای تغییر یافته به همراه35 افزوده شده و 0 حذف شده
  1. 35 0
      console/controllers/InitController.php

+ 35 - 0
console/controllers/InitController.php

@@ -4,10 +4,45 @@ namespace console\controllers;
 
 use biz\item\classes\UnitClass;
 use biz\product\classes\ProductClass;
+use bizGhs\order\classes\StockInOrderClass;
+use bizGhs\order\classes\StockOutOrderClass;
+use bizGhs\order\classes\StockOutOrderItemClass;
 use yii\console\Controller;
 
 class InitController extends Controller
 {
 
+    public function actionOut()
+    {
+        ini_set('memory_limit', '2045M');
+        set_time_limit(0);
+        $list = StockOutOrderClass::getAllByCondition(['addTime>' => '2022-11-10 00:00:00'], null, '*', null, true);
+        if (empty($list)) {
+            return false;
+        }
+        foreach ($list as $out) {
+            $orderSn = $out->orderSn ?? '';
+            $inOrderSn = $out->inOrderSn ?? '';
+            $in = StockInOrderClass::getByCondition(['orderSn' => $inOrderSn], true);
+            if (empty($in)) {
+                echo $orderSn . " 没有找到入库记录\n";
+            }
+            $itemList = StockOutOrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
+            $totalCost = 0;
+            if (!empty($itemList)) {
+                foreach ($itemList as $item) {
+                    $itemNum = $item->itemNum ?? 0;
+                    $itemPrice = $item->itemPrice ?? 0;
+                    $current = bcmul($itemNum, $itemPrice, 2);
+                    $totalCost = bcadd($totalCost, $current, 2);
+                }
+            }
+            $in->price = $totalCost;
+            $in->save();
+            $out->price = $totalCost;
+            $out->save();
+            echo $orderSn . " 总成本{$totalCost}\n";
+        }
+    }
 
 }