From 2cd1e4d4429c7e44b34edf01992cdfd84e78eb53 Mon Sep 17 00:00:00 2001 From: lyt Date: Fri, 31 May 2019 17:09:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AF=BB=E5=8F=96=E5=AD=98?= =?UTF-8?q?=E5=82=A8=E8=BF=87=E7=A8=8B=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vendorPlanSync/libraries/Tulanduo.php | 4 ++-- .../vendorPlanSync/models/Group_model.php | 22 +++++++++---------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/webht/third_party/vendorPlanSync/libraries/Tulanduo.php b/webht/third_party/vendorPlanSync/libraries/Tulanduo.php index 7e0c67bd..dbcac12c 100644 --- a/webht/third_party/vendorPlanSync/libraries/Tulanduo.php +++ b/webht/third_party/vendorPlanSync/libraries/Tulanduo.php @@ -86,7 +86,7 @@ class Tulanduo } // 商务 if (strval($order->GRI_OrderType) === "227002") { - return false; // todo: + // return false; // todo: return $this->push_tour($order); } // 传统订单 @@ -127,7 +127,7 @@ class Tulanduo $grd_apart_info = $this->tour_apart($grd_info); $big_order_index = 0; $expect_order_cnt = count($grd_apart_info['com'])+intval(!empty($grd_apart_info['big_pvt']))+intval(!empty($grd_apart_info['pvt'])); - // echo json_encode($grd_apart_info);exit; +// echo json_encode($grd_info);exit; foreach ($grd_apart_info as $group_key => $grd_a) { $big_order_index = $this->tour_apart_order_exec($group_key, $vas, $request_info, $guestlist, $grd_a, $big_order_index); } diff --git a/webht/third_party/vendorPlanSync/models/Group_model.php b/webht/third_party/vendorPlanSync/models/Group_model.php index 539430e2..46e6f62c 100644 --- a/webht/third_party/vendorPlanSync/models/Group_model.php +++ b/webht/third_party/vendorPlanSync/models/Group_model.php @@ -68,23 +68,21 @@ log_message('error',$sql); 'ReturnDatesAsStrings' => 1 ); $conn = sqlsrv_connect($db['HT']['hostname'], $connection); - $stmt = sqlsrv_query($conn, "EXEC Tourmanager.dbo.SP_VendorPlan_GetPlanInfo $gri_sn, $vendor_id, 0 "); +log_message('error', "SET NOCOUNT ON;EXEC Tourmanager.dbo.SP_VendorPlan_GetPlanInfo $gri_sn, $vendor_id, 0 "); + $stmt = sqlsrv_query($conn, "SET NOCOUNT ON;EXEC Tourmanager.dbo.SP_VendorPlan_GetPlanInfo $gri_sn, $vendor_id, 0 "); $result_object = array(); - if (false !== $stmt) { // 无权限返回false,会导致下列sqlsrv_has_rows,sqlsrv_next_result死循环 - //存储过程中每一个select都会产生一个结果集,取某个结果集就需要从第一个移动到需要的那个结果集 - //如果结果集为空就移到下一个 - while (sqlsrv_has_rows($stmt) !== TRUE) { - sqlsrv_next_result($stmt); - } - while ($row = sqlsrv_fetch_object($stmt)) { - $result_object[] = $row; + if (false !== $stmt ) { // 无权限或执行错误返回false + // 存储过程中每个select都产生结果集 + // 设置了SET NOCOUNT ON;就只有输出的结果集 + $a = true; + while ($a !== false) { + $row = sqlsrv_fetch_object($stmt); // Retrieves the next row of data as a PHP object. + $a = !empty($row); + $a===true ? $result_object[] = $row : null; } sqlsrv_free_stmt($stmt); } sqlsrv_close($conn); - -log_message('error', "EXEC Tourmanager.dbo.SP_VendorPlan_GetPlanInfo $gri_sn, $vendor_id, 0 "); - $grd_info = $result_object; $all_day_no = array_map(function($ele){return $ele->GRD_DayNo;}, $grd_info); $day_no_str = implode(",", $all_day_no);