|
|
@@ -22,9 +22,11 @@ use biz\stat\classes\StatRefundClass;
|
|
|
use biz\stat\classes\StatSaleClass;
|
|
|
use bizGhs\express\services\DadaExpressServices;
|
|
|
use bizGhs\order\traits\OrderTrait;
|
|
|
+use bizGhs\order\models\Order;
|
|
|
use bizGhs\product\classes\ProductClass;
|
|
|
use bizGhs\admin\classes\AdminClass;
|
|
|
use bizGhs\custom\classes\CustomClass;
|
|
|
+use bizGhs\custom\models\Custom;
|
|
|
use bizGhs\shop\classes\MainClass;
|
|
|
use bizGhs\stock\classes\StockRecordClass;
|
|
|
use bizHd\purchase\classes\PurchaseClass;
|
|
|
@@ -1400,6 +1402,49 @@ class OrderClass extends BaseClass
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
+ //按片区排列的订单列表
|
|
|
+ public static function getDistOrderList($where)
|
|
|
+ {
|
|
|
+ /** @var Order $model */
|
|
|
+ $model = self::getActiveRecord();
|
|
|
+
|
|
|
+ $query = $model->conditionQuery($where)
|
|
|
+ ->alias('o')
|
|
|
+ ->leftJoin(['c' => Custom::tableName()], 'c.id = o.customId')
|
|
|
+ ->select(['o.id', 'o.mainId', 'o.customId', 'o.customName', 'o.customAvatar', 'o.fullAddress', 'c.name', 'c.mobile', 'c.distId', 'distId' => 'c.distId']);
|
|
|
+
|
|
|
+ // $clone = clone $query;
|
|
|
+ // $count = intval($clone->count('o.id'));
|
|
|
+
|
|
|
+ $orderList = $query
|
|
|
+ ->orderBy(['c.distId' => SORT_ASC, 'o.addTime' => SORT_DESC]) // ->offset($offset)->limit($pageSize)
|
|
|
+ ->asArray()
|
|
|
+ ->all();
|
|
|
+
|
|
|
+ $distIds = array_unique(array_filter(array_column($orderList, 'distId')));
|
|
|
+ $distMap = [];
|
|
|
+ if (!empty($distIds)) {
|
|
|
+ $distMap = DistClass::getByIds($distIds, null, 'id');
|
|
|
+ }
|
|
|
+
|
|
|
+ $grouped = [];
|
|
|
+ foreach ($orderList as $orderInfo) {
|
|
|
+ $distId = intval($orderInfo['distId']);
|
|
|
+ if (!isset($grouped[$distId])) {
|
|
|
+ $grouped[$distId] = [
|
|
|
+ 'distId' => $distId,
|
|
|
+ 'distName' => $distMap[$distId]['name'],
|
|
|
+ 'list' => [],
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ $grouped[$distId]['list'][] = $orderInfo;
|
|
|
+ }
|
|
|
+
|
|
|
+ return [
|
|
|
+ 'list' => array_values($grouped),
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
//整合订单员工和供货商等信息 ssh 2021.1.19
|
|
|
//$isList 是否列表页
|
|
|
public static function groupOrder($list, $showButton = false, $showItem = false, $showExpress = false, $isList = false)
|