Ver Fonte

减少预订

shish há 2 anos atrás
pai
commit
c1590ec6f5

+ 10 - 10
app-ghs/controllers/OrderItemController.php

@@ -74,21 +74,21 @@ class OrderItemController extends BaseController
                 if ($info->orderSn != $order->orderSn) {
                     continue;
                 }
-                $productId = $info->productId??0;
-                $preNum = $info->xhNum??0;
+                $productId = $info->productId ?? 0;
+                $preNum = $info->xhNum ?? 0;
                 //新增预订花材
-                if($xhNum>$preNum){
-                    $diffNum = bcsub($xhNum,$preNum);
+                if ($xhNum > $preNum) {
+                    $diffNum = bcsub($xhNum, $preNum);
                     $addData[] = [
-                        'productId' =>$productId,
+                        'productId' => $productId,
                         'num' => $diffNum,
                     ];
                 }
                 //删除预订花材
-                if($preNum>$xhNum) {
-                    $diffNum = bcsub($preNum,$xhNum);
+                if ($preNum > $xhNum) {
+                    $diffNum = bcsub($preNum, $xhNum);
                     $delData[] = [
-                        'productId' =>$productId,
+                        'productId' => $productId,
                         'num' => $diffNum,
                     ];
                 }
@@ -102,10 +102,10 @@ class OrderItemController extends BaseController
             $order->sendCost = $sendCost;
             $order->save();
 
-            if(!empty($addData)){
+            if (!empty($addData)) {
                 BookItemClass::addBatchItem($addData, $order);
             }
-            if(!empty($delData)){
+            if (!empty($delData)) {
                 BookItemClass::delBathItem($delData, $order);
             }
 

+ 9 - 3
biz-ghs/book/classes/BookItemClass.php

@@ -58,7 +58,7 @@ class BookItemClass extends BaseClass
                 }
             }
 
-            $bookItemCustomRes = BookItemCustomClass::getByCondition(['mainId' => $mainId, 'bookSn' => $bookSn, 'customId' => $customId, 'itemId' => $itemId], true);
+            $bookItemCustomRes = BookItemCustomClass::getByCondition(['bookSn' => $bookSn, 'customId' => $customId, 'itemId' => $itemId], true);
             if (empty($bookItemCustomRes)) {
                 $currentData = [
                     'name' => $name,
@@ -83,7 +83,7 @@ class BookItemClass extends BaseClass
             }
             $bookItemCustomRes->bookNum = $thisNum;
 
-            $bookItemRes = self::getByCondition(['mainId' => $mainId, 'bookSn' => $bookSn, 'itemId' => $itemId,], true);
+            $bookItemRes = self::getByCondition(['bookSn' => $bookSn, 'itemId' => $itemId,], true);
             if (empty($bookItemRes)) {
                 $statData = [
                     'mainId' => $mainId,
@@ -105,7 +105,7 @@ class BookItemClass extends BaseClass
             }
             $bookItemRes->bookNum = $currentNum;
 
-            $bookCustomRes = BookCustomClass::getByCondition(['mainId' => $mainId, 'bookSn' => $bookSn, 'customId' => $customId], true);
+            $bookCustomRes = BookCustomClass::getByCondition(['bookSn' => $bookSn, 'customId' => $customId], true);
             if (empty($bookCustomRes)) {
                 $currentData = [
                     'name' => $customName,
@@ -154,7 +154,11 @@ class BookItemClass extends BaseClass
             $bookItemCustomRes->roadNum = bcsub($bookItemCustomRes->roadNum, $secondNeedSubNum);
             $bookItemRes->roadNum = bcsub($bookItemRes->roadNum, $secondNeedSubNum);
             $bookCustomRes->roadNum = bcsub($bookCustomRes->roadNum, $secondNeedSubNum);
+
+            //删除路上数量
+            BookItemGhsClass::delRoadNum($bookItemCustomRes, $secondNeedSubNum);
             //todo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 路上数量减掉了要改送货人的货位号
+
             if ($secondRemainSubNum <= 0) {
                 $bookItemCustomRes->save();
                 $bookItemRes->save();
@@ -173,7 +177,9 @@ class BookItemClass extends BaseClass
             $bookItemCustomRes->onNum = bcsub($bookItemCustomRes->onNum, $thirdNeedSubNum);
             $bookItemRes->onNum = bcsub($bookItemRes->onNum, $thirdNeedSubNum);
             $bookCustomRes->onNum = bcsub($bookCustomRes->onNum, $thirdNeedSubNum);
+
             //todo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 上架数量减掉了要通知货要拿掉
+
             if ($thirdRemainSubNum <= 0) {
                 $bookItemCustomRes->save();
                 $bookItemRes->save();

+ 66 - 0
biz-ghs/book/classes/BookItemGhsClass.php

@@ -1,6 +1,10 @@
 <?php
+
 namespace bizGhs\book\classes;
+
 use bizGhs\base\classes\BaseClass;
+use bizGhs\cg\classes\CgOrderItemClass;
+use bizGhs\cg\classes\CgOrderItemSendClass;
 use common\components\util;
 use Yii;
 
@@ -9,4 +13,66 @@ class BookItemGhsClass extends BaseClass
 
     public static $baseFile = '\bizGhs\book\models\BookItemGhs';
 
+    public static function delRoadNum($bookItemCustomRes, $totalNum)
+    {
+        $bookItemCustomResId = $bookItemCustomRes->id ?? 0;
+        $ghsList = self::getAllByCondition(['parentId' => $bookItemCustomResId], null, '*', null, true);
+        if (empty($ghsList)) {
+            util::fail('预订减少删路上数时,没找到供货');
+        }
+        foreach ($ghsList as $ghsInfo) {
+            $status = $ghsInfo->status ?? 0;
+            if ($status != 0) {
+                continue;
+            }
+            if ($totalNum <= 0) {
+                break;
+            }
+            $num = $ghsInfo->num ?? 0;
+            $cgSendId = $ghsInfo->cgSendId ?? 0;
+            $send = CgOrderItemSendClass::getById($cgSendId, true);
+            if (empty($send)) {
+                util::fail('预订减少删路上数时,没找到供货2');
+            }
+
+            $cgOrderItemId = $send->parentId ?? 0;
+            $cgOrderItemRes = CgOrderItemClass::getById($cgOrderItemId, true);
+            if (empty($cgOrderItemRes)) {
+                util::fail('预订减少删路上数时,没找到供货3');
+            }
+
+            if ($num >= $totalNum) {
+                $delNum = $totalNum;
+            } else {
+                $delNum = $num;
+            }
+            $totalNum = bcsub($totalNum, $delNum);
+
+            $ghsRemainNum = bcsub($ghsInfo->num, $delNum);
+            $ghsInfo->num = $ghsRemainNum;
+            if ($ghsRemainNum <= 0) {
+                $ghsInfo->status = 2;
+            }
+            $ghsInfo->save();
+
+            $sendRemainNum = bcsub($send->num, $delNum);
+            $send->num = $sendRemainNum;
+            if ($sendRemainNum <= 0) {
+                $send->status = 2;
+            }
+            $send->save();
+
+            $confirmSendNum = $cgOrderItemRes->confirmSendNum ?? 0;
+            $lastConfirm = bcsub($confirmSendNum, $delNum);
+            if ($lastConfirm < 0) {
+                util::fail('预订减少删路上数时,没找到供货4');
+            }
+            $cgOrderItemRes->confirmSendNum = $lastConfirm;
+            $cgOrderItemRes->save();
+
+            // todo 通知页面要刷新货位!!!!!!!!!!!!!!!!!
+
+        }
+    }
+
 }