Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
pmb
/
circ
:
encaissement.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php // +-------------------------------------------------+ // � 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net) // +-------------------------------------------------+ // $Id: encaissement.php,v 1.14 2015-04-03 11:16:23 jpermanne Exp $ //Liste des trabsactions d'un compte $base_path=".."; $current_alert="circ"; require_once("../includes/init.inc.php"); require_once("$base_path/classes/comptes.class.php"); require_once($class_path."/transaction/transaction.class.php"); $cpte=new comptes($id_compte); if ($cpte->error) { print pmb_bidi($cpte->error_message); exit; } function back_to_list() { global $show_transactions, $date_debut,$id_compte; print "<script type='text/javascript' >document.location=\"list_transactions.php?show_transactions=$show_transactions&date_debut=".rawurlencode(stripslashes($date_debut))."&id_compte=$id_compte\";</script>"; } function back_to_main() { global $show_transactions, $date_debut,$id_compte,$cpte; print "<script type='text/javascript' >parent.document.location=\"../circ.php?categ=pret&sub=compte&id=".$cpte->get_empr_from_compte_id()."&typ_compte=".$cpte->typ_compte."&show_transactions=$show_transactions&date_debut=".rawurlencode(stripslashes($date_debut))."\";</script>"; } function encaisse_form($with_validated=false, $transacash_num=0) { global $id_compte,$solde,$date_debut,$val_transactions,$somme,$cpte,$charset; global $pmb_gestion_devise,$msg,$charset; $solde=$cpte->get_solde(); if ($solde<0) { print "<table>"; print "<tr><td style='text-align:right'>".$msg["finance_enc_montant_valide"]." : </td><td style='text-align:right'>".comptes::format($somme*(-1))."</td></tr>"; if ($solde<=0) print "<tr class='erreur'><td style='text-align:right'>".$msg["finance_enc_montant_a_enc"]." : </td><td style='text-align:right'>"; else if ($solde>0) print "<td>".$msg["finance_enc_compte_cred"]." : </td><td style='text-align:right'>"; print comptes::format($solde*(-1)); print "</td></tr></table>"; print "<script type='text/javascript' >function check_somme(f) { message=''; if (isNaN(f.somme.value)) { message='".addslashes($msg["finance_enc_nan"])."'; } else { if (f.somme.value<=0) message='".addslashes($msg["finance_enc_mnt_neg"])."'; } if (message) { alert(message); return false; } else return true; } </script>"; print "<form name='form_encaissement' action='encaissement.php?id_compte=$id_compte&show_transactions=$show_transactions&date_debut=".rawurlencode(stripslashes($date_debut))."' method='post'> <input type='hidden' name='act' value='enc'/> <input type='hidden' name='transacash_num' value='$transacash_num'/> <input type='hidden' name='val_transactions' value=\"".htmlentities($val_transactions,ENT_QUOTES,$charset)."\"/>". htmlentities($msg['finance_mnt_percu'], ENT_QUOTES, $charset)." <input type='text' value='".$solde*(-1)."' name='somme' class='saisie-5em' style='text-align:right'> ".$pmb_gestion_devise." <input type='submit' value='".$msg["finance_but_enc"]."' class='bouton' onClick=\"return check_somme(this.form)\"/> <input type='button' value='".$msg["76"]."' class='bouton' onClick=\"document.form_encaissement.act.value=''; document.form_encaissement.submit();\"/> </form> "; } else { back_to_main(); } } function special_form() { global $id_compte,$solde,$date_debut,$val_transactions,$somme,$cpte,$charset,$msg, $pmb_gestion_devise; print "<h3>".$msg["finance_but_cred"]."</h3>"; print "<script type='text/javascript' >function check_somme(f) { message=''; if (isNaN(f.somme.value)) { message='".addslashes($msg["finance_enc_nan"])."'; } else { if (f.somme.value<=0) message='".addslashes($msg["finance_enc_mnt_neg"])."'; } if (message) { alert(message); return false; } else return true; } </script>"; print "<form name='form_special' action='encaissement.php?id_compte=$id_compte&show_transactions=$show_transactions&date_debut=".rawurlencode(stripslashes($date_debut))."' method='post'> <input type='hidden' name='act' value='enc_special'/> ".$msg["finance_montant"]." <input type='text' value='' name='somme' class='saisie-5em' style='text-align:right'> ".$pmb_gestion_devise."<br /> <input type='radio' value='1' name='typ_special' id='typ_special_1' checked> <label for='typ_special_1'>".$msg["finance_enc_spe_crediter"]." <input type='checkbox' name='credit_perte' value='1'> ".$msg["finance_enc_spe_perte"]."</label><br /><input type='radio' value='2' name='typ_special' id='typ_special_2'> <label for='typ_special_2'>".$msg["finance_enc_debiter"]."</label><br /> <input type='radio' value='3' name='typ_special' id='typ_special_3'> <label for='typ_special_3'>".$msg["finance_enc_crediter_enc"]."</label><br /><input type='radio' value='4' name='typ_special' id='typ_special_4'> <label for='typ_special_4'>".$msg["finance_enc_debiter_enc"]." <input type='checkbox' name='dec_perte' value='1'> ".$msg["finance_enc_spe_perte"]."</label><br /> ".$msg["finance_enc_raison"]."<br /> <textarea cols='80' rows='2' wrap='virtual' name='commentaire'></textarea><br /> <input type='submit' value='".$msg["finance_enc_valider"]."' class='bouton' onClick=\"return check_somme(this.form)\"/> <input type='button' value='".$msg["76"]."' class='bouton' onClick=\"document.form_special.act.value=''; document.form_special.submit();\"/> </form> "; } if($pmb_printer_name) { $print_script=" <div id='printer_script'></div> <script type='text/javascript'> function printer_get_jzebra() { if(!document.jzebra) { var req = new http_request(); req.request('$base_path/ajax.php?module=circ&categ=zebra_print_pret&sub=get_script'); document.getElementById('printer_script').innerHTML=req.get_text(); return false; } } function printer_jzebra_send_ticket(text,printer,encoding) { console.log(text); console.log(printer); console.log(encoding); var applet = document.jzebra; var found=false; if(applet!=null) { applet.findPrinter(printer); while (!applet.isDoneFinding()) {} if(printer == applet.getPrinter()) { found = true; if(encoding) { applet.setEncoding(encoding); } applet.append(text); applet.print(); } } if(!found) { alert('".$msg['printer_not_found']."'); } } function printer_jzebra_print_ticket(url) { printer_get_jzebra(); var req = new http_request(); if(req.request(url)){ // Il y a une erreur. alert ( req.get_text() ); }else { alert ( req.get_text() ); printer_jzebra_send_ticket(req.get_text(),'".$pmb_printer_name."','850'); return 1; } } printer_jzebra_print_ticket('$base_path/ajax.php?module=circ&categ=zebra_print_pret&sub=transacash_ticket&transacash_id=!!transacash_id!!'); </script> "; } switch ($act) { case "valenc": //Validation de ce qui n'est pas valide $t=$cpte->get_transactions("","",0,0); $somme=0; $val_transactions=""; for ($i=0; $i<count($t); $i++) { if ($cpte->validate_transaction($t[$i]->id_transaction)) { $somme+=$t[$i]->montant*$t[$i]->sens; $val_transactions.=" #".$t[$i]->id_transaction."#"; } } if(count($t)){ $transacash_num=$cpte->cashdesk_memo_transactions($t); } if ($val_transactions!="") $val_transactions=$msg["finance_enc_tr_lib_valider"]." : ".$val_transactions."\n"; $solde_avant=$cpte->get_solde(); if ($solde_avant!=0) $val_transactions.=$msg["finance_enc_tr_lib_etat_compte"]." : ".$solde_avant; $cpte->update_solde(); encaisse_form(true,$transacash_num); break; case "enc": if ($somme*1>0) { //Generation de la transaction if ($id_transaction=$cpte->record_transaction("",$somme,1,$val_transactions,1)) { $cpte->validate_transaction($id_transaction); $cpte->update_solde(); if(!$transacash_num){ $req="select MAX(transacash_num) from transactions where compte_id=".$cpte->id_compte.""; $resultat=pmb_mysql_query($req); if ($transacash_num=pmb_mysql_result($resultat,0,0)){ $req="update transactions set transacash_num = $transacash_num where compte_id=".$cpte->id_compte." and transacash_num=0"; pmb_mysql_query($req); } } $cpte->cashdesk_memo_encaissement($id_transaction,$transacash_num,$somme); } // print str_replace("!!transacash_id!!",$transacash_num,$print_script); back_to_main(); } else { back_to_list(); } break; case "transac_add": if ($transactype_total*1>0) { $transactype=new transactype($transactype_id); if($quantity) $aff_quantity=" ($quantity)"; //Generation de la transaction if ($id_transaction=$cpte->record_transaction("",$transactype_total,-1,$transactype->name.$aff_quantity,0,$transactype_id)) { //$cpte->validate_transaction($id_transaction); //$cpte->update_solde(); } back_to_main(); } else { back_to_list(); } break; case "val": if (!isset($trans)) $trans=array(); $i=0; foreach ($trans as $key=>$value){ $cpte->validate_transaction($key); $t[$i]->id_transaction=$key; $i++; } if(count($t)){ $transacash_num=$cpte->cashdesk_memo_transactions($t); } $cpte->update_solde(); back_to_main(); break; case "supr": if (!isset($trans)) $trans=array(); foreach ($trans as $key=>$value){ $cpte->delete_transaction($key); } $cpte->update_solde(); back_to_main(); break; case "encnoval": $solde=$cpte->get_solde(); $val_transactions.=$msg["finance_enc_tr_lib_etat_compte"]." : ".$solde; encaisse_form(); break; case "special": special_form(); break; case "enc_special": if ($somme*1>0) { switch ($typ_special) { case "1": //Crediter $signe=1; $caisse=0; break; case "2": //Debiter $signe=-1; $caisse=0; break; case "3": //Crediter et encaisser $signe=1; $caisse=1; break; case "4": //Debiter et decaisser $signe=-1; $caisse=1; break; } if ($id_transaction=$cpte->record_transaction("",$somme,$signe,stripslashes($commentaire),$caisse)) { $cpte->validate_transaction($id_transaction); //Traitement du passage en perte //Credit if (($typ_special==1)&&($credit_perte)) { //Ajout d'un transaction debit pour le compte 0 $requete="insert into transactions (compte_id,user_id,user_name,machine,date_enrgt,date_prevue,date_effective,montant,sens,realisee,commentaire,encaissement) values(0,$PMBuserid,'".$PMBusername."','".$_SERVER["REMOTE_ADDR"]."', now(), now(), now(), ".($somme*1).", -1, 1,'#".$id_transaction."# : ".$commentaire."',0)"; pmb_mysql_query($requete); } //Decaissement if (($typ_special==4)&&($dec_perte)) { //Credit sur le compte du lecteur if ($id_transaction_1=$cpte->record_transaction("",$somme,1,sprintf($msg["finance_enc_tr_lib_lost"]," #".$id_transaction."#")." : ".stripslashes($commentaire),0)) { $cpte->validate_transaction($id_transaction_1); //Debit sur le compte 0 $requete="insert into transactions (compte_id,user_id,user_name,machine,date_enrgt,date_prevue,date_effective,montant,sens,realisee,commentaire,encaissement) values(0,$PMBuserid,'".$PMBusername."','".$_SERVER["REMOTE_ADDR"]."', now(), now(), now(), ".($somme*1).", -1, 1,'#".$id_transaction_1."# : ".sprintf($msg["finance_enc_tr_lib_lost"],"#".$id_transaction."#")." : ".stripslashes($commentaire)."',0)"; pmb_mysql_query($requete); } } $cpte->update_solde(); } back_to_main(); } else { back_to_list(); } default: back_to_list(); break; } print "<script type='text/javascript'> parent.document.getElementById('selector_transaction_list').style.visibility='hidden'; parent.document.getElementById('buttons_transaction_list').style.visibility='hidden'; </script>"; ?>