trippest 更新同步图兰朵订单计划地接取消相关;

feature/pay
lyt 7 years ago
parent 9379f922d6
commit 05c1d09e60

@ -254,21 +254,23 @@ class TulanduoApi extends CI_Controller
* @date 2018-05-02 * @date 2018-05-02
* @param [type] $coli_sn HT系统的订单key * @param [type] $coli_sn HT系统的订单key
*/ */
public function insert_HT_order_operation($coli_sn=null) public function insert_HT_order_operation($coli_sn=null,$get_vendorID=null)
{ {
// if ($coli_sn == null) { // if ($coli_sn == null) {
// return null; // return null;
// } // }
log_message('error','get_order_operation From TuLanDuo '); log_message('error','get_order_operation From TuLanDuo ');
$this->load->model('Order_update'); $this->load->model('Order_update');
if ($coli_sn !== null) { if ($coli_sn !== null && $coli_sn != 0) {
$to_update_list = $this->Orders_model->get_groupCombineInfo($coli_sn); $to_update_list = $this->Orders_model->get_groupCombineInfo($coli_sn);
} elseif ($get_vendorID !== null) {
$to_update_list = $this->Orders_model->get_groupCombineInfo(0, $get_vendorID);
} else { } else {
// $startDate = ('2018-04-21'); // $startDate = ('2018-04-21');
// $endDate = ('2018-04-22'); // test // $endDate = ('2018-04-22'); // test
$startDate = date('Y-m-d', strtotime("-3 days")); $startDate = date('Y-m-d', strtotime("-3 days"));
$endDate = date('Y-m-d', strtotime("+7 days")); $endDate = date('Y-m-d', strtotime("+7 days"));
$to_update_list = $this->Orders_model->get_groupCombineInfo(0, $startDate, $endDate); $to_update_list = $this->Orders_model->get_groupCombineInfo(0, null, $startDate, $endDate);
} }
$unique_orderGroupCombine = array(); $unique_orderGroupCombine = array();
$unique_order = array(); $unique_order = array();
@ -286,14 +288,20 @@ class TulanduoApi extends CI_Controller
// 判断取消 // 判断取消
if ($detail_jsonResp->status !== 1) { if ($detail_jsonResp->status !== 1) {
log_message('error','TulanduoApi get_orderdetail failed. Msg:' . $detail_jsonResp->errMsg . "; Request: " . $this->tld_order->getBizContent()); log_message('error','TulanduoApi get_orderdetail failed. Msg:' . $detail_jsonResp->errMsg . "; Request: " . $this->tld_order->getBizContent());
if ($detail_jsonResp->errMsg == "未查询到对应的订单") { if ( $detail_jsonResp->errMsg == "未查询到对应的订单") {
$this->plan_cancel($order->GCI_VendorOrderId);
if (intval($order->COLI_OPI_ID) === 435) {
$this->order_cancel($order->COLI_ID); $this->order_cancel($order->COLI_ID);
} }
}
continue; continue;
} }
// 目的地的团已经主动取消, 只有其他渠道的团需要更新状态 // 目的地的团已经主动取消, 只有其他渠道的团需要更新状态
if ( ! in_array($order->GCI_FromAgc, array("D目的地桂林组", "Trippest")) && mb_strstr($detail_jsonResp->orderDetail->agcOrderNo, "取消") !== false) { if (mb_strstr($detail_jsonResp->orderDetail->agcOrderNo, "取消") !== false) {
$this->plan_cancel($order->GCI_VendorOrderId);
if (intval($order->COLI_OPI_ID) === 435) {
$this->order_cancel($order->COLI_ID); $this->order_cancel($order->COLI_ID);
}
continue; continue;
} }
$allDetails_to_HT = ""; $allDetails_to_HT = "";
@ -328,16 +336,21 @@ class TulanduoApi extends CI_Controller
$coli_id = $getInfo_byGroupCode!==null ? $getInfo_byGroupCode->COLI_ID : $order->COLI_ID; $coli_id = $getInfo_byGroupCode!==null ? $getInfo_byGroupCode->COLI_ID : $order->COLI_ID;
$coli_memo = $getInfo_byGroupCode!==null ? $getInfo_byGroupCode->COLI_Memo : $order->COLI_Memo; $coli_memo = $getInfo_byGroupCode!==null ? $getInfo_byGroupCode->COLI_Memo : $order->COLI_Memo;
$coli_orderdetailtext = $getInfo_byGroupCode!==null ? $getInfo_byGroupCode->COLI_OrderDetailText : $order->COLI_OrderDetailText; $coli_orderdetailtext = $getInfo_byGroupCode!==null ? $getInfo_byGroupCode->COLI_OrderDetailText : $order->COLI_OrderDetailText;
$coli_state = $getInfo_byGroupCode!==null ? $getInfo_byGroupCode->COLI_State : 7; $coli_state = $getInfo_byGroupCode!==null ?
(intval($getInfo_byGroupCode->COLI_OPI_ID)===435 ? 7 : $getInfo_byGroupCode->COLI_State)
: 7;
$cold_sn = $getInfo_byGroupCode!==null ? $getInfo_byGroupCode->COLD_SN : $order->COLD_SN; $cold_sn = $getInfo_byGroupCode!==null ? $getInfo_byGroupCode->COLD_SN : $order->COLD_SN;
// HT 订单有重复时, 以图兰朵的团号为正确的订单, 原本已录入的设为无效 // HT 订单有重复时, 以图兰朵的团号为正确的订单, 原本已录入的设为无效
if ($getInfo_byGroupCode === null) { if ($getInfo_byGroupCode === null) {
} elseif ($getInfo_byGroupCode->GRI_SN != $order->COLI_GRI_SN && in_array($order->GCI_FromAgc, array("D目的地桂林组", "Trippest"))) { } elseif ($getInfo_byGroupCode->GRI_SN != $order->COLI_GRI_SN && in_array($order->GCI_FromAgc, array("D目的地桂林组", "Trippest"))) {
log_message('error','原订单' . $order->COLI_ID); if ( $order->COLI_ID) {
$allDetails_to_HT .= "\r\n疑似重复,请更新订单状态:" . $order->COLI_ID; $allDetails_to_HT .= "\r\n疑似重复,请更新订单状态:" . $order->COLI_ID;
if (intval($order->COLI_OPI_ID) === 435 ) {
$this->order_cancel($order->COLI_ID); $this->order_cancel($order->COLI_ID);
} }
/** biz_groupcombineinfo */ }
}
/** groupcombineinfo */
// $this->Order_update->gci_where_update = " GCI_VEI_SN=$vei_SN and GCI_VendorOrderId='" . $detail_jsonResp->orderDetail->orderId . "'"; // $this->Order_update->gci_where_update = " GCI_VEI_SN=$vei_SN and GCI_VendorOrderId='" . $detail_jsonResp->orderDetail->orderId . "'";
$this->Order_update->gci_where_update = " GCI_VendorOrderId='" . $detail_jsonResp->orderDetail->orderId . "'"; $this->Order_update->gci_where_update = " GCI_VendorOrderId='" . $detail_jsonResp->orderDetail->orderId . "'";
$gci_update_column = array( $gci_update_column = array(
@ -597,7 +610,10 @@ class TulanduoApi extends CI_Controller
*/ */
public function order_cancel($COLI_ID="") public function order_cancel($COLI_ID="")
{ {
log_message('error','修改为不成行 order_cancel' . $COLI_ID); if ($COLI_ID == '') {
return false;
}
log_message('error','修改为不成行 order_cancel ' . $COLI_ID);
/** UPDATE HT */ /** UPDATE HT */
/** BIZ_ConfirmLineInfo */ /** BIZ_ConfirmLineInfo */
$this->Order_update->coli_where_update = " COLI_ID='" . $COLI_ID . "'"; $this->Order_update->coli_where_update = " COLI_ID='" . $COLI_ID . "'";
@ -606,6 +622,16 @@ class TulanduoApi extends CI_Controller
); );
return $this->Order_update->biz_confirmlineinfo_update($coli_update_column); return $this->Order_update->biz_confirmlineinfo_update($coli_update_column);
} }
public function plan_cancel($vendorID=0)
{
/** groupcombineinfo */
$this->Order_update->gci_where_update = " GCI_VendorOrderId='" . $vendorID . "'";
$gci_update_column = array(
"GCI_combineNo" => 'cancel'
,"GCI_createTime" => date('Y-m-d H:i:s')
);
$this->Order_update->biz_groupcombineinfo_update($gci_update_column);
}
/*! /*!
* 发送预订计划到地接系统 * 发送预订计划到地接系统
@ -763,7 +789,7 @@ log_message('error','in GCI ' . json_decode($resp)->responseData->orderId);
{ {
mb_regex_encoding("UTF-8"); mb_regex_encoding("UTF-8");
preg_match('/[\w\s\-]+/', $this->characet($groupCode, "UTF-8"), $temp_array); preg_match('/[\w\s\-]+/', $this->characet($groupCode, "UTF-8"), $temp_array);
$temp_array[0] = strrchr($temp_array[0], " ") ? strrchr($temp_array[0], " ") : $temp_array[0]; $temp_array[0] = strrchr($temp_array[0], " ") ? mb_strstr($temp_array[0], " ",true) : $temp_array[0];
$tmp_groupCode = explode("-", trim($temp_array[0])); $tmp_groupCode = explode("-", trim($temp_array[0]));
$real_groupCode = $tmp_groupCode[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 .= mb_strstr($tmp_groupCode[1], "", true)!==false ? mb_strstr($tmp_groupCode[1], "", true) : $tmp_groupCode[1];

@ -96,10 +96,10 @@ class Order_finance extends CI_Controller {
$person_num = $this->OrderFinance_model->get_order_person_num($coli_sn); $person_num = $this->OrderFinance_model->get_order_person_num($coli_sn);
$report_order['adultnumber'] = $person_num->adult_num; $report_order['adultnumber'] = $person_num->adult_num;
$report_order['childnumber'] = $person_num->child_num; $report_order['childnumber'] = $person_num->child_num;
$ret = new stdClass(); $ret = new stdClass();
/** 图兰朵产品: 取拼团实际成本 */ /** 图兰朵产品: 取拼团实际成本 */
$ret->combine_cost = $ret->report_tour = array(); $ret->combine_cost = array();
$ret->report_tour = array();
$combineNo_arr = $this->OrderFinance_model->get_order_combineNo($coli_sn); $combineNo_arr = $this->OrderFinance_model->get_order_combineNo($coli_sn);
$group_type_arr = array_unique(array_map(function($ele){return $ele->GCI_groupType;}, $combineNo_arr)); $group_type_arr = array_unique(array_map(function($ele){return $ele->GCI_groupType;}, $combineNo_arr));
$processed_code = array(); // 已处理的产品编号 $processed_code = array(); // 已处理的产品编号

@ -53,7 +53,7 @@ class OrderFinance_model extends CI_Model {
{ {
$sql = "SELECT gci.GCI_combineNo,gci.GCI_groupType $sql = "SELECT gci.GCI_combineNo,gci.GCI_groupType
from GroupCombineInfo gci from GroupCombineInfo gci
inner join BIZ_ConfirmLineInfo coli on gci.GCI_GRI_SN=COLI_GRI_SN inner join BIZ_ConfirmLineInfo coli on gci.GCI_GRI_SN=COLI_GRI_SN and GCI_combineNo<>'cancel'
where coli.COLI_SN=$coli_sn where coli.COLI_SN=$coli_sn
group by gci.GCI_combineNo,gci.GCI_groupType group by gci.GCI_combineNo,gci.GCI_groupType
order by gci.GCI_groupType desc"; order by gci.GCI_groupType desc";
@ -125,7 +125,7 @@ class OrderFinance_model extends CI_Model {
,ISNULL(MAX(COLD_PersonNum), 0) adult_num ,ISNULL(MAX(COLD_PersonNum), 0) adult_num
,ISNULL(MAX(COLD_ChildNum+ISNULL(COLD_BabyNum,0)), 0) child_num ,ISNULL(MAX(COLD_ChildNum+ISNULL(COLD_BabyNum,0)), 0) child_num
from BIZ_ConfirmLineDetail from BIZ_ConfirmLineDetail
where COLD_COLI_SN=$coli_sn " where COLD_COLI_SN=$coli_sn ";
$ret = $this->HT->query($sql)->row(); $ret = $this->HT->query($sql)->row();
return $ret; return $ret;
} }

@ -128,20 +128,33 @@ class Orders_model extends CI_Model {
* @param [type] $startDate [description] * @param [type] $startDate [description]
* @param [type] $endDate [description] * @param [type] $endDate [description]
*/ */
public function get_groupCombineInfo($coli_sn=0, $startDate=null, $endDate=NULL) public function get_groupCombineInfo($coli_sn=0, $get_vendorID=null, $startDate=null, $endDate=NULL)
{ {
$sql = "SELECT top 1000 coli.COLI_ID, coli.COLI_SN, coli.COLI_GRI_SN, cold.COLD_SN, coli.COLI_OrderDetailText, coli.COLI_Memo, $sql = "SELECT top 1000 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.*
FROM GroupCombineInfo gci FROM GroupCombineInfo gci
INNER JOIN BIZ_ConfirmLineInfo coli ON coli.COLI_GRI_SN=gci.GCI_GRI_SN LEFT JOIN BIZ_ConfirmLineInfo coli ON coli.COLI_GRI_SN=gci.GCI_GRI_SN and coli.COLI_State NOT IN ('30','40','50')
INNER JOIN BIZ_ConfirmLineDetail cold ON cold.COLD_COLI_SN=coli.COLI_SN LEFT JOIN BIZ_ConfirmLineDetail cold ON cold.COLD_COLI_SN=coli.COLI_SN
WHERE 1=1 and coli.COLI_State NOT IN ('30','40','50')"; WHERE 1=1 ";
if ($coli_sn !== 0) { if ($coli_sn !== 0) {
$sql .= " and coli.COLI_SN='$coli_sn' "; $sql .= " and coli.COLI_SN='$coli_sn' ";
} }
if ($get_vendorID !== null) {
$sql .= " and GCI_VendorOrderId='$get_vendorID' ";
}
if ($startDate !== NULL) { if ($startDate !== NULL) {
$sql .= " and gci.GCI_travelDate between '$startDate' and '$endDate' "; // test $sql .= " and gci.GCI_travelDate between '$startDate' and '$endDate' "; // test
} }
$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 (GCI_combineNo='' or GCI_combineNo is null)
and GCI_travelDate < GETDATE()
order by GCI_travelDate";
$query = $this->HT->query($sql); $query = $this->HT->query($sql);
return $query->result(); return $query->result();
} }
@ -487,7 +500,7 @@ class Orders_model extends CI_Model {
public function get_SN_by_groupCode($code, $NoName) public function get_SN_by_groupCode($code, $NoName)
{ {
$sql = "SELECT top 1 COLI_SN,gri.GRI_SN,cold.COLD_PlanVEI_SN,cold.COLD_SN,coli.COLI_ID,coli.COLI_Memo,coli.COLI_OrderDetailText,coli.COLI_State $sql = "SELECT top 1 COLI_SN,gri.GRI_SN,cold.COLD_PlanVEI_SN,cold.COLD_SN,coli.COLI_ID,coli.COLI_Memo,coli.COLI_OrderDetailText,coli.COLI_State,coli.COLI_OPI_ID
FROM BIZ_ConfirmLineInfo coli FROM BIZ_ConfirmLineInfo coli
inner join BIZ_ConfirmLineDetail cold on cold.COLD_COLI_SN=COLI_SN inner join BIZ_ConfirmLineDetail cold on cold.COLD_COLI_SN=COLI_SN
LEFT JOIN GRoupInfo gri ON coli.COLI_GRI_SN=gri.GRI_SN LEFT JOIN GRoupInfo gri ON coli.COLI_GRI_SN=gri.GRI_SN

Loading…
Cancel
Save