|
|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
namespace bizGhs\order\classes;
|
|
|
|
|
|
+use bizGhs\custom\classes\DistClass;
|
|
|
use bizGhs\item\classes\ItemClassClass;
|
|
|
use bizHd\purchase\classes\PurchaseItemClass;
|
|
|
use common\components\arrayUtil;
|
|
|
@@ -21,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;
|
|
|
@@ -450,7 +453,7 @@ class OrderClass extends BaseClass
|
|
|
$customId = $order->customId ?? 0;
|
|
|
$custom = CustomClass::getById($customId, true);
|
|
|
if (empty($custom)) {
|
|
|
- util::fail('没有找到客户信息,编号:'.$customId);
|
|
|
+ util::fail('没有找到客户信息,编号:' . $customId);
|
|
|
}
|
|
|
$shopId = $custom->shopId ?? 0;
|
|
|
$customShop = ShopClass::getById($shopId, true);
|
|
|
@@ -1398,6 +1401,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', 'o.remark', '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]) && isset($distMap[$distId])) {
|
|
|
+ $grouped[$distId] = [
|
|
|
+ 'distId' => $distId,
|
|
|
+ 'distName' => $distMap[$distId]['name'],
|
|
|
+ 'list' => [],
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ $grouped[$distId]['list'][$orderInfo['customId']][] = $orderInfo;
|
|
|
+ }
|
|
|
+
|
|
|
+ return [
|
|
|
+ 'list' => array_values($grouped),
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
//整合订单员工和供货商等信息 ssh 2021.1.19
|
|
|
//$isList 是否列表页
|
|
|
public static function groupOrder($list, $showButton = false, $showItem = false, $showExpress = false, $isList = false)
|
|
|
@@ -1514,7 +1560,7 @@ class OrderClass extends BaseClass
|
|
|
} else {
|
|
|
$content .= $productNum . ' = ' . $productPrice . '元 ' . ($ratioType == 0 ? $ratio . '支装' : ($ratioType == 1 ? '若干支装' : '')) . '<BR>';
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
$content .= ' ' . ($ratioType == 0 ? $ratio . '支装' : ($ratioType == 1 ? '若干支装' : '')) . '<BR>';
|
|
|
}
|
|
|
$content .= '--------------------------------<BR>';
|
|
|
@@ -1899,7 +1945,7 @@ class OrderClass extends BaseClass
|
|
|
/**************************如果是好多花的云仓还要再打一下标签纸,多处要同步修改,关键词 hdh_yc *****************************/
|
|
|
$orderMainId = $orderInfo['mainId'] ?? 0;
|
|
|
if (getenv('YII_ENV') == 'production') {
|
|
|
- $map = [65726, 58, 25119];
|
|
|
+ $map = [65726, 58, 25119, 28500, 1294,12925];
|
|
|
} else {
|
|
|
$map = [828];
|
|
|
}
|
|
|
@@ -2958,7 +3004,7 @@ XL;
|
|
|
/**************************如果是好多花的云仓还要再打一下标签纸,多处要同步修改,关键词 hdh_yc *****************************/
|
|
|
$orderMainId = $order->mainId;
|
|
|
if (getenv('YII_ENV') == 'production') {
|
|
|
- $map = [65726, 58, 25119];
|
|
|
+ $map = [65726, 58, 25119, 28500, 1294,12925];
|
|
|
} else {
|
|
|
$map = [828];
|
|
|
}
|
|
|
@@ -2972,8 +3018,7 @@ XL;
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
- $shortName = $custom->shortName ?? '';
|
|
|
-
|
|
|
+ $shortName = $custom->shortName ?? '未命名';
|
|
|
$shortName = stringUtil::subStringUtf8($shortName, 5);
|
|
|
$customMobile = $order->customMobile ?? '';
|
|
|
if (empty($customMobile)) {
|
|
|
@@ -2992,6 +3037,9 @@ XL;
|
|
|
if (empty($wlName)) {
|
|
|
$wlName = $shortRemark;
|
|
|
}
|
|
|
+ $distId = $custom->distId ?? '';
|
|
|
+ $dist = DistClass::getById($distId, true);
|
|
|
+ $distName = $dist->name ?? '未分区';
|
|
|
|
|
|
$address = $order->address ?? '';
|
|
|
$floor = $order->floor ?? '';
|
|
|
@@ -3013,9 +3061,6 @@ XL;
|
|
|
$p = new printUtil($wlLabelSn);
|
|
|
|
|
|
if (!in_array($orderMainId, $map)) {
|
|
|
- if (empty($shortName)) {
|
|
|
- util::fail('客户短名没有设置');
|
|
|
- }
|
|
|
$p->times = 1;
|
|
|
//安庆三叶鲜花批发,比较特殊
|
|
|
if ($orderMainId == 2071) {
|
|
|
@@ -3052,14 +3097,10 @@ XL;
|
|
|
$itemNum = floatval($itemNum);
|
|
|
$payTime = $order->payTime ?? '';
|
|
|
$payDate = date('m-d H:i', strtotime($payTime));
|
|
|
- $content = '<TEXT x="400" y="30" font="12" w="4" h="4" r="90">' . $shortName . '</TEXT>';
|
|
|
- $content .= '<TEXT x="290" y="30" font="12" w="2" h="3" r="90">' . $customName . '</TEXT>';
|
|
|
- $content .= '<TEXT x="195" y="30" font="12" w="1" h="2" r="90">' . $fullAddress . '</TEXT>';
|
|
|
- $content .= '<TEXT x="128" y="30" font="12" w="2" h="2" r="90">' . $customMobile . ' ' . $itemNum . '扎</TEXT>';
|
|
|
- //福州易批花,不仅要自动打印,还要打印出物流名称
|
|
|
- if ($orderMainId == 25119) {
|
|
|
- $content .= '<TEXT x="70" y="30" font="12" w="2" h="2" r="90">物流 ' . $wlName .' '.$payDate. '</TEXT>';
|
|
|
- }
|
|
|
+ $content = '<TEXT x="400" y="30" font="12" w="3" h="3" r="90">' . $customName . '</TEXT>';
|
|
|
+ $content .= '<TEXT x="280" y="30" font="12" w="2" h="2" r="90">' . $fullAddress . '</TEXT>';
|
|
|
+ $content .= '<TEXT x="180" y="30" font="12" w="2" h="2" r="90">' . $customMobile . ' ' . $itemNum . '扎</TEXT>';
|
|
|
+ $content .= '<TEXT x="86" y="30" font="12" w="2" h="2" r="90">' . $distName . ' ' . $payDate . '</TEXT>';
|
|
|
/**************************如果是好多花的云仓还要再打一下标签纸,多处要同步修改,关键词 hdh_yc *****************************/
|
|
|
}
|
|
|
$p->printLabelMsg($content);
|