shish 4 سال پیش
والد
کامیت
126ef480b8
3فایلهای تغییر یافته به همراه31 افزوده شده و 3 حذف شده
  1. 7 0
      biz-ghs/order/classes/OrderItemClass.php
  2. 3 2
      biz-ghs/product/classes/ProductClass.php
  3. 21 1
      biz/stat/classes/StatBookClass.php

+ 7 - 0
biz-ghs/order/classes/OrderItemClass.php

@@ -3,6 +3,7 @@
 namespace bizGhs\order\classes;
 
 use biz\product\classes\XjClass;
+use biz\stat\classes\StatBookClass;
 use bizGhs\custom\classes\CustomClass;
 use bizGhs\product\classes\ProductClass;
 use bizGhs\stock\classes\StockRecordClass;
@@ -62,6 +63,12 @@ class OrderItemClass extends BaseClass
         foreach ($product as $key => $val) {
             $val['orderSn'] = $orderSn;
             $item = self::add($val, true);
+
+            if ($stockMayChange == false) {
+                //预订单库存延后变化
+                StatBookClass::bookOrderAdd($val);
+            }
+
             $currentId = $item->id ?? 0;
             if (isset($item->variety) && $item->variety == 1) {
                 //小菊

+ 3 - 2
biz-ghs/product/classes/ProductClass.php

@@ -666,9 +666,9 @@ class ProductClass extends BaseClass
             $currentProduct = $productData[$productId] ?? [];
             $itemPrice = self::getFinalPrice($currentProduct, $level, $priceMap, $addPriceMap, $changePrice);
 
-            if($smallNum > 0){
+            if ($smallNum > 0) {
                 $price = bcmul($smallNum, $itemPrice, 2);
-            }else{
+            } else {
                 $price = bcmul($bigNum, $itemPrice, 2);
             }
 
@@ -699,6 +699,7 @@ class ProductClass extends BaseClass
             $tmp['weight'] = $productData[$productId]['weight'] ?? 0;
             $tmp['sjId'] = $productData[$productId]['sjId'] ?? 0;
             $tmp['shopId'] = $productData[$productId]['shopId'] ?? 0;
+            $tmp['mainId'] = $productData[$productId]['mainId'] ?? 0;
             $tmp['smallUnitPrice'] = $itemPrice;
 
 

+ 21 - 1
biz/stat/classes/StatBookClass.php

@@ -3,11 +3,31 @@
 namespace biz\stat\classes;
 
 use biz\base\classes\BaseClass;
-use common\components\util;
 
 class StatBookClass extends BaseClass
 {
 
     public static $baseFile = '\biz\stat\models\StatBook';
 
+    //预订单统计 ssh 20220402
+    public static function bookOrderAdd($info, $date = null)
+    {
+        $mainId = $info['mainId'] ?? 0;
+        $itemId = $info['productId'] ?? 0;
+        $ptItemId = $info['itemId'] ?? 0;
+        //预订单只会有大单位
+        $num = $info['xhNum'] ?? 0;
+        $name = $info['name'] ?? '';
+        $time = $date == null ? date('Ymd') : $date;
+        $stat = self::getByCondition(['mainId' => $mainId, 'itemId' => $itemId, 'time' => $time], true);
+        if (empty($stat)) {
+            $stat = self::add(['mainId' => $mainId, 'time' => $time, 'ptItemId' => $ptItemId, 'name' => $name], true);
+        }
+        $id = $stat->id;
+        $unique = self::getLockById($id);
+        $currentNum = bcadd($unique->num, $num, 2);
+        $unique->num = $currentNum;
+        $unique->save();
+    }
+
 }