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 ***********************************************************************/
13 // ----------------------------------------------------------------
17 // Title: price Listing
18 // ----------------------------------------------------------------
21 include_once($path_to_root . "/includes/session.inc");
22 include_once($path_to_root . "/includes/date_functions.inc");
23 include_once($path_to_root . "/includes/ui/ui_input.inc");
24 include_once($path_to_root . "/includes/data_checks.inc");
25 include_once($path_to_root . "/gl/includes/gl_db.inc");
26 include_once($path_to_root . "/sales/includes/db/sales_types_db.inc");
27 include_once($path_to_root . "/inventory/includes/db/items_category_db.inc");
29 //----------------------------------------------------------------------------------------------------
31 // trial_inquiry_controls();
32 print_price_listing();
34 function fetch_items($category=0)
36 $sql = "SELECT ".TB_PREF."stock_master.stock_id, ".TB_PREF."stock_master.description AS name,
37 ".TB_PREF."stock_master.material_cost+".TB_PREF."stock_master.labour_cost+".TB_PREF."stock_master.overhead_cost AS Standardcost,
38 ".TB_PREF."stock_master.category_id,
39 ".TB_PREF."stock_category.description
40 FROM ".TB_PREF."stock_master,
41 ".TB_PREF."stock_category
42 WHERE ".TB_PREF."stock_master.category_id=".TB_PREF."stock_category.category_id";
44 $sql .= " AND ".TB_PREF."stock_category.category_id = '$category'";
45 $sql .= " ORDER BY ".TB_PREF."stock_master.category_id,
46 ".TB_PREF."stock_master.stock_id";
48 return db_query($sql,"No transactions were returned");
51 function get_kits($category=0)
53 $sql = "SELECT i.item_code AS kit_code, i.description AS kit_name, c.category_id AS cat_id, c.description AS cat_name, count(*)>1 AS kit
55 ".TB_PREF."item_codes i
57 ".TB_PREF."stock_category c
58 ON i.category_id=c.category_id";
59 $sql .= " WHERE !i.is_foreign AND i.item_code!=i.stock_id";
61 $sql .= " AND c.category_id = '$category'";
62 $sql .= " GROUP BY i.item_code";
63 return db_query($sql,"No kits were returned");
66 //----------------------------------------------------------------------------------------------------
68 function print_price_listing()
70 global $comp_path, $path_to_root, $pic_height, $pic_width;
72 $currency = $_POST['PARAM_0'];
73 $category = $_POST['PARAM_1'];
74 $salestype = $_POST['PARAM_2'];
75 $pictures = $_POST['PARAM_3'];
76 $showGP = $_POST['PARAM_4'];
77 $comments = $_POST['PARAM_5'];
78 $destination = $_POST['PARAM_6'];
81 include_once($path_to_root . "/reporting/includes/excel_report.inc");
82 $filename = "PriceListing.xml";
86 include_once($path_to_root . "/reporting/includes/pdf_report.inc");
87 $filename = "PriceListing.pdf";
90 $dec = user_price_dec();
92 $home_curr = get_company_pref('curr_default');
93 if ($currency == reserved_words::get_all())
94 $currency = $home_curr;
95 $curr = get_currency($currency);
96 $curr_sel = $currency . " - " . $curr['currency'];
97 if ($category == reserved_words::get_all_numeric())
99 if ($salestype == reserved_words::get_all_numeric())
104 $cat = get_category_name($category);
108 $stype = get_sales_type_name($salestype);
114 $cols = array(0, 100, 385, 450, 515);
116 $headers = array(_('Category/Items'), _('Description'), _('Price'), _('GP %'));
118 $aligns = array('left', 'left', 'right', 'right');
120 $params = array( 0 => $comments,
121 1 => array('text' => _('Currency'), 'from' => $curr_sel, 'to' => ''),
122 2 => array('text' => _('Category'), 'from' => $cat, 'to' => ''),
123 3 => array('text' => _('Sales Type'), 'from' => $stype, 'to' => ''),
124 4 => array( 'text' => _('Show GP %'),'from' => $GP,'to' => ''));
127 $user_comp = user_company();
131 $rep = new FrontReport(_('Price Listing'), "PriceListing.pdf", user_pagesize());
134 $rep->Info($params, $cols, $headers, $aligns);
137 $result = fetch_items($category);
140 $_POST['sales_type_id'] = $salestype;
141 while ($myrow=db_fetch($result))
143 if ($catgor != $myrow['description'])
145 $rep->Line($rep->row - $rep->lineHeight);
148 $rep->TextCol(0, 3, $myrow['category_id'] . " - " . $myrow['description']);
149 $catgor = $myrow['description'];
154 $rep->TextCol(0, 1, $myrow['stock_id']);
155 $rep->TextCol(1, 2, $myrow['name']);
156 $price = get_price($myrow['stock_id'], $currency, $salestype);
157 $rep->AmountCol(2, 3, $price, $dec);
160 $price2 = get_price($myrow['stock_id'], $home_curr, $salestype);
162 $disp = ($price2 - $myrow['Standardcost']) * 100 / $price2;
165 $rep->TextCol(3, 4, number_format2($disp, user_percent_dec()) . " %");
169 $image = $comp_path . '/'. $user_comp . "/images/" . $myrow['stock_id'] . ".jpg";
170 if (file_exists($image))
173 if ($rep->row - $pic_height < $rep->bottomMargin)
175 $rep->AddImage($image, $rep->cols[1], $rep->row - $pic_height, $pic_width, $pic_height);
176 $rep->row -= $pic_height;
183 $rep->Line($rep->row - 4);
185 $result = get_kits($category);
188 while ($myrow=db_fetch($result))
190 if ($catgor != $myrow['cat_name'])
196 $rep->TextCol(0, 3, _("Sales Kits"));
199 $rep->Line($rep->row - $rep->lineHeight);
202 $rep->TextCol(0, 3, $myrow['cat_id'] . " - " . $myrow['cat_name']);
203 $catgor = $myrow['cat_name'];
208 $rep->TextCol(0, 1, $myrow['kit_code']);
209 $rep->TextCol(1, 2, $myrow['kit_name']);
210 $price = get_kit_price($myrow['kit_code'], $currency, $salestype);
211 $rep->AmountCol(2, 3, $price, $dec);
214 $rep->Line($rep->row - 4);