Mesa/Model/Mesa.php
function totalesDeMesasEntre($fechaDesde = '', $fechaHasta = '', $conds = array()){
			$horarioCorte = Configure::read('Horario.corte_del_dia');
			if ( $horarioCorte < 10 ) {
				$horarioCorte = "0$horarioCorte";
			}
			$sqlHorarioDeCorte = "DATE(SUBTIME(Mesa.checkin, '$horarioCorte:00:00'))";
			$desde = empty($fechaDesde) ? date('Y-m-d', strtotime('now')) : $fechaDesde;
			$hasta = empty($fechaHasta) ? date('Y-m-d', strtotime('now')) : $fechaHasta;
			$defaultOrder = array();
			$defaultFields = array(
				'count(*) as "cant_mesas"',
				'sum(Mesa.cant_comensales) as "cant_cubiertos"',
				'sum(Mesa.subtotal) as "subtotal"',
				'sum(Mesa.total) as "total"',
				'sum(Mesa.total)/sum(Mesa.cant_comensales) as "promedio_cubiertos"',
				"$sqlHorarioDeCorte as fecha",                
				);
			
			$defaultGroup = array(
				"$sqlHorarioDeCorte"  ,
				);
			if ( empty($conds['order'])) {
				$defaultOrder = array(
					"Mesa.checkin DESC"
					);
			}
			
			
			$defaultConditions = array(
					'Mesa.deleted' => '0', // mesas no borradas
					"$sqlHorarioDeCorte BETWEEN '$desde' AND '$hasta'"
					);
			
			$ops = array(
				'fields' => $defaultFields,
				'conditions' => $defaultConditions,
				'group' => $defaultGroup,
				'order' => $defaultOrder,
				);
			$ops = array_merge_recursive($ops, $conds);
			$mesas =  $this->find('all', $ops);
			return $mesas;
		}
function totalesDeMesasEntre($fechaDesde = '', $fechaHasta = '', $conds = array()){
			$horarioCorte = Configure::read('Horario.corte_del_dia');
			if ( $horarioCorte < 10 ) {
				$horarioCorte = "0$horarioCorte";
			}
			$sqlHorarioDeCorte = "DATE(SUBTIME(Mesa.checkin, '$horarioCorte:00:00'))";
			$desde = empty($fechaDesde) ? date('Y-m-d', strtotime('now')) : $fechaDesde;
			$hasta = empty($fechaHasta) ? date('Y-m-d', strtotime('now')) : $fechaHasta;
			$defaultOrder = array();
			$defaultFields = array(
				'count(*) as "cant_mesas"',
				'sum(Mesa.cant_comensales) as "cant_cubiertos"',
				'sum(Mesa.subtotal) as "subtotal"',
				'sum(Mesa.total) as "total"',
				'sum(Mesa.total)/sum(Mesa.cant_comensales) as "promedio_cubiertos"',
				"$sqlHorarioDeCorte as fecha",                
				);
			
			$defaultGroup = array(
				"$sqlHorarioDeCorte"  ,
				);
			if ( empty($conds['order'])) {
				$defaultOrder = array(
					"Mesa.checkin DESC"
					);
			}
			
			
			$defaultConditions = array(
					'Mesa.deleted' => '0', // mesas no borradas
					"$sqlHorarioDeCorte BETWEEN '$desde' AND '$hasta'"
					);
			
			$ops = array(
				'fields' => $defaultFields,
				'conditions' => $defaultConditions,
				'group' => $defaultGroup,
				'order' => $defaultOrder,
				);
			$ops = array_merge_recursive($ops, $conds);
			$mesas =  $this->find('all', $ops);
			return $mesas;
		}
function totalesDeMesasEntre ( $ fechaDesde = '' , $ fechaHasta = '' , $ conds = array ( ) ) { $ horarioCorte = Configure :: read ( 'Horario.corte_del_dia' ) ; if ( $ horarioCorte < 10 ) { $ horarioCorte = "0$horarioCorte" ; } $ sqlHorarioDeCorte = "DATE(SUBTIME(Mesa.checkin, '$horarioCorte:00:00'))" ; $ desde = empty ( $ fechaDesde ) ? date ( 'Y-m-d' , strtotime ( 'now' ) ) : $ fechaDesde ; $ hasta = empty ( $ fechaHasta ) ? date ( 'Y-m-d' , strtotime ( 'now' ) ) : $ fechaHasta ; $ defaultOrder = array ( ) ; $ defaultFields = array ( 'count(*) as "cant_mesas"' , 'sum(Mesa.cant_comensales) as "cant_cubiertos"' , 'sum(Mesa.subtotal) as "subtotal"' , 'sum(Mesa.total) as "total"' , 'sum(Mesa.total)/sum(Mesa.cant_comensales) as "promedio_cubiertos"' , "$sqlHorarioDeCorte as fecha" , ) ; $ defaultGroup = array ( "$sqlHorarioDeCorte" , ) ; if ( empty ( $ conds [ 'order' ] ) ) { $ defaultOrder = array ( "Mesa.checkin DESC" ) ; } $ defaultConditions = array ( 'Mesa.deleted' => '0' , // mesas no borradas "$sqlHorarioDeCorte BETWEEN '$desde' AND '$hasta'" ) ; $ ops = array ( 'fields' => $ defaultFields , 'conditions' => $ defaultConditions , 'group' => $ defaultGroup , 'order' => $ defaultOrder , ) ; $ ops = array_merge_recursive ( $ ops , $ conds ) ; $ mesas = $ this -> find ( 'all' , $ ops ) ; return $ mesas ; }
Me devuelve un listado agrupado por dia de mesas. Util para estadistica y contabilidad
@param type $fechaDesde string formato de fecha debe ser del tip AÑO-mes-dia Y-m-d
@param type $fechaHasta string formato de fecha debe ser del tip AÑO-mes-dia Y-m-d
@param type $conds array de condiciones extra
Me devuelve un listado agrupado por dia de mesas . Util para estadistica y contabilidad