Ver código fonte

添加花材调整

shish 5 meses atrás
pai
commit
5d7d11dee0
1 arquivos alterados com 19 adições e 129 exclusões
  1. 19 129
      biz-ghs/product/classes/ProductClass.php

+ 19 - 129
biz-ghs/product/classes/ProductClass.php

@@ -2256,10 +2256,10 @@ class ProductClass extends BaseClass
         $data['py'] = stringUtil::py($data['name']);
         $name = $data['name'] ?? '';
         $data['alias'] = $data['alias'] ?? '';
-        $data['cover'] = isset($data['cover']) && !empty($data['cover']) ? $data['cover'] : '';
+        $data['cover'] = !empty($data['cover']) ? $data['cover'] : '';
         $ratioType = $data['ratioType'] ?? 0;
         if ($ratioType == 0) {
-            if (isset($data['ratio']) == false || $data['ratio'] <= 0) {
+            if (!isset($data['ratio']) || $data['ratio'] <= 0) {
                 util::fail('请填写单位比');
             }
             $ratio = $data['ratio'];
@@ -2302,13 +2302,13 @@ class ProductClass extends BaseClass
         if (empty($classId)) {
             util::fail("请选择分类");
         }
-        if (isset($data['price']) == false || is_numeric($data['price']) == false || $data['price'] < 0) {
+        if (!isset($data['price']) || !is_numeric($data['price']) || $data['price'] < 0) {
             util::fail("请输入价格");
         }
-        if (isset($data['cost']) == false || is_numeric($data['cost']) == false || $data['cost'] < 0) {
+        if (!isset($data['cost']) || !is_numeric($data['cost']) || $data['cost'] < 0) {
             util::fail("请输入成本价");
         }
-        if (isset($data['addPrice']) == false || is_numeric($data['addPrice']) == false) {
+        if (!isset($data['addPrice']) || !is_numeric($data['addPrice'])) {
             util::fail("请输入加价");
         }
         if ($stockWarning === false) {
@@ -2330,7 +2330,7 @@ class ProductClass extends BaseClass
         $catName = $cat->name ?? '';
 
         if (isset($data['discountPrice']) && is_numeric($data['discountPrice'])) {
-            $discountPrice = $data['discountPrice'] ?? 0;
+            $discountPrice = $data['discountPrice'];
             $currentPrice = $data['price'] ?? 0;
             if ($discountPrice >= $currentPrice) {
                 util::fail('特价要小于售价');
@@ -2348,7 +2348,18 @@ class ProductClass extends BaseClass
         $connection = Yii::$app->db;
         $transaction = $connection->beginTransaction();
         try {
-            if (isset($data['itemId']) == false || empty($data['itemId'])) {
+            $ptItemId = $data['itemId'] ?? 0;
+            $ptItemInfo = PtItemClass::getById($ptItemId, true);
+
+            $bigUnitId = $data['bigUnitId'] ?? 0;
+            $smallUnitId = $data['smallUnitId'] ?? 0;
+
+            $changeUnit = 0;
+            if ($ptItemInfo->bigUnitId != $bigUnitId || $ptItemInfo->smallUnitId != $smallUnitId || $ptItemInfo->ratio != $ratio) {
+                //如果被修改了单位,则重新创建花材
+                $changeUnit = 1;
+            }
+            if (empty($ptItemId) || $changeUnit == 1) {
                 //添加新品种先在平台新增花材
                 $defaultInfo = PtItemClassClass::getByCondition(['isDefault' => 1]);
                 $defaultClassId = $defaultInfo['id'] ?? 0;
@@ -2371,9 +2382,7 @@ class ProductClass extends BaseClass
                 }
             }
 
-            $ptItemId = $data['itemId'] ?? 0;
             //小菊的结构
-            $ptItemInfo = PtItemClass::getById($ptItemId, true);
             $data['variety'] = $ptItemInfo->variety ?? 0;
 
             //批发价比进货价贵多少 2021-12-07 lqh 如果前端有传取前端的,没有则取pt
@@ -2400,52 +2409,6 @@ class ProductClass extends BaseClass
             }
             $data['property'] = 1;
             $respond = self::addBaseData($data);
-            $respondId = $respond->id ?? 0;
-
-            /*****************产品模块*********************/
-            $ptCpIds = [];
-            if (isset($data['cpInfo']) && !empty($data['cpInfo'])) {
-                $cpIds = array_column($data['cpInfo'], 'cpId');
-                $cpInfoList = CpClass::getByIds($cpIds, null, 'id');
-                $ptCpIds = array_column($cpInfoList, 'ptCpId');
-                foreach ($data['cpInfo'] as $cpKey => $cpVal) {
-                    $cpId = $cpVal['cpId'] ?? 0;
-                    if (isset($cpInfoList[$cpId]) == false) {
-                        util::fail('添加了无效产品');
-                    }
-                    $currentCp = $cpInfoList[$cpId];
-                    if (isset($currentCp['mainId']) == false || $currentCp['mainId'] != $mainId) {
-                        util::fail('不是你的产品哦');
-                    }
-                    $cpName = $currentCp['name'] ?? '';
-                    $ptCpId = $currentCp['ptCpId'] ?? 0;
-                    $cpPy = $currentCp['py'] ?? '';
-                    $name = $data['name'] ?? '';
-                    $py = stringUtil::py($name);
-                    $hasCp = CpItemClass::getByCondition(['cpId' => $cpId, 'productId' => $respondId], true);
-                    if (empty($hasCp)) {
-                        $addCp = [
-                            'cpId' => $cpId,
-                            'ptCpId' => $ptCpId,
-                            'ptItemId' => $ptItemId,
-                            'productId' => $respondId,
-                            'name' => $name,
-                            'py' => $py,
-                            'cpName' => $cpName,
-                            'cpPy' => $cpPy,
-                            'mainId' => $mainId,
-                        ];
-                        CpItemClass::add($addCp);
-                    }
-                }
-                $respond->hasCpId = 1;
-                $respond->save();
-            } else {
-                if ($currentShop->itemToClass == 1) {
-                    util::fail('请选择产品');
-                }
-            }
-            /*****************产品模块*********************/
 
             if ($stock > 0) {
                 //有库存数量,增加盘盈记录 2021.7.9 lqh
@@ -2467,7 +2430,6 @@ class ProductClass extends BaseClass
                 $pdOrderItemData['orderSn'] = $pdOrderSn;
                 $pdOrderItemData['productId'] = $respond->id ?? 0;
                 $pdOrderItemData['itemId'] = $data['itemId'];
-                $pdOrderItemData['itemId'] = $data['itemId'];
                 $pdOrderItemData['itemNum'] = $stock;
                 $pdOrderItemData['itemStock'] = 0;
                 $pdOrderItemData['profitLostNum'] = $stock;
@@ -2547,79 +2509,7 @@ class ProductClass extends BaseClass
                     if (!empty($chainHas)) {
                         continue;
                     }
-                    $chainProduct = self::addBaseData($data);
-                    $chainProductId = $chainProduct->id ?? 0;
-
-                    /****************产品模块********************/
-                    if (!empty($ptCpIds)) {
-                        $ptCpClassList = PtCpClassClass::getAllByCondition(['delStatus' => 0], null, '*', 'id');
-                        $shopCpClassList = CpClassClass::getAllByCondition(['mainId' => $thisMainId, 'delStatus' => 0], null, '*', 'id');
-                        $shopCpDefaultClassId = 0;
-                        foreach ($shopCpClassList as $thisCpClass) {
-                            if ($thisCpClass['isDefault'] == 1) {
-                                $shopCpDefaultClassId = $thisCpClass['id'] ?? 0;
-                            }
-                        }
-                        if (empty($shopCpDefaultClassId)) {
-                            util::fail('没有找到产品的默认分类哦');
-                        }
-                        $ptCpList = PtCpClass::getAllByCondition(['id' => ['in', $ptCpIds]], null, '*', 'id');
-                        $shopCpList = CpClass::getAllByCondition(['mainId' => $thisMainId, 'ptCpId' => ['in', $ptCpIds]], null, '*', 'ptCpId', true);
-                        foreach ($ptCpList as $ptCpId => $ptCpInfo) {
-
-                            if (isset($shopCpList[$ptCpId])) {
-                                $currentCp = $shopCpList[$ptCpId];
-                            } else {
-                                $ptCpClassId = $ptCpInfo['classId'] ?? 0;
-                                $ptCpClassName = '';
-                                if (isset($ptCpClassList[$ptCpClassId])) {
-                                    $ptCpClassName = $ptCpClassList[$ptCpClassId]['name'] ?? '';
-                                }
-                                $currentCpClassId = $shopCpDefaultClassId;
-                                if (!empty($ptCpClassName)) {
-                                    foreach ($shopCpClassList as $thisCpClass) {
-                                        if (isset($thisCpClass['name']) && $thisCpClass['name'] == $ptCpClassName) {
-                                            $currentCpClassId = $thisCpClass['id'] ?? 0;
-                                        }
-                                    }
-                                }
-
-                                unset($ptCpInfo['id']);
-                                unset($ptCpInfo['addTime']);
-                                unset($ptCpInfo['updateTime']);
-                                $ptCpInfo['mainId'] = $thisMainId;
-                                $ptCpInfo['classId'] = $currentCpClassId;
-                                $ptCpInfo['ptCpId'] = $ptCpId;
-                                $currentCp = CpClass::add($ptCpInfo, true);
-                            }
-                            $currentCpId = $currentCp->id ?? 0;
-                            $cpName = $currentCp->name ?? '';
-                            $ptCpId = $currentCp->ptCpId ?? 0;
-                            $cpPy = $currentCp->py ?? '';
-                            $name = $chainProduct->name ?? '';
-                            $py = stringUtil::py($name);
-                            $hasCp = CpItemClass::getByCondition(['cpId' => $currentCpId, 'productId' => $chainProductId], true);
-                            if (empty($hasCp)) {
-                                $addCp = [
-                                    'cpId' => $currentCpId,
-                                    'ptCpId' => $ptCpId,
-                                    'ptItemId' => $ptItemId,
-                                    'productId' => $chainProductId,
-                                    'name' => $name,
-                                    'py' => $py,
-                                    'cpName' => $cpName,
-                                    'cpPy' => $cpPy,
-                                    'mainId' => $thisMainId,
-                                ];
-                                CpItemClass::add($addCp);
-                            }
-                        }
-                    } else {
-                        if ($shop->itemToClass == 1) {
-                            util::fail('请选择产品哈');
-                        }
-                    }
-                    /****************产品模块********************/
+                    self::addBaseData($data);
 
                 }
             }