Trippest财务表:PVT人数的取值

feature/trippest
lyt 6 years ago
parent ba6e33c083
commit 75472bb5e5

@ -472,7 +472,7 @@ class Order_finance extends CI_Controller {
}
// 预定的产品数
$ret->tour_count = count(array_unique(array_map(function($ele) {return mb_strtoupper($ele->PAG_Code);}, $all_orders)));
$person_num = $this->OrderFinance_model->get_order_person_num($coli_sn);
$person_num = $this->OrderFinance_model->get_order_person_num($coli_sn, implode(",", $ret->cold_sn));
$ret->person_num = $person_num->person_num;
$ret->adult_num = $person_num->adult_num;
$ret->child_num = $person_num->child_num;

@ -135,7 +135,7 @@ class OrderFinance_model extends CI_Model {
}
/** 子订单中人数最多的预定 */
public function get_max_cold_person_num($coli_sn=0)
public function get_max_cold_person_num($coli_sn=0, $cold_str='')
{
$sql = "SELECT
ISNULL(MAX(COLD_PersonNum+COLD_ChildNum+ISNULL(COLD_BabyNum,0)), 0) person_num
@ -143,12 +143,13 @@ class OrderFinance_model extends CI_Model {
,ISNULL(MAX(COLD_ChildNum+ISNULL(COLD_BabyNum,0)), 0) child_num
from BIZ_ConfirmLineDetail
where COLD_COLI_SN=$coli_sn ";
$sql .= $cold_str==='' ? " " : " and COLD_SN in ($cold_str) ";
$ret = $this->HT->query($sql)->row();
return $ret;
}
/** 订单人数 */
public function get_order_person_num($coli_sn=0)
public function get_order_person_num($coli_sn=0, $cold_str='')
{
$ret = new stdClass();
// 从订单客人名单列表中取
@ -162,8 +163,10 @@ class OrderFinance_model extends CI_Model {
$ret->person_num = $query->num_rows();
$guest_type_cnt = array_count_values(array_map(function($ele) { return $ele->BPE_GuestType; }, $query->result()));
// 从子订单的人数中取最大值
$max_person = $this->get_max_cold_person_num($coli_sn);
if ($ret->person_num === 0 || $ret->person_num < $max_person->person_num) {
$max_person = $this->get_max_cold_person_num($coli_sn, $cold_str);
if ($ret->person_num === 0 || $ret->person_num < $max_person->person_num
|| $cold_str!==''
) {
// 没有客人名单时, 客人名单小于子订单人数(如新港接送)时
// 使用子订单结果
$ret->person_num = $max_person->person_num;

Loading…
Cancel
Save