Git Repository Public Repository

namibia

URLs

Copy to Clipboard
 
df0489e1eeeeab5a9bd44e1d84fce49924fe1bac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<?php
namespace Report\Report;



/**
 * Stock Control Report.
 * @author andre.fourie
 */
class NoMatch extends \Utility\Service\Report
{



	/**
	 * @var string
	 */
	protected $_title  = 'NoMatch Report';
	/**
	 * @var string
	 */
	protected $_subject = 'NoMatch';
	/**
	 * @var string
	 */
	protected $_description = 'Details of vehicles NOT found on Bid4Cars auction that was sold/invoiced through automate.';
	/**
	 * @var array
	 */
	protected $_notes = array(
			'Confidential information, generated using Bid 4 Cars, for more information visit bid4cars.co.za'
	);
	/**
	 * @var array
	 */
	protected $_headers = array(
			'Invoice Number',
			'Stock Number',
			'Make',
			'VIN',
			'Registration',
			'Engine',
			'Sale Date',
			'Standing Value',
			'Invoiced',
			'Sold To'
	);
	/**
	 * @var array
	 */
	protected $_fields = array(
			'invoicenumber',
			'stocknumber',
			'make',
			'vin',
			'registration',
			'engine',
			'saledate',
			'standingvalue',
			'invoiced',
			'soldto'
	);
	
	/**
	 * Build the dataset.
	 */
	public function build()
	{
		ini_set('memory_limit','512M');

		#-> Prepare parameters.
		$selection = array(
				'adherence', 'stock'
		);
		$join      = array();
		$leftJion  = array();
		$where     = array('stock.id is null');
		$params    = array();
		$query = 'SELECT [SELECTION] '
				. 'FROM \Adherence\Entity\Adherence adherence '
				. 'LEFT JOIN adherence.stock stock '
				. '[WHERE]  ';
				//. 'ORDER BY adherence.id ASC, auction.id ASC';
		
		#-> Construct details.
	$authData = \Utility\Registry::getAuthData();
		if (isset($this->_input['dateFrom']) && !empty($this->_input['dateFrom']))
		{
			$this->_queries['Date Range From'] = $this->_input['dateFrom'];
			$where[] = 'adherence.dateSold >= :dateFrom';
			$params['dateFrom'] = new \DateTime($this->_input['dateFrom']);
		}
		if (isset($this->_input['dateTo']) && !empty($this->_input['dateTo']))
		{
			$this->_queries['Date Range Until'] = $this->_input['dateTo'];
			$where[] = 'adherence.dateSold <= :dateTo';
			$params['dateTo'] = new \DateTime($this->_input['dateTo'] . ' 23:59:59');
		}
		
		#-> Finalize query.
		$query = str_replace(array(
				'[SELECTION]', '[WHERE]'
			), array(
				implode(', ', $selection) . ' ',
				!empty($where)
					? 'WHERE ' . implode(' AND ', $where) . ' '
					: ' '
			), $query);

		#-> Collect data.
		$query = $this->em->createQuery($query);
		!empty($params)
			&& $query->setParameters($params);
		$data = $query->getScalarResult();
		$this->em->clear();
		
		//\Utility\Debug::errorLog('data', $data);
		//var_dump($data);
		//exit();
		
		foreach ($data as $id => $row)
		{
			$this->_data[] = array(
					
					'invoicenumber'			=> '',
					'stocknumber'			=> $row['adherence_stockNumber'],
					'make'					=> $row['adherence_make'],
					'vin'					=> $row['adherence_vinNumber'],
					'registration'			=> $row['adherence_registrationNumber'],
					'engine'				=> $row['adherence_engineNumber'],
					'saledate'				=> $row['adherence_dateSold'],
					'standingvalue'			=> $row['adherence_amount'],
					'invoiced'				=> '',
					'soldto'				=> $row['adherence_soldTo']
			);
		}
	}

}

Commits for namibiamodule/Report/src/Report/Report/NoMatch.php

Diff revisions: vs.
Revision Author Commited Message
df0489 ... Mark Fri 14 Oct, 2016 10:01:00 +0000

initial commit