Просмотр исходного кода

WindykacjaPanel and Billing: Fix nr konta

Piotr Labudda 11 лет назад
Родитель
Сommit
6cbf4fc6bc
2 измененных файлов с 163 добавлено и 156 удалено
  1. 148 139
      SE/se-lib/Billing.php
  2. 15 17
      SE/superedit-USERS2_WINDYKACJA_STATUS.php

+ 148 - 139
SE/se-lib/Billing.php

@@ -48,102 +48,115 @@ class Billing {
 	}
 
 	function _show_doc_BILLING_NUMBERS_TYPE_CLASS_SELL_WINIEN($ID_BILLING_NUMBERS) {
-				$this->add_require_perm('BILLING_NUMBERS','ID','R');
-				$this->check_perms();
-
-				$result_BILLING_NUMBERS_TYPE = $this->get_document_type($ID_BILLING_NUMBERS);
-				DEBUG_S(3,'result_BILLING_NUMBERS_TYPE',$result_BILLING_NUMBERS_TYPE,__FILE__,__FUNCTION__,__LINE__);
-
-				$header = $this->show_doc_BILLING_NUMBER_TYPE_header($ID_BILLING_NUMBERS);
-				DEBUG_S(3,'header',$header,__FILE__,__FUNCTION__,__LINE__);
-				
-				$sql="select * from ".$result_BILLING_NUMBERS_TYPE['TABLE']." where ID_BILLING_NUMBERS=".$header->ID;
-				$res=$this->db->query($sql); 
-				$docum=$this->db->fetch($res);
-
-				$sqlbl = "
-				select ".$result_BILLING_NUMBERS_TYPE[BILLING_NUMBERS_TABLE].".NUMBER , ".$result_BILLING_NUMBERS_TYPE[TABLE].".ID , 
-				 ".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.ID_BILLS_FVAT,  ".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.VAT_NAME,  ".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.VAT,
-				 ".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.ID_SERVICES,".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.DESCR ,
-				 ".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.ID as POS_ID , ".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.PRICE  ,".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.AMMOUNT, 
-				 ".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.DATE_FROM , ".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.DATE_TO ,
-				 ".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.PRICE * ".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.AMMOUNT as WARTOSC ,".$result_BILLING_NUMBERS_TYPE[TABLE].".PAYMENT_TYPE ,
-				  LIST_SERVICES.description , list_sww.name as SWW_NAME ,
-				  LIST_SERVICES2.description as description2, LIST_SERVICES2.jednostka_miary as jednostka_miary2
-				  from ".$result_BILLING_NUMBERS_TYPE[BILLING_NUMBERS_TABLE]." 
-				left join  ".$result_BILLING_NUMBERS_TYPE[TABLE]." on ".$result_BILLING_NUMBERS_TYPE[TABLE].".ID_BILLING_NUMBERS=".$result_BILLING_NUMBERS_TYPE[BILLING_NUMBERS_TABLE].".ID  
-				left join ".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS on ".$result_BILLING_NUMBERS_TYPE[TABLE].".ID=".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.ID_BILLS_FVAT
-				  left join SERVICES on SERVICES.ID=".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.ID_SERVICES
-				  left join LIST_SERVICES on LIST_SERVICES.name=SERVICES.NAME_LIST_SERVICES
-				  left join LIST_SERVICES as LIST_SERVICES2 on LIST_SERVICES2.id=".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.id_list_services 
-				  left join list_sww on ".$result_BILLING_NUMBERS_TYPE[TABLE]."_POS.id_list_sww=list_sww.id
-
-				 where   ".$result_BILLING_NUMBERS_TYPE[TABLE].".ID_BILLING_NUMBERS = '".$ID_BILLING_NUMBERS."' 
-				";
-				$res=$this->db->query($sqlbl);
-				$i=1;
-						
-				$docum->razem_netto=0;
-				$docum->razem_brutto=0;
-
-				while($h=$this->db->fetch($res)) {
-					$pos[$i]=$h;
-
-						unset($name);
-						if($h->description)    $name=$h->description."(ID: ".$h->ID_SERVICES.") " ;
-						else if($h->description2) $name=$h->description2  ;
-						else $name=" Pozostałe usługi ";
-				
-						if($h->DESCR) $name.="<br>".$h->DESCR." ";
-						if($h->DATE_FROM) $name.="<br><nobr> okres od ".$h->DATE_FROM."</nobr>" ;
-						# 2008-03-06 Bzyk :: odjecie jednego dnia od daty 'do'
-						#if($all4['DATE_TO']) $name.="<nobr> do ".$all4['DATE_TO']."</nobr>" ;
-						if($h->DATE_TO) $name.="<nobr> do ".date("Y-m-d",strtotime($h->DATE_TO. " - 1 day"))."</nobr>" ;
-						
-						if ($h->VAT_NAME) $VAT_CLASS = $h->VAT_NAME; else $VAT_CLASS = "zw.";
-						if ($h->jednostka_miary2) $jednostka_miary2 = $h->jednostka_miary2; else  $jednostka_miary2 = "mc";
-						$allvat = $this->formatuj_grosze($h->AMMOUNT*$h->PRICE*$h->VAT/100);
-						$netto = $this->formatuj_grosze($h->PRICE*$h->AMMOUNT);
-						
-						$docum->sqix_total['TOTAL']['NETTO'] += round($h->AMMOUNT * $h->PRICE, 2);
-						$docum->sqix_total['TOTAL']['BRUTTO'] += round(($h->AMMOUNT * $h->PRICE), 2) + round(($h->AMMOUNT * $h->PRICE * $h->VAT/100), 2);
-						$docum->sqix_total['TOTAL']['KW_VAT'] += round($h->AMMOUNT * $h->PRICE * $h->VAT/100, 2);
-						$docum->sqix_total[$VAT_CLASS]['NETTO'] += round($h->AMMOUNT * $h->PRICE, 2);
-						$docum->sqix_total[$VAT_CLASS]['BRUTTO'] += round($h->AMMOUNT * $h->PRICE, 2) + round($h->AMMOUNT * $h->PRICE * $h->VAT/100, 2);
-						$docum->sqix_total[$VAT_CLASS]['KW_VAT'] += round($h->AMMOUNT * $h->PRICE * $h->VAT/100, 2);
-						$docum->razem_netto += $netto;
-						$docum->razem_vat += $allvat;
-						$docum->razem_brutto = $docum->razem_brutto + $docum->razem_netto;
-
-						$pos[$i]->netto = $netto;
-						$pos[$i]->name = $name;
-						$pos[$i]->pos_number = $i;
-						$pos[$i]->VAT_CLASS = $VAT_CLASS;
-						$pos[$i]->jednostka_miary2 = $jednostka_miary2;
-						$pos[$i]->allvat = $allvat;
+		$this->add_require_perm('BILLING_NUMBERS','ID','R');
+		$this->check_perms();
 
-						$i++;
-				}
-				DEBUG_S(3,'pos',$pos,__FILE__,__FUNCTION__,__LINE__);
-				DEBUG_S(3,'docum',$docum,__FILE__,__FUNCTION__,__LINE__);
-
-				$client=$this->BILLING_USERS_ADD($header->ID_BILLING_USERS);
-				$author=$this->BILLING_USERS_ADD($header->U_ID);
-				DEBUG_S(3,'client',$client,__FILE__,__FUNCTION__,__LINE__);
-				$owner=$this->BILLING_OWNER($client->BILLING_OWNER);
-				DEBUG_S(3,'owner',$owner,__FILE__,__FUNCTION__,__LINE__);
-				
-				$pay_option=$this->LIST_FORM_PAY($docum->PAYMENT_TYPE,$owner->id_list_form_pay);
-				
-				$doc->author=$author;
-				$doc->header=$header;
-				$doc->result_BILLING_NUMBERS_TYPE=$result_BILLING_NUMBERS_TYPE;
-				$doc->client=$client;
-				$doc->owner=$owner;
-				$doc->docum=$docum;
-				$doc->pos=$pos;
-				$doc->pay_option=$pay_option;
-				return $doc;
+		$result_BILLING_NUMBERS_TYPE = $this->get_document_type($ID_BILLING_NUMBERS);
+		$billingTblName = $result_BILLING_NUMBERS_TYPE['TABLE'];
+		$billingNumbersTblName = $result_BILLING_NUMBERS_TYPE['BILLING_NUMBERS_TABLE'];
+		DEBUG_S(3,'result_BILLING_NUMBERS_TYPE',$result_BILLING_NUMBERS_TYPE,__FILE__,__FUNCTION__,__LINE__);
+
+		$header = $this->show_doc_BILLING_NUMBER_TYPE_header($ID_BILLING_NUMBERS);
+		DEBUG_S(3,'header',$header,__FILE__,__FUNCTION__,__LINE__);
+
+		$sql = "select * from {$billingTblName} where ID_BILLING_NUMBERS={$header->ID}";
+		$res = $this->db->query($sql);
+		$docum = $this->db->fetch($res);
+
+		$sqlbl = "
+			select {$billingNumbersTblName}.NUMBER
+				, {$billingTblName}.ID
+				, {$billingTblName}_POS.ID_BILLS_FVAT
+				, {$billingTblName}_POS.VAT_NAME
+				, {$billingTblName}_POS.VAT
+				, {$billingTblName}_POS.ID_SERVICES
+				, {$billingTblName}_POS.DESCR
+				, {$billingTblName}_POS.ID as POS_ID
+				, {$billingTblName}_POS.PRICE
+				, {$billingTblName}_POS.AMMOUNT
+				, {$billingTblName}_POS.DATE_FROM
+				, {$billingTblName}_POS.DATE_TO
+				, {$billingTblName}_POS.PRICE * {$billingTblName}_POS.AMMOUNT as WARTOSC
+				, {$billingTblName}.PAYMENT_TYPE
+				, LIST_SERVICES.description
+				, list_sww.name as SWW_NAME
+				, LIST_SERVICES2.description as description2
+				, LIST_SERVICES2.jednostka_miary as jednostka_miary2
+			from {$billingNumbersTblName}
+				left join {$billingTblName} on {$billingTblName}.ID_BILLING_NUMBERS={$billingNumbersTblName}.ID
+				left join {$billingTblName}_POS on {$billingTblName}.ID={$billingTblName}_POS.ID_BILLS_FVAT
+				left join SERVICES on SERVICES.ID={$billingTblName}_POS.ID_SERVICES
+				left join LIST_SERVICES on LIST_SERVICES.name=SERVICES.NAME_LIST_SERVICES
+				left join LIST_SERVICES as LIST_SERVICES2 on LIST_SERVICES2.id={$billingTblName}_POS.id_list_services
+				left join list_sww on {$billingTblName}_POS.id_list_sww=list_sww.id
+			 where {$billingTblName}.ID_BILLING_NUMBERS = '{$ID_BILLING_NUMBERS}'
+		";
+		$res = $this->db->query($sqlbl);
+		$i = 1;
+
+		$docum->razem_netto = 0;
+		$docum->razem_brutto = 0;
+
+		while ($h = $this->db->fetch($res)) {
+			$pos[$i] = $h;
+
+			if ($h->description) {
+				$name = $h->description."(ID: ".$h->ID_SERVICES.") ";
+			} else if ($h->description2) {
+				$name = $h->description2;
+			} else {
+				$name = " Pozostałe usługi ";
+			}
+			if ($h->DESCR) $name .= "<br>".$h->DESCR." ";
+			if ($h->DATE_FROM) $name .= "<br><nobr> okres od ".$h->DATE_FROM."</nobr>";
+			# 2008-03-06 Bzyk :: odjecie jednego dnia od daty 'do'
+			#if($all4['DATE_TO']) $name.="<nobr> do ".$all4['DATE_TO']."</nobr>" ;
+			if ($h->DATE_TO) $name .= "<nobr> do ".date("Y-m-d",strtotime($h->DATE_TO. " - 1 day"))."</nobr>";
+
+			if ($h->VAT_NAME) $VAT_CLASS = $h->VAT_NAME; else $VAT_CLASS = "zw.";
+			if ($h->jednostka_miary2) $jednostka_miary2 = $h->jednostka_miary2; else  $jednostka_miary2 = "mc";
+			$allvat = $this->formatuj_grosze($h->AMMOUNT * $h->PRICE * $h->VAT/100);
+			$netto = $this->formatuj_grosze($h->PRICE * $h->AMMOUNT);
+
+			$docum->sqix_total['TOTAL']['NETTO'] += round($h->AMMOUNT * $h->PRICE, 2);
+			$docum->sqix_total['TOTAL']['BRUTTO'] += round(($h->AMMOUNT * $h->PRICE), 2) + round(($h->AMMOUNT * $h->PRICE * $h->VAT/100), 2);
+			$docum->sqix_total['TOTAL']['KW_VAT'] += round($h->AMMOUNT * $h->PRICE * $h->VAT/100, 2);
+			$docum->sqix_total[$VAT_CLASS]['NETTO'] += round($h->AMMOUNT * $h->PRICE, 2);
+			$docum->sqix_total[$VAT_CLASS]['BRUTTO'] += round($h->AMMOUNT * $h->PRICE, 2) + round($h->AMMOUNT * $h->PRICE * $h->VAT/100, 2);
+			$docum->sqix_total[$VAT_CLASS]['KW_VAT'] += round($h->AMMOUNT * $h->PRICE * $h->VAT/100, 2);
+			$docum->razem_netto += $netto;
+			$docum->razem_vat += $allvat;
+			$docum->razem_brutto = $docum->razem_brutto + $docum->razem_netto;
+
+			$pos[$i]->netto = $netto;
+			$pos[$i]->name = $name;
+			$pos[$i]->pos_number = $i;
+			$pos[$i]->VAT_CLASS = $VAT_CLASS;
+			$pos[$i]->jednostka_miary2 = $jednostka_miary2;
+			$pos[$i]->allvat = $allvat;
+
+			$i++;
+		}
+		DEBUG_S(3,'pos',$pos,__FILE__,__FUNCTION__,__LINE__);
+		DEBUG_S(3,'docum',$docum,__FILE__,__FUNCTION__,__LINE__);
+
+		$client = $this->BILLING_USERS_ADD($header->ID_BILLING_USERS);
+		$author = $this->BILLING_USERS_ADD($header->U_ID);
+		DEBUG_S(3,'client',$client,__FILE__,__FUNCTION__,__LINE__);
+		$owner = $this->BILLING_OWNER($client->BILLING_OWNER);
+		DEBUG_S(3,'owner',$owner,__FILE__,__FUNCTION__,__LINE__);
+
+		$pay_option = $this->LIST_FORM_PAY($docum->PAYMENT_TYPE, $owner->id_list_form_pay);
+
+		$doc->author = $author;
+		$doc->header = $header;
+		$doc->result_BILLING_NUMBERS_TYPE = $result_BILLING_NUMBERS_TYPE;
+		$doc->client = $client;
+		$doc->owner = $owner;
+		$doc->docum = $docum;
+		$doc->pos = $pos;
+		$doc->pay_option = $pay_option;
+		return $doc;
 	}
 
 /*
@@ -186,11 +199,11 @@ class Billing {
 	}
 
 	function BILLING_OWNER($ID_BILLING_OWNER) {
-		$sql="select * from BILLING_OWNER where id=".$ID_BILLING_OWNER;
-		$res=$this->db->query($sql);
-		while($h=$this->db->fetch($res)) {
+		$sql = "select * from BILLING_OWNER where id={$ID_BILLING_OWNER}";
+		$res = $this->db->query($sql);
+		while ($h = $this->db->fetch($res)) {
 			return $h;
-		} 
+		}
 	}
 
 	function LIST_FORM_PAY($id_used_pay_type=null,$user_accessible_pay_type=null) {
@@ -243,18 +256,17 @@ function bankowy_chk($nrb) {
 	return 0;
 }
 
-//FUNKCJA DO LICZENIA MODULO
-function my_bcmod($x, $y) {
-   // how many numbers to take at once? carefull not to exceed (int)
-   $take = 5;    
-   $mod = '';
-   do {
-       $a = (int)$mod.substr( $x, 0, $take );
-       $x = substr( $x, $take );
-       $mod = $a % $y;    
-   } while (strlen($x));
-   return (int)$mod;
-}
+	function my_bcmod($x, $y) {
+		// how many numbers to take at once? carefull not to exceed (int)
+		$take = 5;
+		$mod = '';
+		do {
+			$a = (int)$mod . substr($x, 0, $take);
+			$x = substr($x, $take);
+			$mod = $a % $y;
+		} while (strlen($x));
+		return (int)$mod;
+	}
 
 function bankowy_input($numer_input) {
  $SUMA_PLIKU="0";
@@ -319,36 +331,33 @@ for($i2=0; $i2<=$liczba_linii_crc;$i2++) {
 	if($SUMA_PLIKU==$SUMA_PLIKU_WYKAZANA) return $SUMA_PLIKU ;
 }
 
-function bankowy_make($nrb) {
-    $nrb=preg_replace("/[^0-9]/","",$nrb);
-//    echo "STRLEN (nrb) = ".strlen($nrb);
-    if (strlen($nrb)<>24) return 0;
-	$nrb .="252100";
-        $modulo=$this->my_bcmod($nrb,97) ;
-//	echo "MODULO TU $modulo";
-        $modulo= 98 - $modulo ;
-	if(strlen($modulo)==1) $modulo="0".$modulo ;
-	return $modulo ;
-//	$liczba = sprintf("%02d", 98 - $suma%97);
-	if ($nrb[0]==$liczba[0] and $nrb[1]==$liczba[1]){
-	    return 1;
+	function bankowy_make($nrb) {
+		$nrb = preg_replace("/[^0-9]/", "", $nrb);
+		//    echo "STRLEN (nrb) = ".strlen($nrb);
+		if (strlen($nrb) <> 24) return 0;
+		$nrb .= "252100";
+		$modulo = $this->my_bcmod($nrb, 97);
+		//	echo "MODULO TU $modulo";
+		$modulo = 98 - $modulo;
+		if (strlen($modulo) == 1) {
+			$modulo = "0" . $modulo;
+		}
+		return $modulo;
 	}
-	return 0;
-}
 
-//$numer="1090 1098 0000 1001 0253 7156 "; //numer z liczba kontrola inna				
-//$numer="07109010790417338226000401";
-//$numer="7632547653245732654";
-//$numer="7632547653245732654f4365435";
-//if(!$numer_chk) $numer_chk="46 1090 1098 0000 0001 0253 7156";
-function bankowy_make_nrach($NR_RACH_MASS_PAY,$ID_BILLING_USERS,$ID_BILLING_NUMBERS) {
-//echo "TTUTAJ <hr> AASDADS f. bankowy_make_nrach($NR_RACH_MASS_PAY,$ID_BILLING_USERS,$ID_BILLING_NUMBERS) <br>";
-$ID_BILLING_USERS=str_pad($ID_BILLING_USERS,10,0,STR_PAD_LEFT) ;
-$ID_BILLING_NUMBERS=str_pad($ID_BILLING_NUMBERS,2,0,STR_PAD_LEFT) ; 
-$ID_BILLING_NUMBERS=substr($ID_BILLING_NUMBERS,-2) ; 
-$NN=$this->bankowy_make($NR_RACH_MASS_PAY.$ID_BILLING_NUMBERS.$ID_BILLING_USERS) ;
-if($NN) return $NN.$NR_RACH_MASS_PAY.$ID_BILLING_NUMBERS.$ID_BILLING_USERS ;
-}
+	//$numer="1090 1098 0000 1001 0253 7156 "; //numer z liczba kontrola inna
+	//$numer="07109010790417338226000401";
+	//$numer="7632547653245732654";
+	//$numer="7632547653245732654f4365435";
+	//if(!$numer_chk) $numer_chk="46 1090 1098 0000 0001 0253 7156";
+	function bankowy_make_nrach($NR_RACH_MASS_PAY, $ID_BILLING_USERS, $ID_BILLING_NUMBERS) {
+		//echo "TTUTAJ <hr> AASDADS f. bankowy_make_nrach($NR_RACH_MASS_PAY,$ID_BILLING_USERS,$ID_BILLING_NUMBERS) <br>";
+		$ID_BILLING_USERS = str_pad($ID_BILLING_USERS, 10, 0, STR_PAD_LEFT);
+		$ID_BILLING_NUMBERS = str_pad($ID_BILLING_NUMBERS, 2, 0, STR_PAD_LEFT);
+		$ID_BILLING_NUMBERS = substr($ID_BILLING_NUMBERS, -2);
+		$NN = $this->bankowy_make($NR_RACH_MASS_PAY . $ID_BILLING_NUMBERS . $ID_BILLING_USERS);
+		if ($NN) return $NN . $NR_RACH_MASS_PAY . $ID_BILLING_NUMBERS . $ID_BILLING_USERS;
+	}
 
 	function bankowy_formatuj_nrach($NR_RACH_MASS_PAY) {
 		if ($NR_RACH_MASS_PAY) {

+ 15 - 17
SE/superedit-USERS2_WINDYKACJA_STATUS.php

@@ -5637,27 +5637,25 @@ class Lay_Html_Toggle {
 
 class FunkcjeL1 {
 
-	public static function bankowy_make_nrach($NR_RACH_MASS_PAY,$ID_BILLING_USERS,$ID_BILLING_NUMBERS) {
+	public static function bankowy_make_nrach($NR_RACH_MASS_PAY, $ID_BILLING_USERS, $ID_BILLING_NUMBERS) {
 		//echo "TTUTAJ <hr> AASDADS f. bankowy_make_nrach($NR_RACH_MASS_PAY,$ID_BILLING_USERS,$ID_BILLING_NUMBERS) <br>";
-		$ID_BILLING_USERS=str_pad($ID_BILLING_USERS,10,0,STR_PAD_LEFT) ;
-		$ID_BILLING_NUMBERS=str_pad($ID_BILLING_NUMBERS,2,0,STR_PAD_LEFT) ; 
-		$ID_BILLING_NUMBERS=substr($ID_BILLING_NUMBERS,-2) ; 
-		$NN = self::bankowy_make($NR_RACH_MASS_PAY.$ID_BILLING_NUMBERS.$ID_BILLING_USERS) ;
-		if($NN) return $NN.$NR_RACH_MASS_PAY.$ID_BILLING_NUMBERS.$ID_BILLING_USERS ;
+		$ID_BILLING_USERS = str_pad($ID_BILLING_USERS, 10, 0, STR_PAD_LEFT);
+		$ID_BILLING_NUMBERS = str_pad($ID_BILLING_NUMBERS, 2, 0, STR_PAD_LEFT);
+		$ID_BILLING_NUMBERS = substr($ID_BILLING_NUMBERS, -2);
+		$NN = self::bankowy_make($NR_RACH_MASS_PAY . $ID_BILLING_NUMBERS . $ID_BILLING_USERS);
+		if ($NN) return $NN . $NR_RACH_MASS_PAY . $ID_BILLING_NUMBERS . $ID_BILLING_USERS;
 	}
 
 	public static function bankowy_make($nrb) {
-			$nrb=preg_replace("/[^0-9]/","",$nrb);
-			if (strlen($nrb)<>24) return 0;
-		$nrb .="252100";
-					$modulo=self::my_bcmod($nrb,97) ;
-					$modulo= 98 - $modulo ;
-		if(strlen($modulo)==1) $modulo="0".$modulo ;
-		return $modulo ;
-		if ($nrb[0]==$liczba[0] and $nrb[1]==$liczba[1]){
-				return 1;
-		}
-		return 0;
+		$nrb = preg_replace("/[^0-9]/", "", $nrb);
+		if (strlen($nrb) <> 24) return 0;
+		$nrb .= "252100";
+		$modulo = self::my_bcmod($nrb, 97);
+		$modulo = 98 - $modulo;
+		if (strlen($modulo) == 1) {
+			$modulo = "0" . $modulo;
+		}
+		return $modulo;
 	}
 
 	public static function my_bcmod($x, $y) {