mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-01-18 06:17:55 -05:00
Finished task 1. User can add stock location in config page. Adding format is StockA,StockB,StockC for example 2. Item page, there is no more quantity column show in cert table. The quantity tracking is integrated in inventory detail 3. Receiving page, There is a stock location for user to select before receiving or returning stuff 4. Sale page, There is a stock location which is for user to select a stock location they sell from Remain task 1. Requisition work flow 2. Language editing 3. Remove unuse code PS
66 lines
3.0 KiB
PHP
66 lines
3.0 KiB
PHP
<?php
|
|
require_once("report.php");
|
|
class Specific_customer extends Report
|
|
{
|
|
function __construct()
|
|
{
|
|
parent::__construct();
|
|
}
|
|
|
|
public function getDataColumns()
|
|
{
|
|
return array('summary' => array($this->lang->line('reports_sale_id'), $this->lang->line('reports_date'), $this->lang->line('reports_items_purchased'), $this->lang->line('reports_sold_by'), $this->lang->line('reports_subtotal'), $this->lang->line('reports_total'), $this->lang->line('reports_tax'), $this->lang->line('reports_profit'), $this->lang->line('reports_payment_type'), $this->lang->line('reports_comments')),
|
|
'details' => array($this->lang->line('reports_name'), $this->lang->line('reports_category'),$this->lang->line('reports_serial_number'), $this->lang->line('reports_description'), $this->lang->line('reports_quantity_purchased'), $this->lang->line('reports_subtotal'), $this->lang->line('reports_total'), $this->lang->line('reports_tax'), $this->lang->line('reports_profit'),$this->lang->line('reports_discount'))
|
|
);
|
|
}
|
|
|
|
public function getData(array $inputs)
|
|
{
|
|
$this->db->select('sale_id, sale_date, sum(quantity_purchased) as items_purchased, CONCAT(first_name," ",last_name) as employee_name, sum(subtotal) as subtotal, sum(total) as total, sum(tax) as tax, sum(profit) as profit, payment_type, comment', false);
|
|
$this->db->from('sales_items_temp');
|
|
$this->db->join('people', 'sales_items_temp.employee_id = people.person_id');
|
|
$this->db->where('sale_date BETWEEN "'. $inputs['start_date']. '" and "'. $inputs['end_date'].'" and customer_id='.$inputs['customer_id']);
|
|
if ($inputs['sale_type'] == 'sales')
|
|
{
|
|
$this->db->where('quantity_purchased > 0');
|
|
}
|
|
elseif ($inputs['sale_type'] == 'returns')
|
|
{
|
|
$this->db->where('quantity_purchased < 0');
|
|
}
|
|
$this->db->group_by('sale_id');
|
|
$this->db->order_by('sale_date');
|
|
|
|
$data = array();
|
|
$data['summary'] = $this->db->get()->result_array();
|
|
$data['details'] = array();
|
|
|
|
foreach($data['summary'] as $key=>$value)
|
|
{
|
|
$this->db->select('name, category, serialnumber, sales_items_temp.description, quantity_purchased, subtotal,total, tax, profit, discount_percent');
|
|
$this->db->from('sales_items_temp');
|
|
$this->db->join('items', 'sales_items_temp.item_id = items.item_id');
|
|
$this->db->where('sale_id = '.$value['sale_id']);
|
|
$data['details'][$key] = $this->db->get()->result_array();
|
|
}
|
|
|
|
return $data;
|
|
}
|
|
|
|
public function getSummaryData(array $inputs)
|
|
{
|
|
$this->db->select('sum(subtotal) as subtotal, sum(total) as total, sum(tax) as tax, sum(profit) as profit');
|
|
$this->db->from('sales_items_temp');
|
|
$this->db->where('sale_date BETWEEN "'. $inputs['start_date']. '" and "'. $inputs['end_date'].'" and customer_id='.$inputs['customer_id']);
|
|
if ($inputs['sale_type'] == 'sales')
|
|
{
|
|
$this->db->where('quantity_purchased > 0');
|
|
}
|
|
elseif ($inputs['sale_type'] == 'returns')
|
|
{
|
|
$this->db->where('quantity_purchased < 0');
|
|
}
|
|
return $this->db->get()->row_array();
|
|
}
|
|
}
|
|
?>
|