Rewritten sales shipping cost taxation, improved shipping cost handling in sales...
[fa-stable.git] / inventory / includes / db / items_db.inc
index df28cfee92a85c87285bd95a29c8ddfd2963ab3f..57ddf3162d33b562d558318e12e023fb79bd9a4b 100644 (file)
@@ -14,7 +14,7 @@ function update_item($stock_id, $description, $long_description, $category_id,
        $cogs_account,  $adjustment_account, $wip_account, $dimension_id, 
        $dimension2_id, $no_sale, $editable, $no_purchase,
        $depreciation_method = 'D', $depreciation_rate=100, $depreciation_factor=1,
-       $depreciation_start=null, $fa_class_id=null)
+       $depreciation_start=null, $fa_class_id=null, $vat_category='', $shipper_id=0)
 {
        $sql = "UPDATE ".TB_PREF."stock_master SET long_description=".db_escape($long_description).",
                description=".db_escape($description).",
@@ -33,7 +33,8 @@ function update_item($stock_id, $description, $long_description, $category_id,
                depreciation_method=".db_escape($depreciation_method).",
                depreciation_rate=".db_escape($depreciation_rate).",
                depreciation_factor=".db_escape($depreciation_factor).",
-               fa_class_id=".db_escape($fa_class_id);
+               fa_class_id=".db_escape($fa_class_id).",
+               shipper_id=".db_escape($shipper_id);
 
        if ($units != '')
                $sql .= ", units=".db_escape($units);
@@ -41,7 +42,10 @@ function update_item($stock_id, $description, $long_description, $category_id,
        if ($mb_flag != '')
                $sql .= ", mb_flag=".db_escape($mb_flag);
 
-       if ($depreciation_start != '') {
+       if ($vat_category != '')
+               $sql .= ", vat_category=".db_escape($vat_category);
+
+       if (isset($depreciation_start)) {
                $sql .= ", depreciation_start='".date2sql($depreciation_start)."'"
                        .", depreciation_date='".date2sql($depreciation_start)."'";
        }
@@ -58,13 +62,14 @@ function add_item($stock_id, $description, $long_description, $category_id,
        $cogs_account, $adjustment_account,     $wip_account, $dimension_id, 
        $dimension2_id, $no_sale, $editable, $no_purchase,
        $depreciation_method='D', $depreciation_rate=100,  $depreciation_factor=1, $depreciation_start=null,
-       $fa_class_id=null)
+       $fa_class_id=null, $vat_category=0, $shipper_id=0)
 {
        $sql = "INSERT INTO ".TB_PREF."stock_master (stock_id, description, long_description, category_id,
                tax_type_id, units, mb_flag, sales_account, inventory_account, cogs_account,
-               adjustment_account, wip_account, dimension_id, dimension2_id, no_sale, no_purchase, editable,
-               depreciation_method, depreciation_rate, depreciation_factor, depreciation_start, depreciation_date, fa_class_id)
-               VALUES (".db_escape($stock_id).", ".db_escape($description).", ".db_escape($long_description).",
+               adjustment_account, wip_account, dimension_id, dimension2_id, no_sale, no_purchase, editable, vat_category,
+               depreciation_method, depreciation_rate, depreciation_factor"
+               .(isset($depreciation_start) ? ", depreciation_start, depreciation_date, fa_class_id" : "")
+               .",shipper_id) VALUES (".db_escape($stock_id).", ".db_escape($description).", ".db_escape($long_description).",
                ".db_escape($category_id).", ".db_escape($tax_type_id).", "
                .db_escape($units).", ".db_escape($mb_flag).",
                ".db_escape($sales_account).", ".db_escape($inventory_account)
@@ -73,10 +78,10 @@ function add_item($stock_id, $description, $long_description, $category_id,
                .db_escape($dimension_id).", ".db_escape($dimension2_id).","
                .db_escape($no_sale).","
                .db_escape($no_purchase).","
-               .db_escape($editable).","
-               .db_escape($depreciation_method).",".db_escape($depreciation_rate).",".db_escape($depreciation_factor).",'"
-               .date2sql($depreciation_start)."','".date2sql($depreciation_start)."',"
-               .db_escape($fa_class_id).")";
+               .db_escape($editable).",".db_escape($vat_category).","
+               .db_escape($depreciation_method).",".db_escape($depreciation_rate).",".db_escape($depreciation_factor)
+               .(isset($depreciation_start) ? ",'".date2sql($depreciation_start)."','".date2sql($depreciation_start)."',".db_escape($fa_class_id) : "")
+               .",".db_escape($shipper_id).")";
 
        db_query($sql, "The item could not be added");
 
@@ -122,7 +127,7 @@ function get_item($stock_id)
                AND stock_id=".db_escape($stock_id);
        $result = db_query($sql,"an item could not be retreived");
 
-       return db_fetch($result);
+       return db_fetch_assoc($result);
 }
 
 function get_items($fixed_asset = 0)
@@ -142,10 +147,13 @@ function item_in_foreign_codes($stock_id)
         _('Cannot delete this item record because there are bills of material that require this part as a component.'),
        "SELECT COUNT(*) FROM "
                .TB_PREF."sales_order_details WHERE stk_code=".db_escape($stock_id) =>
-        _('Cannot delete this item because there are existing purchase order items for it.'),
+        _('Cannot delete this item because there are existing sales order items for it.'),
        "SELECT COUNT(*) FROM "
                .TB_PREF."purch_order_details WHERE item_code=".db_escape($stock_id)=>
-        _('Cannot delete this item because there are existing purchase order items for it.')
+        _('Cannot delete this item because there are existing purchase order items for it.'),
+       "SELECT COUNT(*) FROM "
+               .TB_PREF."sales_orders WHERE ship_via=".db_escape($stock_id)=>
+        _('Cannot delete this item because there are existing sales transactions for it.'),
        );
 
        $msg = '';
@@ -226,4 +234,3 @@ function get_items_search($description, $type)
 
        return db_query($sql, "Failed in retreiving item list.");
 }
-