Added optional excluding items from sales.
[fa-stable.git] / inventory / includes / db / items_db.inc
1 <?php
2 /**********************************************************************
3     Copyright (C) FrontAccounting, LLC.
4         Released under the terms of the GNU General Public License, GPL, 
5         as published by the Free Software Foundation, either version 3 
6         of the License, or (at your option) any later version.
7     This program is distributed in the hope that it will be useful,
8     but WITHOUT ANY WARRANTY; without even the implied warranty of
9     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
10     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
12 function update_item($stock_id, $description, $long_description, $category_id, 
13         $tax_type_id, $units='', $mb_flag='', $sales_account, $inventory_account, 
14         $cogs_account,  $adjustment_account, $assembly_account, $dimension_id, 
15         $dimension2_id, $no_sale)
16 {
17         $sql = "UPDATE ".TB_PREF."stock_master SET long_description=".db_escape($long_description).",
18                 description=".db_escape($description).",
19                 category_id='$category_id',
20                 sales_account='$sales_account',
21                 inventory_account='$inventory_account',
22                 cogs_account='$cogs_account',
23                 adjustment_account='$adjustment_account',
24                 assembly_account='$assembly_account',
25                 dimension_id=$dimension_id,
26                 dimension2_id=$dimension2_id,
27                 tax_type_id=$tax_type_id,
28                 no_sale='$no_sale'";
29
30         if ($units != '')
31                 $sql .= ", units='$units'";
32
33         if ($mb_flag != '')
34                 $sql .= ", mb_flag='$mb_flag'";
35
36         $sql .= " WHERE stock_id='$stock_id'";
37
38         db_query($sql, "The item could not be updated");
39
40         update_item_code(-1, $stock_id, $stock_id, $description, $category_id, 1, 0);
41 }
42
43 function add_item($stock_id, $description, $long_description, $category_id, 
44         $tax_type_id, $units, $mb_flag, $sales_account, $inventory_account, 
45         $cogs_account, $adjustment_account,     $assembly_account, $dimension_id, 
46         $dimension2_id, $no_sale)
47 {
48         $sql = "INSERT INTO ".TB_PREF."stock_master (stock_id, description, long_description, category_id,
49                 tax_type_id, units, mb_flag, sales_account, inventory_account, cogs_account,
50                 adjustment_account, assembly_account, dimension_id, dimension2_id, no_sale)
51                 VALUES (".db_escape($stock_id).", ".db_escape($description).", ".db_escape($long_description).",
52                 '$category_id', $tax_type_id, '$units', '$mb_flag',
53                 '$sales_account', '$inventory_account', '$cogs_account',
54                 '$adjustment_account', '$assembly_account', $dimension_id, $dimension2_id,
55                 '$no_sale')";
56
57         db_query($sql, "The item could not be added");
58
59         $sql = "INSERT INTO ".TB_PREF."loc_stock (loc_code, stock_id)
60                 SELECT ".TB_PREF."locations.loc_code, '$stock_id' FROM ".TB_PREF."locations";
61
62         db_query($sql, "The item locstock could not be added");
63
64         add_item_code($stock_id, $stock_id, $description, $category_id, 1, 0);
65 }
66
67 function delete_item($stock_id)
68 {
69         $sql="DELETE FROM ".TB_PREF."stock_master WHERE stock_id='$stock_id'";
70         db_query($sql, "could not delete stock item");
71
72         /*and cascade deletes in loc_stock */
73         $sql ="DELETE FROM ".TB_PREF."loc_stock WHERE stock_id='$stock_id'";
74         db_query($sql, "could not delete stock item loc stock");
75
76         /*and cascade deletes in purch_data */
77         $sql ="DELETE FROM ".TB_PREF."purch_data WHERE stock_id='$stock_id'";
78         db_query($sql, "could not delete stock item purch data");
79
80         /*and cascade deletes in prices */
81         $sql ="DELETE FROM ".TB_PREF."prices WHERE stock_id='$stock_id'";
82         db_query($sql, "could not delete stock item prices");
83
84         /*and cascade delete the bill of material if any */
85         $sql = "DELETE FROM ".TB_PREF."bom WHERE parent='$stock_id'";
86         db_query($sql, "could not delete stock item bom");
87
88         delete_item_kit($stock_id);
89 }
90
91 function get_item($stock_id)
92 {
93         $sql = "SELECT ".TB_PREF."stock_master.*,".TB_PREF."item_tax_types.name AS tax_type_name
94                 FROM ".TB_PREF."stock_master,".TB_PREF."item_tax_types
95                 WHERE ".TB_PREF."item_tax_types.id=".TB_PREF."stock_master.tax_type_id
96                 AND stock_id='$stock_id'";
97         $result = db_query($sql,"an item could not be retreived");
98
99         return db_fetch($result);
100 }
101
102 function get_items()
103 {
104         $sql = "SELECT * FROM ".TB_PREF."stock_master";
105         return db_query($sql,"items could not be retreived");
106 }
107
108 ?>