Added missing no_*_list fields in initial sql files
[fa-stable.git] / reporting / includes / form_types.inc
1 <?php
2
3 $form_types = array (
4                                 
5                                 10=>  array('code' => 'si', 'name' => _("Sales Invoice")),
6                                 11=>  array('code' => 'si', 'name' => _("Sales Credit Note")),
7                                 30=>  array('code' => 'so', 'name' => _("Sales Order")),
8                                 
9                                 18=>  array('code' => 'po', 'name' => _("Purchase Order")),
10                                 
11                                 26=>  array('code' => 'wo', 'name' => _("Work Order")),
12                                 28=>  array('code' => 'wo', 'name' => _("Work Order Issue")),
13                                 29=>  array('code' => 'wo', 'name' => _("Work Order Production")),
14                                 
15                                 40=>  array('code' => 'qw', 'name' => _("Cheque Withdrawal")),
16                                 41=>  array('code' => 'qd', 'name' => _("Cheque Deposit")),
17                                 
18                                 50=>  array('code' => 'cw', 'name' => _("Cash Withdrawal")),
19                                 51=>  array('code' => 'cd', 'name' => _("Cash Deposit")),
20                                 
21                                 60=>  array('code' => 'ir', 'name' => _("Inventory Release")),
22                                 61=>  array('code' => 'ia', 'name' => _("Inventory Add")),
23                                 62=>  array('code' => 'it', 'name' => _("Inventory Return"))                                                            
24                                         );
25                                         
26 function getFormTypeName($type)
27 {
28         global $form_types;
29         return $form_types[$type]['name'];
30 }
31
32 function add_forms_for_sys_type($trans_type, $trans_id, $ParamFrom=null, $ParamTo=null)
33 {
34         switch ($trans_type) {
35         case 1 : // bank payment
36                 case 22 : // payment to supplier 
37                         add_form_entry(50, $trans_type, $trans_id, $ParamFrom, $ParamTo); 
38                         break;
39                 
40                 case 12: // payment from customer                       
41         case 2 : // bank deposit
42                         add_form_entry(51, $trans_type, $trans_id, $ParamFrom, $ParamTo);
43                         break;
44         
45         case 4 : // bank transfer - withdraw and deposit
46                         add_form_entry(50, $trans_type, $trans_id, $ParamFrom, $ParamTo);
47                         add_form_entry(51, $trans_type, $trans_id, $ParamTo, $ParamFrom);
48                         break;          
49                 
50                 case 10 : // sales invoice - inventory release and invoice forms
51                         add_form_entry(60, $trans_type, $trans_id, $ParamFrom); 
52                         add_form_entry(10, $trans_type, $trans_id);
53                         break;
54                 
55                 case 11 : // sales credit - inventory return and credit note forms
56                         add_form_entry(62, $trans_type, $trans_id, $ParamFrom); 
57                         add_form_entry(11, $trans_type, $trans_id);
58                         break;
59                 
60                 case 16 : // location transfer
61                         add_form_entry(60, $trans_type, $trans_id, $ParamFrom);
62                         add_form_entry(61, $trans_type, $trans_id, $ParamTo);
63                         break;
64                 
65                 case systypes::inventory_adjustment() : // inventory adjustment
66
67                         // $ParamFrom : if 1 inventory add, 0 inventory release
68                         if ($ParamFrom)
69                                 add_form_entry(61, $trans_type, $trans_id, $ParamTo);
70                         else
71                                 add_form_entry(60, $trans_type, $trans_id, $ParamTo);
72                         break;  
73                         
74                 case systypes::po() : // purchase order
75                         add_form_entry(18, $trans_type, $trans_id);
76                         break; 
77                         
78                 case 25 : // purchase order delivery
79                         add_form_entry(61, $trans_type, $trans_id, $ParamFrom);
80                         break;  
81
82                 case systypes::work_order() : // work order
83                         add_form_entry(26, $trans_type, $trans_id);
84                         break;  
85                         
86                 case 28 : // work order issue
87                         // $ParamFrom : if 1 inventory add, 0 inventory release
88                         if ($ParamFrom)
89                                 add_form_entry(61, $trans_type, $trans_id, $ParamTo);
90                         else
91                                 add_form_entry(60, $trans_type, $trans_id, $ParamTo);
92                         break;  
93                         
94                 case 29 : // work order production
95                         // $ParamFrom is the quantity - if +ve inventory add, -ve inventory release
96                         if ($ParamFrom >= 0)
97                                 add_form_entry(61, $trans_type, $trans_id, $ParamTo);
98                         else
99                                 add_form_entry(60, $trans_type, $trans_id, $ParamTo);
100                         break;                                                  
101                 
102                 case 30 : // sales order - sales order form
103                         add_form_entry(30, $trans_type, $trans_id);
104                         break;
105         }
106 }       
107
108 function add_form_entry($form_type, $trans_type, $trans_id, $param1=null, $param2=null) 
109 {
110         $sql = "SELECT max(form_id) FROM ".TB_PREF."form_items WHERE form_type=$form_type";
111         $result = db_query($sql, "could not get next form_id");
112         $row = db_fetch_row($result);
113         $form_id = $row[0] + 1;
114         
115         $sql = "INSERT INTO ".TB_PREF."form_items (form_id, form_type, trans_type, trans_id, param1, param2)
116                 VALUES ($form_id, $form_type, $trans_type, $trans_id, '$param1', '$param2')";
117         $result = db_query($sql, "could not add form entry for $trans_type, $trans_id");
118 }                       
119
120 function delete_forms_for_systype($trans_type, $trans_id)
121 {
122         $sql = "DELETE FROM ".TB_PREF."form_items WHERE trans_type=$trans_type AND trans_id=$trans_id";
123         $result = db_query($sql, "could not delete form entry for $trans_type, $trans_id");
124 }
125
126 function get_form_entries($trans_type, $trans_id)
127 {
128         $sql = "SELECT * FROM ".TB_PREF."form_items WHERE trans_type=$trans_type AND trans_id=$trans_id";
129         $result = db_query($sql, "could not query form entry for $trans_type, $trans_id");
130         
131         return $result;
132 }
133
134 ?>