Pārlūkot izejas kodu

采购列表增加各个状态的统计字段
增加状态名称字段
花材信息增加花材等级字段

林琦海 5 gadi atpakaļ
vecāks
revīzija
5568613a93

+ 4 - 0
app/ghs/controllers/PurchaseOrderController.php

@@ -3,6 +3,7 @@ namespace ghs\controllers;
 
 use bizGhs\order\classes\PurchaseOrderClass;
 use bizGhs\order\classes\PurchaseOrderItemClass;
+use bizGhs\order\models\PurchaseOrder;
 use bizGhs\product\classes\ProductClass;
 use common\components\util;
 use Yii;
@@ -66,6 +67,9 @@ class PurchaseOrderController extends BaseController
         $where['merchantId'] = $this->sjId;
         $where['shopId'] = $this->shopId;
         $data = PurchaseOrderClass::getOrderList($where);
+        //状态统计
+        $statData = PurchaseOrderClass::statNum($this->shopId);
+        $data = array_merge($data,$statData);
         util::success($data);
     }
 

+ 66 - 1
biz-ghs/order/classes/PurchaseOrderClass.php

@@ -25,6 +25,13 @@ class PurchaseOrderClass extends BaseClass
     const PURCHASE_ORDER_STATUS_SENDING = 3; //配送中
     const PURCHASE_ORDER_STATUS_COMPLETE  = 4; //已完成
 
+    public static $statusMap = [
+        self::PURCHASE_ORDER_STATUS_WAIT =>'待确认',
+        self::PURCHASE_ORDER_STATUS_UN_SEND =>'待配送',
+        self::PURCHASE_ORDER_STATUS_SENDING =>'配送中',
+        self::PURCHASE_ORDER_STATUS_COMPLETE =>'已完成',
+    ];
+
 	//添加采购单 lqh 2021.1.19
     public static function addOrder($data)
     {
@@ -137,7 +144,8 @@ class PurchaseOrderClass extends BaseClass
         $data = self::getList('*', $where, 'addTime DESC');
         $list = $data['list'] ?? [];
         $data['list'] = self::groupSupplierList($list);
-        $data['list'] = self::groupAdminList($list);
+        $data['list'] = self::groupAdminList($data['list']);
+        $data['list'] = self::groupStatusName($data['list']);
         return $data;
     }
 
@@ -160,6 +168,10 @@ class PurchaseOrderClass extends BaseClass
                 $tmp = $info;
                 $tmp['itemCover'] = self::groupImg($info['itemCover']);
                 unset($v['itemInfo']);
+                //兼容 旧数据,没有 rank (花材等级 默认给B)
+                if(!isset($tmp['rank'])){
+                    $tmp['rank']= 'B';
+                }
                 $tmp = array_merge($tmp,$v);
                 $itemData[] = $tmp;
             }
@@ -174,6 +186,7 @@ class PurchaseOrderClass extends BaseClass
 	    $orderData['supplierAddress'] = $supplierInfo['address'] ?? '';
 
         $orderData['itemInfo'] = $itemData;
+        $orderData['statusName'] = self::getStatusName($orderData['status']);
         return $orderData;
     }
 
@@ -190,6 +203,7 @@ class PurchaseOrderClass extends BaseClass
             $tmp = [];
             $productId = $v['productId'];
             $itemId = $productData[$productId]['itemId'];
+            $rank = $productData[$productId]['rank']??'';// 花材级别
             $tmp['orderSn'] = $orderSn;
             $tmp['itemId'] = $itemId;
             $tmp['productId'] = $v['productId'];
@@ -207,6 +221,7 @@ class PurchaseOrderClass extends BaseClass
                 'smallNumStock'=> $stockFormat['smallNum'],//当时库存 小单位数
                 'itemUnit'=> $unitNum?2:1,//单位
                 'ratio'=>$unitNum,// 比例
+                'rank'=>$rank,// 花材级别
                 'bigUnit'=> xhItemService::getUnitName($itemData[$itemId]['bigUnit']),//大单位名称 扎
                 'smallUnit'=> xhItemService::getUnitName($itemData[$itemId]['smallUnit']),//小单位名称 支
             ];
@@ -216,4 +231,54 @@ class PurchaseOrderClass extends BaseClass
         return $batchData;
     }
 
+    // 组装状态码 linqh 2021.1.30
+    public static function groupStatusName($list)
+    {
+        foreach ($list as $k => $val) {
+            $status = $val['status'] ?? 0;
+            $list[$k]['statusName'] = self::getStatusName($status);
+        }
+        return $list;
+    }
+
+
+    // 获取状态码名称
+    public static function getStatusName($status)
+    {
+        return self::$statusMap[$status]??'';
+    }
+
+    //获取各个状态下的订单数量 allNum unPayNum unSendNum sendingNum finishNum
+    public static function statNum($shopId)
+    {
+        $data = [
+            'allNum'=>0,
+            'unPayNum'=>0,
+            'unSendNum'=>0,
+            'sendingNum'=>0,
+            'finishNum'=>0,
+        ];
+        $res = self::getAllList("status",['shopId'=>$shopId]);
+        foreach($res as $v){
+            $data['allNum'] ++;
+            $status = $v['status'];
+            switch ($status){
+                case self::PURCHASE_ORDER_STATUS_WAIT:
+                    //待支付
+                    $data['unPayNum']++;
+                    break;
+                case self::PURCHASE_ORDER_STATUS_UN_SEND:
+                    $data['unSendNum'] ++;
+                    break;
+                case self::PURCHASE_ORDER_STATUS_SENDING:
+                    $data['sendingNum'] ++;
+                    break;
+                case self::PURCHASE_ORDER_STATUS_COMPLETE:
+                    $data['finishNum'] ++;
+                    break;
+            }
+        }
+        return $data;
+    }
+
 }