HT = $this->load->database('HT', TRUE); $this->INFO = $this->load->database('INFO', TRUE); } //获取订单详情 function biz_order_detail($cold_sn) { $sql = " SELECT TOP 1 bfoi.FOI_SN ,bfoi.FOI_COLD_SN ,bfoi.DepartAirport ,bfoi.ArrivalAirport ,bfoi.FlightsNo ,bfoi.Aircraft ,bfoi.DepartureDate ,bfoi.FOI_SelectedSeat ,( SELECT TOP 1 TRS_StationCN FROM TrainStation WHERE TRS_Code = DepartAirport and ISNULL(TRS_StationCN,'')<>'' ) AS DepartAirport_cn ,( SELECT TOP 1 TRS_StationCN FROM TrainStation WHERE TRS_Code = ArrivalAirport and ISNULL(TRS_StationCN,'')<>'' ) AS ArrivalAirport_cn, FOI_TrainNetOrderNo, bfoi.adultcost, bfoi.childcost, ArrivalTime, DepartureTime, DepartureDate FROM BIZ_FlightsOrderInfo bfoi WHERE bfoi.FOI_COLD_SN = ? "; $query = $this->HT->query($sql, $cold_sn); if ($query->num_rows() > 0) { return $query->row(); } else { return false; } } //传入一组BPE_SN获取乘客信息 function in_bpesn_people_info($bpe_sn){ $sql = " SELECT bbp.BPE_SN ,bbp.BPE_FirstName ,bbp.BPE_MiddleName ,bbp.BPE_LastName ,bbp.BPE_GuestType ,bbp.BPE_Passport ,bbp.BPE_PassportType FROM BIZ_BookPeople bbp WHERE BPE_SN in(".$bpe_sn.") order by BPE_GuestType asc "; $query = $this->HT->query($sql); return $query->result(); } function add_passagers($data){ $sql = "IF EXISTS (select * from trainsystem_tickets where tst_ordernumber = '{$data->ordernumber}' and tst_numberid = '{$data->numberid}') update trainsystem_tickets set tst_identitytype = '{$data->identitytype}', tst_numberid = '{$data->numberid}', tst_ticketype = '{$data->ticketype}', tst_ticketprice = '{$data->ticketprice}', tst_seatstype = '{$data->seatype}', tst_seatdetail = '{$data->seatdetail}' where tst_ordernumber = '{$data->ordernumber}' and tst_numberid = '{$data->numberid}' else INSERT INTO trainsystem_tickets ( tst_ordernumber, tst_realname, tst_identitytype, tst_numberid, tst_ticketype, tst_ticketprice, tst_seatstype, tst_seatdetail )VALUES( '{$data->ordernumber}', '{$data->realname}', '{$data->identitytype}', '{$data->numberid}', '{$data->ticketype}', '{$data->ticketprice}', '{$data->seatype}', '{$data->seatdetail}' ) "; $query =$this->INFO->query($sql); } function add_orders($data){ $sql=" INSERT INTO trainsystem( ts_cold_sn, ts_ordernumber, ts_subtime, ts_returncode, ts_status, ts_errormsg, ts_fromstationame, ts_fromstationcode, ts_tostationame, ts_tostationcode, ts_startdate, ts_startime, ts_endtime, ts_runtime, ts_checi, ts_channel, ts_isauto ) VALUES( '{$data->cold_sn}', '{$data->ordernumber}', getdate(), '{$data->returncode}', '{$data->status}', '{$data->errormsg}', '{$data->fromstationame}', '{$data->fromstationcode}', '{$data->tostationame}', '{$data->tostationcode}', '{$data->startdate}', '{$data->startime}', '{$data->endtime}', '{$data->runtime}', '{$data->checi}', '{$data->channel}', '{$data->isauto}' ) "; //echo $sql; $query = $this->INFO->query($sql); } public function update_orders($data){ $where = ''; if(!empty($data->bookcallback)){ $where .= " ts_seatsinfo = '{$data->seatsinfo}', ts_checkdoor = '{$data->TicketCheck}', ts_elecnumber = '{$data->ElectronicOrderNumber}', ts_orderamount = '{$data->OrderTotleFee}', ts_bookcallback = '{$data->bookcallback}',"; }else if(!empty($data->confirmcallback)){ $where .= "ts_confirmcallback = '{$data->confirmcallback}',"; }else if(!empty($data->returncallback)){ $where .= "ts_returncallback = '{$data->returncallback}',"; }else if(!empty($data->reschedulecallback)){ $where .= "ts_reschedulecallback = '{$data->reschedulecallback}',"; } $sql =" update trainsystem set ts_status = '{$data->OrderStatus}', ts_errormsg = '{$data->ErrorMsg}', ".substr($where,0,strlen($where)-1)." where ts_ordernumber = '{$data->ordernumber}' "; //echo $sql;die(); $query = $this->INFO->query($sql); } public function get_order_info($ordernumber){ $sql = "select * from trainsystem where ts_ordernumber = '$ordernumber'"; $query = $this->INFO->query($sql); return $query->row(); } public function get_passager_info($ctriporder,$PassagerId=null){ if(empty($PassagerId)){ $where = ""; }else{ $where = "and tst_id = $PassagerId"; } $sql = "select * from trainsystem_tickets left join trainsystem on tst_ordernumber = ts_ordernumber where tst_ordernumber = '{$ctriporder}' $where"; $query = $this->INFO->query($sql); return $query->result(); } //更新供应商 public function update_cold_planvei_sn($cold_sn){ $sql = "update BIZ_ConfirmLineDetail set COLD_PlanVEI_SN=30427 where COLD_SN = ?"; $query = $this->HT->query($sql,$cold_sn); } //新增支付记录 public function add_train_payment($data){ //主表ID,下面两个地方用到,所以先筛选出来,不知道能不能通过合并提高效率 $sql="SELECT COLD_COLI_SN FROM BIZ_ConfirmLineDetail WHERE COLD_SN=?"; $query=$this->HT->query($sql,$data->TOC_COLD_SN); $query=$query->result(); $CCSN=$query[0]->COLD_COLI_SN; //删除多余支付记录 $sql = "delete from BIZ_TrainOrderCost where TOC_COLI_SN = '{$CCSN}' and TOC_TicketCost is null"; $query=$this->HT->query($sql); if(empty($data->FOI_TrainNetOrderNo)){ //退票 $sql="IF NOT EXISTS( SELECT TOP 1 1 FROM BIZ_TrainOrderCost WHERE TOC_COLD_SN = ? AND TOC_Memo like ? ) INSERT INTO BIZ_TrainOrderCost( TOC_Memo, TOC_CreateDate, TOC_COLI_SN, TOC_COLD_SN, TOC_TrainNumber, TOC_DepartureDate, TOC_TicketCost, TOC_WL ) VALUES(?,getdate(),{$CCSN},?,?,?,?,(SELECT COLI_OPI_ID FROM BIZ_ConfirmLineInfo WHERE COLI_SN={$CCSN}))"; $query = $this->HT->query($sql,array($data->TOC_COLD_SN,"%".$data->TOC_Memo."%","携程退票费 ".$data->TOC_Memo,$data->TOC_COLD_SN,$data->TOC_TrainNumber,$data->TOC_DepartureDate,$data->TOC_TicketCost)); }else{ //出票 //BIZ_FlightsOrderInfo.FOI_TrainNetOrderNo,更新取票号 /* UPDATE BIZ_FlightsOrderInfo SET FOI_TrainNetOrderNo=? WHERE FOI_COLD_SN=? */ $sql="IF EXISTS( select * from BIZ_FlightsOrderInfo where FOI_COLD_SN = '$data->TOC_COLD_SN' and (FOI_TrainNetOrderNo is null or FOI_TrainNetOrderNo = '' or FOI_TrainNetOrderNo like '%$data->FOI_TrainNetOrderNo%')) UPDATE BIZ_FlightsOrderInfo SET FOI_TrainNetOrderNo='$data->FOI_TrainNetOrderNo' WHERE FOI_COLD_SN='$data->TOC_COLD_SN' ELSE UPDATE BIZ_FlightsOrderInfo SET FOI_TrainNetOrderNo=(select FOI_TrainNetOrderNo from BIZ_FlightsOrderInfo where FOI_COLD_SN = '$data->TOC_COLD_SN') + '&' + '$data->FOI_TrainNetOrderNo' WHERE FOI_COLD_SN='$data->TOC_COLD_SN'"; $this->HT->query($sql); $sql="IF NOT EXISTS( SELECT TOP 1 1 FROM BIZ_TrainOrderCost WHERE TOC_COLD_SN = ? AND TOC_Memo like ? ) INSERT INTO BIZ_TrainOrderCost( TOC_Memo, TOC_CreateDate, TOC_COLI_SN, TOC_COLD_SN, TOC_TrainNumber, TOC_DepartureDate, TOC_TicketCost, TOC_WL, TOC_OtherCost ) VALUES(?,getdate(),{$CCSN},?,?,?,?,(SELECT COLI_OPI_ID FROM BIZ_ConfirmLineInfo WHERE COLI_SN={$CCSN}),null),(?,getdate(),{$CCSN},?,?,?,?,(SELECT COLI_OPI_ID FROM BIZ_ConfirmLineInfo WHERE COLI_SN={$CCSN}),1)"; $query = $this->HT->query($sql,array($data->TOC_COLD_SN,"%".$data->TOC_Memo."%",$data->TOC_Memo." 携程出票",$data->TOC_COLD_SN,$data->TOC_TrainNumber,$data->TOC_DepartureDate,$data->TOC_TicketCost,$data->TOC_Memo." 手续费",$data->TOC_COLD_SN,$data->TOC_TrainNumber,$data->TOC_DepartureDate,$data->poundage)); } return $query; } //更新乘客表信息 public function update_passpager_info($data){ $sql = "update trainsystem_tickets set tst_status = '{$data->status}', tst_returncallback = '{$data->returncallback}', tst_lasteditdate = getdate() where tst_ordernumber = '{$data->ordernumber}' and tst_realname = '{$data->realname}' and tst_numberid = '{$data->numberid}' "; $query = $this->INFO->query($sql); } } ?>