Jelajahi Sumber

分配货位

shish 1 tahun lalu
induk
melakukan
fd26a989dd

+ 15 - 10
biz-ghs/cg/classes/CgOrderItemClass.php

@@ -17,7 +17,7 @@ class CgOrderItemClass extends BaseClass
 
     public static $baseFile = '\bizGhs\cg\models\CgOrderItem';
 
-    public static function cancelAssign($cg,$shop,$params)
+    public static function cancelAssign($cg, $shop, $params)
     {
         $orderSn = $cg->orderSn ?? '';
         $bookSn = $cg->bookSn ?? '';
@@ -26,14 +26,14 @@ class CgOrderItemClass extends BaseClass
             return true;
         }
         $ids = [];
-        foreach($cgItemList as $cgItem){
+        foreach ($cgItemList as $cgItem) {
             $ids[] = $cgItem->productId ?? 0;
         }
-        $productInfo = ProductClass::getAllByCondition(['id'=>['in',$ids]],null,'*','id',true);
+        $productInfo = ProductClass::getAllByCondition(['id' => ['in', $ids]], null, '*', 'id', true);
         foreach ($cgItemList as $cgItem) {
             $productId = $cgItem->productId ?? 0;
-            $product = $productInfo[$productId]??null;
-            if(empty($product)){
+            $product = $productInfo[$productId] ?? null;
+            if (empty($product)) {
                 util::fail('售后找不到花材');
             }
             $cgItemName = $cgItem->name ?? '';
@@ -65,7 +65,7 @@ class CgOrderItemClass extends BaseClass
                         }
                         $params['currentChangeType'] = 'cgCancel';
                         $bookItemCustomRes = BookItemCustomClass::delRoadNum($bookItemCustomRes, $num, 0, $cg, $shop, $product, $params);
-                        $bookItemCustomRes = BookItemCustomClass::addNeedCgNum($bookItemCustomRes,$num, 0, $cg, $shop, $product, $params);
+                        $bookItemCustomRes = BookItemCustomClass::addNeedCgNum($bookItemCustomRes, $num, 0, $cg, $shop, $product, $params);
 
                         $customId = $bookItemCustomRes->customId ?? 0;
                         $bookCustomRes = BookCustomClass::getByCondition(['bookSn' => $bookSn, 'customId' => $customId], true);
@@ -76,8 +76,8 @@ class CgOrderItemClass extends BaseClass
                         if ($num > $roadNum2) {
                             util::fail("路上库存不足扣减 bookCustom {$cgItemName}");
                         }
-                        $bookCustomRes = BookCustomClass::delRoadNum($bookCustomRes,$num, 0, $cg, $shop, $product, $params);
-                        $bookCustomRes = BookCustomClass::addNeedCgNum($bookCustomRes,$num, 0, $cg, $shop, $product, $params);
+                        $bookCustomRes = BookCustomClass::delRoadNum($bookCustomRes, $num, 0, $cg, $shop, $product, $params);
+                        $bookCustomRes = BookCustomClass::addNeedCgNum($bookCustomRes, $num, 0, $cg, $shop, $product, $params);
 
                         $bookItemRes = BookItemClass::getByCondition(['bookSn' => $bookSn, 'itemId' => $productId], true);
                         if (empty($bookItemRes)) {
@@ -87,8 +87,8 @@ class CgOrderItemClass extends BaseClass
                         if ($num > $roadNum3) {
                             util::fail("路上库存不足扣减 bookItem {$cgItemName}");
                         }
-                        $bookItemRes = BookItemClass::delRoadNum($bookItemRes,$num,0, $cg, $shop, $product, $params);
-                        $bookItemRes = BookItemClass::addNeedCgNum($bookItemRes,$num,0, $cg, $shop, $product, $params);
+                        $bookItemRes = BookItemClass::delRoadNum($bookItemRes, $num, 0, $cg, $shop, $product, $params);
+                        $bookItemRes = BookItemClass::addNeedCgNum($bookItemRes, $num, 0, $cg, $shop, $product, $params);
                     }
                 }
             }
@@ -123,6 +123,11 @@ class CgOrderItemClass extends BaseClass
             }
             $cgItemName = $cgItem->name ?? '';
             $parentId = $cgItem->id ?? 0;
+            $assignSeat = $cgItem->assignSeat;
+            if ($assignSeat == 0) {
+                //不需要分配货位号
+                continue;
+            }
             $sendList = CgOrderItemSendClass::getAllByCondition(['parentId' => $parentId], null, '*', null, true);
             if (!empty($sendList)) {
                 foreach ($sendList as $send) {

+ 77 - 76
biz-ghs/order/classes/PurchaseOrderClass.php

@@ -96,11 +96,7 @@ class PurchaseOrderClass extends BaseClass
             $cgItemNum = $cgItem->itemNum ?? 0;
             $productId = $cgItem->productId ?? 0;
             $ptItemId = $cgItem->itemId ?? 0;
-//            $assignSeat = $cgItem->assignSeat;
-//            if($assignSeat == 0){
-//                //不需要分配货位
-//                continue;
-//            }
+            $assignSeat = $cgItem->assignSeat;
             if ($cgItemNum <= 0) {
                 continue;
             }
@@ -158,79 +154,84 @@ class PurchaseOrderClass extends BaseClass
                 $params['customName'] = $bookItemCustomRes->customName ?? '';
                 $params['customId'] = $bookItemCustomRes->customId ?? '';
                 $params['customNamePy'] = $bookItemCustomRes->customNamePy ?? '';
-                $bookItemCustomRes = BookItemCustomClass::delNeedCgNum($bookItemCustomRes, $remainNeedSendNum, 0, $cg, $shop, $currentItemInfo, $params);
-                $bookCustomRes = BookCustomClass::delNeedCgNum($bookCustomRes, $remainNeedSendNum, 0, $cg, $shop, $currentItemInfo, $params);
+                if ($assignSeat == 1) {
+                    $bookItemCustomRes = BookItemCustomClass::delNeedCgNum($bookItemCustomRes, $remainNeedSendNum, 0, $cg, $shop, $currentItemInfo, $params);
+                    $bookCustomRes = BookCustomClass::delNeedCgNum($bookCustomRes, $remainNeedSendNum, 0, $cg, $shop, $currentItemInfo, $params);
+                }
                 $bookItemRes = BookItemClass::delNeedCgNum($bookItemRes, $remainNeedSendNum, 0, $cg, $shop, $currentItemInfo, $params);
 
-                //路上数量增加
-                $bookItemCustomRes = BookItemCustomClass::addRoadNum($bookItemCustomRes, $remainNeedSendNum, $cg, $shop, $currentItemInfo, $params);
-                $bookCustomRes = BookCustomClass::addRoadNum($bookCustomRes, $remainNeedSendNum, $cg, $shop, $currentItemInfo, $params);
-                $bookItemRes = BookItemClass::addRoadNum($bookItemRes, $remainNeedSendNum, $cg, $shop, $currentItemInfo, $params);
+                if ($assignSeat == 1) {
+                    //路上数量增加
+                    $bookItemCustomRes = BookItemCustomClass::addRoadNum($bookItemCustomRes, $remainNeedSendNum, $cg, $shop, $currentItemInfo, $params);
+                    $bookCustomRes = BookCustomClass::addRoadNum($bookCustomRes, $remainNeedSendNum, $cg, $shop, $currentItemInfo, $params);
+                    $bookItemRes = BookItemClass::addRoadNum($bookItemRes, $remainNeedSendNum, $cg, $shop, $currentItemInfo, $params);
 
-                //确认已分配数量增加
-                $cgItem->confirmSendNum = bcadd($cgItem->confirmSendNum, $remainNeedSendNum);
-                $cgItem->save();
+                    //确认已分配数量增加
+                    $cgItem->confirmSendNum = bcadd($cgItem->confirmSendNum, $remainNeedSendNum);
+                    $cgItem->save();
 
-                $sendInfo = CgOrderItemSendClass::getByCondition(['parentId' => $cgItemId, 'customId' => $customId, 'itemId' => $productId], true);
-                $bookItemCustomId = $bookItemCustomRes->id ?? 0;
-                $currentCustom = $customList[$customId] ?? null;
-                if (empty($currentCustom)) {
-                    util::fail('客户信息缺失');
-                }
-                if (empty($sendInfo)) {
-                    $sendData = [
-                        'mainId' => $mainId,
-                        'parentOrderId' => $cgId,
-                        'parentId' => $cgItemId,
-                        'bookGhsGiveId' => 0,
-                        'name' => $currentItemInfo->name ?? '',
-                        'py' => $currentItemInfo->py ?? '',
-                        'itemId' => $productId,
-                        'ptItemId' => $ptItemId,
-                        'customId' => $customId,
-                        'customName' => $currentCustom->name ?? '',
-                        'customPy' => $currentCustom->py ?? '',
-                        'seatSn' => $currentCustom->seatSn ?? 0,
-                        'num' => 0,
-                        'bookItemCustomId' => $bookItemCustomId,
-                        'status' => 0,
-                        'staffId' => $currentItemInfo->cgStaffId ?? 0,
-                        'staffName' => $currentItemInfo->cgStaffName ?? '',
-                    ];
-                    $sendInfo = CgOrderItemSendClass::add($sendData, true);
-                }
-                $sendInfo->num = bcadd($sendInfo->num, $remainNeedSendNum);
-                $sendInfo->save();
-                $sendInfoId = $sendInfo->id ?? 0;
 
-                $giveGhs = BookItemGhsClass::getByCondition(['parentId' => $bookItemCustomId, 'ghsId' => $ghsId, 'itemId' => $productId,], true);
-                if (empty($giveGhs)) {
-                    $giveGhsData = [
-                        'mainId' => $mainId,
-                        'bookSn' => $bookSn,
-                        'parentId' => $bookItemCustomId,
-                        'cgSendId' => $sendInfoId,
-                        'name' => $currentItemInfo->name ?? '',
-                        'py' => $currentItemInfo->py ?? '',
-                        'itemId' => $productId,
-                        'ptItemId' => $ptItemId,
-                        'ghsId' => $ghsId,
-                        'ghsName' => $ghsName,
-                        'cgId' => $cgId,
-                        'cgItemId' => $cgItemId,
-                        'customId' => $customId,
-                        'customName' => $currentCustom->name ?? '',
-                        'staffId' => $currentItemInfo->cgStaffId ?? 0,
-                        'staffName' => $currentItemInfo->cgStaffName ?? '',
-                        'status' => 0,
-                    ];
-                    $giveGhs = BookItemGhsClass::add($giveGhsData, true);
+                    $sendInfo = CgOrderItemSendClass::getByCondition(['parentId' => $cgItemId, 'customId' => $customId, 'itemId' => $productId], true);
+                    $bookItemCustomId = $bookItemCustomRes->id ?? 0;
+                    $currentCustom = $customList[$customId] ?? null;
+                    if (empty($currentCustom)) {
+                        util::fail('客户信息缺失');
+                    }
+                    if (empty($sendInfo)) {
+                        $sendData = [
+                            'mainId' => $mainId,
+                            'parentOrderId' => $cgId,
+                            'parentId' => $cgItemId,
+                            'bookGhsGiveId' => 0,
+                            'name' => $currentItemInfo->name ?? '',
+                            'py' => $currentItemInfo->py ?? '',
+                            'itemId' => $productId,
+                            'ptItemId' => $ptItemId,
+                            'customId' => $customId,
+                            'customName' => $currentCustom->name ?? '',
+                            'customPy' => $currentCustom->py ?? '',
+                            'seatSn' => $currentCustom->seatSn ?? 0,
+                            'num' => 0,
+                            'bookItemCustomId' => $bookItemCustomId,
+                            'status' => 0,
+                            'staffId' => $currentItemInfo->cgStaffId ?? 0,
+                            'staffName' => $currentItemInfo->cgStaffName ?? '',
+                        ];
+                        $sendInfo = CgOrderItemSendClass::add($sendData, true);
+                    }
+                    $sendInfo->num = bcadd($sendInfo->num, $remainNeedSendNum);
+                    $sendInfo->save();
+                    $sendInfoId = $sendInfo->id ?? 0;
+
+                    $giveGhs = BookItemGhsClass::getByCondition(['parentId' => $bookItemCustomId, 'ghsId' => $ghsId, 'itemId' => $productId,], true);
+                    if (empty($giveGhs)) {
+                        $giveGhsData = [
+                            'mainId' => $mainId,
+                            'bookSn' => $bookSn,
+                            'parentId' => $bookItemCustomId,
+                            'cgSendId' => $sendInfoId,
+                            'name' => $currentItemInfo->name ?? '',
+                            'py' => $currentItemInfo->py ?? '',
+                            'itemId' => $productId,
+                            'ptItemId' => $ptItemId,
+                            'ghsId' => $ghsId,
+                            'ghsName' => $ghsName,
+                            'cgId' => $cgId,
+                            'cgItemId' => $cgItemId,
+                            'customId' => $customId,
+                            'customName' => $currentCustom->name ?? '',
+                            'staffId' => $currentItemInfo->cgStaffId ?? 0,
+                            'staffName' => $currentItemInfo->cgStaffName ?? '',
+                            'status' => 0,
+                        ];
+                        $giveGhs = BookItemGhsClass::add($giveGhsData, true);
+                    }
+                    $giveGhs->num = bcadd($giveGhs->num, $remainNeedSendNum);
+                    $giveGhs->save();
+                    $giveGhsId = $giveGhs->id ?? 0;
+                    $sendInfo->bookGhsGiveId = $giveGhsId;
+                    $sendInfo->save();
                 }
-                $giveGhs->num = bcadd($giveGhs->num, $remainNeedSendNum);
-                $giveGhs->save();
-                $giveGhsId = $giveGhs->id ?? 0;
-                $sendInfo->bookGhsGiveId = $giveGhsId;
-                $sendInfo->save();
                 $hasChange = 1;
             }
 
@@ -1264,9 +1265,9 @@ class PurchaseOrderClass extends BaseClass
                 $id = $val['id'] ?? 0;
                 $shortCover = $val['cover'] ?? '';
                 $orderInfo[$key]['ShortCover'] = $shortCover;
-                $orderInfo[$key]['itemNum'] = $val['itemNum']?floatval($val['itemNum']):0;
-                $orderInfo[$key]['bigPrice'] = $val['bigPrice']?floatval($val['bigPrice']):0;
-                $orderInfo[$key]['totalPrice'] = $val['totalPrice']?floatval($val['totalPrice']):0;
+                $orderInfo[$key]['itemNum'] = $val['itemNum'] ? floatval($val['itemNum']) : 0;
+                $orderInfo[$key]['bigPrice'] = $val['bigPrice'] ? floatval($val['bigPrice']) : 0;
+                $orderInfo[$key]['totalPrice'] = $val['totalPrice'] ? floatval($val['totalPrice']) : 0;
                 $orderInfo[$key]['cover'] = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_130,w_130";
                 $orderInfo[$key]['bigCover'] = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_700,w_700";
                 $sendList = CgOrderItemSendClass::getAllByCondition(['parentId' => $id], null, '*');
@@ -1340,7 +1341,7 @@ class PurchaseOrderClass extends BaseClass
             $productId = $v['productId'];
             $currentAboutPrice = $v['aboutPrice'] ?? 0;
             $currentTotal = $v['totalPrice'] ?? 0;
-            $assignSeat = $v['assignSeat']??1;
+            $assignSeat = $v['assignSeat'] ?? 1;
             $itemId = $productData[$productId]['itemId'];
             $tmp['orderSn'] = $orderSn;
             $tmp['assignSeat'] = $assignSeat;