计划发送图兰朵: 获取待发送计划; 目的地计划详情信息构建

feature/pay
lyt 7 years ago
parent 7c9d92f71d
commit 3e3e86102e

@ -58,64 +58,82 @@ class Tulanduo extends CI_Controller
mb_regex_encoding("UTF-8");
bcscale(4);
$this->load->helper('array');
$this->load->model('BIZ_Orders_model', 'Orders_model');
$this->load->model('Group_model');
$this->load->model('BIZ_orders_model', 'BIZ_order');
$this->load->model('TuLanDuo_queryContentBuilder', 'tld_order');
// $this->output->enable_profiler(TRUE);
/** test */
// $this->userId = "358";
// $this->key = "a08f26ddc5b1bd4c8e5eafcac28fc1ec";
$this->userId = "358";
$this->key = "a08f26ddc5b1bd4c8e5eafcac28fc1ec";
/** Live */
// 目的地
$this->userId = "1134";
$this->key = "73d180d05d425fd192e1c5b3097e75ff";
// $this->userId = "1134";
// $this->key = "73d180d05d425fd192e1c5b3097e75ff";
// 桂林海纳国旅
// $this->userId = "18";
// $this->key = "d05c25e6e6c5d4898161e0aaf700d9c7";
}
public function order_push($gri_sn)
public function order_push()
{
# code...
$start_date = date('Y-m-d');
$end_date = date('Y-m-d 23:59:59', strtotime("+2 months"));
$vei_sn_str = implode(",", $this->vendor_ids);
$ready_to_send = $this->Group_model->get_plan_not_received(1, $vei_sn_str, $start_date, $end_date);
$order = $ready_to_send[0];
if (strval($order->GRI_OrderType) === "227002" && strval($order->department) === "30") {
// 目的地计划
return $this->push_trippest($order->GRI_SN);
}
if (strval($order->GRI_OrderType) === "227002") {
// 商务
}
if (strval($order->GRI_OrderType) === "227001") {
// 传统订单
}
return $this->output->set_content_type('application/json')->set_output(json_encode($order));
}
/*!
* 发送预订计划到地接系统
* TODO read word into remark
* 发送目的地项目组预订计划到图兰朵地接系统
* @date 2018-05-02
* @param string $COLI_ID HT系统订单号
*/
public function order_push2($COLI_ID="") // test
public function push_trippest($gri_sn=0) // test
{
// exit();
/** 目的地 test */
$this->userId = "358";
$this->key = "a08f26ddc5b1bd4c8e5eafcac28fc1ec";
$this->load->model('TuLanDuo_addOrUpdateRouteOrderContentBuilder', 'tldOrderBuilder');
$orderinfo = $this->Orders_model->get_orderinfo_detail($COLI_ID);
$orderinfo = $this->BIZ_order->get_orderinfo_detail($gri_sn);
if(empty($orderinfo)) {return;}
$COLI_ID = $orderinfo[0]->COLI_ID;
$COLD_SN_str = implode(',', array_map( function($element){return $element->COLD_SN;}, $orderinfo )) ;
$guestlist = $this->Orders_model->get_guestlist($COLD_SN_str);
$scheduleDetails = $this->Orders_model->get_scheduleDetails($COLD_SN_str);
$guestlist = $this->BIZ_order->get_guestlist($COLD_SN_str);
$scheduleDetails = $this->BIZ_order->get_scheduleDetails($COLD_SN_str);
$routeName = isset($this->special_route_name[$scheduleDetails[0]->PAG_Code]) ? $this->special_route_name[$scheduleDetails[0]->PAG_Code] : $scheduleDetails[0]->PAG2_Name;
// 子线路
// todo 子线路方向
if ($scheduleDetails[0]->PAGS_CN_Title) {
$routeName .= "[" . $scheduleDetails[0]->PAGS_CN_Title . "]";
}
$routeName .= " " . $scheduleDetails[0]->PAG_Code;
if (isset($this->special_route[$scheduleDetails[0]->PAG_Code])) {
$scheduleDetails = $this->Orders_model->get_packageDetails($this->special_route[$scheduleDetails[0]->PAG_Code]);
$scheduleDetails = $this->BIZ_order->get_packageDetails($this->special_route[$scheduleDetails[0]->PAG_Code]);
}
$travelFees = $this->Orders_model->get_paymentDetails($COLI_ID);
$travelFees = $this->BIZ_order->get_paymentDetails($COLI_ID);
bcscale(4);
$this->tldOrderBuilder->setUserId($this->userId)
->setKey($this->key)
->setOrderType(2) // todo
->setRouteName($routeName)
->setRouteType($scheduleDetails[0]->CII2_Name . "目的地线路")
->setAgcOrderNo($orderinfo[0]->COLI_GroupCode . "-" . $scheduleDetails[0]->CII2_Name)
->setRouteType($scheduleDetails[0]->city_chinese . "目的地线路")
->setAgcOrderNo($orderinfo[0]->COLI_GroupCode . "-" . $scheduleDetails[0]->city_code)
->setAdultNum($orderinfo[0]->COLD_PersonNum)
->setChildNum($orderinfo[0]->COLD_ChildNum)
->setDestination($scheduleDetails[0]->CII2_Name)
->setDestination($scheduleDetails[0]->city_chinese)
->setTravelDate(strstr($orderinfo[0]->COLD_StartDate, " ", true))
->setLeavedDate(strstr($orderinfo[0]->COLD_EndDate, " ", true))
->setOrderRemark(trim($orderinfo[0]->COLI_Memo . "\r\n" . $orderinfo[0]->COLD_Memo . "\r\n" . $orderinfo[0]->COLD_MemoText)); // todo 抵离交通
@ -124,12 +142,13 @@ class Tulanduo extends CI_Controller
->setCustomersPeopleType($key, ($vg->BPE_GuestType==1 ? "成人" : "儿童"))
->setCustomersDocumentType($key, "护照") // Passport No.
->setCustomersDocumentNo($key, $vg->BPE_Passport)
->setCustomersOtherInfo($key, $this->Orders_model->GetNationalityName($orderinfo[0]->GUT_NationalityID));
->setCustomersOtherInfo($key, $this->BIZ_order->GetNationalityName($orderinfo[0]->GUT_NationalityID));
}
foreach ($scheduleDetails as $ks => $vs) {
$this->tldOrderBuilder->setScheduleDetailsContent($ks, $vs->PAG2_Title)
->setScheduleDetailsTitle($ks, $vs->PAG2_Name)
// ->set_scheduleDetails($ks, "traffic", ($vs->PAG_Vehicle>60001 ? 1 : 0))
// ->setScheduleDetailsTraffic($ks, "traffic", ($vs->PAG_Vehicle>60001 ? 1 : 0))
->setScheduleDetailsBreakFirst($ks, 0 )
->setScheduleDetailsDinner($ks, (in_array($vs->PAG_Meal, array('61003', '61004')) ? 1 : 0) )
->setScheduleDetailsLunch($ks, (in_array($vs->PAG_Meal, array('61002', '61004')) ? 1 : 0));
@ -147,11 +166,11 @@ class Tulanduo extends CI_Controller
/** BIZ_GroupCombineInfo */
// if (json_decode($resp)->status == 1) {
// log_message('error','in GCI ' . json_decode($resp)->responseData->orderId);
// $this->Orders_model->GCI_COLI_SN = $orderinfo[0]->COLI_SN;
// $this->Orders_model->GCI_GRI_SN = $orderinfo[0]->COLI_GRI_SN;
// $this->Orders_model->GCI_VendorOrderId = json_decode($resp)->responseData->orderId;
// $this->Orders_model->GCI_FromAgc = "D目的地桂林组";
// $this->Orders_model->biz_groupcombineinfo_save();
// $this->BIZ_order->GCI_COLI_SN = $orderinfo[0]->COLI_SN;
// $this->BIZ_order->GCI_GRI_SN = $orderinfo[0]->COLI_GRI_SN;
// $this->BIZ_order->GCI_VendorOrderId = json_decode($resp)->responseData->orderId;
// $this->BIZ_order->GCI_FromAgc = "D目的地桂林组";
// $this->BIZ_order->biz_groupcombineinfo_save();
// }
// email 供应商 todo
echo "Order Push done.";
@ -177,20 +196,20 @@ class Tulanduo extends CI_Controller
// $vendorID = 29188;//29188 1343; // test
$vas_info = array();
if (in_array($input['agcName'], array("D目的地桂林组", "Trippest"))) {
$vas_info = $this->Orders_model->get_vendorarrangestate_byVendor($input['orderId'], $vendorID);
$vas_info = $this->BIZ_order->get_vendorarrangestate_byVendor($input['orderId'], $vendorID);
if (empty($vas_info) && ! empty($input['agcOrderNo'])) {
$real_groupCode = analysis_groupCode($input['agcOrderNo']);
$vas_info = $this->Orders_model->get_vendorarrangestate_byGroup($real_groupCode, $vendorID);
$vas_info = $this->BIZ_order->get_vendorarrangestate_byGroup($real_groupCode, $vendorID);
}
} elseif ($input['agcName'] == '桂林海纳国旅') {
$real_groupCode = analysis_groupCode($input['agcOrderNo']);
$vas_info = $this->Orders_model->get_vendorarrangestate_byGroup_T($real_groupCode, $vendorID);
$vas_info = $this->BIZ_order->get_vendorarrangestate_byGroup_T($real_groupCode, $vendorID);
}
if (empty($vas_info)) {
$ret['errMsg'] = "未找到订单.";
} else {
$vendor_manager = $this->Orders_model->get_vendorContact($vendorID);
$vendor_manager = $this->BIZ_order->get_vendorContact($vendorID);
/** VendorArrangeState */
$VAS_ConfirmInfo = $input['orderRemark'] . "\r\n======确认人: " . $input['orderDuty'] . ", 确认时间: " . $input['orderTime'];
$VAS_ConfirmInfo .= "\r\n" . $vas_info[0]->VAS_ConfirmInfo;
@ -222,7 +241,7 @@ class Tulanduo extends CI_Controller
$mail_body .= "确认说明:" . $input['orderRemark'] . "\r\n";
$mail_body .= "确认人:$vendor_manager->LMI2_Name $vendor_manager->LMI_ListMail 固定电话: $vendor_manager->LMI_Telephone 移动电话:$vendor_manager->LMI_Mobile\r\n";
$mail_body .= "变更内容: " . $vas_info[0]->VAS_ChangeText . "\r\n";
$this->Orders_model->save_automail($sender_name, $sender_mail, $from_name, $from_mail, $to_name, $to_mail, $subject, $mail_body, $sender_name);
$this->BIZ_order->save_automail($sender_name, $sender_mail, $from_name, $from_mail, $to_name, $to_mail, $subject, $mail_body, $sender_name);
return $this->output->set_content_type('application/json')->set_output(json_encode($ret));
}

@ -32,7 +32,7 @@ class BIZ_Orders_model extends CI_Model {
}
}
public function get_orderinfo_detail($COLI_ID)
public function get_orderinfo_detail($gri_sn)
{
$sql = "SELECT top 1 coli.COLI_ID,
coli.COLI_Department,
@ -42,9 +42,9 @@ class BIZ_Orders_model extends CI_Model {
gut.GUT_NationalityID,
*
FROM BIZ_ConfirmLineInfo coli
INNER JOIN BIZ_ConfirmLineDetail cold ON cold.COLD_COLI_SN=coli.COLI_SN
INNER JOIN BIZ_ConfirmLineDetail cold ON cold.COLD_COLI_SN=coli.COLI_SN and cold.DeleteFlag=0
LEFT JOIN BIZ_GUEST gut ON gut.GUT_SN=coli.COLI_GUT_SN
WHERE coli.COLI_ID='$COLI_ID'
WHERE coli.COLI_GRI_SN=$gri_sn
ORDER BY COLI_ApplyDate DESC";
$query = $this->HT->query($sql);
return $query->result();
@ -66,10 +66,12 @@ class BIZ_Orders_model extends CI_Model {
/** 根据订号 */
public function get_scheduleDetails($COLD_SN_str)
{
$sql = "SELECT *
$sql = "SELECT
(select CII2_name from CItyInfo2 where CII2_CII_SN=PAG_CII_SN and CII2_LGC=2) as city_chinese,
(select CII_PKCode from CItyInfo where CII_SN=PAG_CII_SN) as city_code
,*
FROM BIZ_PackageInfo2 pag2
INNER JOIN BIZ_PackageInfo pag ON pag.PAG_SN=pag2.PAG2_PAG_SN
INNER JOIN CItyInfo2 cii2 on CII2_CII_SN=PAG_CII_SN and CII2_LGC=2
INNER JOIN BIZ_ConfirmLineDetail cold ON cold.COLD_ServiceSN=pag2.PAG2_PAG_SN AND (PAG2_LGC = 2)
left join BIZ_PackageInfoSub pis on pis.PAGS_PAG_SN=pag.PAG_SN and PAGS_LGC=1 and cold.COLD_ServiceSN2=PAGS_SN
WHERE COLD_SN IN ($COLD_SN_str)";

@ -8,6 +8,26 @@ class Group_model extends CI_Model {
$this->HT = $this->load->database('HT', TRUE);
}
public function get_plan_not_received($top=1, $vei_sn_str, $start_date=null, $end_date=null)
{
$top_sql = $top>0 ? " TOP $top " : "";
$sql = "SELECT $top_sql VAS_IsConfirm, VAS_SendVary, GRI_OrderType, GRI_SN, GRI_No, GRI_operator,
(select OPI_DEI_SN from OperatorInfo where OPI_SN=GRI_operator) as department,
vas.*
from VendorArrangeState vas
inner join Eva_ObjectInfo eoi on EOI_GRI_SN=VAS_GRI_SN and EOI_Type=1 and EOI_ObjSN=VAS_VEI_SN
inner join GRoupInfo gri on GRI_SN=VAS_GRI_SN
where 1=1
and VAS_IsCancel=0 and VAS_Delete=0 and vas.DeleteFlag=0
and VAS_IsSendSucceed=1
and VAS_IsConfirm=0
and EOI_GetDate between '$start_date' and '$end_date'
and VAS_VEI_SN in ($vei_sn_str)
and (VAS_IsReceive=0 or (VAS_SendTime > ISNULL(VAS_ReceiveTime,0)))
order by EOI_GetDate asc, vas.VAS_IsConfirm asc ";
return $this->HT->query($sql)->result();
}
public function get_vendor_plan_info($gri_sn, $vendor_id)
{
$sql = " SP_VendorPlan_GetPlanInfo $gri_sn, $vendor_id, 0 ";
@ -16,6 +36,8 @@ class Group_model extends CI_Model {
}
/* End of file Group_model.php */

Loading…
Cancel
Save