/** * Método Fábrica para a abertura de pedidos * Cobre as seguintes regras de negócio * CC02, CC04 * @param CWebUser $user * @return Pedido $pedido */ public static function open(Cliente $cliente = null) { $today_date = date("Y-m-d H:i:s", time()); $session_id = Yii::app()->getSession()->getSessionID(); $pedido = Pedido::model()->find("id_session= '{$session_id}' AND status='ABERTO'"); if (count($pedido) > 0 && !is_null($cliente)) { $pedido->setAttribute('id_cliente', $cliente->getPrimaryKey()); $pedido->save(); } else { if (is_null($cliente) && !count($pedido) > 0) { $pedido = new Pedido(); $pedido->setAttribute("id_session", $session_id); $pedido->setAttribute("create_date", date("Y-m-d H:i:s")); $pedido->setAttribute("status", "ABERTO"); $pedido->save(); } else { if (!count($pedido) > 0 && !is_null($cliente)) { // @todo Projetar query para calcular timestamp em total de horas $pedido = Pedido::model()->find("id_cliente= '{$cliente->getPrimaryKey()}' AND DATE(create_date)= DATE('{$today_date}') AND status='ABERTO'"); if (!count($pedido) > 0) { $pedido = new Pedido(); $pedido->setAttribute("id_session", $session_id); $pedido->setAttribute("id_cliente", $cliente->getPrimaryKey()); $pedido->setAttribute("create_date", date("Y-m-d H:i:s")); $pedido->setAttribute("status", "ABERTO"); $pedido->save(); } } } } return $pedido; }
public function actionVisualizar($codigo = "") { $model = new Pedido(); $naoEncontrado = ""; if (isset($_POST['Pedido'])) { $codigo = $_POST['Pedido']['codigo']; } if (!empty($codigo)) { $model = Pedido::model()->naoExcluido()->findByAttributes(array('codigo' => $codigo)); if ($model == null) { $model = new Pedido(); $naoEncontrado = "Pedido não encontrado"; } } else { $codigo = "Insira o seu código"; } $this->render('visualizar', array('model' => $model, 'codigo' => $codigo, 'naoEncontrado' => $naoEncontrado)); }
?> <p class="note">Todos los campos con <span class="required">*</span> son obligatorios.</p> <?php echo $form->errorSummary($model); ?> <?php $objDateTime = new DateTime('NOW'); $model->Fecha = $objDateTime->format('Y-m-d H:i:s'); $Criteria = new CDbCriteria(); $Criteria->select = "Numero"; $Criteria->condition = "Serie = '2015'"; $Criteria->order = "Numero desc"; $Criteria->limit = 1; if ($model_pedido = Pedido::model()->find($Criteria)) { echo $form->hiddenField($model, 'Numero', array('value' => $model_pedido->Numero + 1)); } else { echo $form->hiddenField($model, 'Numero', array('value' => '12345678')); } ?> <?php echo $form->hiddenField($model, 'Serie', array('value' => '2015')); ?> <?php echo $form->hiddenField($model, 'Fecha', array('value' => $model->Fecha)); ?> <?php echo $form->hiddenField($model, 'IdCliente', array('value' => $model->IdCliente)); ?> <?php
public function afterSave() { $return = parent::afterSave(); // Atualizar Pedido::model()->updateAll(array('entrega_id' => null, 'status' => Status::_TIPO_FILA_ENTREGA_), 'entrega_id = ' . $this->id); if (empty($this->_pedidos)) { $this->delete(); } foreach ($this->_pedidos as $item) { $model = Pedido::model()->findByPk($item); $model->entrega_id = $this->id; $model->status = 4; $model->save(); } return $return; }
echo $form->textField($model, 'precio'); ?> <?php echo $form->error($model, 'precio'); ?> </div><!-- row --> <div class="row"> <?php echo $form->labelEx($model, 'descripcion'); ?> <?php echo $form->textField($model, 'descripcion'); ?> <?php echo $form->error($model, 'descripcion'); ?> </div><!-- row --> <label><?php echo GxHtml::encode($model->getRelationLabel('pedidos')); ?> </label> <?php echo $form->checkBoxList($model, 'pedidos', GxHtml::encodeEx(GxHtml::listDataEx(Pedido::model()->findAllAttributes(null, true)), false, true)); ?> <?php echo GxHtml::submitButton(Yii::t('app', 'Save'), array('onClick' => "this.disabled=true;this.value='" . Yii::t('app', 'Enviando') . "';this.form.submit();")); $this->endWidget(); ?> </div><!-- form -->
public function actionGeneratePdf() { $session = new CHttpSession(); $session->open(); if (isset($session['Pedido_model_search'])) { $model = $session['Pedido_model_search']; $model = Pedido::model()->findAll($model->search()->criteria); } else { $model = Pedido::model()->findAll(); } $this->toExcel($model, array('id', 'user', 'producto', 'cantidad', 'total', 'estado'), date('Y-m-d-H-i-s'), array(), 'PDF'); }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer the ID of the model to be loaded */ public function loadModel($id) { $model = Pedido::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
public function actionUpdateStatus() { $model = Pedido::model()->findByPk($_POST['id']); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } $model->status = $_POST['status']; $saved = $model->save(); if (Yii::app()->request->isAjaxRequest) { echo $saved; Yii::app()->end(); } else { $this->redirect(array('dashboard')); } }