Преглед изворни кода

Merge branch 'master' into dev

shish пре 2 дана
родитељ
комит
8fc03af4b2

+ 23 - 8
app-ghs/controllers/OrderController.php

@@ -125,7 +125,12 @@ class OrderController extends BaseController
             util::fail('不是你的订单');
         }
         $customName = $order->customName ?? '';
-        $date = date("Ymd", strtotime($order->addTime));
+        // 下载文件名里的日期跟销售单抬头一致:发货日年月日
+        $sendTime = $order->sendTime ?? '';
+        if (empty($sendTime) || strpos($sendTime, '0000-00-00') === 0) {
+            $sendTime = $order->addTime ?? '';
+        }
+        $date = date('Ymd', strtotime($sendTime));
         $orderSn = $order->orderSn ?? '';
         $name = $customName . '_' . $date . '_' . $orderSn;
         $shop = $this->shop;
@@ -1107,16 +1112,18 @@ class OrderController extends BaseController
             $where['book'] = $book;
         }
         $searchTime = $get['searchTime'] ?? '';
-        //0搜索的addTime 1搜索的payTime
-        $searchTimeType = $get['searchTimeType'] ?? 0;
+        // 0 开单时间 addTime,1 账单时间 payTime,2 发货时间 sendTime;1 保持原值避免旧端/书签坏掉
+        $searchTimeType = (int)($get['searchTimeType'] ?? 0);
         if (!empty($searchTime)) {
             $startTime = $get['startTime'] ?? '';
             $endTime = $get['endTime'] ?? '';
             $period = dateUtil::formatTime($searchTime, $startTime, $endTime);
-            if ($searchTimeType == 0) {
-                $where['addTime'] = ['between', [$period['startTime'], $period['endTime']]];
-            } else {
+            if ($searchTimeType === 2) {
+                $where['sendTime'] = ['between', [$period['startTime'], $period['endTime']]];
+            } elseif ($searchTimeType === 1) {
                 $where['payTime'] = ['between', [$period['startTime'], $period['endTime']]];
+            } else {
+                $where['addTime'] = ['between', [$period['startTime'], $period['endTime']]];
             }
         }
 
@@ -1124,7 +1131,7 @@ class OrderController extends BaseController
             ini_set('memory_limit', '2045M');
             set_time_limit(0);
             if (!isset($where['payTime'])) {
-                util::fail('请选 账单日期 和 时间段');
+                util::fail('请选 账单时间 和 时间段');
             }
             $start = $where['payTime'][1][0];
             $end = $where['payTime'][1][1];
@@ -1185,7 +1192,15 @@ class OrderController extends BaseController
             $where['sendType'] = $sendType;
         }
 
-        $respond = OrderClass::getOrderList($where);
+        // 排序跟着当前时间类型:开单 addTime、账单 payTime、发货 sendTime
+        if ($searchTimeType === 2) {
+            $order = 'sendTime DESC, addTime DESC';
+        } elseif ($searchTimeType === 1) {
+            $order = 'payTime DESC, addTime DESC';
+        } else {
+            $order = 'addTime DESC';
+        }
+        $respond = OrderClass::getOrderList($where, $order);
         if ($export == 1) {
             OrderClass::exportOrderData($respond, $this->mainId);
         }

+ 17 - 3
app-hd/controllers/PurchaseController.php

@@ -1294,17 +1294,24 @@ class PurchaseController extends BaseController
         util::success($info->attributes);
     }
 
-    //采购记录 ssh 2021.1.24
+    //采购记录:searchTimeType 0 开单 addTime,1 账单 payTime,2 发货 sendTime;排序跟着当前类型
     public function actionList()
     {
         $get = Yii::$app->request->get();
         $where = ['shopId' => $this->shopId];
         $searchTime = $get['searchTime'] ?? '';
+        $searchTimeType = (int)($get['searchTimeType'] ?? 0);
         if (!empty($searchTime)) {
             $startTime = $get['startTime'] ?? '';
             $endTime = $get['endTime'] ?? '';
             $period = dateUtil::formatTime($searchTime, $startTime, $endTime);
-            $where['addTime'] = ['between', [$period['startTime'], $period['endTime']]];
+            if ($searchTimeType === 2) {
+                $where['sendTime'] = ['between', [$period['startTime'], $period['endTime']]];
+            } elseif ($searchTimeType === 1) {
+                $where['payTime'] = ['between', [$period['startTime'], $period['endTime']]];
+            } else {
+                $where['addTime'] = ['between', [$period['startTime'], $period['endTime']]];
+            }
         }
         $ghsId = $get['ghsId'] ?? 0;
         if (!empty($ghsId)) {
@@ -1314,7 +1321,14 @@ class PurchaseController extends BaseController
         if (!empty($status)) {
             $where['status'] = $status;
         }
-        $respond = PurchaseService::getPurchaseList($where);
+        if ($searchTimeType === 2) {
+            $order = 'sendTime DESC, addTime DESC';
+        } elseif ($searchTimeType === 1) {
+            $order = 'payTime DESC, addTime DESC';
+        } else {
+            $order = 'addTime DESC';
+        }
+        $respond = PurchaseService::getPurchaseList($where, $order);
         $respond['shop'] = $this->shop->attributes;
         util::success($respond);
     }

+ 15 - 6
biz-ghs/order/classes/OrderClass.php

@@ -1452,10 +1452,12 @@ class OrderClass extends BaseClass
         return $list;
     }
 
-    //订单列表 ssh 2021.1.19
-    public static function getOrderList($where)
+    /**
+     * 供货商订单列表。$order 由列表页时间类型决定:开单 addTime、账单 payTime、发货 sendTime。
+     */
+    public static function getOrderList($where, $order = 'addTime DESC')
     {
-        $data = self::getList('*', $where, 'addTime DESC');
+        $data = self::getList('*', $where, $order);
 
         $data['totalActPrice'] = 0;
         $data['totalTkPrice'] = 0;
@@ -2644,6 +2646,9 @@ class OrderClass extends BaseClass
         Yii::$app->redis->executeCommand('LPUSH', [$newOrderKey, $id]);
     }
 
+    /**
+     * 生成销售单图片:下载 / 全下载共用,抬头发货日期取 sendTime 的年月日。
+     */
     public static function createImgOrder($order, $shop, $staff, $all)
     {
         $staffName = $order->shopAdminName ?? '';
@@ -2663,8 +2668,12 @@ class OrderClass extends BaseClass
             mkdir($dir, 0700, true);
         }
 
-        $payTime = $order->payTime ?? '';
-        $currentDate = date("Y-m-d", strtotime($payTime));
+        // 下载/全下载销售单抬头用发货日,只要年月日;空 sendTime 回退开单日
+        $sendTime = $order->sendTime ?? '';
+        if (empty($sendTime) || strpos($sendTime, '0000-00-00') === 0) {
+            $sendTime = $order->addTime ?? '';
+        }
+        $currentDate = date('Y-m-d', strtotime($sendTime));
 
         $sameTimeIds = $order->sameTimeIds;
         $sameIds = [];
@@ -2814,7 +2823,7 @@ XL;
 			<div style="margin-top:5px;">销售单</div>
 		</div>
 		<div style="width:750px;">
-			<span>单据日期:{$currentDate}</span>
+			<span>发货日期:{$currentDate}</span>
 			<span style="margin-left:80px;">开单:{$staffName}</span>
 			<span style="margin-left:80px;">客户:{$customName}</span>
 			<span style="float:right;">编号:{$orderSn}</span>

+ 5 - 3
biz-hd/purchase/services/PurchaseService.php

@@ -164,10 +164,12 @@ class PurchaseService extends BaseService
         util::fail('无法操作');
     }
 
-    //采购记录 ssh 2021.1.24
-    public static function getPurchaseList($where)
+    /**
+     * 采购记录列表。$order 由列表页时间类型决定:开单 addTime、账单 payTime、发货 sendTime。
+     */
+    public static function getPurchaseList($where, $order = 'addTime DESC')
     {
-        $data = PurchaseClass::getList('*', $where, 'addTime DESC');
+        $data = PurchaseClass::getList('*', $where, $order);
         $data['list'] = self::groupInfo($data['list']);
         return $data;
     }