Huge sales module changes toward delivery and invoicing separation. Includes some...
[fa-stable.git] / sales / includes / db / cust_trans_details_db.inc
1 <?php
2
3 //----------------------------------------------------------------------------------------
4
5 function add_customer_trans_detail_item_base($debtor_trans_type, $debtor_trans_no, $stock_id, $description, $quantity,
6         $unit_price, $unit_tax, $discount_percent, $standard_cost)
7 {
8         $sql = "INSERT INTO ".TB_PREF."debtor_trans_details (debtor_trans_no, debtor_trans_type, stock_id, description, quantity, unit_price, unit_tax, discount_percent, standard_cost)
9                 VALUES ($debtor_trans_no, $debtor_trans_type, '$stock_id', '$description', $quantity, $unit_price, $unit_tax, $discount_percent, $standard_cost)";
10
11         db_query($sql, "The debtor transaction detail could not be added");
12 }
13
14 //----------------------------------------------------------------------------------------
15
16 function get_customer_trans_details($debtor_trans_type, $debtor_trans_no)
17 {
18         $sql = "SELECT ".TB_PREF."debtor_trans_details.*, ".TB_PREF."debtor_trans_details.unit_price+".TB_PREF."debtor_trans_details.unit_tax AS FullUnitPrice,
19                 ".TB_PREF."debtor_trans_details.description As StockDescription,
20                 ".TB_PREF."stock_master.units
21                 FROM ".TB_PREF."debtor_trans_details,".TB_PREF."stock_master
22                 WHERE debtor_trans_no=$debtor_trans_no
23                 AND debtor_trans_type=$debtor_trans_type 
24                 AND ".TB_PREF."stock_master.stock_id=".TB_PREF."debtor_trans_details.stock_id
25                 ORDER BY id";
26
27         return db_query($sql, "The debtor transaction detail could not be queried");
28 }
29
30 //----------------------------------------------------------------------------------------
31
32 function void_customer_trans_details($type, $type_no)
33 {
34         $sql = "UPDATE ".TB_PREF."debtor_trans_details SET quantity=0, unit_price=0,
35                 unit_tax=0, discount_percent=0, standard_cost=0
36                 WHERE debtor_trans_no=$type_no
37                 AND debtor_trans_type=$type";
38
39         db_query($sql, "The debtor transaction details could not be voided");
40
41         // clear the stock move items
42         void_stock_move($type, $type_no);
43 }
44
45 //----------------------------------------------------------------------------------------
46
47 function add_customer_trans_detail_item($debtor_trans_type, $debtor_trans_no, $stock_id, $description,
48         $Location, $date_, $quantity, $unit_price, $unit_tax, $discount_percent,
49         $reference, $std_cost)
50 {
51         add_customer_trans_detail_item_base($debtor_trans_type, $debtor_trans_no, $stock_id, $description,
52                 $quantity, $unit_price, $unit_tax, $discount_percent, $std_cost);
53
54     if($debtor_trans_type==13)
55         add_stock_move_customer($debtor_trans_type, $stock_id, $debtor_trans_no, $Location,
56                 $date_, $reference, $quantity, $std_cost, 1, $unit_price+$unit_tax, $discount_percent);
57
58         return $std_cost;
59 }
60
61 //----------------------------------------------------------------------------------------
62
63 function add_customer_trans_detail_item_writeoff($debtor_trans_type, $debtor_trans_no, $stock_id, $description,
64         $Location, $date_, $quantity, $unit_price, $unit_tax, $discount_percent,
65         $reference, $std_cost)
66 {
67         $retCost = add_customer_trans_detail_item($debtor_trans_type, $debtor_trans_no, $stock_id, $description,
68                 $Location, $date_, $quantity, $unit_price, $unit_tax, $discount_percent,
69                 $reference,     $std_cost);
70
71         $reference = _("Write off") . " " . $reference;
72
73         add_stock_move_customer($debtor_trans_type, $stock_id, $debtor_trans_no, $Location,
74                 $date_, $reference, -$quantity, $std_cost, 0, $unit_price+$unit_tax, $discount_percent);
75
76         return $retCost;
77 }
78
79 //----------------------------------------------------------------------------------------
80
81 function add_customer_trans_tax_detail_item($debtor_trans_type, $debtor_trans_no,
82         $tax_type_id, $rate, $included_in_price, $amount)
83 {
84         $sql = "INSERT INTO ".TB_PREF."debtor_trans_tax_details (debtor_trans_no, debtor_trans_type, tax_type_id, rate, included_in_price, amount)
85                 VALUES ($debtor_trans_no, $debtor_trans_type, $tax_type_id, $rate, $included_in_price, $amount)";
86
87         db_query($sql, "The debtor transaction tax detail could not be added");
88 }
89
90 //----------------------------------------------------------------------------------------
91
92 function get_customer_trans_tax_details($debtor_trans_type, $debtor_trans_no)
93 {
94         $sql = "SELECT ".TB_PREF."debtor_trans_tax_details.*, ".TB_PREF."tax_types.name AS tax_type_name
95                 FROM ".TB_PREF."debtor_trans_tax_details,".TB_PREF."tax_types
96                 WHERE debtor_trans_no=$debtor_trans_no
97                 AND debtor_trans_type=$debtor_trans_type
98                 AND ".TB_PREF."tax_types.id = ".TB_PREF."debtor_trans_tax_details.tax_type_id";
99
100         return db_query($sql, "The debtor transaction tax details could not be queried");
101 }
102
103 //----------------------------------------------------------------------------------------
104
105 function void_customer_trans_tax_details($type, $type_no)
106 {
107         $sql = "UPDATE ".TB_PREF."debtor_trans_tax_details SET amount=0
108                 WHERE debtor_trans_no=$type_no
109                 AND debtor_trans_type=$type";
110
111         db_query($sql, "The debtor transaction tax details could not be voided");
112 }
113
114 //----------------------------------------------------------------------------------------
115
116 ?>