
Fatal error: Call to a member function fetch_assoc() on a non-object in /home/gersofts/public_html/p
Publicado por german (21 intervenciones) el 20/09/2014 03:09:03
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
<?php
include_once('conexdbresto.php');
include_once('gestor_stock.php');
include_once('gestor_turnos.php');
chdir(dirname(__FILE__));
include_once('../../general/inc/gestor_stock_general.php');
chdir(dirname(__FILE__));
include_once('../../general/inc/gestor_recetas.php');
chdir(dirname(__FILE__));
include_once('../../general/inc/funciones_misc.inc');
chdir(dirname(__FILE__));
class Gestor_Servicios_Resto{
private static $instancia;
private $conn;
public function __construct(){
$this->conn=RestodbConnResto::getConn();
}
public static function getInstancia(){
if(Gestor_Servicios_Resto::$instancia==null){
Gestor_Servicios_Resto::$instancia=new Gestor_Servicios_Resto();
}
return Gestor_Servicios_Resto::$instancia;
}
/**
* Este metodo no se usa en ningun lado
*
* @param unknown_type $cena_id
* @param unknown_type $stock_id
* @param unknown_type $cantidad
* @param unknown_type $usuario
* @return unknown
*/
public function agregar_servicio_cena($cena_id,$stock_id,$cantidad,$usuario){
/* @var $gestor_s Gestor_Stock_Resto */
$gestor_s=Gestor_Stock_Resto::getInstancia();
$query="INSERT INTO stock_cena (cena_id,stock_id,cantidad)
VALUES ($cena_id,$stock_id,$cantidad)";
$this->conn->query($query);
if($this->conn->affected_rows > 0){ //solo si se hizo la insercion
$gestor_s->bajar_stock($stock_id,$cantidad,VENTA_ARTICULO,$usuario);
return true;
}
else{
return false;
}
}
/**
* Agrega un articulo pero sabiendo el codigo no el id
*/
public function agregar_servicio_cena_codigo($cena_id,$stock_codigo,$cantidad,$usuario){
/* @var $gestor_stock Gestor_Stock_Resto */
$gestor_stock=Gestor_Stock_Resto::getInstancia();
$stock=$gestor_stock->obtener_stock_x_codigo($stock_codigo);
$stock_id=$stock['stock_id'];
$query="INSERT INTO stock_cena (cena_id,stock_id,cantidad)
VALUES ($cena_id,$stock_id,$cantidad)";
$this->conn->query($query);
if($this->conn->affected_rows > 0){ //solo si se hizo la insercion
$gestor_stock->bajar_stock($stock_id,$cantidad,VENTA_ARTICULO,$usuario);
return true;
}
else{
return false;
}
}
/**
* Elimina un elemento de la orden, de tipo stock
*
* @param unknown_type $stock_cena_id
* @return unknown
*/
public function eliminar_stock_cena($stock_cena_id){
$query="DELETE FROM stock_cena WHERE stock_cena_id = $stock_cena_id";
$this->conn->query($query);
if($this->conn->affected_rows > 0) return true;
else return false;
}
/**
* Elimina un plato de la orden
*
* @param unknown_type $plato_cena_id
* @return unknown
*/
public function eliminar_plato_cena($plato_cena_id){
$query="DELETE FROM plato_cena WHERE plato_cena_id = $plato_cena_id";
$this->conn->query($query);
if($this->conn->affected_rows > 0) return true;
else return false;
}
public function resetear_orden($cena_id){
$query="DELETE FROM stock_cena WHERE cena_id = $cena_id";
$this->conn->query($query);
$query="DELETE FROM plato_cena WHERE cena_id = $cena_id";
$this->conn->query($query);
}
/**
* Este metodo no se usa en ningun lado
*
* @param unknown_type $cena_id
* @param unknown_type $stock_id
* @param unknown_type $cantidad
* @param unknown_type $usuario
* @return unknown
*/
public function agregar_plato_cena($cena_id,$plato_id,$cantidad,$usuario){
/* @var $gestor_r Gestor_Recetas*/
$gestor_r=Gestor_Recetas::getInstancia();
$query="INSERT INTO plato_cena (plato_id,cena_id,cantidad)
VALUES ($plato_id,$cena_id,$cantidad)";
$this->conn->query($query);
if($this->conn->affected_rows > 0){ //solo si se inserto
$gestor_r->bajar_stock_receta($plato_id,$cantidad,4,$usuario);
return true;
}
else{
return false;
}
}
/**
* Agrega un plato a una cena por codigo
*/
public function agregar_plato_cena_codigo($cena_id,$plato_codigo,$cantidad,$usuario){
/* @var $gestor_stock Gestor_Stock_Cava */
/* @var $gestor_r Gestor_Recetas*/
$lugar = 1; // => numero del resto
$gestor_r=Gestor_Recetas::getInstancia();
$plato=$gestor_r->obtener_receta_x_codigo($plato_codigo);
$plato_id=$plato['plato_id'];
$query="INSERT INTO plato_cena (plato_id,cena_id,cantidad)
VALUES ($plato_id,$cena_id,$cantidad)";
$this->conn->query($query);
if($this->conn->affected_rows > 0){ //solo si se inserto
//$gestor_r->bajar_stock_receta($plato_id,$cantidad);
if($plato['lugar']!=$lugar){
//si no se prepara aca
/* @var $gestor_turnos Gestor_Turnos_Resto*/
$gestor_turnos = Gestor_Turnos_Resto::getInstancia();
$turno = $gestor_turnos->turno_activo();
if(isset($turno['turno_id'])){
if(!$gestor_r->auto_transferir_plato($plato_codigo,$cantidad,4,$turno['turno_id']))
return false;
}
else{
if(!$gestor_r->auto_transferir_plato($plato_codigo,$cantidad,4))
return false;
}
}
else{
//si se prepara aca
$gestor_r->bajar_stock_receta_codigo($plato_codigo,$cantidad,4,$usuario);
}
return true;
}
else{
return false;
}
}
public function datos_cena_js($cena_id){
$query="SELECT * FROM plato_cena WHERE cena_id = $cena_id";
$res=$this->conn->query($query);
/* @var $gestor_r Gestor_Recetas */
$gestor_r=Gestor_Recetas::getInstancia();
$cad='onMouseOver="this.T_TITLE=\'Agregar Orden a la mesa\';return escape(\'';
$total = 0;
for($i=0;$i<$res->num_rows;$i++){ //para los platos
$plato=$res->fetch_assoc();
$plato_id=$plato['plato_id'];
$receta=$gestor_r->obtener_receta($plato_id);
$cantidad=$plato['cantidad'];
$plato_nombre=$receta['nombre'];
$cad.='<li><b>'.$plato_nombre.'</b></li>';
$cad.='<li>Cantidad: '.$cantidad.' - $'.mostrarMonto($receta['precio']*$cantidad).'</li>';
$total += $receta['precio']*$cantidad;
}
$query="SELECT * FROM stock_cena WHERE cena_id = $cena_id";
$res=$this->conn->query($query);
/* @var $gestor_s Gestor_Stock_Resto */
$gestor_s=Gestor_Stock_Resto::getInstancia();
for($i=0;$i<$res->num_rows;$i++){ //para los articulos
$stock=$res->fetch_assoc();
$stock_id=$stock['stock_id'];
$art=$gestor_s->obtenerStock($stock_id);
$cantidad=$stock['cantidad'];
$cantidad=round($cantidad,3);
$art_nombre=$art['nombre'];
$cad.='<li><b>'.$art_nombre.'</b></li>';
$cad.='<li>Cantidad: '.$cantidad.' '.$art['unidad'].' - $'.mostrarMonto($art['precio']*$cantidad).'</li>';
$total += $art['precio']*$cantidad;
}
$cad.='<b>Total: $'.mostrarMonto($total).'</b>';
$cad.='\')"';
return $cad;
}
/**
* Devuelve los articulos asociados a una cena
*/
public function stock_cena($cena_id){
$query="SELECT * FROM stock_cena WHERE cena_id = $cena_id";
$res=$this->conn->query($query);
$resultado=array();
if($res->num_rows > 0){
while($stock=$res->fetch_assoc()){
array_push($resultado,$stock);
}
}
return $resultado;
}
/**
* Devuelve los platos asociados a una cena
*/
public function plato_cena($cena_id){
$query="SELECT * FROM plato_cena WHERE cena_id = $cena_id";
$res=$this->conn->query($query);
$resultado=array();
if($res->num_rows > 0){
while($plato=$res->fetch_assoc()){
array_push($resultado,$plato);
}
}
return $resultado;
}
public function datos_cena($cena_id){
$query="SELECT * FROM plato_cena WHERE cena_id = $cena_id";
$res=$this->conn->query($query);
/* @var $gestor_r Gestor_Recetas */
$gestor_r=Gestor_Recetas::getInstancia();
$respuesta=array();
for($i=0;$i<$res->num_rows;$i++){ //para los platos
$menu=array();
$plato=$res->fetch_assoc();
$plato_id=$plato['plato_id'];
$receta=$gestor_r->obtener_receta($plato_id);
$menu['cantidad']=round($plato['cantidad']);
$menu['nombre']=$receta['nombre'];
$menu['codigo']=$receta['codigo'];
$menu['precio']=$receta['precio'];
array_push($respuesta,$menu);
}
$query="SELECT * FROM stock_cena WHERE cena_id = $cena_id";
$res=$this->conn->query($query);
/* @var $gestor_s Gestor_Stock_Resto */
$gestor_s=Gestor_Stock_Resto::getInstancia();
for($i=0;$i<$res->num_rows;$i++){ //para los articulos
$articulo=array();
$stock=$res->fetch_assoc();
$stock_id=$stock['stock_id'];
$art=$gestor_s->obtenerStock($stock_id);
$articulo['cantidad']=round($stock['cantidad']);
$articulo['nombre']=$art['nombre'];
$articulo['codigo']=$art['codigo'];
$articulo['precio']=$art['precio'];
$articulo['unidad']=$art['unidad'];
array_push($respuesta,$articulo);
}
return $respuesta;
}
/**
* Crea un desayuno recibiendo un arreglo asociativo
*/
public function crear_desayuno($articulos,$personas,$usuario){
$query="INSERT INTO desayuno (fecha, hora, cant_pers)
VALUES (NOW(),NOW(),$personas)";
$this->conn->query($query);
if($this->conn->affected_rows > 0){
$desayuno_id=$this->conn->insert_id;
foreach ($articulos as $codigo=>$art ){
$arr=split(' - ',$art);
$cant=$arr[0]; //el primero
$this->agregar_detalle_desayuno($codigo,$cant,$desayuno_id,$usuario);
}
return true;
}
else{
return false;
}
}
public function agregar_detalle_desayuno($codigo,$cantidad,$desayuno_id,$usuario){
/* @var $gestor_stock Gestor_Stock_Resto */
$gestor_stock=Gestor_Stock_Resto::getInstancia();
$query="INSERT INTO desayuno_detalle (desayuno_id, codigo, cantidad)
VALUES ($desayuno_id,'$codigo',$cantidad)";
$this->conn->query($query);
if($this->conn->affected_rows > 0){
$gestor_stock->bajar_stock_codigo($codigo,$cantidad,DESAYUNO,$usuario,$desayuno_id);
return true;
}
else{
return false;
}
}
public function hay_desayuno_ingresado_hoy(){
$query="SELECT * FROM desayuno WHERE fecha = NOW()";
$res=$this->conn->query($query);
if($res->num_rows > 0){
return true;
}
else {
return false;
}
}
/**
* Devuelve los ultimos 10 desayunos
*/
public function listar_ultimos_desayunos(){
$query="SELECT * FROM desayuno ORDER BY fecha DESC LIMIT 0,10";
$res=$this->conn->query($query);
$lista_desayunos=array();
if($res->num_rows > 0){
while($desayuno=$res->fetch_assoc()){
array_push($lista_desayunos,$desayuno);
}
}
return $lista_desayunos;
}
public function obtener_desayuno($desayuno_id){
$query="SELECT * FROM desayuno WHERE desayuno_id = $desayuno_id";
$res=$this->conn->query($query);
if($res->num_rows > 0){
return $res->fetch_assoc();
}
else{
return false;
}
}
public function obtener_ingredientes_desayuno($desayuno_id){
$query="SELECT * FROM desayuno_detalle
WHERE desayuno_id = $desayuno_id";
$res=$this->conn->query($query);
$ingredientes=array();
if($res->num_rows > 0){
while($desayuno=$res->fetch_assoc()){
array_push($ingredientes,$desayuno);
}
}
return $ingredientes;
}
public function costo_desayuno($desayuno_id){
$query="SELECT SUM(cantidad * costo) as costo
FROM phpResto.desayuno_detalle INNER JOIN general.stock
ON (phpResto.desayuno_detalle.codigo = general.stock.codigo)
WHERE phpResto.desayuno_detalle.desayuno_id = $desayuno_id";
$res=$this->conn->query($query);
$costo=$res->fetch_assoc();...-------------------> aqui me da el error
return $costo['costo'];
}
}
/*@var $g Gestor_Servicios*//*
$g=Gestor_Servicios::getInstancia();
echo $g->costo_desayuno(13);*/
?>
Valora esta pregunta


0