Subversion-Projekte lars-tiefland.ci

Revision

Revision 1277 | Revision 1309 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1132 lars 1
<?php
2
 
3
/**
4
 *
5
 * @package WebanOS CI
6
 * @author Lars Tiefland <ltiefland@gmail.com>
7
 * @copyright 2016
8
 * @version $Rev: 1281 $
9
 */
10
 
11
class Order_model extends CI_Model
12
{
13
	public function __construct()
14
	{
15
		parent::__construct();
1136 lars 16
		$this->load->model('bestelladresse_model', 'bestelladresse');
17
		$this->load->model('artikel_to_bestellung_model', 'artikel');
1132 lars 18
	}
19
 
20
	public function get_list()
21
	{
22
		$orders = array();
23
		$sql = "SELECT
1173 lars 24
				b.id
1132 lars 25
			FROM
1150 lars 26
				Bestellung b
1132 lars 27
			ORDER BY
1152 lars 28
				b.id DESC
1145 lars 29
			LIMIT
30
				100
1132 lars 31
		";
32
		$res = $GLOBALS['order_db']->query($sql);
1134 lars 33
		while ($order = $res->unbuffered_row('array'))
1132 lars 34
		{
1173 lars 35
			$order = $this->get($order['id']);
1142 lars 36
			$billAddr = $this->bestelladresse->get($order['bill_addr_id']);
37
			$shipAddr = $this->bestelladresse->get($order['ship_addr_id']);
38
			$artikel = $this->artikel->get($order['id']);
1158 lars 39
 
40
			$artikelstatus_buffer = unserialize($order["artikelstatus_buffer"]);
41
			foreach ($artikelstatus_buffer as $key => $value)
42
			{
43
				switch ($key)
44
				{
45
					case "statusOffen":
46
						$info[$key]["class"] = "status_red";
47
						break;
48
					case "statusInBearbeitung":
49
						$info[$key]["class"] = "status_yellow";
50
						break;
51
					case "statusReserviert":
52
						$info[$key]["class"] = "status_blue";
53
						break;
54
					case "statusErledigt":
55
						$info[$key]["class"] = "status_green";
56
						break;
57
					case "statusAbgeschlossen":
58
					default:
59
						$info[$key]["class"] = "status_white";
60
						break;
61
 
62
				}
63
				$info[$key]["wert"] = $value;
64
			}
65
			$order["info"] = $info;
66
			$rechnungsstatus_buffer = unserialize($order["rechnungsstatus_buffer"]);
67
			foreach ($rechnungsstatus_buffer as $key => $value)
68
			{
69
				switch ($key)
70
				{
71
					case "rechnungSchreiben":
72
						$rstatus[$key]["class"] = "status_red";
73
						break;
74
					case "rechnungGeschrieben":
75
						$rstatus[$key]["class"] = "status_yellow";
76
						break;
77
					case "rechnungBezahlt":
78
						$rstatus[$key]["class"] = "status_green";
79
						break;
80
 
81
				}
82
				$rstatus[$key]["wert"] = $value;
83
			}
84
			$order["rechnungsstatus"] = $rstatus;
85
			$lieferscheinstatus_buffer = unserialize($order["lieferscheinstatus_buffer"]);
86
			foreach ($lieferscheinstatus_buffer as $key => $value)
87
			{
88
				switch ($key)
89
				{
90
					case "lieferscheinSchreiben":
91
						$lstatus[$key]["class"] = "status_yellow";
92
						break;
93
					case "lieferscheinGeschrieben":
94
						$lstatus[$key]["class"] = "status_green";
95
						break;
96
					case "lieferscheinOffen":
97
						$lstatus[$key]["class"] = "status_red";
98
						break;
99
 
100
				}
101
				$lstatus[$key]["wert"] = $value;
102
			}
103
			$order['lieferscheinstatus'] = $lstatus;
104
 
1136 lars 105
			$order['artikel'] = $artikel;
106
			$order['shipAddr'] = $shipAddr;
107
			$order['billAddr'] = $billAddr;
1132 lars 108
			$orders[] = $order;
109
		}
110
		return $orders;
111
	}
1173 lars 112
 
113
	public function get($id)
114
	{
115
		$orders = array();
116
		$sql = "SELECT
117
				b.id,
1273 lars 118
				b.language,
1192 lars 119
				b.shops_ID,
120
				b.login,
1173 lars 121
				bill_addr_id,
122
				ship_addr_id,
123
				erstellt_am,
1204 lars 124
				erstellt_von,
125
				letzte_aenderung_am,
126
				letzte_aenderung_von,
1173 lars 127
				status,
1281 lars 128
				gesamtsumme_buffer,
1173 lars 129
				fremd_id,
130
				artikelstatus_buffer,
131
				rechnungsstatus_buffer,
132
				lieferscheinstatus_buffer,
133
				bezahlt,
134
				bezahlt_am,
1273 lars 135
				s.name AS shop,
1277 lars 136
				ba.name AS bestellart
1173 lars 137
			FROM
138
				Bestellung b
139
			JOIN
140
				shops s
141
			ON
142
				s.id=b.shops_id
1273 lars 143
			JOIN
144
				bestellart ba
145
			ON
1274 lars 146
				ba.id=b.bestellart_id
1173 lars 147
			WHERE
148
				b.id=".$id."
149
		";
150
		$res = $GLOBALS['order_db']->query($sql);
151
		$order = $res->unbuffered_row('array');
152
		$billAddr = $this->bestelladresse->get($order['bill_addr_id']);
153
		$shipAddr = $this->bestelladresse->get($order['ship_addr_id']);
154
		$artikel = $this->artikel->get($order['id']);
155
 
156
		$artikelstatus_buffer = unserialize($order["artikelstatus_buffer"]);
157
		foreach ($artikelstatus_buffer as $key => $value)
158
		{
159
			switch ($key)
160
			{
161
				case "statusOffen":
162
					$info[$key]["class"] = "status_red";
163
					break;
164
				case "statusInBearbeitung":
165
					$info[$key]["class"] = "status_yellow";
166
					break;
167
				case "statusReserviert":
168
					$info[$key]["class"] = "status_blue";
169
					break;
170
				case "statusErledigt":
171
					$info[$key]["class"] = "status_green";
172
					break;
173
				case "statusAbgeschlossen":
174
				default:
175
					$info[$key]["class"] = "status_white";
176
					break;
177
 
178
			}
179
			$info[$key]["wert"] = $value;
180
		}
181
		$order["info"] = $info;
182
		$rechnungsstatus_buffer = unserialize($order["rechnungsstatus_buffer"]);
183
		foreach ($rechnungsstatus_buffer as $key => $value)
184
		{
185
			switch ($key)
186
			{
187
				case "rechnungSchreiben":
188
					$rstatus[$key]["class"] = "status_red";
189
					break;
190
				case "rechnungGeschrieben":
191
					$rstatus[$key]["class"] = "status_yellow";
192
					break;
193
				case "rechnungBezahlt":
194
					$rstatus[$key]["class"] = "status_green";
195
					break;
196
 
197
			}
198
			$rstatus[$key]["wert"] = $value;
199
		}
200
		$order["rechnungsstatus"] = $rstatus;
201
		$lieferscheinstatus_buffer = unserialize($order["lieferscheinstatus_buffer"]);
202
		foreach ($lieferscheinstatus_buffer as $key => $value)
203
		{
204
			switch ($key)
205
			{
206
				case "lieferscheinSchreiben":
207
					$lstatus[$key]["class"] = "status_yellow";
208
					break;
209
				case "lieferscheinGeschrieben":
210
					$lstatus[$key]["class"] = "status_green";
211
					break;
212
				case "lieferscheinOffen":
213
					$lstatus[$key]["class"] = "status_red";
214
					break;
215
 
216
			}
217
			$lstatus[$key]["wert"] = $value;
218
		}
219
		$order['lieferscheinstatus'] = $lstatus;
220
 
221
		$order['artikel'] = $artikel;
222
		$order['shipAddr'] = $shipAddr;
223
		$order['billAddr'] = $billAddr;
224
 
225
		return $order;
226
	}
1132 lars 227
}
228
 
229
?>