diff --git a/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php b/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php index d9d20b1d..9b4bd23a 100644 --- a/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php +++ b/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php @@ -269,11 +269,18 @@ class TulanduoApi extends CI_Controller if (isset($detail_jsonResp->orderDetail->agcOrderNo) && $detail_jsonResp->orderDetail->agcOrderNo != "") { $real_groupCode_info = analysis_groupCode($detail_jsonResp->orderDetail->agcOrderNo); $real_groupCode = $real_groupCode_info['cut']; + if (strlen($real_groupCode) < 9) { + $real_groupCode = $real_groupCode_info['all']; + } $getInfo_byGroupCodeArr = $this->Orders_model->get_order_by_groupcode($real_groupCode); } $duplicate = false; // 由同步新增的订单 或 未找到团号关联 - if (intval($order->COLI_OPI_ID) === 435 || $order->COLI_ID === null || empty($getInfo_byGroupCodeArr)) { + if (intval($order->COLI_OPI_ID) === 435 + || intval($getInfo_byGroupCodeArr[0]->COLI_OPI_ID) === 435 + || $order->COLI_ID === null + || empty($getInfo_byGroupCodeArr) + ) { if ( empty($getInfo_byGroupCodeArr)){ $getInfo_byGroupCode = null; // 没有该团号的团信息 } elseif ($order->COLI_ID !== null && strval($getInfo_byGroupCodeArr[0]->COLI_OPI_ID) !== '435') { // 避免intval(null)=0 @@ -281,7 +288,7 @@ class TulanduoApi extends CI_Controller $duplicate = true; } else { foreach ($getInfo_byGroupCodeArr as $kg => $vg) { - if ($vg->GRI_No === substr(trim_str($detail_jsonResp->orderDetail->agcOrderNo), 0, 49)) { + if ($vg->COLI_GroupCode === substr(trim_str($detail_jsonResp->orderDetail->agcOrderNo), 0, 49)) { // 地接拆分的团号,需要全部匹配; 否则为没有团信息 $getInfo_byGroupCode = $vg; break; @@ -312,22 +319,22 @@ class TulanduoApi extends CI_Controller $cold_sn = isset($cold_sn) ? $cold_sn : $getInfo_byGroupCode->COLD_SN; $coli_opi_id = ($getInfo_byGroupCode !== null) ? $getInfo_byGroupCode->COLI_OPI_ID : 435; $coli_memo = ($getInfo_byGroupCode !== null) ? $getInfo_byGroupCode->COLI_Memo : ""; - $coli_state = ($getInfo_byGroupCode !== null) ? $getInfo_byGroupCode->COLI_State : 9; + $coli_state = (intval($coli_opi_id) !== 435) ? $getInfo_byGroupCode->COLI_State : 9; $coli_orderdetailtext = ($getInfo_byGroupCode !== null) ? $getInfo_byGroupCode->COLI_OrderDetailText : ""; $cold_memotext = isset($cold_sn) ? $this->Orders_model->COLD_MemoText : $getInfo_byGroupCode->COLD_MemoText; } else { // 已找到的目的地发的计划 // $getInfo_byGroupCode = $order; - $getInfo_byGroupCode = $getInfo_byGroupCode[0]; - $groupSN = $order->COLI_GRI_SN; - $coli_sn = $order->COLI_SN; - $coli_id = $order->COLI_ID; - $coli_memo = $order->COLI_Memo; - $coli_state = $order->COLI_State; - $cold_sn = $order->COLD_SN; // ???多个子订单 !!!仅用于435创建的订单的更新, 因此仅一个 - $coli_opi_id = $order->COLI_OPI_ID; - $coli_orderdetailtext = $order->COLI_OrderDetailText; - $cold_memotext = $order->COLD_MemoText; + $getInfo_byGroupCode = $getInfo_byGroupCodeArr[0]; + $groupSN = $getInfo_byGroupCode->COLI_GRI_SN; + $coli_sn = $getInfo_byGroupCode->COLI_SN; + $coli_id = $getInfo_byGroupCode->COLI_ID; + $coli_memo = $getInfo_byGroupCode->COLI_Memo; + $coli_state = $getInfo_byGroupCode->COLI_State; + $cold_sn = $getInfo_byGroupCode->COLD_SN; // ???多个子订单 !!!仅用于435创建的订单的更新, 因此仅一个 + $coli_opi_id = $getInfo_byGroupCode->COLI_OPI_ID; + $coli_orderdetailtext = $getInfo_byGroupCode->COLI_OrderDetailText; + $cold_memotext = $getInfo_byGroupCode->COLD_MemoText; } /** UPDATE */ // HT 订单有重复时, 以图兰朵的团号为正确的订单, 原本已录入的设为无效 @@ -349,14 +356,24 @@ class TulanduoApi extends CI_Controller ); $this->Order_update->biz_groupcombineinfo_update($gci_update_column); /** GRoupInfo */ - if (intval($order->COLI_OPI_ID) === 435 ) { + $coli_groupcode_ht = analysis_groupCode($getInfo_byGroupCode->COLI_GroupCode); + $groupcode_ht = $coli_groupcode_ht['cut']; + if (intval($coli_opi_id) === 435 ) { $gri_update_column = array( "GRI_No" => $detail_jsonResp->orderDetail->agcOrderNo ,"GRI_Name" => $detail_jsonResp->orderDetail->agcOrderNo ); $this->Order_update->gri_where_update = " GRI_SN=" . $groupSN; $this->Order_update->biz_groupinfo_update($gri_update_column); + } elseif (strlen($groupcode_ht) > 9 && strpos($getInfo_byGroupCode->GRI_Name, $groupcode_ht)===false) { + // $gri_update_column = array( + // "GRI_No" => $getInfo_byGroupCode->COLI_GroupCode + // ,"GRI_Name" => $getInfo_byGroupCode->COLI_GroupCode + // ); + // $this->Order_update->gri_where_update = " GRI_SN=" . $groupSN; + // $this->Order_update->biz_groupinfo_update($gri_update_column); } + /** BIZ_ConfirmLineInfo */ $this->Order_update->coli_where_update = " COLI_SN=" . $coli_sn; $old_memo = mb_strstr($coli_memo, " orderRemark", true)!==false ? mb_strstr($coli_memo, " orderRemark", true) : $coli_memo; diff --git a/webht/third_party/trippestOrderSync/helpers/array_helper.php b/webht/third_party/trippestOrderSync/helpers/array_helper.php index 317f4231..973fd36e 100644 --- a/webht/third_party/trippestOrderSync/helpers/array_helper.php +++ b/webht/third_party/trippestOrderSync/helpers/array_helper.php @@ -130,6 +130,7 @@ function analysis_groupCode($groupCode) // $real_groupCode .= mb_strstr($tmp_groupCode[1], "(", true)!==false ? mb_strstr($tmp_groupCode[1], "(", true) : $tmp_groupCode[1]; $order_id = mb_strstr($tmp_groupCode[1], "(", true)!==false ? mb_strstr($tmp_groupCode[1], "(", true) : $tmp_groupCode[1]; $order_id = mb_strstr($order_id, " ", true)!==false ? mb_strstr($order_id, " ", true) : $order_id; + $real_groupCode .= $order_id; } $ret["cut"] = trim_str(trim($real_groupCode)); for ($i=2; $i < count($tmp_groupCode); $i++) { @@ -140,6 +141,9 @@ function analysis_groupCode($groupCode) } $real_groupCode = trim_str(trim($real_groupCode)); $ret["all"] = $real_groupCode; + if (strlen($ret['all']) < 9 ) { + $ret['all'] = trim_str(trim($groupCode)); + } return $ret; } function trim_str($groupCode) diff --git a/webht/third_party/trippestOrderSync/models/orders_model.php b/webht/third_party/trippestOrderSync/models/orders_model.php index 1d181545..38a9de19 100644 --- a/webht/third_party/trippestOrderSync/models/orders_model.php +++ b/webht/third_party/trippestOrderSync/models/orders_model.php @@ -168,7 +168,7 @@ class Orders_model extends CI_Model { // and gci.GCI_createTime < '" . date('Y-m-d') . "' // and GCI_combineNo not like '%取消%' // "; - $sql .= " ORDER BY isHistory ASC,GCI_createTime ASC "; + $sql .= " ORDER BY isHistory ASC,GCI_travelDate asc, GCI_createTime ASC "; $query = $this->HT->query($sql); return $query->result(); } @@ -185,8 +185,8 @@ class Orders_model extends CI_Model { LEFT JOIN BIZ_ConfirmLineDetail cold ON cold.COLD_COLI_SN=coli.COLI_SN where GCI_combineNo is not null and GCI_combineNo not in ('cancel','forbidden') - and GCI_travelDate between '2018-06-01' and '2018-06-30 23:59:59' - and gci.GCI_createTime < '2018-10-24' + and GCI_leaveDate < '" . date('Y-m-d', strtotime("-7 days")) . "' + and gci.GCI_createTime < '" . date('Y-m-d') . "' and GCI_combineNo not like '%取消%' "; $sql .= " ORDER BY isHistory ASC,GCI_createTime ASC "; @@ -579,7 +579,7 @@ class Orders_model extends CI_Model { public function get_order_by_groupcode($code) { $sql = "SELECT COLI_SN,gri.GRI_SN,cold.COLD_PlanVEI_SN,cold.COLD_SN,coli.COLI_ID, - coli.COLI_OrderDetailText, + coli.COLI_OrderDetailText,coli.COLI_GroupCode,coli.COLI_GRI_SN, coli.COLI_State,coli.COLI_OPI_ID,coli.COLI_Price,coli.COLI_CUrrency GRI_OPI_ID,GRI_operator,GRI_No,GRI_Name, coli.COLI_Memo,cold.COLD_MemoText