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.
83 lines
3.1 KiB
PHTML
83 lines
3.1 KiB
PHTML
9 years ago
|
<?php
|
||
|
|
||
|
class BIZ_PackagePrice_model extends CI_Model {
|
||
|
|
||
|
var $topnum = false; //返回记录数
|
||
|
var $pag_code = false; //线路代号
|
||
|
var $person_size = false; //人等
|
||
|
var $price_date = false; //查询价格日期区间
|
||
|
var $orderby = false;
|
||
|
|
||
|
function __construct() {
|
||
|
parent::__construct();
|
||
|
$this->HT = $this->load->database('HT', TRUE);
|
||
|
}
|
||
|
|
||
|
public function init() {
|
||
|
$this->topnum = false;
|
||
|
$this->pag_code = false;
|
||
|
$this->person_size = false;
|
||
|
$this->price_date = false;
|
||
|
$this->orderby = ' ORDER BY bpp.PKP_PriceGrade ASC,bpp.PKP_AdultPrice DESC ';
|
||
|
}
|
||
|
|
||
|
public function search($pag_code, $topnum = false, $person_size = false, $price_date = false) {
|
||
|
$this->init();
|
||
|
$this->pag_code = $pag_code;
|
||
|
$this->topnum = empty($topnum) ? false : $topnum;
|
||
|
$this->person_size = empty($person_size) ? false : $this->person_size = " AND $person_size BETWEEN bpp.PKP_PersonStart AND bpp.PKP_PersonStop ";
|
||
|
$this->price_date = empty($price_date) ? false : " AND '$price_date 00:00:00' BETWEEN bpp.PKP_ValidDate AND bpp.PKP_InvalidDate ";
|
||
|
return $this->get_list();
|
||
|
}
|
||
|
|
||
|
public function get_list() {
|
||
|
$this->topnum ? $sql = "SELECT TOP " . $this->topnum : $sql = "SELECT ";
|
||
|
$sql .= "
|
||
|
bpi.PAG_SN
|
||
|
,bpi.PAG_Code
|
||
|
,bpp.PKP_SN
|
||
|
,bpp.PKP_PAG_SN
|
||
|
,bpp.PKP_AdultPrice
|
||
|
,bpp.PKP_ChildPrice
|
||
|
,bpp.PKP_InfantPrice
|
||
|
,bpp.PKP_AdultNetPrice
|
||
|
,bpp.PKP_ChildNetPrice
|
||
|
,bpp.PKP_InfantNetPrice
|
||
|
,bpp.PKP_ValidDate
|
||
|
,bpp.PKP_InvalidDate
|
||
|
,bpp.PKP_PriceGrade
|
||
|
,bpp.PKP_PersonStart
|
||
|
,bpp.PKP_PersonStop
|
||
|
,bpp.PKP_AdultCost
|
||
|
,bpp.PKP_ChildCost
|
||
|
,bpp.PKP_BabyCost
|
||
|
FROM BIZ_PackagePrice bpp
|
||
|
INNER JOIN BIZ_PackageInfo bpi
|
||
|
ON bpi.PAG_SN = bpp.PKP_PAG_SN
|
||
|
WHERE 1 = 1
|
||
|
AND (bpi.DeleteFlag IS NULL OR bpi.DeleteFlag=0)
|
||
|
AND bpi.PAG_Code = ?
|
||
|
AND (bpi.PAG_DEI_SN = ? OR bpi.PAG_DEI_SN = 26 )
|
||
|
|
||
|
";
|
||
|
|
||
|
$this->person_size ? $sql.=$this->person_size : false;
|
||
|
$this->price_date ? $sql.=$this->price_date : false;
|
||
|
$this->orderby ? $sql.=$this->orderby : false;
|
||
|
|
||
|
$query = $this->HT->query($sql, array($this->pag_code,CONST_SITE_DEPARTMENT));
|
||
|
//print_r($this->HT->queries);
|
||
|
if ($this->topnum === 1) {
|
||
|
if ($query->num_rows() > 0) {
|
||
|
$row = $query->row();
|
||
|
return $row;
|
||
|
} else {
|
||
|
return FALSE;
|
||
|
}
|
||
|
} else {
|
||
|
return $query->result();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|