From 33ef7566afdb5ce27a1ca06abc4a1fcd3ae8f5ac Mon Sep 17 00:00:00 2001 From: asansal Date: Fri, 25 Apr 2025 07:27:12 +0700 Subject: [PATCH] Add cargo manifest functionality to ticketing system - Updated `tra_cargticket.php` to include a new hidden input for cargo manifest and added JavaScript functions to handle cargo manifest display and updates. - Introduced new methods in `tra_cargticketc.php` for managing cargo details, including setting, deleting, and loading cargo data. - Modified `tra_newticket.php` to accommodate changes in passenger type handling and validation. - Enhanced `tra_newticketc.php` to support dynamic loading of cargo details and improved user interaction for adding and deleting cargo records. - Implemented server-side logic to handle cargo data retrieval and deletion in the new `tra_cargticketc` class. --- objectx/obj_tra/tra_cargticket.php | 125 ++++++++++- objectx/obj_tra/tra_cargticketc.php | 322 ++++++++++++++++++++++++++++ objectx/obj_tra/tra_newticket.php | 74 ++++--- objectx/obj_tra/tra_newticketc.php | 20 +- 4 files changed, 493 insertions(+), 48 deletions(-) create mode 100644 objectx/obj_tra/tra_cargticketc.php diff --git a/objectx/obj_tra/tra_cargticket.php b/objectx/obj_tra/tra_cargticket.php index ad2ba87..d0df205 100644 --- a/objectx/obj_tra/tra_cargticket.php +++ b/objectx/obj_tra/tra_cargticket.php @@ -35,15 +35,16 @@ echo ""; echo ""; + echo $this->FN_CLOSEHEADER(); + echo $this->FN_CREATEBODY("e8f1ff"); + + echo " + + + + + + + + + + + + + + + + +
+
+
+ ".$this->CREATE_LINK('window.location.reload();','REFRESH','javascript:void(0)','_self','','','','')." +
+
+
+
+
".$this->CREATE_IMAGE("loadergrid.gif")."
+ + + + + + +
Notes:- Double click row for edit
+
"; + + echo $this->FN_CREATEFOOTER(); + + } + + public function fn_grdrecord() + { + $idtiketcargo=$_REQUEST["idtiketcargo"]; + header("Content-type: text/xml"); + echo(''); + echo ""; + + $qry="select * from ".DB_APORTIL.".tbl_cargo_tiketdetail + where idtiketcargo='$idtiketcargo' and isdeleted=0 + order by id asc limit ".TBL_PAGE_LIMIT; + + $rs=$this->selectquery($qry); + if($rs) + { + $i=1; + while($row=$this->data_row_array($rs)) + { + echo (""); + print(""); + print(""); + print(""."]]>"); + print(""."]]>"); + print(""."]]>"); + print(""."]]>"); + print(""."]]>"); + print(""."]]>"); + print(""."]]>"); + echo (""); + $i+=1; + } + } + else + { + // echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
"; + echo "error at ".__LINE__." line in ".__FILE__." file
"; + } + echo "
"; + + } + + public function fn_delcargo(){ + $id=$_REQUEST['id']; + $qry="update ".DB_APORTIL.".tbl_cargo_tiketdetail set isdeleted=1,remarkdeleted='Cancel by user ',dby='".$_SESSION['nik']."',ddt=now() + where id='$id'"; + if($this->executequery($qry)){ + echo "ok|"; + } + else{ + echo "failed|Failed remove child"; + } + + } + + } +?> \ No newline at end of file diff --git a/objectx/obj_tra/tra_newticket.php b/objectx/obj_tra/tra_newticket.php index ace38b3..2987bcf 100644 --- a/objectx/obj_tra/tra_newticket.php +++ b/objectx/obj_tra/tra_newticket.php @@ -110,7 +110,7 @@ array("type"=>"combo","name"=>"cbo_bodday","label"=>"","required"=>"true","info"=>"true","inputWidth"=>"60","value"=>"", "tooltip"=>"Choice Day of Birthdate. Thank You","validate"=>"NotEmpty","maxLength"=>"","className"=>"besidecbobodmonth txtcenter","note"=>array("text"=>"ex : 31")), - array("type"=>"combo","name"=>"cbo_passengertype","label"=>"Passenger Type","required"=>"true","info"=>"true","inputWidth"=>"90","value"=>"0", + array("type"=>"combo","name"=>"cbo_idpassengertype","label"=>"Passenger Type","required"=>"true","info"=>"true","inputWidth"=>"90","value"=>"0", "tooltip"=>"Choice Passenger Type. Thank You","validate"=>"NotEmpty","maxLength"=>"11","className"=>"txtleft"), array("type"=>"newColumn"), array("type"=>"input","name"=>"txt_passengertypedescription","label"=>"","required"=>"false","info"=>"true","inputWidth"=>"180","value"=>"", @@ -148,8 +148,8 @@ array("type"=>"newColumn"), array("type"=>"label","name"=>"lblmeter","label"=>"OTL","className"=>"besidelabelprice"), - array("type"=>"input","name"=>"txt_price","label"=>"Price","required"=>"true","info"=>"true","inputWidth"=>"90","value"=>"0","readonly"=>"true", - "tooltip"=>"Insert Price first. Thank You","validate"=>"NotEmpty","maxLength"=>"","className"=>"txtright"), + array("type"=>"input","name"=>"txt_price","label"=>"Price","required"=>"false","info"=>"true","inputWidth"=>"90","value"=>"0","readonly"=>"true", + "tooltip"=>"Insert Price first. Thank You","maxLength"=>"","className"=>"txtright"), array("type"=>"newColumn"), array("type"=>"label","name"=>"lblmeter","label"=>"\$","className"=>"besidelabelprice"), @@ -170,8 +170,8 @@ array("type"=>"column"), array("type"=>"label","name"=>"lblmeter","label"=>"\$","className"=>"besidelabelprice"), - array("type"=>"input","name"=>"txt_totalprice","label"=>"Total","required"=>"true","info"=>"true","inputWidth"=>"90","value"=>"0", - "tooltip"=>"Insert total first. Thank You","validate"=>"NotEmpty","maxLength"=>"11","className"=>"txtright txttotalbiaya"), + array("type"=>"input","name"=>"txt_totalprice","label"=>"Total","required"=>"false","info"=>"true","inputWidth"=>"90","value"=>"0", + "tooltip"=>"Insert total first. Thank You","maxLength"=>"11","className"=>"txtright txttotalbiaya"), array("type"=>"newColumn"), array("type"=>"label","name"=>"lblmeter","label"=>"\$","className"=>"besidelabelprice"), @@ -205,11 +205,11 @@ } $this->FN_COMBOVALIDATIONVALUEARRAY("myForm","cbo_bodday",$arrval); - $arrval=array(); - array_push($arrval,array("value"=>"General","text"=>"General"), - array("value"=>"VIP","text"=>"VIP") - ); - $this->FN_COMBOVALIDATIONVALUEARRAY("myForm","cbo_passengertype",$arrval); + // $arrval=array(); + // array_push($arrval,array("value"=>"1","text"=>"General"), + // array("value"=>"2","text"=>"VIP") + // ); + // $this->FN_COMBOVALIDATIONVALUEARRAY("myForm","cbo_idpassengertype",$arrval); $mycontainerpic="var divpicture=document.createElement('DIV');"; $mycontainerpic.="divpicture.id='divpicture';divpicture.style.height='100%';"; $mycontainerpic.="var divpicturecontent='';"; @@ -233,6 +233,9 @@ //echo $mycontainerpic; + $urlcbo="fn_dhtmlxloadobject('".$this->enc("obj_controller")."','obj=".$this->enc("-")."&task=".$this->enc("dhtmlxcbofilter")."&tableobj=tbl_passenger_type|id,passengertype')"; + $this->FN_COMBOVALIDATIONVALUENEW("myForm","cbo_idpassengertype","tbl_passenger_type","$urlcbo",""); + $urlcbo="fn_dhtmlxloadobject('".$this->enc("obj_controller")."','obj=".$this->enc("-")."&task=".$this->enc("dhtmlxcbofilter")."&tableobj=tbl_ship_information|id,shipname')"; $this->FN_COMBOVALIDATIONVALUENEW("myForm","cbo_idship","tbl_ship_information","$urlcbo",""); @@ -262,6 +265,8 @@ "txt_bodyears"=>"Error Found : Please Insert Years of birthdate First. Thank You", "cbo_bodmonth"=>"Error Found : Please Insert Month of birthdate First. Thank You", "cbo_bodday"=>"Error Found : Please Insert day of birthdate First. Thank You", + "cbo_idpassengertype"=>"Error Found : Please Insert Passengertype first. Thank You", + "cbo_idcardtype"=>"Error Found : Please Insert identity Card first. Thank You", "cbo_idcardtype"=>"Error Found : Please Insert identity Card first. Thank You", "txt_nationality"=>"Error Found : Please Insert Nationality first. Thank You", //"txt_picdata"=>"Error Found : Please Insert Picture first. Thank You", @@ -279,10 +284,11 @@ $arrayControls=array("txt_id"=>"","cbo_idship"=>"","txt_tiketnumber"=>"","txt_voynumber"=>"", "txt_passengername"=>"","cbo_idgender"=>"","txt_bod"=>"","txt_bodyears"=>"", - "cbo_idcardtype"=>"","txt_nationality"=>"Timor Leste","txt_childspassenger"=>"", + "cbo_idpassengertype"=>"","txt_passengertypedescription"=>"","cbo_idcardtype"=>"","txt_nationality"=>"Timor Leste","txt_childspassenger"=>"", "txt_cardnumber"=>"","txt_picdata"=>"aportildefault.png","txt_dates"=>date("Y-m-d"),"txt_price"=>0, "txt_timeschedule"=>"00:00:00","txt_baggageinkg"=>0,"txt_limitbaggage"=>80,"txt_overlimitbaggage"=>0, "txt_priceoverinkg"=>0,"txt_pricebaggage"=>0,"txt_totalprice"=>0,"cbo_idroutestart"=>"","cbo_idrouteend"=>"" + ); // === Form Event @@ -302,7 +308,7 @@ // === Cbo Route End Change $onchangecboidrouteend="if(myForm.getItemValue('cbo_idrouteend')!='')"; $onchangecboidrouteend.="{"; - $onchangecboidrouteend.=" fn_getprice(0);"; + $onchangecboidrouteend.=" fn_getprice();"; //$onchangecboidrouteend.=" alert('f');"; // $onchangecboidrouteend.=" var sp=ajaxuridhtmlx('".$this->enc("obj_tra")."','obj=".$this->enc("tra_newticket")."&task=".$this->enc("getprice")."&idroutestart='+myForm.getItemValue('cbo_idroutestart')+'&idrouteend='+myForm.getItemValue('cbo_idrouteend')).split('|');"; // $onchangecboidrouteend.=" if(trim(sp[0])=='failed'){fn_dhtmlxmessage('error',sp[1]);".$this->FN_DHTMLXWINDOWSHIDEPROGRESS().";return false;}"; @@ -424,11 +430,12 @@ $onbuttonclickbtncancel.="myForm.setItemValue('cbo_bodmonth','');myForm.setItemValue('cbo_bodday','');"; - $onchangepassengertype="var passengertype=myForm.getItemValue('cbo_passengertype').toString().toLowerCase();"; - $onchangepassengertype.="if(passengertype=='general'){"; - $onchangepassengertype.=" fn_getprice(0);"; - $onchangepassengertype.="}"; - $onchangepassengertype.="else{fn_getprice(1);}"; + $onchangepassengertype="var passengertype=myForm.getItemValue('cbo_idpassengertype').toString().toLowerCase();"; + $onchangepassengertype.="fn_getprice();"; + // $onchangepassengertype.="if(passengertype=='general'){"; + // $onchangepassengertype.=" fn_getprice(0);"; + // $onchangepassengertype.="}"; + // $onchangepassengertype.="else{fn_getprice(1);}"; $arrevent=array( array("eventname"=>"onbuttonclick","eventparam"=>"id,val", "switch"=>array( @@ -448,7 +455,7 @@ array("eventname"=>"onchange","eventparam"=>"id,ev,val", "switch"=>array( "cbo_idrouteend"=>"$onchangecboidrouteend $onchangetxtbaggage", - "cbo_passengertype"=>"$onchangepassengertype", + "cbo_idpassengertype"=>"$onchangepassengertype", ) ) @@ -516,7 +523,8 @@ "txt_passengername"=>"","cbo_idgender"=>"","txt_bod"=>"","cbo_idcardtype"=>"idcardtype|cardtype","txt_cardnumber"=>"", "txt_nationality"=>"","txt_voynumber"=>"","txt_picdata"=>"","txt_dates"=>"","cbo_idroutestart"=>"idroutestart|routenamestart", "cbo_idrouteend"=>"idrouteend|routenameend","txt_price"=>"","txt_baggageinkg"=>"","txt_limitbaggage"=>"","txt_overlimitbaggage"=>"", - "txt_priceoverinkg"=>"","txt_pricebaggage"=>"","txt_totalprice"=>"","txt_modifcount"=>"" + "txt_priceoverinkg"=>"","txt_pricebaggage"=>"","txt_totalprice"=>"","txt_modifcount"=>"","cbo_idpassengertype"=>"idpassengertype|passengertype", + "txt_passengertypedescription"=>"" ); $otherevent="if(spres[23]>1)"; $otherevent.="{"; @@ -542,9 +550,15 @@ echo " } - function fn_getprice(isfree){ + function fn_getprice(){ var sp=ajaxuridhtmlx('".$this->enc("obj_tra")."','obj=".$this->enc("tra_newticket")."&task=".$this->enc("getprice")."&idroutestart='+myForm.getItemValue('cbo_idroutestart')+'&idrouteend='+myForm.getItemValue('cbo_idrouteend')).split('|'); if(trim(sp[0])=='failed'){fn_dhtmlxmessage('error',sp[1]);".$this->FN_DHTMLXWINDOWSHIDEPROGRESS().";return false;} + var idxpassengertype = myForm.getItemValue('cbo_idpassengertype'); + // alert(idxpassengertype); + var isfree=0; + if(idxpassengertype==2){ + isfree=1; + } if(!isfree){ myForm.setItemValue('txt_price',sp[2]); } @@ -887,6 +901,9 @@ $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']; + $idpassengertype=$_REQUEST['cbo_idpassengertype']; + $passengertype=($idpassengertype==1 ? "General" : "VIP"); + $passengertypedescription=$_REQUEST['txt_passengertypedescription']; $nationality=$_REQUEST['txt_nationality']; $picdata="aportildefault.png";//$_REQUEST['txt_picdata']; $dates=$_REQUEST['txt_dates']; @@ -929,18 +946,19 @@ $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=0,status=0,iby='".$_SESSION['nik']."',idt=now()"; + bod='$bod',idgender='$idgender',gender='$gender',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',idpassengertype='$idpassengertype',passengertype='$passengertype',passengertypedescription='$passengertypedescription', + 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=0,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() + bod='$bod',idgender='$idgender',gender='$gender',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',idpassengertype='$idpassengertype', + passengertype='$passengertype',passengertypedescription='$passengertypedescription',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'"; } diff --git a/objectx/obj_tra/tra_newticketc.php b/objectx/obj_tra/tra_newticketc.php index 2d90e28..95c1141 100644 --- a/objectx/obj_tra/tra_newticketc.php +++ b/objectx/obj_tra/tra_newticketc.php @@ -118,9 +118,9 @@ ); $this->FN_DHTMLXGRIDVIEWEVENT("dgchild",$arrevent); - // if($childspassenger){ - // echo "fn_grid_default();"; - // } + if($childspassenger){ + echo "fn_grid_default();"; + } echo " } @@ -173,13 +173,13 @@ { var gridid=dgchild.uid(); var spchild=sp[i].split('|'); - var idchild=spchild[1]; - var names=spchild[2]; - var birthofdate=spchild[3]; - var ages=spchild[4]; - var gender=spchild[5]; - var notes=spchild[6]; - var idtiketpassenger=spchild[7]; + var idchild=spchild[0]; + var names=spchild[1]; + var birthofdate=spchild[2]; + var ages=spchild[3]; + var gender=spchild[4]; + var notes=spchild[5]; + var idtiketpassenger=spchild[6]; dgchild.addRow((i+1),[gridid,idchild,names,birthofdate,ages,gender,notes,idtiketpassenger]); }