diff --git a/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php b/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php index 82425233..d023979a 100644 --- a/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php +++ b/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php @@ -133,7 +133,7 @@ class TulanduoApi extends CI_Controller } $unique_order[] = $vo['orderId']; // paypal 手续费订单没有团号 - $vo['agcOrderNo'] = isset($vo['agcOrderNo']) ? $vo['agcOrderNo'] : $vo['groupOrderNo']; + $vo['agcOrderNo'] = (isset($vo['agcOrderNo'])&&$vo['agcOrderNo']!="") ? $vo['agcOrderNo'] : $vo['groupOrderNo']; $vo['agcOrderNo'] = trim_groupCode(trim($vo['agcOrderNo'])); // 去掉中文的全角空格 $this->Orders_model->BIZ_COLI_SN = null; @@ -246,11 +246,14 @@ class TulanduoApi extends CI_Controller /** HT 开始 */ $vei_SN = $this->city_info[$detail_jsonResp->orderDetail->operationDep]['PlanVEI_SN'] ? $this->city_info[$detail_jsonResp->orderDetail->operationDep]['PlanVEI_SN'] : 1343; $getInfo_byGroupCode = null; - $real_groupCode = analysis_groupCode($detail_jsonResp->orderDetail->agcOrderNo); - $getInfo_byGroupCodeArr = $this->Orders_model->get_order_by_groupcode($real_groupCode); + $getInfo_byGroupCodeArr = array(); + if (isset($detail_jsonResp->orderDetail->agcOrderNo) && $detail_jsonResp->orderDetail->agcOrderNo != "") { + $real_groupCode = analysis_groupCode($detail_jsonResp->orderDetail->agcOrderNo); + $getInfo_byGroupCodeArr = $this->Orders_model->get_order_by_groupcode($real_groupCode); + } $duplicate = false; // 由同步新增的订单 或 未找到团号关联 - if (intval($order->COLI_OPI_ID) === 435 || $order->COLI_ID === null) { + if (intval($order->COLI_OPI_ID) === 435 || $order->COLI_ID === null || empty($getInfo_byGroupCodeArr)) { if ( empty($getInfo_byGroupCodeArr)){ $getInfo_byGroupCode = null; // 没有该团号的团信息 } elseif (strval($getInfo_byGroupCodeArr[0]->COLI_OPI_ID) !== '435') { // 避免intval(null)=0 @@ -271,8 +274,11 @@ class TulanduoApi extends CI_Controller /** GRoupInfo */ $groupSN = $this->insert_gri($order_detail_arr); /** BIZ_Guest */ - $this->Orders_model->GUT_LastName = $detail_jsonResp->orderDetail->customers[0]->name; - $this->Orders_model->biz_guest_save(); + $this->Orders_model->GUT_SN = null; + if (isset($detail_jsonResp->orderDetail->customers)) { + $this->Orders_model->GUT_LastName = $detail_jsonResp->orderDetail->customers[0]->name; + $this->Orders_model->biz_guest_save(); + } /** BIZ_ConfirmLineInfo*/ $order_detail_arr['orderDate'] = $order_detail_arr['orderTime']; $coli_sn = $this->insert_coli($order_detail_arr); @@ -646,11 +652,11 @@ class TulanduoApi extends CI_Controller $tmpv = $this->city_info[$vo['operationDep']]['PlanVEI_SN'] ? $this->city_info[$vo['operationDep']]['PlanVEI_SN'] : 1343; $this->Orders_model->BIZ_COLI_SN = null; $this->Orders_model->GRI_SN = null; - // if (in_array($vo['agcName'], array("D目的地桂林组", "Trippest"))) { + if ( isset($vo['agcOrderNo']) && $vo['agcOrderNo'] != "") { $real_groupCode = analysis_groupCode($vo['agcOrderNo']); // check BIZ_COLI_SN,GRI_SN $this->Orders_model->get_SN_by_groupCode($real_groupCode, $vo['orderId']); - // } + } /** INSERT */ /** GRoupInfo */ if ($this->Orders_model->GRI_SN === null) { diff --git a/webht/third_party/trippestOrderSync/models/orders_model.php b/webht/third_party/trippestOrderSync/models/orders_model.php index 9871d2be..78bfb4aa 100644 --- a/webht/third_party/trippestOrderSync/models/orders_model.php +++ b/webht/third_party/trippestOrderSync/models/orders_model.php @@ -132,7 +132,7 @@ class Orders_model extends CI_Model { public function get_groupCombineInfo($coli_sn=0, $get_vendorID=null, $startDate=null, $endDate=NULL) { $sql = "SELECT top 1 coli.COLI_ID, coli.COLI_SN, coli.COLI_GRI_SN, cold.COLD_SN, coli.COLI_OrderDetailText, coli.COLI_Memo,coli.COLI_State,coli.COLI_OPI_ID, - cold.COLD_PlanVEI_SN, gci.* + cold.COLD_PlanVEI_SN, gci.*,'0' as 'isHistory' FROM GroupCombineInfo gci LEFT JOIN BIZ_ConfirmLineInfo coli ON coli.COLI_GRI_SN=gci.GCI_GRI_SN --and coli.COLI_State NOT IN ('30','40','50') LEFT JOIN BIZ_ConfirmLineDetail cold ON cold.COLD_COLI_SN=coli.COLI_SN @@ -144,21 +144,29 @@ class Orders_model extends CI_Model { $sql .= " and GCI_VendorOrderId='$get_vendorID' "; } if ($startDate !== NULL) { - $sql .= " and gci.GCI_travelDate between '$startDate' and '$endDate' "; + $sql .= " and gci.GCI_travelDate between '$startDate' and '$endDate' and gci.GCI_createTime < '" . date('Y-m-d') . "' "; } - $sql .= " order by GCI_createTime asc "; - // $sql .= "UNION SELECT top 50 - // coli.COLI_ID, coli.COLI_SN, coli.COLI_GRI_SN, cold.COLD_SN, coli.COLI_OrderDetailText, coli.COLI_Memo,coli.COLI_State,coli.COLI_OPI_ID, - // cold.COLD_PlanVEI_SN, gci.* - // FROM GroupCombineInfo gci - // left JOIN BIZ_ConfirmLineInfo coli ON coli.COLI_GRI_SN=gci.GCI_GRI_SN and coli.COLI_State NOT IN ('30','40','50') - // left JOIN BIZ_ConfirmLineDetail cold ON cold.COLD_COLI_SN=coli.COLI_SN - // WHERE 1=1 - // and not exists ( - // select * from BIZ_GroupAccountInfo where GAI_COLI_SN=COLI_SN - // ) - // and COLI_OPI_ID=435 - // order by GCI_travelDate"; + // 近期的订单同步完成之后, 同步历史数据 + $sql .= " UNION ALL "; + $sql .= " SELECT top 1 coli.COLI_ID, coli.COLI_SN, coli.COLI_GRI_SN, cold.COLD_SN, coli.COLI_OrderDetailText, coli.COLI_Memo,coli.COLI_State,coli.COLI_OPI_ID, + cold.COLD_PlanVEI_SN, gci.*,'1' as 'isHistory' + from GroupCombineInfo gci + inner join GRoupInfo on GRI_SN=GCI_GRI_SN and GRI_No<>'' + LEFT JOIN BIZ_ConfirmLineInfo coli ON coli.COLI_GRI_SN=gci.GCI_GRI_SN + 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_leaveDate < '" . date('Y-m-d', strtotime("-7 days")) . "' + and GCI_combineNo not like '%取消%' + and not exists ( + select GCOD_SN from GroupCombineOperationDetail gcod where gcod.GCOD_GCI_combineNo=GCI_combineNo + ) + and 0 < ( + select sum(isnull(COLD_PersonNum,0)+isnull(COLD_ChildNum,0)+isnull(COLD_BabyNum,0)) person from BIZ_ConfirmLineInfo + inner join BIZ_ConfirmLineDetail on COLD_COLI_SN=COLI_SN + where COLI_GRI_SN=gri_sn + ) "; + $sql .= " ORDER BY isHistory ASC,GCI_createTime ASC "; $query = $this->HT->query($sql); return $query->result(); }