瀏覽代碼

开单: 分类,花材数据列表

林琦海 5 年之前
父節點
當前提交
a885315889

+ 7 - 0
app/ghs/controllers/ItemClassController.php

@@ -45,4 +45,11 @@ class ItemClassController extends BaseController
         ItemClassService::deleteGhsItemClass($id);
         util::complete('操作成功');
     }
+
+    //开单: 获取所有分类
+    public function actionAll()
+    {
+        $data = ItemClassClass::getGhsItemClassAll($this->ghsId);
+        util::success($data);
+    }
 }

+ 25 - 0
app/ghs/controllers/ItemInfoController.php

@@ -0,0 +1,25 @@
+<?php
+/**
+ * User: admin
+ * Date Time: 2021/1/15 20:36
+ */
+
+namespace ghs\controllers;
+
+
+use bizGhs\item\classes\ItemClass;
+use bizGhs\item\classes\ItemInfoClass;
+use common\components\util;
+use Yii;
+class ItemInfoController extends BaseController
+{
+
+    public function actionList()
+    {
+        $classId = Yii::$app->request->get('classId',0);
+        $itemIds = ItemClass::getItemIdsByClassId($classId);
+        $data = ItemInfoClass::getItemInfoByItemId($itemIds);
+        util::success($data);
+    }
+
+}

+ 10 - 0
biz-ghs/item/classes/ItemClass.php

@@ -57,4 +57,14 @@ class ItemClass extends BaseClass
         self::deleteById($id);
         return true;
     }
+
+    //根据花材分类ID,获取itemIds
+    public static function getItemIdsByClassId($classId)
+    {
+        $data = self::getAllList("itemId",['classId'=>$classId]);
+        if($data){
+            $data= array_column($data,'itemId');
+        }
+        return $data;
+    }
 }

+ 19 - 0
biz-ghs/item/classes/ItemClassClass.php

@@ -79,6 +79,25 @@ class ItemClassClass extends BaseClass
         return true;
     }
 
+    //获取开单页所有的分类:包括全部、常用
+    public static function getGhsItemClassAll($ghsId)
+    {
+        $where = [
+            'ghsId'=>$ghsId
+        ];
+        $data = self::getAllList('id,name',$where,'inTurn desc');
+        $all = [
+            'id'=>-1,
+            'name'=>'全部'
+        ];
+        $use = [
+            'id'=>-2,
+            'name'=>'常用'
+        ];
+        array_unshift($data,$all);
+        array_unshift($data,$use);
+        return $data;
+    }
 
 
 }

+ 48 - 1
biz-ghs/item/classes/ItemInfoClass.php

@@ -8,11 +8,58 @@ namespace bizGhs\item\classes;
 
 
 use bizGhs\base\classes\BaseClass;
+use common\components\business;
+use common\models\xhItem;
 
 class ItemInfoClass extends BaseClass
 {
 
     public static $baseFile = '\bizGhs\item\models\ItemInfo';
 
-    //
+    //根据itemIds获取相应的花材信息
+    public static function getItemInfoByItemId(array $itemIds)
+    {
+        $where = ['itemId'=>['in',$itemIds],'delStatus'=>0];
+        $data = self::getAllList('*',$where);
+        $data = self::groupItemBaseInfo($data);
+        return $data;
+    }
+
+    //根据花材ID,获取花材名称,图片
+    public static function groupItemBaseInfo($list)
+    {
+        //取得itemIds
+        $itemIds = array_column($list,'itemId');
+        //获取相应的图片,名称,py
+        $where = ['id'=>$itemIds];
+        $data = xhItem::getAllByCondition($where,null,'id,name,pyName,cover,unitNum');
+        if(!empty($data)){
+            $data = array_column($data, NULL, 'id');
+            foreach ($list as $k=>$v){
+                $coverInfo = business::formatOrderGoodsCover($data[$v['itemId']]);
+                $unitNum = $data[$v['itemId']]['unitNum']??0;
+                $stockInfo = self::formatStock($v['stock'],$unitNum);
+                $list[$k]['cover'] = $coverInfo['coverUrl'];
+                $list[$k]['stockBundle'] = $stockInfo['stockBundle'];
+                $list[$k]['stockPiece'] = $stockInfo['stockPiece'];
+                $list[$k]['itemName'] = $data[$v['itemId']]['name']??'';
+            }
+        }
+        return $list;
+    }
+
+    //花材的库存转换: 库存是小数,根据各个花材的unitNum, 计算出多少扎,多少支
+    public static function formatStock($stock,$unitNum)
+    {
+        $stockBundle = floor($stock); // 扎
+        $stockArr = explode('.',$stock);
+        $stockPiece = 0; //支
+        if(count($stockArr)===2){
+            $stockPiece = bcdiv(bcmul($stockArr[1],$unitNum),100);
+        }
+        return [
+            'stockBundle'=>$stockBundle,
+            'stockPiece'=>$stockPiece,
+        ];
+    }
 }

+ 16 - 0
common/models/xhItem.php

@@ -0,0 +1,16 @@
+<?php
+/**
+ * User: admin
+ * Date Time: 2021/1/15 23:48
+ */
+
+namespace common\models;
+
+
+class xhItem extends xhBaseModel
+{
+    public static function tableName()
+    {
+        return 'xhItem';
+    }
+}