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(); }