phpcompta-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpcompta-dev] r4597 - phpcompta/trunk/include


From: phpcompta-dev
Subject: [Phpcompta-dev] r4597 - phpcompta/trunk/include
Date: Sun, 11 Dec 2011 17:23:39 +0100 (CET)

Author: danydb
Date: 2011-12-11 17:23:38 +0100 (Sun, 11 Dec 2011)
New Revision: 4597

Modified:
   phpcompta/trunk/include/class_lettering.php
Log:
automatic lettering

Modified: phpcompta/trunk/include/class_lettering.php
===================================================================
--- phpcompta/trunk/include/class_lettering.php 2011-12-09 22:56:32 UTC (rev 
4596)
+++ phpcompta/trunk/include/class_lettering.php 2011-12-11 16:23:38 UTC (rev 
4597)
@@ -98,16 +98,55 @@
                        left outer join letter_cred using (jl_id)
                        where
                        letter_deb.j_id = $1 or letter_cred.j_id=$1";
-
+               $let1=0;$let2=0;
                $already=$this->db->get_array($sql_already,array($j_id1));
-               if ( count ($already ) > 0) return;
+               if ( count ($already ) > 0) {
+                       if ( count($already)==1) {
+                               // retrieve the letter
+                               $let1=$this->db->get_value("select 
distinct(jl_id)
+                                                                               
from jnt_letter
+                                                                               
left outer join letter_deb using (jl_id)
+                                                                               
left outer join letter_cred using (jl_id)
+                                                                               
where
+                                                                               
letter_deb.j_id = $1 or letter_cred.j_id=$1",array($j_id1));
+                       }else
+                       {
+                               return;
+                       }
+               }
 
                $already=$this->db->get_array($sql_already,array($j_id2));
-               if ( count ($already ) > 0) return;
+               if ( count ($already ) > 0) {
+                       if ( count($already)==1) {
+                               // retrieve the letter
+                               $let2=$this->db->get_value("select 
distinct(jl_id)
+                                                                               
from jnt_letter
+                                                                               
left outer join letter_deb using (jl_id)
+                                                                               
left outer join letter_cred using (jl_id)
+                                                                               
where
+                                                                               
letter_deb.j_id = $1 or letter_cred.j_id=$1",array($j_id2));
+                       }else  {
+                               return;
+                       }
+               }
+               $jl_id=0;
+               // already linked together
+               if ( $let1 != 0 && $let1 == $let2 )return;
 
-               $jl_id=$this->db->get_next_seq("jnt_letter_jl_id_seq");
-        $this->db->exec_sql('insert into jnt_letter(jl_id) values($1)',
-                            array($jl_id));
+               // already linked
+               if ( $let1 != 0 && $let2!=0 && $let1 != $let2 )return;
+
+               // none is linked
+               if ( $let1 == 0 && $let2==0)
+               {
+                       $jl_id=$this->db->get_next_seq("jnt_letter_jl_id_seq");
+                       $this->db->exec_sql('insert into jnt_letter(jl_id) 
values($1)',
+                                                               array($jl_id));
+               }
+               // one is linked but not the other
+               if ( $let1 == 0 && $let2 != 0 ) $jl_id=$let2;
+               if ( $let1 != 0 && $let2 == 0 ) $jl_id=$let1;
+
                /* insert */
         if ( $first == 't')
         {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]