Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 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));
 }
Пример #3
0
?>

	<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 
Пример #4
0
 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;
 }
Пример #5
0
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 -->
Пример #6
0
 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;
 }
Пример #8
0
 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'));
     }
 }