You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
information-system/application/third_party/trainsystem/models/train_system_model.php

267 lines
8.3 KiB
PHP

<?php
class train_system_model extends CI_Model {
private $order="";//订单号
function __construct() {
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
$this->INFO = $this->load->database('INFO', TRUE);
}
public function get_order($pagesize=2,$page=0,$where="1=1"){
$data=new StdClass();
//获取总条数
$sql="SELECT COUNT(*) AS count FROM InfoManager.dbo.trainsystem
LEFT JOIN
BIZ_ConfirmLineInfo
ON
BIZ_ConfirmLineInfo.COLI_SN=(SELECT COLD_COLI_SN FROM BIZ_ConfirmLineDetail WHERE COLD_SN = InfoManager.dbo.trainsystem.ts_cold_sn)
WHERE
{$where}
";
$query = $this->HT->query($sql);
$count=$query->result();
$data->count=$count[0]->count;
$sql="SELECT TOP {$pagesize} InfoManager.dbo.trainsystem.ts_subtime,
InfoManager.dbo.trainsystem.ts_cold_sn,
InfoManager.dbo.trainsystem.ts_ordernumber,
InfoManager.dbo.trainsystem.ts_status,
InfoManager.dbo.trainsystem.ts_errormsg,
InfoManager.dbo.trainsystem.ts_fromstationame,
InfoManager.dbo.trainsystem.ts_tostationame,
InfoManager.dbo.trainsystem.ts_checi,
InfoManager.dbo.trainsystem.ts_orderamount,
InfoManager.dbo.trainsystem.ts_isauto,
InfoManager.dbo.trainsystem.ts_sendmail,
InfoManager.dbo.trainsystem.ts_m_sn,
InfoManager.dbo.trainsystem.ts_channel,
BIZ_ConfirmLineInfo.COLI_ID,
BIZ_ConfirmLineInfo.COLI_WebCode
FROM
InfoManager.dbo.trainsystem
LEFT JOIN
BIZ_ConfirmLineInfo
ON
BIZ_ConfirmLineInfo.COLI_SN=(SELECT COLD_COLI_SN FROM BIZ_ConfirmLineDetail WHERE COLD_SN = InfoManager.dbo.trainsystem.ts_cold_sn)
WHERE
InfoManager.dbo.trainsystem.ts_id NOT IN(
SELECT
TOP {$page} ts_id
FROM
InfoManager.dbo.trainsystem
LEFT JOIN
BIZ_ConfirmLineInfo
ON
BIZ_ConfirmLineInfo.COLI_SN=(SELECT COLD_COLI_SN FROM BIZ_ConfirmLineDetail WHERE COLD_SN = InfoManager.dbo.trainsystem.ts_cold_sn)
where {$where}
ORDER BY ts_subtime DESC)
AND
{$where}
ORDER BY InfoManager.dbo.trainsystem.ts_subtime DESC";
$query = $this->HT->query($sql);
$data->list=$query->result();
return $data;
}
//获取指定订单信息
public function get_passager_details($ordernumber){
$sql = "select * from trainsystem_tickets where tst_ordernumber = '{$ordernumber}'";
$query = $this->INFO->query($sql);
return $query->result();
}
//获取火车信息
public function get_train_infos($ordernumber){
$sql = "select * from trainsystem where ts_ordernumber = '{$ordernumber}'";
$query = $this->INFO->query($sql);
return $query->row();
}
public function update_passpager_status($status,$passagerid){
$sql = "update trainsystem_tickets set tst_status = '{$status}' where tst_id = '{$passagerid}'";
$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 ticketfrom($ts_ordernumber){
$sql = "select ts_channel,ts_cold_sn,ts_ordernumber from trainsystem where ts_ordernumber = ?";
$query = $this->INFO->query($sql,array($ts_ordernumber));
return $query->row();
}
public function get_passenger_info($ordernumber,$passportname,$passportno){
$sql = "select * from trainsystem_tickets left join trainsystem on tst_ordernumber = ts_ordernumber where tst_realname = ? and tst_numberid = ? and tst_ordernumber = ?";
$query = $this->INFO->query($sql,array($passportname,$passportno,$ordernumber));
return $query->row();
}
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}',
tst_status = '{$data->status}'
where
tst_ordernumber = '{$data->ordernumber}'
and
tst_numberid = '{$data->numberid}'
else
INSERT INTO trainsystem_tickets (
tst_ordernumber,
tst_status,
tst_realname,
tst_identitytype,
tst_numberid,
tst_ticketype,
tst_ticketprice,
tst_seatstype,
tst_seatdetail
)VALUES(
'{$data->ordernumber}',
'{$data->status}',
'{$data->realname}',
'{$data->identitytype}',
'{$data->numberid}',
'{$data->ticketype}',
'{$data->ticketprice}',
'{$data->seatype}',
'{$data->seatdetail}'
)
";
$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 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);
}
public function get_tickets_info($cold_sn){
$sql = "select ts_cold_sn,ts_ordernumber,tst_realname,tst_numberid,tst_status from trainsystem left join trainsystem_tickets on ts_ordernumber = tst_ordernumber where ts_cold_sn = ? and ts_status = '4'";
$query = $this->INFO->query($sql,array($cold_sn));
//$sql = "select * from BIZ_JuheOrderList where JOL_COLD_SN = ? and jol_status = '4'";
//$query = $this->HT->query($sql,array($cold_sn));
return $query->result();
}
public function getallorders(){
$sql = "select * from Tourmanager.dbo.BIZ_JuheOrderList where JOL_SubTime > '2019-03-01' and (JOL_Status = '4' or JOL_Status = '7')";
$query = $this->HT->query($sql);
return $query->result();
}
public function update_juheorder($ordernumber,$subtime,$price){
$sql = "update trainsystem set ts_subtime = ? , ts_orderamount = ? where ts_ordernumber = ?";
$query = $this->INFO->query($sql,array($subtime,$price,$ordernumber));
}
//根据cold_sn 获取出票情况
public function get_ticketinfos($cold_sn){
$sql = "select * from trainsystem where ts_cold_sn = ? and ts_status = '4'";
$query = $this->INFO->query($sql,array($cold_sn));
return $query->row();
}
public function test(){
$sql = "delete from trainsystem where ts_cold_sn = '488121613_1552637689'";
$query = $this->INFO->query($sql);
}
}