修改团号匹配

feature/trippest
lyt 7 years ago
parent c3649cc2de
commit f41a51817c

@ -269,11 +269,18 @@ class TulanduoApi extends CI_Controller
if (isset($detail_jsonResp->orderDetail->agcOrderNo) && $detail_jsonResp->orderDetail->agcOrderNo != "") { if (isset($detail_jsonResp->orderDetail->agcOrderNo) && $detail_jsonResp->orderDetail->agcOrderNo != "") {
$real_groupCode_info = analysis_groupCode($detail_jsonResp->orderDetail->agcOrderNo); $real_groupCode_info = analysis_groupCode($detail_jsonResp->orderDetail->agcOrderNo);
$real_groupCode = $real_groupCode_info['cut']; $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); $getInfo_byGroupCodeArr = $this->Orders_model->get_order_by_groupcode($real_groupCode);
} }
$duplicate = false; $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)){ if ( empty($getInfo_byGroupCodeArr)){
$getInfo_byGroupCode = null; // 没有该团号的团信息 $getInfo_byGroupCode = null; // 没有该团号的团信息
} elseif ($order->COLI_ID !== null && strval($getInfo_byGroupCodeArr[0]->COLI_OPI_ID) !== '435') { // 避免intval(null)=0 } 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; $duplicate = true;
} else { } else {
foreach ($getInfo_byGroupCodeArr as $kg => $vg) { 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; $getInfo_byGroupCode = $vg;
break; break;
@ -312,22 +319,22 @@ class TulanduoApi extends CI_Controller
$cold_sn = isset($cold_sn) ? $cold_sn : $getInfo_byGroupCode->COLD_SN; $cold_sn = isset($cold_sn) ? $cold_sn : $getInfo_byGroupCode->COLD_SN;
$coli_opi_id = ($getInfo_byGroupCode !== null) ? $getInfo_byGroupCode->COLI_OPI_ID : 435; $coli_opi_id = ($getInfo_byGroupCode !== null) ? $getInfo_byGroupCode->COLI_OPI_ID : 435;
$coli_memo = ($getInfo_byGroupCode !== null) ? $getInfo_byGroupCode->COLI_Memo : ""; $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 : ""; $coli_orderdetailtext = ($getInfo_byGroupCode !== null) ? $getInfo_byGroupCode->COLI_OrderDetailText : "";
$cold_memotext = isset($cold_sn) ? $this->Orders_model->COLD_MemoText : $getInfo_byGroupCode->COLD_MemoText; $cold_memotext = isset($cold_sn) ? $this->Orders_model->COLD_MemoText : $getInfo_byGroupCode->COLD_MemoText;
} else { } else {
// 已找到的目的地发的计划 // 已找到的目的地发的计划
// $getInfo_byGroupCode = $order; // $getInfo_byGroupCode = $order;
$getInfo_byGroupCode = $getInfo_byGroupCode[0]; $getInfo_byGroupCode = $getInfo_byGroupCodeArr[0];
$groupSN = $order->COLI_GRI_SN; $groupSN = $getInfo_byGroupCode->COLI_GRI_SN;
$coli_sn = $order->COLI_SN; $coli_sn = $getInfo_byGroupCode->COLI_SN;
$coli_id = $order->COLI_ID; $coli_id = $getInfo_byGroupCode->COLI_ID;
$coli_memo = $order->COLI_Memo; $coli_memo = $getInfo_byGroupCode->COLI_Memo;
$coli_state = $order->COLI_State; $coli_state = $getInfo_byGroupCode->COLI_State;
$cold_sn = $order->COLD_SN; // ???多个子订单 !!!仅用于435创建的订单的更新, 因此仅一个 $cold_sn = $getInfo_byGroupCode->COLD_SN; // ???多个子订单 !!!仅用于435创建的订单的更新, 因此仅一个
$coli_opi_id = $order->COLI_OPI_ID; $coli_opi_id = $getInfo_byGroupCode->COLI_OPI_ID;
$coli_orderdetailtext = $order->COLI_OrderDetailText; $coli_orderdetailtext = $getInfo_byGroupCode->COLI_OrderDetailText;
$cold_memotext = $order->COLD_MemoText; $cold_memotext = $getInfo_byGroupCode->COLD_MemoText;
} }
/** UPDATE */ /** UPDATE */
// HT 订单有重复时, 以图兰朵的团号为正确的订单, 原本已录入的设为无效 // HT 订单有重复时, 以图兰朵的团号为正确的订单, 原本已录入的设为无效
@ -349,14 +356,24 @@ class TulanduoApi extends CI_Controller
); );
$this->Order_update->biz_groupcombineinfo_update($gci_update_column); $this->Order_update->biz_groupcombineinfo_update($gci_update_column);
/** GRoupInfo */ /** 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_update_column = array(
"GRI_No" => $detail_jsonResp->orderDetail->agcOrderNo "GRI_No" => $detail_jsonResp->orderDetail->agcOrderNo
,"GRI_Name" => $detail_jsonResp->orderDetail->agcOrderNo ,"GRI_Name" => $detail_jsonResp->orderDetail->agcOrderNo
); );
$this->Order_update->gri_where_update = " GRI_SN=" . $groupSN; $this->Order_update->gri_where_update = " GRI_SN=" . $groupSN;
$this->Order_update->biz_groupinfo_update($gri_update_column); $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 */ /** BIZ_ConfirmLineInfo */
$this->Order_update->coli_where_update = " COLI_SN=" . $coli_sn; $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; $old_memo = mb_strstr($coli_memo, " orderRemark", true)!==false ? mb_strstr($coli_memo, " orderRemark", true) : $coli_memo;

@ -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]; // $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($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; $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)); $ret["cut"] = trim_str(trim($real_groupCode));
for ($i=2; $i < count($tmp_groupCode); $i++) { for ($i=2; $i < count($tmp_groupCode); $i++) {
@ -140,6 +141,9 @@ function analysis_groupCode($groupCode)
} }
$real_groupCode = trim_str(trim($real_groupCode)); $real_groupCode = trim_str(trim($real_groupCode));
$ret["all"] = $real_groupCode; $ret["all"] = $real_groupCode;
if (strlen($ret['all']) < 9 ) {
$ret['all'] = trim_str(trim($groupCode));
}
return $ret; return $ret;
} }
function trim_str($groupCode) function trim_str($groupCode)

@ -168,7 +168,7 @@ class Orders_model extends CI_Model {
// and gci.GCI_createTime < '" . date('Y-m-d') . "' // and gci.GCI_createTime < '" . date('Y-m-d') . "'
// and GCI_combineNo not like '%取消%' // 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); $query = $this->HT->query($sql);
return $query->result(); return $query->result();
} }
@ -186,7 +186,6 @@ class Orders_model extends CI_Model {
where where
GCI_combineNo is not null and GCI_combineNo not in ('cancel','forbidden') 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_travelDate between '2018-06-01' and '2018-06-30 23:59:59'
and gci.GCI_createTime < '2018-10-24'
and GCI_combineNo not like '%取消%' and GCI_combineNo not like '%取消%'
"; ";
$sql .= " ORDER BY isHistory ASC,GCI_createTime ASC "; $sql .= " ORDER BY isHistory ASC,GCI_createTime ASC ";
@ -579,7 +578,7 @@ class Orders_model extends CI_Model {
public function get_order_by_groupcode($code) public function get_order_by_groupcode($code)
{ {
$sql = "SELECT COLI_SN,gri.GRI_SN,cold.COLD_PlanVEI_SN,cold.COLD_SN,coli.COLI_ID, $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 coli.COLI_State,coli.COLI_OPI_ID,coli.COLI_Price,coli.COLI_CUrrency
GRI_OPI_ID,GRI_operator,GRI_No,GRI_Name, GRI_OPI_ID,GRI_operator,GRI_No,GRI_Name,
coli.COLI_Memo,cold.COLD_MemoText coli.COLI_Memo,cold.COLD_MemoText
@ -587,7 +586,7 @@ class Orders_model extends CI_Model {
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 and GRI_OrderType=227002 left JOIN GRoupInfo gri ON coli.COLI_GRI_SN=gri.GRI_SN and GRI_OrderType=227002
WHERE (select OPI_DEI_SN from OperatorInfo where OPI_SN=COLI_OPI_ID)=30 WHERE (select OPI_DEI_SN from OperatorInfo where OPI_SN=COLI_OPI_ID)=30
and coli.COLI_State<>50 and gri.GRI_No LIKE '%$code%' and coli.COLI_State<>50 and coli.COLI_GroupCode LIKE '%$code%'
order by case COLI_OPI_ID when 435 then 1 else 0 end asc,COLI_SN desc"; order by case COLI_OPI_ID when 435 then 1 else 0 end asc,COLI_SN desc";
$query = $this->HT->query($sql); $query = $this->HT->query($sql);
return $query->result(); return $query->result();

Loading…
Cancel
Save