示例#1
0
 /**
  * Performs the work of inserting or updating the row in the database.
  *
  * If the object is new, it inserts it; otherwise an update is performed.
  * All related objects are also updated in this method.
  *
  * @param PropelPDO $con
  * @return int             The number of rows affected by this insert/update and any referring fk objects' save() operations.
  * @throws PropelException
  * @see        save()
  */
 protected function doSave(PropelPDO $con)
 {
     $affectedRows = 0;
     // initialize var to track total num of affected rows
     if (!$this->alreadyInSave) {
         $this->alreadyInSave = true;
         // We call the save method on the following object(s) if they
         // were passed to this object by their coresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aProducto !== null) {
             if ($this->aProducto->isModified() || $this->aProducto->isNew()) {
                 $affectedRows += $this->aProducto->save($con);
             }
             $this->setProducto($this->aProducto);
         }
         if ($this->isNew() || $this->isModified()) {
             // persist changes
             if ($this->isNew()) {
                 $this->doInsert($con);
             } else {
                 $this->doUpdate($con);
             }
             $affectedRows += 1;
             $this->resetModified();
         }
         $this->alreadyInSave = false;
     }
     return $affectedRows;
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $producto = new Producto($request->all());
     $this->validate($request, ['nombre' => 'required|min:5|max:50|unique:productos,nombre', 'codigo' => 'required|max:30|unique:productos,codigo', 'categoria_id' => 'required', 'subcategoria_id' => 'required']);
     $producto->save();
     if ($request->file('imagen')) {
         $file = $request->file('imagen');
         $name = 'producto_' . time() . '.' . $file->getClientOriginalExtension();
         //public_path() hace referencia a la carpeta public, pero en el hosting hay uqe cambiarlo, estoy se hace con una
         //funcion uqe se encuentra en el archivo index.php uqe esta en la carpeta public en el hosting
         $path = public_path() . '/images/productos/';
         $file->move($path, $name);
         $imagen = new Imagen();
         $imagen->nombre = $name;
         $imagen->producto_id = $producto->id;
         $imagen->save();
     } else {
         $imagen = new Imagen();
         $imagen->nombre = "sin_imagen.jpg";
         $imagen->producto_id = $producto->id;
         $imagen->save();
     }
     Flash::success('Producto ' . $producto->name . ' registrada exitosamente!!');
     return redirect()->route('admin.productos.index');
 }
示例#3
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store()
 {
     $Producto = new Producto();
     $Producto->nombre = Input::get('nombre');
     $Producto->referencia = Input::get('referencia');
     $Producto->pvp = Input::get('pvp');
     $Producto->marca_id = Input::get('marca_id');
     $Producto->unidad_medida_id = Input::get('unidad_medida_id');
     $validar = Validator::make(Input::all(), $this->reglas);
     if ($validar->fails()) {
         $return['ok'] = false;
         $return['msg'] = $validar->messages();
         return $return;
     } else {
         if ($Producto->save()) {
             $return['ok'] = true;
             $return['msg'] = 'El producto ha sido guardado';
             return $return;
         } else {
             $return['ok'] = false;
             $return['msg'] = 'No se pudo crear el registro';
             return $return;
         }
     }
 }
示例#4
0
 public static function ingresandoproducto($codigo, $descripcion, $cuenta, $ubicacion, $unidad, $cantidad, $precio, $ingreso_id)
 {
     $cuenta = Cuenta::where('nombre_cuenta', '=', $cuenta)->first();
     $producto = Producto::where('codigo_interno', '=', $codigo)->first();
     if ($producto != null) {
         //actualizando la existencia del producto en la tabla central
         $producto->existencias = $producto->existencias + $cantidad;
         $producto->precio = $precio;
         $producto->ubicacion = $ubicacion;
         $producto->save();
     } else {
         $p = new Producto();
         $p->codigo_interno = $codigo;
         $p->descripcion = $descripcion;
         $p->cuenta_id = $cuenta->id;
         $p->ubicacion = $ubicacion;
         $p->precio = $precio;
         $p->existencias = $cantidad;
         $p->unidad = $unidad;
         $p->nivel = Session::get('nivel');
         $p->save();
         //Guardando codigo 	QR
         DNS2D::getBarcodePNGPath($codigo, "QRCODE", 20, 20);
         //selecionando el producto recien guardado
         $producto = Producto::where('codigo_interno', '=', $codigo)->first();
     }
     //ingresando en la tabla  mediatica de producto e ingreso para futuras referencias y saber cuantos productos fueron ingresados en un producto
     $ing_pro = new Ingresoproducto();
     $ing_pro->ingreso_id = $ingreso_id;
     $ing_pro->producto_id = $producto->id;
     $ing_pro->cantidad = $cantidad;
     $ing_pro->precio = $precio;
     $ing_pro->fecha = date('Y-m-d');
     $ing_pro->save();
 }
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $model = new Producto();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Producto'])) {
         $model->attributes = $_POST['Producto'];
         $model->producto_fecha_ingreso = new CDbExpression('NOW()');
         if ($model->save()) {
             $model->producto_codigo = 'PR-' . str_pad($model->producto_id, 5, "0", STR_PAD_LEFT);
             $model->save();
             $this->redirect(array('view', 'id' => $model->producto_id));
         }
     }
     $this->render('create', array('model' => $model));
 }
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $model = new Producto();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Producto'])) {
         $model->attributes = $_POST['Producto'];
         if ($model->save()) {
             $this->redirect(array('view', 'id' => $model->id));
         }
     }
     $this->render('create', array('model' => $model));
 }
示例#7
0
 public function actionCreate()
 {
     $model = new Producto();
     if (isset($_POST['Producto'])) {
         $model->setAttributes($_POST['Producto']);
         if ($model->save()) {
             if (Yii::app()->getRequest()->getIsAjaxRequest()) {
                 Yii::app()->end();
             } else {
                 $this->redirect(array('view', 'id' => $model->id));
             }
         }
     }
     $this->render('create', array('model' => $model));
 }
示例#8
0
 public function saveProducto()
 {
     $this->load->model(array('Producto'));
     //header("Content-type: application/json");
     $postdata = file_get_contents("php://input");
     $request = json_decode($postdata);
     $producto = new Producto();
     $codigo = $request->codigo;
     if ($producto->countWhere(array('codigo' => $codigo)) > 0) {
         if (!$request->edit) {
             echo json_encode(array("success" => false, 'error' => array('codigo' => "El código {$codigo} ya existe")));
             return;
         }
     }
     $producto->codigo = $request->codigo;
     $producto->descripcion = $request->descripcion;
     $producto->unidad = isset($request->unidad) ? $request->unidad : "";
     $producto->precio = $request->precio;
     $producto->iva = $request->iva->id;
     $producto->ieps = isset($request->ieps) ? $request->ieps : "";
     echo json_encode(array("success" => $producto->save()));
 }
示例#9
0
     $produ->Tipo = $p->Tipo;
     $produ->Condicion = $p->Condicion;
     $produ->GravaImpuesto = $p->GravaImpuesto;
     $produ->Fragil = $p->Fragil;
     $produ->Refrigerado = $p->Refrigerado;
     $produ->Toxico = $p->Toxico;
     $produ->PrincipioActivo = $p->PrincipioActivo;
     $produ->Clase = $p->Clase;
     $produ->Nuevo = $p->Nuevo;
     $produ->Marca = $p->Marca;
     $produ->ISV = $p->ISV;
     $produ->UMF = $p->UMF;
     $produ->PorcentajeUMF = $p->PorcentajeUMF;
     $produ->Ingreso = $p->Ingreso;
     $produ->Administrado = $p->Administrado;
     $produ->save();
 } else {
     $produ = Producto::find($prod->id);
     $produ->Codigo = $p->Codigo;
     $produ->CodigoBarra = $p->CodigoBarra;
     $produ->CodigoLaboratorio = $p->CodigoLaboratorio;
     $produ->Nombre = $p->Nombre;
     $produ->Tipo = $p->Tipo;
     $produ->Condicion = $p->Condicion;
     $produ->GravaImpuesto = $p->GravaImpuesto;
     $produ->Fragil = $p->Fragil;
     $produ->Refrigerado = $p->Refrigerado;
     $produ->Toxico = $p->Toxico;
     $produ->PrincipioActivo = $p->PrincipioActivo;
     $produ->Clase = $p->Clase;
     $produ->Nuevo = $p->Nuevo;
 public function postProductocombo()
 {
     $producto_combo = new Producto();
     $producto_combo->nombre = Input::get('nombre_producto_c');
     $producto_combo->departamento_id = Input::get('departamento_id_producto');
     $producto_combo->servicio = Input::get('tipo_producto');
     $producto_combo->porcentaje_comision = Input::get('porcentaje_comision_producto');
     $producto_combo->porcentaje_minimo_comisionable = Input::get('porcentaje_minimo_comisionable_producto');
     $producto_combo->combo = 1;
     $producto_combo->save();
     $precio_producto = new Precio();
     $precio_producto->producto_id = $producto_combo->id;
     $precio_producto->monto = Input::get('monto_producto') / 1.16;
     $precio_producto->save();
     return Redirect::back()->with('status', 'producto_created')->with('tab', 'tab3')->with('registro', 'edit_tab3');
 }
示例#11
0
    function agregar()
    {
        $this->form_validation->set_rules('nombre', 'nombre', 'required|max_length[25]');
        $this->form_validation->set_rules('vigencia', 'vigencia', 'required');
        $this->form_validation->set_rules('precio', 'precio', 'required|is_numeric');

        $this->form_validation->set_error_delimiters('<span class="validate_error">', '</span>');
        $this->template->set_partial("formulario", "menus/formulario");
    
        $this->datos["producto"] = array(
            'nombre' => '',
            'vigencia' => '',
            'precio' => ''
        );
        if ($this->form_validation->run() == false) { // validation hasn'\t been passed
        
            $this->template->title('Agregar producto');
            $this->template->build('menus/agregar',$this->datos);
            //$this->load->view("menus/agregar",$this->datos);

        } else {
            $form_data = array(
                'nombre' => set_value('nombre'), 
                'vigencia' => $this->fechas->cambiaf_a_mysql(set_value('vigencia')), 
                'precio' => set_value('precio')
            );
            
   
            
            try {

                $config['upload_path'] = './uploads/';
                $config['allowed_types'] = 'doc|docx|word|rtf|text|txt';
                $config['max_size'] = '100';


                $this->load->library('upload', $config);

                if (!$this->upload->do_upload()) {
                    $this->datos["error"] = $this->upload->display_errors();
                    $this->template->build('menus/agregar', $this->datos);
                    //$this->load->view("menus/agregar",$this->datos);
                } else {
                    $data = array('upload_data' => $this->upload->data());
                    $producto = new Producto();
                    $producto->fromArray($form_data);
                    $producto->save();

                    $this->session->set_flashdata('mensaje', "Usuario creado correctamente");
                    
                    redirect("menus","refresh");
                }

            }
            catch (Doctrine_Exception $ex) {

                echo 'An error occurred saving your information. Please try again later';

            }
            
        }
    }
示例#12
0
 /**
  * @name            obtenerCatalogo
  * 
  * @description     Retorna listado de productos, dado a que la información 
  *                  de los maestros no cambian frecuentemente se recomienda 
  *                  que su llamado se haga máximo una vez al día.
  */
 public function obtenerCatalogo()
 {
     $chequeado = DB::table('chequeo_productos')->where('user_id', '=', Auth::user()->id)->where('fecha', '=', Fecha::arreglarFecha2(Fecha::fechaActual()))->first();
     if (!$chequeado) {
         DB::insert("INSERT INTO ldcsyste_dbskutools.`chequeo_productos` (user_id, fecha, hora) VALUES(?, CURRENT_DATE(),CURRENT_TIME())", array(Auth::user()->id));
         set_time_limit(10000);
         $autorizacion = json_decode($this->obtenerTokenUsuario());
         $option = ['http' => ['method' => 'GET', 'header' => ['Authorization: GUID ' . $autorizacion->Guid, 'Content-Type: application/json']]];
         $context = stream_context_create($option);
         $productos = json_decode(file_get_contents("http://test.dronena.com:8083/REST/Cloud/Producto/Catalogo/Cliente/" . Auth::user()->Codigo_Cliente, false, $context));
         if ($productos) {
             foreach ($productos->Catalogo->Producto as $p) {
                 $prod = DB::table('productos')->where('Codigo', '=', $p->Codigo)->where('CodigoBarra', '=', $p->CodigoBarra)->first();
                 // El producto no existe en base de datos (se agrega a la base de datos)
                 if (!$prod) {
                     //echo "No encontrado codigo: ".$p->Codigo."<br>";
                     $produ = new Producto();
                     $produ->Codigo = $p->Codigo;
                     $produ->CodigoBarra = $p->CodigoBarra;
                     $produ->CodigoLaboratorio = $p->CodigoLaboratorio;
                     $produ->Nombre = $p->Nombre;
                     $produ->Tipo = $p->Tipo;
                     $produ->Condicion = $p->Condicion;
                     $produ->GravaImpuesto = $p->GravaImpuesto;
                     $produ->Fragil = $p->Fragil;
                     $produ->Refrigerado = $p->Refrigerado;
                     $produ->Toxico = $p->Toxico;
                     $produ->PrincipioActivo = $p->PrincipioActivo;
                     $produ->Clase = $p->Clase;
                     $produ->Nuevo = $p->Nuevo;
                     $produ->Marca = $p->Marca;
                     $produ->ISV = $p->ISV;
                     $produ->UMF = $p->UMF;
                     $produ->PorcentajeUMF = $p->PorcentajeUMF;
                     $produ->Ingreso = $p->Ingreso;
                     $produ->Administrado = $p->Administrado;
                     $produ->save();
                 } else {
                     $produc = Producto::find($prod->id);
                     $produc->Codigo = $p->Codigo;
                     $produc->CodigoBarra = $p->CodigoBarra;
                     $produc->CodigoLaboratorio = $p->CodigoLaboratorio;
                     $produc->Nombre = $p->Nombre;
                     $produc->Tipo = $p->Tipo;
                     $produc->Condicion = $p->Condicion;
                     $produc->GravaImpuesto = $p->GravaImpuesto;
                     $produc->Fragil = $p->Fragil;
                     $produc->Refrigerado = $p->Refrigerado;
                     $produc->Toxico = $p->Toxico;
                     $produc->PrincipioActivo = $p->PrincipioActivo;
                     $produc->Clase = $p->Clase;
                     $produc->Nuevo = $p->Nuevo;
                     $produc->Marca = $p->Marca;
                     $produc->ISV = $p->ISV;
                     $produc->UMF = $p->UMF;
                     $produc->PorcentajeUMF = $p->PorcentajeUMF;
                     $produc->Ingreso = $p->Ingreso;
                     $produc->Administrado = $p->Administrado;
                     $produc->save();
                 }
             }
         }
     }
 }
示例#13
0
function compraCarrito()
{
    $mdb2 = conectar();
    $ventas = new Venta($mdb2['dsn']);
    $ventas->setSelect('idVenta');
    $ventas->addSelect(TABLA_PRODUCTO . '.idProducto AS idProducto');
    $ventas->addSelect(TABLA_PRODUCTO . '.vecesComprado AS vecesComprado');
    $ventas->setWhere("idUsuario = " . $_SESSION['usuario']['idUsuario']);
    $ventas->addWhere("carrito = 1");
    $ventas->setJoin(TABLA_PRODUCTO, "venta.idProducto = " . TABLA_PRODUCTO . ".idProducto", inner);
    $ventas = $ventas->getAll();
    for ($i = 0; $i < sizeof($ventas); $i++) {
        $arrayData = array("idProducto" => $ventas[$i]["idProducto"], "vecesComprado" => $ventas[$i]["vecesComprado"] + 1);
        $producto = new Producto($mdb2['dsn']);
        $producto->save($arrayData);
        $arrayData = array("idVenta" => $ventas[$i]['idVenta'], "carrito" => 0, "fecha" => date("Y-m-d H:i:s"));
        $venta = new Venta($mdb2['dsn']);
        $venta->save($arrayData);
    }
}