diff --git a/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php b/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php index 77b6c37d..72c24bd4 100644 --- a/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php +++ b/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php @@ -172,7 +172,7 @@ class TulanduoApi extends CI_Controller // set GCI_SN $this->Orders_model->get_SN_by_vendorOrderId($vo['orderId'], $tmpv); // 查询订单是否已经录入过 if ($this->Orders_model->BIZ_COLI_SN === null && in_array($vo['agcName'], array("D目的地桂林组", "Trippest"))) { - $real_groupCode = $this->analysis_groupCode($vo['agcOrderNo']); + $real_groupCode = analysis_groupCode($vo['agcOrderNo']); // set BIZ_COLI_SN, GRI_SN at Orders_model $this->Orders_model->get_SN_by_groupCode($real_groupCode, $vo['orderId']); } @@ -337,7 +337,7 @@ class TulanduoApi extends CI_Controller $vei_SN = $this->city_info[$detail_jsonResp->orderDetail->operationDep]['PlanVEI_SN'] ? $this->city_info[$detail_jsonResp->orderDetail->operationDep]['PlanVEI_SN'] : $order->COLD_PlanVEI_SN; $getInfo_byGroupCode = null; if (in_array($order->GCI_FromAgc, array("D目的地桂林组", "Trippest"))) { - $real_groupCode = $this->analysis_groupCode($detail_jsonResp->orderDetail->agcOrderNo); + $real_groupCode = analysis_groupCode($detail_jsonResp->orderDetail->agcOrderNo); $getInfo_byGroupCode = $this->Orders_model->get_SN_by_groupCode($real_groupCode, $detail_jsonResp->orderDetail->orderId); } $groupSN = $getInfo_byGroupCode!==null ? $getInfo_byGroupCode->GRI_SN : $order->COLI_GRI_SN; @@ -761,11 +761,11 @@ log_message('error','in GCI ' . json_decode($resp)->responseData->orderId); if (in_array($input['agcName'], array("D目的地桂林组", "Trippest"))) { $vas_info = $this->Orders_model->get_vendorarrangestate_byVendor($input['orderId'], $vendorID); if (empty($vas_info) && ! empty($input['agcOrderNo'])) { - $real_groupCode = $this->analysis_groupCode($input['agcOrderNo']); + $real_groupCode = analysis_groupCode($input['agcOrderNo']); $vas_info = $this->Orders_model->get_vendorarrangestate_byGroup($real_groupCode, $vendorID); } } elseif ($input['agcName'] == '桂林海纳国旅') { - $real_groupCode = $this->analysis_groupCode($input['agcOrderNo']); + $real_groupCode = analysis_groupCode($input['agcOrderNo']); $vas_info = $this->Orders_model->get_vendorarrangestate_byGroup_T($real_groupCode, $vendorID); } @@ -821,26 +821,6 @@ log_message('error','in GCI ' . json_decode($resp)->responseData->orderId); $this->load->view('operation',$data); } - /*! - * 目的地项目组的订单计划的团号分析 - * 去除添加的后缀, 只保留前两部分: XXXXXX-YYYYYYYYYYYY - * @date 2018-05-02 - * @param [type] $groupCode 从地接系统获取到的团号 - */ - public function analysis_groupCode($groupCode) - { - mb_regex_encoding("UTF-8"); - preg_match('/[\w\s\-]+/', $this->characet($groupCode, "UTF-8"), $temp_array); - $temp_array[0] = strrchr($temp_array[0], " ") ? mb_strstr($temp_array[0], " ",true) : $temp_array[0]; - $tmp_groupCode = explode("-", trim($temp_array[0])); - $real_groupCode = $tmp_groupCode[0] . "-"; - if (isset($tmp_groupCode[1])) { - $real_groupCode .= mb_strstr($tmp_groupCode[1], "(", true)!==false ? mb_strstr($tmp_groupCode[1], "(", true) : $tmp_groupCode[1]; - } - $real_groupCode = mb_ereg_replace('( )', '', trim($real_groupCode)); - return $real_groupCode; - } - protected function excute_curl($url, $content_builder) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); diff --git a/webht/third_party/trippestOrderSync/helpers/array_helper.php b/webht/third_party/trippestOrderSync/helpers/array_helper.php index 2e9bf4f0..b1cf03e2 100644 --- a/webht/third_party/trippestOrderSync/helpers/array_helper.php +++ b/webht/third_party/trippestOrderSync/helpers/array_helper.php @@ -120,8 +120,17 @@ function analysis_groupCode($groupCode) preg_match('/[\w\s\-]+/', characet($groupCode, "UTF-8"), $temp_array); $temp_array[0] = strrchr($temp_array[0], " ") ? mb_strstr($temp_array[0], " ",true) : $temp_array[0]; $tmp_groupCode = explode("-", trim($temp_array[0])); - $real_groupCode = $tmp_groupCode[0] . "-"; - $real_groupCode .= mb_strstr($tmp_groupCode[1], "(", true)!==false ? mb_strstr($tmp_groupCode[1], "(", true) : $tmp_groupCode[1]; + $real_groupCode = $tmp_groupCode[0]; + if (isset($tmp_groupCode[1])) { + $real_groupCode .= "-"; + $real_groupCode .= mb_strstr($tmp_groupCode[1], "(", true)!==false ? mb_strstr($tmp_groupCode[1], "(", true) : $tmp_groupCode[1]; + } + for ($i=2; $i < count($tmp_groupCode); $i++) { + if (strlen($tmp_groupCode[$i]) > 4) { + $real_groupCode .= "-"; + $real_groupCode .= mb_strstr($tmp_groupCode[$i], "(", true)!==false ? mb_strstr($tmp_groupCode[$i], "(", true) : $tmp_groupCode[$i]; + } + } $real_groupCode = mb_ereg_replace('( )', '', trim($real_groupCode)); return $real_groupCode; }