diff --git a/webht/third_party/vendorPlanSync/controllers/index.php b/webht/third_party/vendorPlanSync/controllers/index.php
index 04f9cdd7..8ab53c4f 100644
--- a/webht/third_party/vendorPlanSync/controllers/index.php
+++ b/webht/third_party/vendorPlanSync/controllers/index.php
@@ -34,6 +34,9 @@ class Index extends CI_Controller {
log_message('error',"\n\n---------------------------------------------------PUSH------------------------------------------------------------\n");
$start_date = date('Y-m-d');
$end_date = date('Y-m-d 23:59:59', strtotime("+2 months"));
+ // test
+ $start_date = '2019-03-27';
+ $end_date = '2019-07-27 23:59:59';
$ready_to_send = $this->Group_model->get_plan_not_received(1, $GRI_SN, $vendor_str, $start_date, $end_date);
// log_message('error',var_export($ready_to_send, 1));
if (empty($ready_to_send)) {
diff --git a/webht/third_party/vendorPlanSync/libraries/Tulanduo.php b/webht/third_party/vendorPlanSync/libraries/Tulanduo.php
index 1710acbf..5885320c 100644
--- a/webht/third_party/vendorPlanSync/libraries/Tulanduo.php
+++ b/webht/third_party/vendorPlanSync/libraries/Tulanduo.php
@@ -106,19 +106,22 @@ class Tulanduo
$change_info = $change_arr[0][0];
}
$change_info = str_replace("\n", "
", $change_info);
- $grd_info = $this->Group_model->get_vendor_plan_info($gri_sn, $vei_sn);
+ $grd_info = $this->ci->Group_model->get_vendor_plan_info($gri_sn, $vei_sn);
+ if (empty($grd_info)) {
+ return false;
+ }
$all_day_no = array_map(function($ele){return $ele->GRD_DayNo;}, $grd_info);
- $routeType = "桂林海纳国旅"; // todo 线路类型
- $arrange_info = $this->Group_model->get_arrange_info($gri_sn, $vei_sn);
- $routeName = "中华游" . $arrange_info[0]->tocity . "线路"; // todo 线路名称
+ $arrange_info = $this->ci->Group_model->get_arrange_info($gri_sn, $vei_sn);
+ $routeName = "中华游" . $arrange_info[0]->tocity . "线路"; // TODO 线路名称
+ $routeType = "桂林海纳国旅"; // TODO 线路类型
$agcOrderNo = $vas->GRI_Name . "-" . $arrange_info[0]->citycode;
$agcOrderNo .= "(" . $vas->operator . ")";
$first_date = $grd_info[0]->day_no_raw;
$last_date = count($grd_info)-1;
$end_date = $grd_info[$last_date]->day_no_raw;
- $request_info = $this->Group_model->get_plan_request($gri_sn);
+ $request_info = $this->ci->Group_model->get_plan_request($gri_sn);
$order_type = 1;
- $this->tldOrderBuilder->setUserId($userId)
+ $this->ci->tldOrderBuilder->setUserId($userId)
->setKey($userKey)
->setOrderType($order_type)
->setRouteName($routeName)
@@ -129,28 +132,29 @@ class Tulanduo
->setDestination($arrange_info[0]->tocity)
->setTravelDate($first_date)
->setLeavedDate($end_date)
- // ->setOrderRemark($order_remark) // 订单备注
+ // ->setOrderRemark($order_remark) // 订单备注 TODO
->setRoomStandard($request_info->GCI_HotelRequest) // 住房标准
->setRouteStandard($request_info->GCI_Request) // 行程服务标准
;
- $guestlist = $this->orders_model->get_customer_list($gri_sn);
+ $guestlist = $this->ci->orders_model->get_customer_list($gri_sn);
foreach ($guestlist as $key => $vg) {
- $this->tldOrderBuilder->setCustomersName($key, $vg->MemberName )
+ $this->ci->tldOrderBuilder->setCustomersName($key, $vg->MemberName )
->setCustomersPeopleType($key, (calc_age_type($vg->BirthDay)==1 ? "成人" : "儿童"))
->setCustomersDocumentType($key, "护照") // Passport No.
->setCustomersDocumentNo($key, $vg->PassportNo)
->setCustomersOtherInfo($key, $vg->Country);
}
- $travel_fee = 0;
- foreach ($arrange_info as $kaci => $vaci) {
- $travel_fee = bcadd($travel_fee, $vaci->ACI_Amount);
- }
- $this->tldOrderBuilder->setTravelFeesType(0, "Per Group")
- ->setTravelFeesMoney(0, $travel_fee)
- ->setTravelFeesNum(0, 1)
- ->setTravelFeesUnit(0, 1)
- ->setTravelFeesSumMoney(0, $travel_fee)
- ->setTravelFeesRemark(0, "");
+ // $travel_fee = 0;
+ // foreach ($arrange_info as $kaci => $vaci) {
+ // $travel_fee = bcadd($travel_fee, $vaci->ACI_Amount);
+ // }
+ // // TODO 是否需要travelFee
+ // $this->ci->tldOrderBuilder->setTravelFeesType(0, "Per Group")
+ // ->setTravelFeesMoney(0, $travel_fee)
+ // ->setTravelFeesNum(0, 1)
+ // ->setTravelFeesUnit(0, 1)
+ // ->setTravelFeesSumMoney(0, $travel_fee)
+ // ->setTravelFeesRemark(0, "");
// 补全空的日期,行车为空
$date1 = new DateTime($first_date);
$date_end = new DateTime($end_date);
@@ -163,7 +167,7 @@ class Tulanduo
$real_date = array_map(function ($ele){return $ele->day_no_raw;}, $grd_info);
foreach ($all_date as $kd => $vd) {
if ( ! in_array($vd, $real_date)) {
- $this->tldOrderBuilder->setScheduleDetailsTitle($kd, "无")
+ $this->ci->tldOrderBuilder->setScheduleDetailsTitle($kd, "无")
->setScheduleDetailsContent($kd, "无")
->setScheduleDetailsAccommodation($kd, "")
// ->setScheduleDetailsTraffic($kd, ($vso->PAG_Vehicle>60001 ? 1 : 0))
@@ -175,7 +179,7 @@ class Tulanduo
}
foreach ($grd_info as $kgrd => $vgrd) {
if ($vd==$vgrd->day_no_raw) {
- $this->tldOrderBuilder->setScheduleDetailsTitle($kd, $vgrd->GRD_OrderDate)
+ $this->ci->tldOrderBuilder->setScheduleDetailsTitle($kd, $vgrd->GRD_OrderDate)
->setScheduleDetailsContent($kd, $vgrd->GRD_Landscape)
->setScheduleDetailsAccommodation($kd, $vgrd->GRD_Hotel)
->setScheduleDetailsTraffic($kd, ($vgrd->GRD_Traffic))
@@ -186,31 +190,15 @@ class Tulanduo
}
}
}
- // 查询是否变更
+ // 查询是否变更 TODO deprecated
$sync_orderstate = 10;
$vps_sn = 0;
$vendor_orderid = 0;
- $plan_detail_page_url = "http://p.mycht.cn/Cooperate/Plan_Detail.aspx?GSN=" . $gri_sn;
- $plan_detail_page = "
计划下载:$plan_detail_page_url
";
- if (intval($is_send_vary)===1) {
- $vps = $this->Group_model->get_sync_info($vas_sn);
- if ( ! empty($vps)) {
- $vps_sn = $vps->VPS_SN;
- $vendor_orderid = $vps->VPS_externalId;
- $sync_orderstate = 11;
- $modifyLogInfo = "$plan_detail_page
$change_info
";
- $this->tldOrderBuilder->setOrderId($vendor_orderid)
- ->setModifyLogInfo($modifyLogInfo)
- ;
- }
- } else {
- $modifyLogInfo = $plan_detail_page;
- $this->tldOrderBuilder->clearModifyLogInfo();
- $this->tldOrderBuilder->setModifyLogInfo($modifyLogInfo)
- ;
- }
- $resp = $this->excute_curl($this->neworder_url, $this->tldOrderBuilder);
- // $resp = '{"status":1,"errMsg":"","responseData":{"orderId":' . rand(1000,9999) . '}}'; // test
+ $this->ci->tldOrderBuilder->clearModifyLogInfo();
+ // $resp = $this->excute_curl($this->neworder_url, $this->ci->tldOrderBuilder);
+ $resp = '{"status":1,"errMsg":"","responseData":{"orderId":' . rand(1000,9999) . '}}'; // test
+echo $this->ci->tldOrderBuilder->getBizContent();
+log_message('error',$resp);
$response = json_decode($resp);
if ($response->status == 1) {
/** VendorPlanSync */
@@ -227,14 +215,14 @@ class Tulanduo
,"VPS_sendTime" => date('Y-m-d H:i:s')
);
if ($vps_sn === 0) {
- $sync_id = $this->Group_model->insert_VendorPlanSync($sync_ret);
+ $sync_id = $this->ci->Group_model->insert_VendorPlanSync($sync_ret);
} else {
- $update = $this->Group_model->update_VendorPlanSync($vps_sn, $sync_ret);
+ $update = $this->ci->Group_model->update_VendorPlanSync($vps_sn, $sync_ret);
}
/** VendorArrangeState VAS_IsReceive */
- $this->Group_model->set_plan_received($vas_sn);
+ $this->ci->Group_model->set_plan_received($vas_sn);
}
- // return $this->tldOrderBuilder->getBizContent() . "[Tulanduo>push_tour] Done. ";
+ // return $this->ci->tldOrderBuilder->getBizContent() . "[Tulanduo>push_tour] Done. ";
return "[Tulanduo>push_tour] Done. ";
}
diff --git a/webht/third_party/vendorPlanSync/models/Group_model.php b/webht/third_party/vendorPlanSync/models/Group_model.php
index 18ed0239..920dd5bd 100644
--- a/webht/third_party/vendorPlanSync/models/Group_model.php
+++ b/webht/third_party/vendorPlanSync/models/Group_model.php
@@ -28,7 +28,7 @@ class Group_model extends CI_Model {
and EOI_GetDate between '$start_date' and '$end_date'
and VAS_VEI_SN in ($vendor_str)
and GRI_operator in (161,443,61) -- test
- and GRI_OrderType=227002 -- test
+ and GRI_OrderType=227001 -- test
and (VAS_IsReceive=0 -- or (VAS_SendTime > ISNULL(VAS_ReceiveTime,0))
)
";
@@ -69,17 +69,19 @@ log_message('error',$sql);
);
$conn = sqlsrv_connect($db['HT']['hostname'], $connection);
$stmt = sqlsrv_query($conn, "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);
}
- $result_object = array();
while ($row = sqlsrv_fetch_object($stmt)) {
$result_object[] = $row;
}
sqlsrv_free_stmt($stmt);
- sqlsrv_close($conn);
+ }
+ sqlsrv_close($conn);
$grd_info = $result_object;
$all_day_no = array_map(function($ele){return $ele->GRD_DayNo;}, $grd_info);
$day_no_str = implode(",", $all_day_no);
@@ -127,6 +129,9 @@ log_message('error',$sql);
$vendor_sql
$day_no_sql
order by ACI_DayNo,ACI_SNInOneDay ";
+
+log_message('error',$this->HT->compile_binds($sql, $param_arr));
+
return $this->HT->query($sql, $param_arr)->result();
}