林琦海 пре 5 година
родитељ
комит
b302354466

+ 16 - 3
app/ghs/controllers/StockController.php

@@ -2,6 +2,8 @@
 
 namespace ghs\controllers;
 
+use bizGhs\stock\classes\StockRecordClass;
+use common\components\util;
 use Yii;
 
 //库存管理与预警 linqh 2021.1.26
@@ -11,9 +13,20 @@ class StockController extends BaseController
     //库存管理同花材列表共用一个接口
 
     //库存明细 linqh 2021.1.26
-    public function detail()
+    public function actionDetail()
     {
-        $itemId = Yii::$app->request->get('itemId',0);
-        
+        $get = Yii::$app->request->get();
+        $itemId = $get['itemId']??0;
+        $start_date = $get['start_date']??'';
+        $end_date = $get['end_date']??'';
+        $where = ['itemId'=>$itemId,'shopId'=>$this->shopId];
+
+        if($start_date  && $end_date){
+            $where['addTime'] = ['between',[$start_date,$end_date]];
+        }
+
+
+        $list = StockRecordClass::getRecordList($where);
+        util::success($list);
     }
 }

+ 37 - 2
biz-ghs/stock/classes/StockRecordClass.php

@@ -6,6 +6,7 @@ use bizGhs\base\classes\BaseClass;
 use bizGhs\order\traits\OrderTrait;
 use bizGhs\product\classes\ProductClass;
 use bizGhs\stock\services\StockRecordService;
+use common\services\xhItemService;
 
 class StockRecordClass extends BaseClass
 {
@@ -16,10 +17,42 @@ class StockRecordClass extends BaseClass
     const STOCK_RECORD_TYPE_IN_STOCK = 3; //入库
     const STOCK_RECORD_TYPE_CHECK_STOCK = 4; //盘点
     const STOCK_RECORD_TYPE_SELL_STOCK = 5; //销售(卖出)
-    const STOCK_RECORD_TYPE_OUT_STOCK_CANCEL = 6; //取消出库
-    const STOCK_RECORD_TYPE_IN_STOCK_CANCEL = 7; //取消入库
 
+    public static $typeMap = [
+        self::STOCK_RECORD_TYPE_PURCHASE=>'采购入库',
+        self::STOCK_RECORD_TYPE_IN_STOCK=>'调拨入库',
+        self::STOCK_RECORD_TYPE_OUT_STOCK=>'调拨出库',
+        self::STOCK_RECORD_TYPE_CHECK_STOCK=>'盘点',
+        self::STOCK_RECORD_TYPE_SELL_STOCK=>'开单出库',
+    ];
 
+    public static function getRecordList($where)
+    {
+        $data = self::getList('*', $where, 'addTime DESC');
+        $list = isset($data['list']) && !empty($data['list']) ? $data['list'] : [];
+        if (empty($list)) {
+            return $data;
+        }
+        $itemIds = array_column($list,'itemId');
+        $itemIdsUnitNum = xhItemService::getItemUnitNums($itemIds);
+        foreach ($list as $k=>$v){
+            $unitNum = $itemIdsUnitNum[$v['itemId']]??0;
+            $stock = ProductClass::formatStock($v['newStock'],$unitNum);
+            $orderNums = ProductClass::formatStock($v['itemNum'],$unitNum);
+            $list[$k]['bigNumOrder'] = $orderNums['bigNum'];
+            $list[$k]['smallNumOrder'] = $orderNums['smallNum'];
+            $list[$k]['bigNumStock'] = $stock['bigNum'];
+            $list[$k]['smallNumStock'] = $stock['smallNum'];
+            $list[$k]['typeName'] = self::getTypeName($v['recordType']);
+        }
+        $data['list'] = $list;
+        return $data;
+    }
+
+    public static function getTypeName($type)
+    {
+        return self::$typeMap[$type]??'';
+    }
     public static function addRecord($data)
     {
         return self::add($data);
@@ -57,4 +90,6 @@ class StockRecordClass extends BaseClass
 
         }
     }
+
+    //
 }

+ 13 - 0
common/services/xhItemService.php

@@ -48,6 +48,19 @@ class xhItemService
         return $unitNum;
     }
 
+    //批量获取item unitNum  [itemId=>unitNum]
+    public static function getItemUnitNums($ids)
+    {
+        $itemDatas = self::getByIds($ids);
+        $data = [];
+        if($itemDatas){
+            foreach ($itemDatas as $v){
+                $data[$v['id']] = $v['unitNum'];
+            }
+        }
+        return $data;
+    }
+
     public static function getByIds($ids)
     {
         return (new xhItem())->getByIds($ids);