ÿØÿà JFIF ` ` ÿþ
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 : |
<? /****************************************************************************** * * 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; } ?>