本文整理汇总了PHP中Producto::model方法的典型用法代码示例。如果您正苦于以下问题:PHP Producto::model方法的具体用法?PHP Producto::model怎么用?PHP Producto::model使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Producto
的用法示例。
在下文中一共展示了Producto::model方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: actionObtenerProductos
public function actionObtenerProductos($idcategoria)
{
$this->selectdb();
$resp = Producto::model()->findAllByAttributes(array('idcategoria' => $idcategoria));
header("Content-type: application/json");
echo CJSON::encode($resp);
}
示例2: actionAgregarProductoCarro
public function actionAgregarProductoCarro($id)
{
$vProducto = Producto::model()->findByPk($id);
if (isset($vProducto)) {
if (isset($id, $_SESSION['carro'][$id])) {
$_SESSION['carro'][$id]['producto_cantidad'] = $_SESSION['carro'][$id]['producto_cantidad'] + 1;
} else {
$producto = Producto::model()->with('categoria', 'unidadVenta', 'imagen')->findByPk($id);
$_SESSION['carro'][$id]['producto_id'] = $producto->producto_id;
$_SESSION['carro'][$id]['producto_codigo'] = $producto->producto_codigo;
$_SESSION['carro'][$id]['producto_nombre'] = $producto->producto_nombre;
$_SESSION['carro'][$id]['producto_descripcion'] = $producto->producto_descripcion;
$_SESSION['carro'][$id]['producto_precio'] = $producto->producto_precio;
$_SESSION['carro'][$id]['producto_cantidad'] = 1;
$_SESSION['carro'][$id]['categoria_nombre'] = $producto->categoria->categoria_nombre;
$_SESSION['carro'][$id]['unidad_venta_nombre'] = $producto->unidadVenta->unidad_venta_nombre;
$_SESSION['carro'][$id]['imagen_nombre'] = $producto->imagen[0]->imagen_nombre;
}
Yii::app()->user->setFlash('productoAgregadoCarro', "El producto se ha agregado correctamente.");
} else {
Yii::app()->user->setFlash('productoCarroNoExiste', "El producto seleccionado no existe.");
}
$_SESSION['total_carro'] = $this->getTotalCarro();
$this->redirect(array('listarProductosCarro'));
}
示例3: actionIndex
public function actionIndex()
{
// para efectos de DEMO es necesario apuntar la base de datos
// al archivo demo1.db, para tu propio caso puedes eliminar estas lineas:
DemoSetup::usar('demo1');
$dataProviderProductos = new CActiveDataProvider(Producto::model(), array('keyAttribute' => 'idproducto', 'criteria' => array('condition' => 'idcategoria=-1')));
if (Yii::app()->request->isAjaxRequest) {
// el update del CGridView Productos hecho en Ajax produce un ajaxRequest sobre el mismo
// action que lo invoco por primera vez y el argumento fue pasado mediante {data: xxx} al // momento de hacer el update al CGridView con id 'productos'
$idcategoria = $_GET[0];
Yii::log("\nAJAX_REQUEST\nPROVOCADO_POR_EL_UPDATE_AL_CGRIDVIEW_PRODUCTOS" . "\nidcategoria seleccionada es=" . $idcategoria, "info");
// actualizas el criteria del data provider para ajustarlo a lo que se pide:
$dataProviderProductos->criteria = array('condition' => 'idcategoria=' . $idcategoria);
// para responderle al request ajax debes hacer un ECHO con el JSON del dataprovider
echo CJSON::encode($dataProviderProductos);
}
/* creacion del dataProvider
*/
$dataProvider = new CActiveDataProvider(Categoria::model(), array('keyAttribute' => 'idcategoria', 'criteria' => array(), 'pagination' => array('pageSize' => 20), 'sort' => array('defaultOrder' => array('nombre' => true))));
$this->render('index', array('dataProvider' => $dataProvider, 'dataProviderProductos' => $dataProviderProductos));
}
示例4: array
<?php
/** @var CompraController $this */
/** @var Compra $model */
$this->breadcrumbs = array('Compras' => array('index'), $model->id_compra);
$this->menu = array(array('label' => Yii::t('AweCrud.app', 'Create') . ' ' . Compra::label(), 'icon' => 'plus', 'url' => array('create')), array('label' => Yii::t('AweCrud.app', 'Update'), 'icon' => 'pencil', 'url' => array('update', 'id' => $model->id_compra)), array('label' => Yii::t('AweCrud.app', 'Delete'), 'icon' => 'trash', 'url' => '#', 'linkOptions' => array('submit' => array('delete', 'id' => $model->id_compra), 'confirm' => Yii::t('AweCrud.app', 'Are you sure you want to delete this item?'))), array('label' => Yii::t('AweCrud.app', 'Manage'), 'icon' => 'list-alt', 'url' => array('admin')), array('label' => Yii::t('AweCrud.app', 'Productos'), 'icon' => 'list-alt', 'url' => Yii::app()->createUrl('SistenAdmin/DetalleCompra/create', array('id_compra' => $model->id_compra))));
?>
<fieldset>
<legend><?php
echo Yii::t('AweCrud.app', 'View') . ' ' . Compra::label();
?>
<?php
echo CHtml::encode($model);
?>
</legend>
<?php
$this->widget('bootstrap.widgets.TbDetailView', array('data' => $model, 'attributes' => array('id_compra', array('name' => 'id_proveedor', 'value' => $model->idProveedor !== null ? CHtml::link($model->idProveedor, array('/proveedor/view', 'id_proveedor' => $model->idProveedor->id_proveedor)) . ' ' : null, 'type' => 'html'), array('name' => 'id_usuario', 'value' => $model->idUsuario !== null ? CHtml::link($model->idUsuario, array('/usuario/view', 'id_usuario' => $model->idUsuario->id_usuario)) . ' ' : null, 'type' => 'html'), 'total_compra', 'fecha_compra', 'observaciones')));
?>
</fieldset>
<?php
$modelDetalle = DetalleCompra::model();
$modelDetalle->id_compra = $model->id_compra;
$this->widget('bootstrap.widgets.TbGridView', array('id' => 'detalle-compra-grid', 'type' => 'striped condensed', 'dataProvider' => $modelDetalle->search(), 'filter' => $modelDetalle, 'columns' => array('id_detalle', array('name' => 'id_compra', 'value' => 'isset($data->idCompra) ? $data->idCompra : null', 'filter' => CHtml::listData(Compra::model()->findAll(), 'id_compra', Compra::representingColumn())), array('name' => 'id_producto', 'value' => 'isset($data->idProducto) ? $data->idProducto : null', 'filter' => CHtml::listData(Producto::model()->findAll(), 'id_producto', Producto::representingColumn())), 'valor_unidad', 'cantidad', 'valor_total')));
示例5: actionMasvistos
public function actionMasvistos()
{
$sql = "SELECT codigoProducto FROM t_ProductosVistos";
$fecha = new DateTime();
$listIdsProductos = Yii::app()->db->createCommand($sql)->queryColumn();
$objSectorCiudad = null;
if (isset(Yii::app()->session[Yii::app()->params->sesion['sectorCiudadEntrega']])) {
$objSectorCiudad = Yii::app()->session[Yii::app()->params->sesion['sectorCiudadEntrega']];
}
$codigoPerfil = Yii::app()->shoppingCart->getCodigoPerfil();
$listCombos = array();
if (empty($listIdsProductos)) {
$this->render('listaProductos', array('listProductos' => array(), 'listCombos' => array(), 'msgCodigoEspecial' => array(), 'listCodigoEspecial' => array(), 'imagenBusqueda' => Yii::app()->params->busqueda['imagen']['noExito'], 'objSectorCiudad' => $objSectorCiudad, 'codigoPerfil' => $codigoPerfil, 'nombreBusqueda' => "Más vistos"));
Yii::app()->end();
}
$listIdsProductos = implode(",", $listIdsProductos);
$criteria = new CDbCriteria();
$criteria->order = "t.orden";
//$criteria->limit = 100;
$criteria->with = array('listImagenes', 'objCodigoEspecial', 'listCalificaciones');
$criteria->condition = "t.activo=:activo AND t.codigoProducto IN ({$listIdsProductos})";
$criteria->params = array(':activo' => 1);
if ($objSectorCiudad != null) {
$criteria->with['listSaldos'] = array('condition' => '(listSaldos.saldoUnidad>:saldo AND listSaldos.codigoCiudad=:ciudad AND listSaldos.codigoSector=:sector) OR (listSaldos.saldoUnidad IS NULL AND listSaldos.codigoCiudad IS NULL AND listSaldos.codigoSector IS NULL)');
$criteria->with['listPrecios'] = array('condition' => '(listPrecios.codigoCiudad=:ciudad AND listPrecios.codigoSector=:sector) OR (listPrecios.codigoCiudad IS NULL AND listPrecios.codigoSector IS NULL)');
$criteria->with['listSaldosTerceros'] = array('condition' => '(listSaldosTerceros.codigoCiudad=:ciudad AND listSaldosTerceros.codigoSector=:sector) OR (listSaldosTerceros.codigoCiudad IS NULL AND listSaldosTerceros.codigoSector IS NULL)');
$criteria->condition .= ' AND ( (listSaldos.saldoUnidad IS NOT NULL AND listPrecios.codigoCiudad IS NOT NULL) OR listSaldosTerceros.codigoCiudad IS NOT NULL)';
$criteria->params[':saldo'] = 0;
$criteria->params[':ciudad'] = $objSectorCiudad->codigoCiudad;
$criteria->params[':sector'] = $objSectorCiudad->codigoSector;
if (!empty($listIdsProductos)) {
$listCombos = Combo::model()->findAll(array('with' => array('listComboSectorCiudad', 'listProductos' => array('condition' => 'listProductos.codigoProducto IN (' . $listIdsProductos . ')')), 'condition' => 't.estadoCombo=:estado AND t.fechaInicio<=:fecha AND t.fechaFin>=:fecha AND listComboSectorCiudad.saldo>:saldo AND listComboSectorCiudad.codigoCiudad=:ciudad AND listComboSectorCiudad.codigoSector=:sector', 'params' => array(':estado' => 1, ':fecha' => $fecha->format('Y-m-d H:i:s'), 'saldo' => 0, ':ciudad' => $objSectorCiudad->codigoCiudad, ':sector' => $objSectorCiudad->codigoSector)));
}
}
//$criteria->condition .= " AND t.codigoProducto IN (" . $listIdsProductos . ")";
$listProductos = Producto::model()->findAll($criteria);
$listCodigoEspecial = CodigoEspecial::model()->findAll(array('condition' => 'codigoEspecial<>0'));
$msgCodigoEspecial = array();
foreach ($listProductos as $objProducto) {
if ($objProducto->codigoEspecial != null && $objProducto->codigoEspecial != 0) {
$msgCodigoEspecial[$objProducto->codigoEspecial] = $objProducto->objCodigoEspecial;
}
}
$imagenBusqueda = null;
if (empty($listProductos)) {
$imagenBusqueda = Yii::app()->params->busqueda['imagen']['noExito'];
try {
Busquedas::registrarBusqueda(array('idenficacionUsuario' => Yii::app()->user->isGuest ? null : Yii::app()->user->name, 'tipoBusqueda' => Yii::app()->params->busqueda['tipo']['categoria'], 'msgBusqueda' => "Mas Vistos", 'codigoCiudad' => $objSectorCiudad == null ? null : $objSectorCiudad->codigoCiudad, 'codigoSector' => $objSectorCiudad == null ? null : $objSectorCiudad->codigoSector));
} catch (Exception $exc) {
Yii::log($exc->getMessage() . "\n" . $exc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application');
}
}
$parametrosVista = array('listProductos' => $listProductos, 'listCombos' => $listCombos, 'msgCodigoEspecial' => $msgCodigoEspecial, 'listCodigoEspecial' => $listCodigoEspecial, 'objSectorCiudad' => $objSectorCiudad, 'codigoPerfil' => $codigoPerfil, 'tipoBusqueda' => Yii::app()->params->busqueda['tipo']['categoria'], 'nombreBusqueda' => "Más vistos");
$parametrosVista['imagenBusqueda'] = $imagenBusqueda;
$this->render('listaProductos', $parametrosVista);
}
示例6: array
<?php
$this->breadcrumbs = array(Yii::t('app', 'Administrar'));
$this->menu = array(array('label' => Yii::t('app', 'Crear') . ' ' . $model->label(), 'url' => array('crear')));
Yii::app()->clientScript->registerScript('search', "\r\n\$('.search-button').click(function(){\r\n\t\$('.search-form').slideToggle();\r\n\treturn false;\r\n});\r\n\$('.search-form form').submit(function(){\r\n\t\$.fn.yiiGridView.update('pedido-grid', {\r\n\t\tdata: \$(this).serialize()\r\n\t});\r\n\treturn false;\r\n});\r\n");
?>
<h1><?php
echo Yii::t('app', 'Administrar') . ' ' . GxHtml::encode($model->label(2));
?>
</h1>
<p>
<?php
echo Yii::t('app', 'Busqueda Avanzada');
?>
</p>
<?php
$this->widget('bootstrap.widgets.TbMenu', array('type' => 'pills', 'items' => array(array('label' => Yii::t('app', 'Buscar'), 'icon' => 'icon-search', 'url' => '#', 'linkOptions' => array('class' => 'search-button')), array('label' => Yii::t('app', 'Exportar a Excel'), 'icon' => 'icon-download', 'url' => Yii::app()->controller->createUrl('GenerateExcel'), 'linkOptions' => array('target' => '_blank'), 'visible' => true))));
?>
<div class="search-form">
<?php
$this->renderPartial('_search', array('model' => $model));
?>
</div><!-- search-form -->
<?php
$this->widget('bootstrap.widgets.TbGridView', array('id' => 'pedido-grid', 'dataProvider' => $model->search(), 'filter' => $model, 'type' => 'striped bordered condensed', 'template' => "{summary}{items}{pager}", 'columns' => array('id', array('name' => 'user_id', 'value' => 'GxHtml::valueEx($data->user)', 'filter' => GxHtml::listDataEx(User::model()->findAllAttributes(null, true))), array('name' => 'producto_id', 'value' => 'GxHtml::valueEx($data->producto)', 'filter' => GxHtml::listDataEx(Producto::model()->findAllAttributes(null, true))), 'cantidad', 'total', 'estado', array('class' => 'bootstrap.widgets.TbButtonColumn', 'htmlOptions' => array('style' => 'width: 50px'), 'template' => '{view} {update} {delete}', 'buttons' => array('view' => array('label' => 'Ver Pedido', 'url' => 'Yii::app()->createUrl("pedido/ver", array("id"=>$data->id))'), 'update' => array('label' => 'Actualizar Pedido', 'url' => 'Yii::app()->createUrl("pedido/actualizar", array("id"=>$data->id))'), 'delete' => array('label' => 'Eliminar Pedido', 'url' => 'Yii::app()->createUrl("pedido/eliminar", array("id"=>$data->id))'))))));
示例7: array
<?php
/* @var $this StockController */
/* @var $model Stock */
$this->breadcrumbs = array('Stocks' => array('index'), 'Administrar');
$this->menu = array(array('label' => 'Listar', 'url' => array('index')), array('label' => 'Crear', 'url' => array('create')), array('label' => 'MENU', 'url' => array('Menup/index')));
Yii::app()->clientScript->registerScript('search', "\n\$('.search-button').click(function(){\n\t\$('.search-form').toggle();\n\treturn false;\n});\n\$('.search-form form').submit(function(){\n\t\$('#stock-grid').yiiGridView('update', {\n\t\tdata: \$(this).serialize()\n\t});\n\treturn false;\n});\n");
?>
<h1>Administrar Stocks</h1>
<?php
$this->widget('zii.widgets.grid.CGridView', array('id' => 'stock-grid', 'itemsCssClass' => 'table table-striped', 'pager' => array('htmlOptions' => array('class' => 'pagination')), 'dataProvider' => $model->search(), 'filter' => $model, 'columns' => array('id', 'unidades', 'preciounidad', array('name' => 'producto_id', 'value' => '$data->producto->nombre', 'header' => 'Producto', 'filter' => CHtml::listData(Producto::model()->findAll(), 'id', 'nombre')), 'stockcol', array('class' => 'CButtonColumn'))));
示例8: actionGeneratePdf
public function actionGeneratePdf()
{
$session = new CHttpSession();
$session->open();
if (isset($session['Producto_model_search'])) {
$model = $session['Producto_model_search'];
$model = Producto::model()->findAll($model->search()->criteria);
} else {
$model = Producto::model()->findAll();
}
$this->toExcel($model, array('id', 'nombre', 'precio', 'descripcion'), date('Y-m-d-H-i-s'), array(), 'PDF');
}
示例9: getMenuProductos
public function getMenuProductos()
{
return CHtml::listData(Producto::model()->findAll(), "id", "nombre");
}
示例10: loadModel
/**
* 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 $id the ID of the model to be loaded
* @return Producto the loaded model
* @throws CHttpException
*/
public function loadModel($id)
{
$model = Producto::model()->findByPk($id);
if ($model === null) {
throw new CHttpException(404, 'The requested page does not exist.');
}
return $model;
}
示例11: modificarProducto
private function modificarProducto($position, $objSectorCiudad)
{
$cantidadU = Yii::app()->getRequest()->getPost('cantidadU', null);
$cantidadF = Yii::app()->getRequest()->getPost('cantidadF', null);
if ($cantidadU === null || $cantidadF === null) {
echo CJSON::encode(array('result' => 'error', 'response' => 'Solicitud inválida, no se detectan datos'));
Yii::app()->end();
}
if ($cantidadF < 0 && $cantidadU < 0) {
echo CJSON::encode(array('result' => 'error', 'response' => 'Cantidad no válida'));
Yii::app()->end();
}
$objProducto = Producto::model()->find(array('with' => array('listSaldos' => array('condition' => '(listSaldos.saldoUnidad>:saldo AND listSaldos.codigoCiudad=:ciudad AND listSaldos.codigoSector=:sector) OR (listSaldos.saldoUnidad IS NULL AND listSaldos.codigoCiudad IS NULL AND listSaldos.codigoSector IS NULL)'), 'listPrecios' => array('condition' => '(listPrecios.codigoCiudad=:ciudad AND listPrecios.codigoSector=:sector) OR (listPrecios.codigoCiudad IS NULL AND listPrecios.codigoSector IS NULL)'), 'listSaldosTerceros' => array('condition' => '(listSaldosTerceros.codigoCiudad=:ciudad AND listSaldosTerceros.codigoSector=:sector) OR (listSaldosTerceros.codigoCiudad IS NULL AND listSaldosTerceros.codigoSector IS NULL)')), 'condition' => 't.activo=:activo AND t.codigoProducto=:codigo AND ( (listSaldos.saldoUnidad IS NOT NULL AND listPrecios.codigoCiudad IS NOT NULL) OR listSaldosTerceros.codigoCiudad IS NOT NULL)', 'params' => array(':activo' => 1, ':codigo' => $position->objProducto->codigoProducto, ':saldo' => 0, ':ciudad' => $objSectorCiudad->codigoCiudad, ':sector' => $objSectorCiudad->codigoSector)));
if ($objProducto === null) {
echo CJSON::encode(array('result' => 'error', 'response' => array('message' => 'Producto no disponible', 'carroHTML' => $this->renderPartial('carro', null, true))));
Yii::app()->end();
}
$objSaldo = $objProducto->getSaldo($objSectorCiudad->codigoCiudad, $objSectorCiudad->codigoSector);
if ($objSaldo === null) {
echo CJSON::encode(array('result' => 'error', 'response' => array('message' => 'Producto no disponible', 'carroHTML' => $this->renderPartial('carro', null, true))));
Yii::app()->end();
}
$agregarU = false;
$agregarF = false;
if ($cantidadU >= 0) {
//si hay saldo, agrega a carro, sino consulta bodega
if ($cantidadU <= $objSaldo->saldoUnidad) {
$agregarU = true;
} else {
if (Yii::app()->session[Yii::app()->params->sesion['tipoEntrega']] == Yii::app()->params->entrega['tipo']['presencial']) {
echo CJSON::encode(array('result' => 'error', 'response' => array('message' => "La cantidad solicitada no está disponible en este momento. Saldos disponibles: {$objSaldo->saldoUnidad} unidades", 'carroHTML' => $this->renderPartial('carro', null, true))));
Yii::app()->end();
}
$cantidadBodega = $cantidadU - $objSaldo->saldoUnidad;
$cantidadUbicacion = $cantidadU - $cantidadBodega - $position->getQuantityUnit();
//si hay en bodegas, mensaje para ver detalle bodega, sino, mensaje error
$objSaldoBodega = ProductosSaldosCedi::model()->find(array('condition' => 'codigoProducto=:producto AND codigoCedi=:cedi AND saldoUnidad>=:saldo', 'params' => array(':producto' => $position->objProducto->codigoProducto, ':cedi' => $objSectorCiudad->objCiudad->codigoSucursal, ':saldo' => $cantidadBodega)));
if ($objSaldoBodega === null) {
echo CJSON::encode(array('result' => 'error', 'response' => array('message' => "La cantidad solicitada no está disponible en este momento. No hay unidades disponibles", 'carroHTML' => $this->renderPartial('carro', null, true))));
Yii::app()->end();
}
echo CJSON::encode(array('result' => 'ok', 'response' => array('carroHTML' => $this->renderPartial('carro', null, true), 'dialogoHTML' => $this->renderPartial('_carroBodega', array('objSaldo' => $objSaldo, 'objProducto' => $objProducto, 'cantidadUbicacion' => $cantidadUbicacion, 'cantidadBodega' => $cantidadBodega), true))));
Yii::app()->end();
}
}
if ($cantidadF >= 0) {
if ($cantidadF <= $objSaldo->saldoFraccion) {
$agregarF = true;
} else {
echo CJSON::encode(array('result' => 'error', 'response' => array('message' => "La cantidad solicitada no está disponible en este momento. Saldos disponibles: {$objSaldo->saldoFraccion} fracciones", 'carroHTML' => $this->renderPartial('carro', null, true))));
Yii::app()->end();
}
}
if ($agregarU) {
Yii::app()->shoppingCart->update($position, false, $cantidadU);
}
if ($agregarF) {
Yii::app()->shoppingCart->update($position, true, $cantidadF);
}
echo CJSON::encode(array('result' => 'ok', 'response' => array('canastaHTML' => $this->renderPartial('canasta', null, true), 'carroHTML' => $this->renderPartial('carro', null, true))));
Yii::app()->end();
}
示例12: loadModel
/**
* 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.
*/
public function loadModel()
{
if ($this->_model === null) {
if (isset($_GET['id'])) {
$this->_model = Producto::model()->findbyPk($_GET['id']);
}
if ($this->_model === null) {
throw new CHttpException(404, 'The requested page does not exist.');
}
}
return $this->_model;
}
示例13: array
<?php echo Yii::t('app', 'Fields with'); ?> <span class="required">*</span> <?php echo Yii::t('app', 'are required'); ?>.
</p>
<?php echo $form->errorSummary($model); ?>
<div class="row">
<?php echo $form->labelEx($model,'categoria_id'); ?>
<?php echo $form->dropDownList($model, 'categoria_id', GxHtml::listDataEx(Categoria::model()->findAllAttributes(null, true))); ?>
<?php echo $form->error($model,'categoria_id'); ?>
</div><!-- row -->
<div class="row">
<?php echo $form->labelEx($model,'nombre'); ?>
<?php echo $form->textField($model, 'nombre', array('maxlength' => 45)); ?>
<?php echo $form->error($model,'nombre'); ?>
</div><!-- row -->
<div class="row">
<?php echo $form->labelEx($model,'descripcion'); ?>
<?php echo $form->textField($model, 'descripcion', array('maxlength' => 200)); ?>
<?php echo $form->error($model,'descripcion'); ?>
</div><!-- row -->
<label><?php echo GxHtml::encode($model->getRelationLabel('categorias')); ?></label>
<?php echo $form->checkBoxList($model, 'categorias', GxHtml::encodeEx(GxHtml::listDataEx(Categoria::model()->findAllAttributes(null, true)), false, true)); ?>
<label><?php echo GxHtml::encode($model->getRelationLabel('productos')); ?></label>
<?php echo $form->checkBoxList($model, 'productos', GxHtml::encodeEx(GxHtml::listDataEx(Producto::model()->findAllAttributes(null, true)), false, true)); ?>
<?php
echo GxHtml::submitButton(Yii::t('app', 'Save'));
$this->endWidget();
?>
</div><!-- form -->
示例14: agregarProducto
private function agregarProducto(Compras &$objCompra)
{
$producto = Yii::app()->getRequest()->getPost('producto');
$cantidadU = Yii::app()->getRequest()->getPost('cantidadU');
$cantidadF = Yii::app()->getRequest()->getPost('cantidadF');
if ($producto === null || $cantidadU === null || $cantidadF === null) {
echo CJSON::encode(array('result' => 'error', 'response' => 'Solicitud inválida, no se detectan datos'));
Yii::app()->end();
}
if ($cantidadF < 1 && $cantidadU < 1) {
echo CJSON::encode(array('result' => 'error', 'response' => 'Cantidad no válida'));
Yii::app()->end();
}
$objProducto = Producto::model()->find(array('with' => array('listSaldos' => array('condition' => '(listSaldos.saldoUnidad>:saldo AND listSaldos.codigoCiudad=:ciudad AND listSaldos.codigoSector=:sector) OR (listSaldos.saldoUnidad IS NULL AND listSaldos.codigoCiudad IS NULL AND listSaldos.codigoSector IS NULL)'), 'listPrecios' => array('condition' => '(listPrecios.codigoCiudad=:ciudad AND listPrecios.codigoSector=:sector) OR (listPrecios.codigoCiudad IS NULL AND listPrecios.codigoSector IS NULL)'), 'listSaldosTerceros' => array('condition' => '(listSaldosTerceros.codigoCiudad=:ciudad AND listSaldosTerceros.codigoSector=:sector) OR (listSaldosTerceros.codigoCiudad IS NULL AND listSaldosTerceros.codigoSector IS NULL)')), 'condition' => 't.activo=:activo AND t.codigoProducto=:codigo AND ( (listSaldos.saldoUnidad IS NOT NULL AND listPrecios.codigoCiudad IS NOT NULL) OR listSaldosTerceros.codigoCiudad IS NOT NULL)', 'params' => array(':activo' => 1, ':codigo' => $producto, ':saldo' => 0, ':ciudad' => $objCompra->codigoCiudad, ':sector' => $objCompra->codigoSector)));
if ($objProducto === null) {
echo CJSON::encode(array('result' => 'error', 'response' => 'Producto no disponible'));
Yii::app()->end();
}
$objSaldo = $objProducto->getSaldo($objCompra->codigoCiudad, $objCompra->codigoSector);
if ($objSaldo === null) {
echo CJSON::encode(array('result' => 'error', 'response' => "La cantidad solicitada no está disponible en este momento. No hay unidades disponibles"));
Yii::app()->end();
}
$position = new ProductoCarro($objProducto);
$position->generate(array('objSectorCiudad' => $objCompra->objSectorCiudad, 'codigoPerfil' => $objCompra->codigoPerfil));
if ($cantidadU > 0) {
if ($cantidadU <= $objSaldo->saldoUnidad) {
$position->setQuantity($cantidadU, false);
} else {
echo CJSON::encode(array('result' => 'error', 'response' => "La cantidad solicitada no está disponible en este momento. Saldos disponibles: {$objSaldo->saldoUnidad} unidades"));
Yii::app()->end();
}
}
if ($cantidadF > 0) {
if ($cantidadF <= $objSaldo->saldoFraccion) {
$position->setQuantity($cantidadF, true);
} else {
echo CJSON::encode(array('result' => 'error', 'response' => "La cantidad solicitada no está disponible en este momento. Saldos disponibles: {$objSaldo->saldoFraccion} fracciones"));
Yii::app()->end();
}
}
$transaction = Yii::app()->db->beginTransaction();
try {
$objSaldo->saldoUnidad = $objSaldo->saldoUnidad - ($position->getQuantity() - $position->getQuantityStored());
$objSaldo->saldoFraccion = $objSaldo->saldoFraccion - $position->getQuantity(true);
$objSaldo->save();
$objItem = new ComprasItems();
$objItem->idCompra = $objCompra->idCompra;
$objItem->codigoProducto = $objProducto->codigoProducto;
$objItem->descripcion = $objProducto->descripcionProducto;
$objItem->presentacion = $objProducto->presentacionProducto;
$objItem->precioBaseUnidad = $position->getPrice(false, false);
$objItem->precioBaseFraccion = $position->getPrice(true, false);
$objItem->descuentoUnidad = $position->getDiscountPrice();
$objItem->descuentoFraccion = $position->getDiscountPrice(true);
$objItem->precioTotalUnidad = $position->getSumPriceUnit();
$objItem->precioTotalFraccion = $position->getSumPriceFraction(true);
$objItem->terceros = 0;
$objItem->unidades = $position->getQuantity() - $position->getQuantityStored();
$objItem->fracciones = $position->getQuantity(true);
$objItem->unidadesCedi = $position->getQuantityStored();
$objItem->codigoImpuesto = $objProducto->codigoImpuesto;
$objItem->idEstadoItem = Yii::app()->params->callcenter['estadoItem']['estado']['adicionado'];
$objItem->idOperador = Yii::app()->controller->module->user->id;
//$objItem->idEstadoItemTercero = null;
$objItem->flete = $position->getShipping();
$objItem->disponible = 1;
if (!$objItem->save()) {
throw new Exception("Error al guardar item de compra {$objItem->codigoProducto}. " . $objItem->validateErrorsResponse());
}
//beneficios
foreach ($position->getBeneficios() as $objBeneficio) {
$objBeneficioItem = new BeneficiosComprasItems();
$objBeneficioItem->idBeneficio = $objBeneficio->idBeneficio;
$objBeneficioItem->idBeneficioSincronizado = $objBeneficio->idBeneficioSincronizado;
$objBeneficioItem->idCompraItem = $objItem->idCompraItem;
$objBeneficioItem->tipo = $objBeneficio->tipo;
$objBeneficioItem->fechaIni = $objBeneficio->fechaIni;
$objBeneficioItem->fechaFin = $objBeneficio->fechaFin;
$objBeneficioItem->dsctoUnid = $objBeneficio->dsctoUnid;
$objBeneficioItem->dsctoFrac = $objBeneficio->dsctoFrac;
$objBeneficioItem->vtaUnid = $objBeneficio->vtaUnid;
$objBeneficioItem->vtaFrac = $objBeneficio->vtaFrac;
$objBeneficioItem->pagoUnid = $objBeneficio->pagoUnid;
$objBeneficioItem->pagoFrac = $objBeneficio->pagoFrac;
$objBeneficioItem->cuentaCop = $objBeneficio->cuentaCop;
$objBeneficioItem->nitCop = $objBeneficio->nitCop;
$objBeneficioItem->porcCop = $objBeneficio->porcCop;
$objBeneficioItem->cuentaProv = $objBeneficio->cuentaProv;
$objBeneficioItem->nitProv = $objBeneficio->nitProv;
$objBeneficioItem->porcProv = $objBeneficio->porcProv;
$objBeneficioItem->promoFiel = $objBeneficio->promoFiel;
$objBeneficioItem->mensaje = $objBeneficio->mensaje;
$objBeneficioItem->swobligaCli = $objBeneficio->swobligaCli;
$objBeneficioItem->fechaCreacionBeneficio = $objBeneficio->fechaCreacionBeneficio;
if (!$objBeneficioItem->save()) {
throw new Exception("Error al guardar beneficio de compra {$objBeneficioItem->idCompraItem}. " . $objBeneficioItem->validateErrorsResponse());
}
}
$objCompra->subtotalCompra += $position->getSumPrice();
//.........这里部分代码省略.........
示例15: actionAutoComplete
public function actionAutoComplete()
{
$criteria = new CDbCriteria();
$criteria->compare('LOWER(Descripcion)', strtolower($_GET['term']), true);
// $criteria->compare('LOWER(CodProducto)', strtolower($_GET['term']), true, 'OR');
$criteria->order = 'Descripcion';
$criteria->limit = 30;
$data = Producto::model()->findAll($criteria);
if (!empty($data)) {
$arr = array();
foreach ($data as $item) {
$arr[] = array('id' => $item->CodProducto, 'value' => $item->Descripcion, 'precio' => $item->PreCompra, 'label' => $item->Descripcion, 'saldo' => $item->CanExistencia, 'unidad' => $item->UniMedida);
}
} else {
$arr = array();
$arr[] = array('id' => '', 'value' => 'No se han encontrado resultados para su búsqueda', 'label' => 'No se han encontrado resultados para su búsqueda');
}
echo CJSON::encode($arr);
}