shish 11 mesiacov pred
rodič
commit
c03230fa93
1 zmenil súbory, kde vykonal 71 pridanie a 77 odobranie
  1. 71 77
      biz-hd/goods/classes/GoodsClass.php

+ 71 - 77
biz-hd/goods/classes/GoodsClass.php

@@ -59,11 +59,11 @@ class GoodsClass extends BaseClass
             }
             $catId = $hasCat->id ?? 0;
             if (empty($catId)) {
-                util::fail('还是没有找到分类');
+                util::fail('没有找到分类');
             }
         }
         $catIds = [$catId];
-        $cover = isset($data['cover']) && !empty($data['cover']) ? $data['cover'] : 'default-img.png';
+        $cover = !empty($data['cover']) ? $data['cover'] : 'default-img.png';
         $shopImg = [$cover];
         if (isset($data['shopImg']) && is_array($data['shopImg'])) {
             $shopImg = $data['shopImg'];
@@ -95,8 +95,7 @@ class GoodsClass extends BaseClass
         $num = $data['num'] ?? 0;
         $unitType = 0;
         $unitPrice = $data['unitGoodsPrice'] ?? 0;
-        $product = [['productId' => $id, 'num' => $num, 'unitType' => $unitType, 'unitPrice' => $unitPrice, 'property' => $property]];
-        return $product;
+        return [['productId' => $id, 'num' => $num, 'unitType' => $unitType, 'unitPrice' => $unitPrice, 'property' => $property]];
     }
 
     public static function cgPlant($data, $shop)
@@ -444,7 +443,7 @@ class GoodsClass extends BaseClass
     public static function addGoods($data, $work = null)
     {
         $data['createTime'] = date("Y-m-d H:i:s");
-        if (isset($data['shopImg']) && !empty($data['shopImg'])) {
+        if (!empty($data['shopImg'])) {
             $data['shopImg'] = json_encode($data['shopImg']);
         }
         $data['py'] = stringUtil::py($data['name']);
@@ -806,86 +805,81 @@ class GoodsClass extends BaseClass
             util::fail("非法参数");
         }
         //改库存
-        $newStock = $goodsData['stock'] - $num;
+        $preStock = $goodsData['stock']??0;
+        $newStock = bcsub($preStock,$num);
 
         if ($newStock < 0) {
-
-            $goodsName = $goodsData['name'] ?? '';
             if ($checkStock) {
-                util::fail($goodsName . '库存不足,剩余:' . $goodsData['stock']);
-            }
-
-            $flower = $goodsData['flower'] ?? 0;
-            if ($flower == 0) {
-                util::complete('绿植盆栽资材类无法生成制作单');
+                $goodsName = $goodsData['name'] ?? '';
+                util::fail($goodsName . ',库存不足,剩余:' . $preStock);
             }
+        }
 
-            //缺的库存生成制作单
-            $sjId = $goodsData['sjId'] ?? 0;
-            $orderSn = $params['orderSn'] ?? '';
-            $orderId = $params['orderId'] ?? 0;
-            $shopId = $params['shopId'] ?? 0;
-            $orderPrice = $params['orderPrice'] ?? 0;
-            $fromType = $params['fromType'] ?? 1;
-            $remark = $params['remark'] ?? '';
-            $orderDebtPrice = $params['orderDebtPrice'] ?? 0;
-            $sendType = $params['sendType'] ?? 0;
-            $thirdSn = $params['thirdSn'] ?? '';
-            $cardInfo = $params['cardInfo'] ?? '';
-            $anonymity = $params['anonymity'] ?? 0;
-            $manyType = $params['manyType'] ?? 0;
-            $sendNum = $params['sendNum'] ?? '';
-            $hasReachTime = 0;
-            $reachPeriod = 0;
-            $reachDate = '0000-00-00';
-            $staffName = '';
-            $staffId = 0;
-            $bookName = '';
-            if (!empty($orderId)) {
-                $order = OrderClass::getById($orderId, true);
-                if (!empty($order)) {
-                    $reachDate = $order->reachDate ?? '';
-                    if (!empty($reachDate) && $reachDate != '0000-00-00') {
-                        $hasReachTime = 1;
-                    }
-                    $reachPeriod = $order->reachPeriod ?? 0;
-                    $staffName = $order->shopAdminName ?? '';
-                    $staffId = $order->shopAdminId ?? '';
-                    $bookName = $order->bookName ?? '';
+        //有库存也要生成制作单,制作单不应该和库存挂钩,因为花束一般是虚拟库存
+        $sjId = $goodsData['sjId'] ?? 0;
+        $orderSn = $params['orderSn'] ?? '';
+        $orderId = $params['orderId'] ?? 0;
+        $shopId = $params['shopId'] ?? 0;
+        $orderPrice = $params['orderPrice'] ?? 0;
+        $fromType = $params['fromType'] ?? 1;
+        $remark = $params['remark'] ?? '';
+        $orderDebtPrice = $params['orderDebtPrice'] ?? 0;
+        $sendType = $params['sendType'] ?? 0;
+        $thirdSn = $params['thirdSn'] ?? '';
+        $cardInfo = $params['cardInfo'] ?? '';
+        $anonymity = $params['anonymity'] ?? 0;
+        $manyType = $params['manyType'] ?? 0;
+        $sendNum = $params['sendNum'] ?? '';
+        $hasReachTime = 0;
+        $reachPeriod = 0;
+        $reachDate = '0000-00-00';
+        $staffName = '';
+        $staffId = 0;
+        $bookName = '';
+        if (!empty($orderId)) {
+            $order = OrderClass::getById($orderId, true);
+            if (!empty($order)) {
+                $reachDate = $order->reachDate ?? '';
+                if (!empty($reachDate) && $reachDate != '0000-00-00') {
+                    $hasReachTime = 1;
                 }
+                $reachPeriod = $order->reachPeriod ?? 0;
+                $staffName = $order->shopAdminName ?? '';
+                $staffId = $order->shopAdminId ?? '';
+                $bookName = $order->bookName ?? '';
             }
-            $sh = $goodsData['sh'] ?? 0;
-            $params = [
-                'goods' => [['productId' => $goodsId, 'num' => abs($num)]],
-                'sjId' => $sjId,
-                'mainId' => $mainId,
-                'orderSn' => $orderSn,
-                'orderId' => $orderId,
-                'hasReachTime' => $hasReachTime,
-                'reachPeriod' => $reachPeriod,
-                'reachDate' => $reachDate,
-                'shopId' => $shopId,
-                'staffName' => $staffName,
-                'staffId' => $staffId,
-                'bookName' => $bookName,
-                'orderPrice' => $orderPrice,
-                'orderDebtPrice' => $orderDebtPrice,
-                'fromType' => $fromType,
-                'sendType' => $sendType,
-                'remark' => $remark,
-                'thirdSn' => $thirdSn,
-                'cardInfo' => $cardInfo,
-                'anonymity' => $anonymity,
-                'sh' => $sh,
-                'manyType' => $manyType,
-                'sendNum' => $sendNum,
-            ];
-            $main = MainClass::getById($mainId, true);
-            if (empty($main)) {
-                util::fail('没有main信息37');
-            }
-            WorkClass::goodsCreateFinish($params, $main);
         }
+        $sh = $goodsData['sh'] ?? 0;
+        $params = [
+            'goods' => [['productId' => $goodsId, 'num' => abs($num)]],
+            'sjId' => $sjId,
+            'mainId' => $mainId,
+            'orderSn' => $orderSn,
+            'orderId' => $orderId,
+            'hasReachTime' => $hasReachTime,
+            'reachPeriod' => $reachPeriod,
+            'reachDate' => $reachDate,
+            'shopId' => $shopId,
+            'staffName' => $staffName,
+            'staffId' => $staffId,
+            'bookName' => $bookName,
+            'orderPrice' => $orderPrice,
+            'orderDebtPrice' => $orderDebtPrice,
+            'fromType' => $fromType,
+            'sendType' => $sendType,
+            'remark' => $remark,
+            'thirdSn' => $thirdSn,
+            'cardInfo' => $cardInfo,
+            'anonymity' => $anonymity,
+            'sh' => $sh,
+            'manyType' => $manyType,
+            'sendNum' => $sendNum,
+        ];
+        $main = MainClass::getById($mainId, true);
+        if (empty($main)) {
+            util::fail('没有main信息,编号3170');
+        }
+        WorkClass::goodsCreateFinish($params, $main);
 
         $data['stock'] = $newStock;
         self::updateById($goodsId, $data);