calc-deutes.php
changeset 0 e269d7e3f581
child 9 e3ddfccc8d4f
equal deleted inserted replaced
-1:000000000000 0:e269d7e3f581
       
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
       
     2 <html>
       
     3 <head>
       
     4 	<title>Ètxelon - Deutes finals</title>
       
     5 	<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
       
     6 </head>
       
     7 
       
     8 <body>
       
     9 
       
    10 <H1 ALIGN=center>Ètxelon</H1>
       
    11 
       
    12 
       
    13 <?php
       
    14 	include("getdb.inc");
       
    15 	
       
    16 	// Fem la connexió
       
    17 	$connexio = mysql_connect($mysql_server, $mysql_user, $mysql_password);
       
    18 	mysql_select_db($mysql_db, $connexio);
       
    19 
       
    20 	// Crides a funcions per obtenir parametres
       
    21 	$habitants = obtenir_habitants($connexio);
       
    22 	$num_habitants = count($habitants);
       
    23 	$altres = obtenir_altres($connexio);
       
    24 	$gent = obtenir_gent($connexio);
       
    25 
       
    26 	// Iniciem els deutes de cadascun
       
    27 	foreach($gent as $id => $persona)
       
    28 	{
       
    29 		$deutes[$id]["pagat"] = 0;
       
    30 		$deutes[$id]["toca_pagar"] = 0;
       
    31 		$deutes[$id]["pagaments"] = 0;
       
    32 	}
       
    33 	$total_a_pagar = 0;
       
    34 
       
    35 	// Obtenim totes les compres i pagaments
       
    36 	$compres = obtenir_compres($connexio);
       
    37 	$pagaments = obtenir_pagaments($connexio);
       
    38 	// Per cada compra...
       
    39 	foreach($compres as $data => $compra)
       
    40 	{
       
    41 		$compradors = obtenir_compradors($data, $connexio);
       
    42 
       
    43 		// Calcul dels compradors globals
       
    44 		foreach($compradors as $persona => $dades)
       
    45 		{
       
    46 			$deutes[$persona]["pagat"] += $dades["pagat"];
       
    47 			$deutes[$persona]["toca_pagar"] += $dades["toca_pagar"];
       
    48 			$total_a_pagar += $dades["toca_pagar"];
       
    49 		}
       
    50 
       
    51 		$excepcions = obtenir_excepcions($data, $connexio);
       
    52 
       
    53 		$max_compradors_ex = 0;
       
    54 		if ($excepcions != 0)
       
    55 			foreach($excepcions as $key => $value)
       
    56 			{
       
    57 				$compradors_excepcions[$key] = obtenir_compradors_excepcions($key, $connexio);
       
    58 				foreach($compradors_excepcions[$key] as $persona => $dades)
       
    59 				{
       
    60 					$deutes[$persona]["toca_pagar"] += $dades["toca_pagar"];
       
    61 					$total_a_pagar += $dades["toca_pagar"];
       
    62 				}
       
    63 			}
       
    64 	}
       
    65 	if ($pagaments != 0)
       
    66 		foreach($pagaments as $data => $pagament)
       
    67 		{
       
    68 			$pagadors = obtenir_pagadors($data,$connexio);
       
    69 			// Els cobraments seran 'pagaments' negatius.
       
    70 			foreach($pagadors as $persona => $dades)
       
    71 				$deutes[$persona]["pagaments"] += $dades["pagat"] - $dades["cobrat"];
       
    72 		}
       
    73 ?>
       
    74 
       
    75 <H2>Deutes finals</H2>
       
    76 
       
    77 <!-- Taula de compradors globals -->
       
    78 <TABLE BORDER=1>
       
    79 <CAPTION>Deutes finals</CAPTION>
       
    80 <TR>
       
    81 	<TH>Persona
       
    82 	<TH>Pagat
       
    83 	<TH>Toca pagar
       
    84 	<TH>Percentatge a pagar
       
    85 	<TH>Balanç
       
    86 	<TH>Pagaments
       
    87 	<TH>Balanç amb pagaments
       
    88 <?php
       
    89 	$suma_pagat = 0;
       
    90 	$suma_toca_pagar = 0;
       
    91 	$suma_percentatge = 0;
       
    92 	$suma_balans = 0;
       
    93 	$suma_pagaments = 0;
       
    94 	$suma_balans_pagaments = 0;
       
    95 	foreach($gent as $key => $value)
       
    96 	{
       
    97 		if ($deutes[$key]["pagat"] != 0 || $deutes[$key]["toca_pagar"] != 0 ||
       
    98 			$deutes[$key]["pagaments"] != 0)
       
    99 		{
       
   100 			// Serveix per calcular el preu que toca pagar a cada un realment
       
   101 			echo "<TR>\n\t<TD>";
       
   102 			echo "<A HREF=\"list-persona.php?user_id=$key\">";
       
   103 			echo strtohtml($gent[$key]["nom"]) . "</A>\n";
       
   104 
       
   105 			printf("\t<TD align=right>%s\n", pricetohtml($deutes[$key]["pagat"]));
       
   106 			printf("\t<TD align=right>%s\n", pricetohtml($deutes[$key]["toca_pagar"]));
       
   107 			printf("\t<TD align=right>%s\n", pricetohtml($deutes[$key]["toca_pagar"]
       
   108 				/ $total_a_pagar * 100));
       
   109 			printf("\t<TD align=right>%s\n", pricetohtml($deutes[$key]["pagat"]
       
   110 				- $deutes[$key]["toca_pagar"]));
       
   111 			printf("\t<TD align=right>%s\n", pricetohtml($deutes[$key]["pagaments"]));
       
   112 			printf("\t<TD align=right>%s\n", pricetohtml($deutes[$key]["pagat"]
       
   113 				- $deutes[$key]["toca_pagar"] + $deutes[$key]["pagaments"]));
       
   114 
       
   115 			//echo "\t<TD>" . $deutes[$key]["pagat"] . "\n";
       
   116 			//echo "\t<TD>" . $deutes[$key]["toca_pagar"] . "\n";
       
   117 			//echo "\t<TD>" . ($deutes[$key]["toca_pagar"] / $total_a_pagar * 100) . "\n";
       
   118 
       
   119 			//echo "\t<TD>" . ($deutes[$key]["pagat"] - $deutes[$key]["toca_pagar"]) . "\n";
       
   120 			//echo "\t<TD>" . $deutes[$key]["pagaments"] . "\n";
       
   121 			//echo "\t<TD>" . ($deutes[$key]["pagat"] - $deutes[$key]["toca_pagar"] + $deutes[$key]["pagaments"]) . "\n";
       
   122 
       
   123 			$suma_pagat += $deutes[$key]["pagat"];
       
   124 			$suma_toca_pagar += $deutes[$key]["toca_pagar"];
       
   125 			$suma_percentatge += ($deutes[$key]["toca_pagar"] / $total_a_pagar * 100);
       
   126 			$suma_balans += $deutes[$key]["pagat"] - $deutes[$key]["toca_pagar"];
       
   127 			$suma_pagaments += $deutes[$key]["pagaments"];
       
   128 			$suma_balans_pagaments += $deutes[$key]["pagat"] - $deutes[$key]["toca_pagar"] + $deutes[$key]["pagaments"];
       
   129 		}
       
   130 	}
       
   131 
       
   132 	printf("<TR>\n\t<TH>Total\n");
       
   133 	printf("\t<TD align=right>%s\n", pricetohtml($suma_pagat));
       
   134 		// La suma ha de ser lo mateix que total_a_pagar
       
   135 	printf("\t<TD align=right>%s\n", pricetohtml($suma_toca_pagar));
       
   136 	printf("\t<TD align=right>%s\n", pricetohtml($suma_percentatge));
       
   137 	printf("\t<TD align=right>%s\n", pricetohtml($suma_balans));
       
   138 	printf("\t<TD align=right>%s\n", pricetohtml($suma_pagaments));
       
   139 	printf("\t<TD align=right>%s\n", pricetohtml($suma_balans_pagaments));
       
   140 	/*
       
   141 	echo "<TR>\n\t<TH>Total\n" .
       
   142 		"\t<TD>" . $suma_pagat . "\n" .
       
   143 		// La suma ha de ser lo mateix que total_a_pagar
       
   144 		"\t<TD>" . $suma_toca_pagar ."\n" .
       
   145 		"\t<TD>" . $suma_percentatge . "\n" .
       
   146 		"\t<TD>" . $suma_balans . "\n" .
       
   147 		"\t<TD>" . $suma_pagaments . "\n" .
       
   148 		"\t<TD>" . $suma_balans_pagaments . "\n";
       
   149 	*/
       
   150 ?>
       
   151 </TABLE>
       
   152 
       
   153 <HR WIDTH="70%">
       
   154 
       
   155 <H2>Llegenda</H2>
       
   156 
       
   157 <ul>
       
   158 <li>El percentatge es calcula segons el que <em>toca pagar</em> respecte al
       
   159 	<em>total a pagar</em>.
       
   160 <li>Els pagaments negatius són cobraments del grup. Els positius són pagaments
       
   161 	al grup.
       
   162 <li>La suma del <em>percentatge</em> ha de ser <strong>100</strong>.
       
   163 <li>El <em>total pagat</em> ha de ser igual al <em>total a pagar</em>.
       
   164 <li>La suma dels pagaments ha de ser <strong>0</strong>
       
   165 	(pagaments = cobraments).
       
   166 <li>El <em>balanç positiu</em> indica diners que s'han de cobrar en un futur,
       
   167 	i el <em>negatiu</em> diners que s'han de pagar.
       
   168 <LI>És important <strong>no confondre</strong> el que s'ha <em>pagat</em> (que
       
   169 	fa referència a les <em>compres</em>), i els <em>pagaments</em>, que fan
       
   170 	referència als préstecs o saldades de deutes.
       
   171 </ul>
       
   172 
       
   173 <HR WIDTH="70%">
       
   174 <BR>
       
   175 <A HREF="index">Tornar al menú d'inici</A>
       
   176 
       
   177 </body>
       
   178 </html>