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.
This commit is contained in:
2025-04-25 07:27:12 +07:00
parent 63c4109a7c
commit 33ef7566af
4 changed files with 493 additions and 48 deletions

View File

@ -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='<table id=\"tbfindinvoice\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"margin-top:0px;margin-left:-5px;\">';";
@ -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 <b>Years of birthdate</b> First. Thank You",
"cbo_bodmonth"=>"Error Found : Please Insert <b>Month of birthdate</b> First. Thank You",
"cbo_bodday"=>"Error Found : Please Insert <b>day of birthdate</b> 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 <b>Picture</b> 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'";
}