Browse Source

花材修改

shish 4 years ago
parent
commit
b207e71feb
3 changed files with 71 additions and 58 deletions
  1. 17 0
      app-hd/controllers/ProductController.php
  2. 43 57
      biz-ghs/product/classes/ProductClass.php
  3. 11 1
      sql.txt

+ 17 - 0
app-hd/controllers/ProductController.php

@@ -226,6 +226,23 @@ class ProductController extends BaseController
     public function actionUpdate()
     {
         $post = Yii::$app->request->post();
+        $shopAdmin = $this->shopAdmin;
+        if (isset($shopAdmin->super) == false || $shopAdmin->super != 1) {
+            util::fail('超管才能修改');
+        }
+        $shop = $this->shop;
+        $pfShopId = $shop->pfShopId ?? 0;
+        if (!empty($pfShopId)) {
+            util::fail('请在批发端修改花材');
+        }
+        $default = $shop->default ?? 0;
+        if ($default != 1) {
+            //除了上下架其它只能在首店修改
+            if (isset($post['status']) == false) {
+                util::fail('请在首店修改');
+            }
+        }
+        $post['adminId'] = $this->adminId;
         ProductClass::updateProduct($post);
         util::complete();
     }

+ 43 - 57
biz-ghs/product/classes/ProductClass.php

@@ -768,19 +768,7 @@ class ProductClass extends BaseClass
         if (empty($product)) {
             util::fail("该花材不存在");
         }
-
         $upData = [];
-
-        if (isset($data['ratio'])) {
-            if (empty($data['ratio'])) {
-                util::fail("请输入花材比例");
-            }
-            if (preg_match("/^[1-9][0-9]*$/", $data['ratio']) == false || $data['ratio'] <= 0) {
-                util::fail('比例请填写整数,并且大于0');
-            }
-            $upData['ratio'] = $data['ratio'];
-        }
-
         //库存可以修改
         if (isset($data['stock']) && is_numeric($data['stock'])) {
             $preStock = $product->stock ?? 0;
@@ -788,21 +776,13 @@ class ProductClass extends BaseClass
                 if ($data['stock'] < 0) {
                     util::fail("库存不能小于0");
                 }
-
                 if (floor($data['stock']) != $data['stock']) {
                     util::fail('库存请填写整数');
                 }
-
                 //增加盘点记录 2021.7.27
                 $ratio = $upData['ratio'] ?? $product->ratio;//取最新比例
                 $formNum = ProductClass::formatStock($data['stock'], $ratio);
-                $ghsItemInfo = [
-                    [
-                        'productId' => $product->id,
-                        'bigNum' => $formNum['bigNum'],
-                        'smallNum' => $formNum['smallNum'],
-                    ]
-                ];
+                $ghsItemInfo = [['productId' => $product->id, 'bigNum' => $formNum['bigNum'], 'smallNum' => $formNum['smallNum'],]];
                 $pdData = [];
                 $pdData['itemInfo'] = $ghsItemInfo;
                 $pdData['sjId'] = $product->sjId;
@@ -833,54 +813,60 @@ class ProductClass extends BaseClass
                 $upData['cover'] = $data['cover'];
             }
         }
-        $discountPrice = $data['discountPrice'] ?? 0;
-        $currentPrice = $data['price'] ?? 0;
-        if ($discountPrice >= $currentPrice) {
-            util::fail('今日特价不能大于等于售价');
-        }
         if (isset($data['discountPrice']) && is_numeric($data['discountPrice'])) {
-            $upData['discountPrice'] = $data['discountPrice'];
+            $discountPrice = $data['discountPrice'] ?? 0;
+            $currentPrice = $data['price'] ?? 0;
+            if ($discountPrice >= $currentPrice) {
+                util::fail('今日特价要小于售价');
+            }
+            $upData['discountPrice'] = $discountPrice;
         }
         if (isset($data['price']) && is_numeric($data['price'])) {
             $upData['price'] = $data['price'];
-            //这里修改价格
+            //修改价格
             self::changePrice($product, $data['price'], self::PRICE_LABEL_CHANGE);
         }
+
         if (isset($data['weight'])) {
             $upData['weight'] = $data['weight'];
         }
         if (isset($data['smallRatio'])) {
             $upData['smallRatio'] = $data['smallRatio'];
         }
-        //加价
-        $skAddPrice = $data['skAddPrice'] ?? 0;
-        $upData['skAddPrice'] = $skAddPrice;
-        $addPrice = $data['addPrice'] ?? 0;
-        $upData['addPrice'] = $addPrice;
-        if ($addPrice > $skAddPrice) {
-            util::fail('普店加价不能大于散客加价');
-        }
-        $hjAddPrice = $data['hjAddPrice'] ?? 0;
-        $upData['hjAddPrice'] = $hjAddPrice;
-        if ($hjAddPrice > $addPrice) {
-            util::fail('银店加价不能大于普店加价');
-        }
-        $zsAddPrice = $data['zsAddPrice'] ?? 0;
-        $upData['zsAddPrice'] = $zsAddPrice;
-        if ($zsAddPrice > $hjAddPrice) {
-            util::fail('金店加价不能大于银店加价');
-        }
-        //价格
-        $price = $data['price'] ?? 0;
-        if (is_numeric($price) == false || $price < 0) {
-            util::fail('请填写价格');
-        }
-        $skPrice = bcsub($price, bcsub($addPrice, $skAddPrice, 2), 2);
-        $hjPrice = bcsub($price, bcsub($addPrice, $hjAddPrice, 2), 2);
-        $zsPrice = bcsub($price, bcsub($addPrice, $zsAddPrice, 2), 2);
-        $upData['skPrice'] = $skPrice;
-        $upData['hjPrice'] = $hjPrice;
-        $upData['zsPrice'] = $zsPrice;
+
+        if (isset($data['skPrice']) && is_numeric($data['skPrice'])) {
+            $upData['skPrice'] = $data['skPrice'];
+        } else {
+            //加价
+            $skAddPrice = $data['skAddPrice'] ?? 0;
+            $upData['skAddPrice'] = $skAddPrice;
+            $addPrice = $data['addPrice'] ?? 0;
+            $upData['addPrice'] = $addPrice;
+            if ($addPrice > $skAddPrice) {
+                util::fail('普店加价不能大于散客加价');
+            }
+            $hjAddPrice = $data['hjAddPrice'] ?? 0;
+            $upData['hjAddPrice'] = $hjAddPrice;
+            if ($hjAddPrice > $addPrice) {
+                util::fail('银店加价不能大于普店加价');
+            }
+            $zsAddPrice = $data['zsAddPrice'] ?? 0;
+            $upData['zsAddPrice'] = $zsAddPrice;
+            if ($zsAddPrice > $hjAddPrice) {
+                util::fail('金店加价不能大于银店加价');
+            }
+            //价格
+            $price = $data['price'] ?? 0;
+            if (is_numeric($price) == false || $price < 0) {
+                util::fail('请填写价格');
+            }
+            $skPrice = bcsub($price, bcsub($addPrice, $skAddPrice, 2), 2);
+            $hjPrice = bcsub($price, bcsub($addPrice, $hjAddPrice, 2), 2);
+            $zsPrice = bcsub($price, bcsub($addPrice, $zsAddPrice, 2), 2);
+            $upData['skPrice'] = $skPrice;
+            $upData['hjPrice'] = $hjPrice;
+            $upData['zsPrice'] = $zsPrice;
+        }
 
         if (isset($data['stockWarning'])) {
             $upData['stockWarning'] = $data['stockWarning'];

+ 11 - 1
sql.txt

@@ -851,4 +851,14 @@ ALTER TABLE xhPlantCg ADD `num` INT NOT NULL DEFAULT 0 COMMENT '本次采购的
 ALTER TABLE xhGoods MODIFY `content` TEXT COMMENT '正文内容';
 ALTER TABLE xhGoodsStockRecord ADD `relateName` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '关联人' AFTER `goodsNum`;
 
-====预订单 ssh 20220402
+====预订单 ssh 20220402
+
+
+ALTER TABLE xhGhsItem MODIFY `price` DECIMAL(10,2) NOT NULL DEFAULT '0.00' COMMENT '普通价' AFTER `skPrice`;
+ALTER TABLE xhShop MODIFY `totalPdAdd` DECIMAL(15,2) NOT NULL DEFAULT '0.00' COMMENT '累计盘盈';
+ALTER TABLE xhShop MODIFY `totalPdSub` DECIMAL(15,2) NOT NULL DEFAULT '0.00' COMMENT '累计盘亏';
+ALTER TABLE xhShop MODIFY `totalWast` DECIMAL(15,2) NOT NULL DEFAULT '0.00' COMMENT '累计报损';
+ALTER TABLE xhStatPdSub MODIFY `amount` DECIMAL(15,2) NOT NULL DEFAULT '0.00' COMMENT '金额';
+ALTER TABLE xhStatPdSub MODIFY `totalAmount` DECIMAL(15,2) NOT NULL DEFAULT '0.00' COMMENT '总金额';
+ALTER TABLE xhStatPdSubMonth MODIFY `amount` DECIMAL(15,2) NOT NULL DEFAULT '0.00' COMMENT '金额';
+ALTER TABLE xhStatPdSubMonth MODIFY `totalAmount` DECIMAL(15,2) NOT NULL DEFAULT '0.00' COMMENT '总金额';