Browse Source

完成库存预警

林琦海 5 years ago
parent
commit
f8fd89577e

+ 10 - 0
app/ghs/controllers/ProductController.php

@@ -19,9 +19,12 @@ class ProductController extends BaseController
 
 
     //开单时获取所有的分类花材信息
+    //库存预警
     public function actionIndex()
     {
         $py = Yii::$app->request->get('py','');
+        $type = Yii::$app->request->get('type','');
+
         //获取所有当前供应商的分类 (全部、常用)
         //根据分类组装分类下的花材信息
         $classIds = ItemClassClass::getGhsItemClassAll($this->merchantId);
@@ -35,6 +38,13 @@ class ProductController extends BaseController
             $itemIds = array_intersect($itemIds,$pyNameItemIds);
         }
 
+        //库存预警
+        if($type=='waring'){
+            $waringItemIds = ProductClass::getItemIdsWarning($this->merchantId,$this->shopId);
+            $itemIds = array_intersect($itemIds,$waringItemIds);
+        }
+
+
         $itemInfoData = ProductClass::getProductInfoByItemIds($itemIds);
 
         //常用的itemIds

+ 10 - 1
app/ghs/controllers/StockController.php

@@ -2,9 +2,18 @@
 
 namespace ghs\controllers;
 
+use Yii;
 
-//库存管理
+//库存管理与预警 linqh 2021.1.26
 class StockController extends BaseController
 {
+    //库存预警同花材列表共用一个接口
+    //库存管理同花材列表共用一个接口
 
+    //库存明细 linqh 2021.1.26
+    public function detail()
+    {
+        $itemId = Yii::$app->request->get('itemId',0);
+        
+    }
 }

+ 33 - 0
biz-ghs/product/classes/ProductClass.php

@@ -4,6 +4,7 @@ namespace bizGhs\product\classes;
 
 
 use bizGhs\base\classes\BaseClass;
+use bizGhs\item\classes\ItemClass;
 use common\components\business;
 use common\components\util;
 use common\services\xhItemService;
@@ -342,4 +343,36 @@ class ProductClass extends BaseClass
         }
     }
 
+
+    //库存告警的itemIds (库存数量少于告警数量)  linqh 2021.1.26
+    public static function getItemIdsWarning($merchantId,$shopId)
+    {
+        //获取当前门店下的 itemId=>stock
+        $productData = ProductClass::getAllList("itemId,stock",['shopId'=>$shopId]);
+        $productItemStock = [];
+        if($productData){
+            foreach ($productData as $v){
+                $productItemStock[$v['itemId']] = $v['stock'];
+            }
+        }
+
+        //获取merchantId 下 对应的itemId=>stockWaring
+        $itemData = ItemClass::getAllList("itemId,stockWarning",['merchantId'=>$merchantId]);
+        $itemStockWaring = [];
+        if($itemData){
+            foreach ($itemData as $v){
+                $itemStockWaring[$v['itemId']] = $v['stockWarning'];
+            }
+        }
+
+        //取库存数量少于告警数量 的itemId
+        $itemIds = [];
+        foreach ($productItemStock as $k=>$v){
+            $stockWaring = $itemStockWaring[$k]??0;
+            if($v < $stockWaring) {
+                $itemIds[] = $k;
+            }
+        }
+        return $itemIds;
+    }
 }