dec($task);}}
switch($task)
{
case "default":
$this->fn_default_newticket();
break;
case $task:
$task="fn_".$task;
if(method_exists($this,$task)){$this->$task();}
break;
default:
$this->fn_default_newticket();
break;
}
}
public function fn_default_newticket()
{
//for($i=1;$i<=30;$i++){
// for($j=1;$j<=10;$j++)
// {
// $seat="$i.".chr(64+$j);
// $qry="insert into ".DB_APORTIL.".tbl_ship_seatnumber set idship=1,shipnumber='NAC-151',seatnumber='".$seat."',iby='82010',idt=now()";
// $this->executequery($qry);
// }
// }
echo $this->FN_CREATEHEADER();
echo "";
echo "";
echo "";
echo $this->FN_CLOSEHEADER();
echo $this->FN_CREATEBODY("e8f1ff");
echo "
";
echo "
";
$qry="select filepdf from ".DB_APORTIL.".tbl_manualbook where isdeleted=0 and filepdf='passengerbooking_ticket.pdf'";
$filepdf=$this->fn_get_fieldvalue("filepdf",$qry);
$urlmanualbook="MANUAL BOOK";
$url="location.reload();";
$myuri=array("PASSENGER INFORMATION"=>"$url|id='a_newticket'","$urlmanualbook"=>"|id='a_manualbook'");
echo $this->MULTIPLE_LINK($myuri);
echo "
".$this->CREATE_IMAGE("loadergrid.gif")."
Notes
:
- Click Row For Edit
";
echo $this->FN_CREATEFOOTER();
}
public function fn_grdrecord()
{
$keyword=$_REQUEST["keyword"];
header("Content-type: text/xml");
echo('');
echo "";
$qry="select id,idship,tiketnumber,inctiket,shipname,shipnumber,passengername,picdata,dates,idroutestart,nationality,
routenamestart,idrouteend,routenameend,seatnumber,quantity,price,baggageinkg,pricebaggage,modifcount
from ".DB_APORTIL.".tbl_passenger_tiket
where (tiketnumber like '%$keyword%' or passengername like '%$keyword%') and isdeleted=0 and status=0 and iby='".$_SESSION['nik']."'
order by id desc limit ".TBL_PAGE_LIMIT;
$rs=$this->selectquery($qry);
if($rs)
{
$i=1;
while($row=$this->data_row_array($rs))
{
$color='black';
if($row["modifcount"]>=2){$color='grey';}
echo ("");
//$print="<a href=\"javascript:void(0)\" title=\"Reprint Ticket Number ".$row["tiketnumber"]."\" style=\"text-decoration:none\" onClick=\"fn_printso('".$row["id"]."')\"/>";
$print="<a href=\"javascript:void(0)\" title=\"Reprint Ticket Number ".$row["tiketnumber"]."\" style=\"text-decoration:none\" onClick=\"fn_printtra('".$row['tiketnumber']."','".$row['id']."')\"/>";
$print.="<img src='themes/images/print.gif' />";
$print.="<a/>";
print("");
print("$print");
print("".$i.""."]]>");
print("".$row["shipname"].""."]]>");
print("".$row["tiketnumber"].""."]]>");
print("".$row["inctiket"].""."]]>");
print("".$row["shipnumber"].""."]]>");
print("".$row["passengername"].""."]]>");
print("".$row["picdata"].""."]]>");
print("".date("Y-m-d H:i:s",strtotime($row["dates"])).""."]]>");
print("".$row["routenamestart"].""."]]>");
print("".$row["routenameend"].""."]]>");
print("".$row["nationality"].""."]]>");
print("".$row["quantity"].""."]]>");
print(""."\$".$row["price"].""."]]>");
print("".$row["baggageinkg"]." kg".""."]]>");
print(""."\$".$row["pricebaggage"].""."]]>");
echo ("");
$i+=1;
}
}
else
{
echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file ";
}
echo "";
}
public function fn_saverecord($isupdate=null)
{
$year=date("Y");
if($isupdate){$id=$_REQUEST['txt_id'];}
$ipprintclient=$this->get_client_ip();
$idship=$_REQUEST['cbo_idship'];
$sp=$this->fn_get_fieldsvalues("shipname,shipnumber","select shipname,shipnumber from ".DB_APORTIL.".tbl_ship_information where id='$idship'");
$shipnumber=$sp[1];$shipname=$sp[0];
$tiketnumber=$_REQUEST['txt_tiketnumber'];
$voynumber=$_REQUEST['txt_voynumber'];
$passengername=$_REQUEST['txt_passengername'];
$idgender=$_REQUEST['cbo_idgender'];
$gender=$this->fn_get_fieldvalue("gender","select gender from ".DB_APORTIL.".tbl_gender where id='$idgender'");
$bod=$_REQUEST['txt_bod'];
$idcardtype=$_REQUEST['cbo_idcardtype'];
$cardtype=$this->fn_get_fieldvalue("cardtype","select cardtype from ".DB_APORTIL.".tbl_passenger_identifycardtype where id='$idcardtype'");
$cardnumber=$_REQUEST['txt_cardnumber'];
$nationality=$_REQUEST['txt_nationality'];
$picdata="aportildefault.png";//$_REQUEST['txt_picdata'];
$dates=$_REQUEST['txt_dates'];
$timeschedule=$_REQUEST['txt_timeschedule'];
$dates.=" ".$timeschedule;
$idroutestart=$_REQUEST['cbo_idroutestart'];
$routenamestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'");
$idrouteend=$_REQUEST['cbo_idrouteend'];
$routenameend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'");
$spseat=explode("|",$this->fn_getseatnumber());
$seatnumber=$spseat[1];
//$seatnumber=$this->fn_getseatnumber();
//echo "failed|".$spseat[0]." ".$spseat[1];
//return false;
if((int)$spseat[1]>(int)$spseat[0]){
echo "failed|Total Seat Exceded only ".$spseat[0]." Available";
return false;
}
$inctiket=0;$inctiketyear=0;
if(!$isupdate){
$qry="select count(id) incnumber from ".DB_APORTIL.".tbl_passenger_tiket
where isdeleted=0 and years='$year' and status>=0";
$inctiketyear=$this->fn_get_fieldvalue("incnumber",$qry);
$inctiketyear+=1;
$qry="select count(id) incnumber from ".DB_APORTIL.".tbl_passenger_tiket
where idship='$idship' and isdeleted=0 and cast(dates as date)=cast(now() as date) and idroutestart='$idroutestart' and idrouteend='$idrouteend' and status>=0";
$inctiket=$this->fn_get_fieldvalue("incnumber",$qry);
$inctiket+=1;
}
$quantity=$_REQUEST['txt_quantity'];
$price=$_REQUEST['txt_price'];
$baggageinkg=$_REQUEST['txt_baggageinkg'];
$limitbaggage=$_REQUEST['txt_limitbaggage'];
$overlimitbaggage=$_REQUEST['txt_overlimitbaggage'];
$priceoverinkg=$_REQUEST['txt_priceoverinkg'];
$pricebaggage=$_REQUEST['txt_pricebaggage'];
$totalprice=$_REQUEST['txt_totalprice'];
$qry="insert into ".DB_APORTIL.".tbl_passenger_tiket
set idship='$idship',tiketnumber='$tiketnumber',voynumber='$voynumber',inctiket='$inctiket',inctiketyear='$inctiketyear',shipname='$shipname',shipnumber='$shipnumber',passengername='$passengername',
bod='$bod',idgender='$idgender',gender='$gender',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',nationality='$nationality',picdata='$picdata',dates='$dates',idroutestart='$idroutestart',
routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend',seatnumber='$seatnumber',quantity='1',price='$price',baggageinkg='$baggageinkg',
limitbaggage='$limitbaggage',overlimitbaggage='$overlimitbaggage',priceoverinkg='$priceoverinkg',pricebaggage='$pricebaggage',totalprice='$totalprice',years='$year',ipclient='$ipprintclient',
modifcount=2,status=0,iby='".$_SESSION['nik']."',idt=now()";
if($isupdate)
{
$qry="update ".DB_APORTIL.".tbl_passenger_tiket
set idship='$idship',tiketnumber='$tiketnumber',voynumber='$voynumber',shipname='$shipname',shipnumber='$shipnumber',passengername='$passengername',
bod='$bod',idgender='$idgender',gender='$gender',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',nationality='$nationality',
picdata='$picdata',dates='$dates',idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend',
routenameend='$routenameend',quantity='1',price='$price',baggageinkg='$baggageinkg',limitbaggage='$limitbaggage',overlimitbaggage='$overlimitbaggage',
priceoverinkg='$priceoverinkg',pricebaggage='$pricebaggage',totalprice='$totalprice',years='$year',modifcount=modifcount+1,ipclient='$ipprintclient',uby='".$_SESSION['nik']."',udt=now()
where id='$id'";
}
if($this->executequery($qry))
{
if(!$isupdate){
$idpassengerticket=mysql_insert_id();
$qry="insert into ".DB_APORTIL.".tbl_passenger_tiket_log
set idpassengerticket='$idpassengerticket',dates='".date("Y-m-d")."',status=0,remarkstatus='Submitted',
iby='".$_SESSION['nik']."',idt=now()";
if($this->executequery($qry)){
$rtn=$this->fn_printtra($idpassengerticket);
echo 'ok|';
}
}
else
{
echo "ok|";return true;
}
}
}
public function fn_updrecord(){$this->fn_saverecord(true);}
public function fn_delrecord()
{
$id=$_REQUEST['txt_id'];
$remark=$_REQUEST['txtremark'];
$qry="update ".DB_APORTIL.".tbl_passenger_tiket
set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now()
where id='$id'";
if($this->executequery($qry)){echo "ok|";return true;}
else
{
echo "failed|".$this->getErrorQuery();
}
}
public function fn_printtra($idtransaction='')
{
$tiketnumber=$_REQUEST['txt_tiketnumber'];
if(!$idtransaction){
$idtransaction=$_REQUEST['idtransaction'];
}
$ipprintclient=$this->get_client_ip();
$qry="insert into ".DB_APORTIL.".tbl_printjob
set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."',
employeename='".$_SESSION['employeename']."',jobgroup='TIC',jobremark='$tiketnumber',iby='".$_SESSION['nik']."',idt=now()";
$qrychk="select id from ".DB_APORTIL.".tbl_printjob where ipprintclient='$ipprintclient' order by id desc limit 1";
//echo $qry;
if($this->fn_row_isexists($qrychk))
{
$id=$this->fn_get_fieldvalue("id",$qrychk);
$qry="update ".DB_APORTIL.".tbl_printjob
set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."',
employeename='".$_SESSION['employeename']."',jobgroup='TIC',jobremark='$tiketnumber',uby='".$_SESSION['nik']."',udt=now()
where id='$id'";
}
$rtn="failed|Print Tiket $tiketnumber failed, please contact your administrator. Thank you";
if($this->executequery($qry))
{
$qry="update ".DB_APORTIL.".tbl_passenger_tiket set isprint=1,printeddate=now() where id='$idtransaction'";
if($this->executequery($qry)){
$rtn="ok|";
}
}
echo $rtn;
return $rtn;
}
public function fn_getseatnumber(){
$idship=$_REQUEST['cbo_idship'];
$dates=$_REQUEST['txt_dates'];
$idroutestart=$_REQUEST['cbo_idroutestart'];
$idrouteend=$_REQUEST['cbo_idrouteend'];
$qry="select totalseat from ".DB_APORTIL.".tbl_ship_information where id='$idship'";
$totalseat=$this->fn_get_fieldvalue("totalseat",$qry);
$qry="select count(id) total from ".DB_APORTIL.".tbl_passenger_tiket ";
$qry.="where idship='$idship' and idroutestart='$idroutestart' and idrouteend='$idrouteend' ";
$qry.="and cast(dates as date)=cast('$dates' as date) and isdeleted=0 ";
$lasttiket=0;
if($this->fn_row_isexists($qry))
{
$lasttiket=$this->fn_get_fieldvalue("total",$qry);
}
$lasttiket+=1;
return $totalseat."|".$lasttiket;
}
public function fn_getticket(){
$valticket="";
for($i=1;$i<=8;$i++){
$valticket.=rand(0,9);
}
$sql="select tiketnumber from ".DB_APORTIL.".tbl_passenger_tiket where tiketnumber='".$tiketnumber."' order by id desc limit 1";
if($this->fn_row_isexists($sql)){
$this->fn_getticket();
}
return $valticket;
}
public function fn_getheaderinfo(){
$idship=$_REQUEST['idship'];
$tiketnumber=$this->fn_getticket();
echo "ok|".$tiketnumber;
}
public function fn_getprice(){
$idroutestart=$_REQUEST['idroutestart'];
$idrouteend=$_REQUEST['idrouteend'];
$qry="select prices from ".DB_APORTIL.".tbl_price_information
where idroutestart='".$idroutestart."' and idrouteend='".$idrouteend."' and isdeleted=0
order by id desc limit 1";
//echo "failed|".$qry;
$price=0;$status="failed";$statuserr="Price not Found, Please contact your administrator";
if($this->fn_row_isexists($qry)){
$price=$this->fn_get_fieldvalue("prices",$qry);
$status="ok";$statuserr="";
}
// === Price limit baggage
$qry="select prices from ".DB_APORTIL.".tbl_cargoprice_information
where idcategory=2 and idroutestart='$idroutestart' and idrouteend='$idrouteend' and isdeleted=0
order by id desc limit 1";
$pricebaggagelimit=0;
if($this->fn_row_isexists($qry)){
$pricebaggagelimit=$this->fn_get_fieldvalue("prices",$qry);
}
// ==== Get Time Schedule
$qry="select scheduletime from ".DB_APORTIL.".tbl_routetime_information
where idroutestart='$idroutestart' and idrouteend='$idrouteend' and isdeleted=0
order by id desc limit 1";
$timeschedule="";
if($this->fn_row_isexists($qry)){
$timeschedule=$this->fn_get_fieldvalue("scheduletime",$qry);
}
echo "$status|$statuserr|$price|$pricebaggagelimit|$timeschedule";
}
public function fn_setbookseat(){
$idship=$_REQUEST['idship'];
$bookingdate=$_REQUEST['bookingdate'];
$spship=$this->fn_get_fieldsvalues("shipnumber,shipname","select shipnumber,shipname from ".DB_APORTIL.".tbl_ship_information where id='$idship'");
$shipnumber=$spship[0];$shipname=$spship[1];
$seatnumber=$_REQUEST['seatnumber'];
$idroutestart=$_REQUEST['idroutestart'];
$routestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'");
$idrouteend=$_REQUEST['idrouteend'];
$routeend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'");
$bookingdateend=date("Y-m-d H:i:s",strtotime("+15 minutes"));
$qry="insert into ".DB_APORTIL.".tbl_ship_seatbooking
set idship='$idship',shipnumber='$shipnumber',shipname='$shipname',bookingdate='$bookingdate',bookingdateend='$bookingdateend',
seatnumber='$seatnumber',idroutestart='$idroutestart',routestart='$routestart',idrouteend='$idrouteend',routeend='$routeend',
status=0,iby='".$_SESSION['nik']."',idt=now()";
$rtn="failed|Booking Failed please contact administrator!.";
if($this->executequery($qry)){
$rtn="ok|";
}
echo $rtn;
}
public function fn_cancelseat(){
$seatnumber=$_REQUEST['seatnumber'];
$bookingdate=$_REQUEST['bookingdate'];
$qry="update ".DB_APORTIL.".tbl_ship_seatbooking set status=-2,remark='Cancel Booking by ".$_SESSION['nik']."',uby='".$_SESSION['nik']."',udt=now()
where seatnumber='$seatnumber' and cast(bookingdate as date)=cast('$bookingdate' as date) and isdeleted=0";
//echo "failed|$qry";
if($this->executequery($qry)){
echo "ok|success";
};
}
public function fn_getseatnum(){
$bookingdate=$_REQUEST['bookingdate'];
$idship=$_REQUEST['idship'];
$shipname=$_REQUEST['shipname'];
$seatnumber=$_REQUEST['seatnumber'];
$idroutestart=$_REQUEST['idroutestart'];
$routestart=$_REQUEST['routestart'];
$routeend=$_REQUEST['routeend'];
$idrouteend=$_REQUEST['idrouteend'];
echo $this->FN_CREATEHEADER();
echo "";
echo "
";
echo $this->FN_CLOSEHEADER();
echo $this->FN_CREATEBODY("e8f1ff");
echo "
Ship Name
:
".$shipname."
Route
:
".$routestart." to ".$routeend."
Booking Date
:
".$bookingdate."
";
echo "
";
echo "
";
echo "
";
// === SEAT Number
for($i=1;$i<=30;$i++){
echo "