public function postEditcomision() { $comision = VistaComision::find(Input::get('venta_id')); $precio_producto = Precio::where('producto_id', '=', Input::get('producto_id'))->firstorFail(); //si el porentaje es igual al anterior, no hacer nada $comision_update = Comision::find($comision->id); if ($comision->porcentaje != Input::get('porcentaje')) { //determina si el producto es de tipo servicio funeral para sacar el monto comisionable de ese producto $servicio = VistaServicioFuneral::find($comision->producto_id); if (count($servicio) > 0) { $serv = VistaServicioFuneral::find($ervicio->producto_id); $total_comision = $serv->monto_comisionable * (Input::get('porcentaje') / 100); } else { $total_comision = $precio_producto->monto * (Input::get('porcentaje') / 100); } $comision_update->porcentaje = Input::get('porcentaje'); $comision_update->total = $total_comision; $comision_update->total_comisionable = $total_comision; if ($total_comision - $comision->pagado <= 0) { $comision_update->pagada = 1; } } if ($comision->observaciones != Input::get('observaciones_comision')) { # code... $comision_update->observaciones = Input::get('observaciones_comision'); } $comision_update->save(); return Redirect::back(); }
public function saveEdit4($id) { $nuevo_precio = Input::get('precio'); $precio = Precio::find($id); $precio->precio_mzt_dls = $nuevo_precio; $precio->save(); return Redirect::to('precios'); }
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'); }
?> </td> <td class="center vertical-center"><?php echo $objBeneficio->dsctoUnid; ?> %</td> <td class="center vertical-center"><?php echo $objBeneficio->dsctoFrac; ?> %</td> <td class="center vertical-center"><?php echo Yii::app()->numberFormatter->format(Yii::app()->params->formatoMoneda['patron'], Precio::redondear($objItem->precioBaseUnidad * $objBeneficio->dsctoUnid / 100, 1), Yii::app()->params->formatoMoneda['moneda']); ?> </td> <td class="center vertical-center"><?php echo Yii::app()->numberFormatter->format(Yii::app()->params->formatoMoneda['patron'], Precio::redondear($objItem->precioBaseFraccion * $objBeneficio->dsctoFrac / 100, 1), Yii::app()->params->formatoMoneda['moneda']); ?> </td> <!-- <td class="center vertical-center"><?php echo $objBeneficio->nitProv; ?> </td> <td class="center vertical-center"><?php echo $objBeneficio->promoFiel; ?> </td> --> <td class="center vertical-center"><?php echo Yii::app()->params->beneficios['swobligaCli'][$objBeneficio->swobligaCli]; ?> </td> </tr>
public function actualizarFracciones($cantidad) { $cantDiff = $cantidad - $this->fracciones; //igual if ($cantDiff == 0) { echo CJSON::encode(array('result' => 'error', 'response' => 'Actualización exitosa.')); Yii::app()->end(); } //aumentar if ($cantDiff > 0) { $objProducto = Producto::model()->find(array('with' => array('listSaldos' => array('condition' => '(listSaldos.saldoFraccion>:saldo AND listSaldos.codigoCiudad=:ciudad AND listSaldos.codigoSector=:sector) OR (listSaldos.saldoFraccion 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' => $this->codigoProducto, ':saldo' => 0, ':ciudad' => $this->objCompra->codigoCiudad, ':sector' => $this->objCompra->codigoSector))); if ($objProducto === null) { throw new Exception('Producto no disponible.'); } $objSaldo = $objProducto->getSaldo($this->objCompra->codigoCiudad, $this->objCompra->codigoSector); if ($objSaldo === null) { throw new Exception("La cantidad solicitada no está disponible en este momento. No hay unidades disponibles"); } if ($cantDiff > $objSaldo->saldoFraccion) { throw new Exception("La cantidad solicitada no está disponible en este momento. Saldos disponibles: {$objSaldo->saldoFraccion} fracciones"); } } $precioTotal = $this->precioBaseFraccion - $this->descuentoFraccion; $precioDiff = $precioTotal * $cantDiff; $this->fracciones += $cantDiff; $this->precioTotalFraccion += $precioDiff; $this->idEstadoItem = Yii::app()->params->callcenter['estadoItem']['estado']['modificado']; $this->idOperador = Yii::app()->controller->module->user->id; $objCompra = $this->objCompra; $objCompra->subtotalCompra += $precioDiff; $objCompra->impuestosCompra += round(Precio::calcularImpuesto($precioDiff, $this->objImpuesto->porcentaje)); $objCompra->baseImpuestosCompra += round(Precio::calcularBaseImpuesto($precioDiff, $this->objImpuesto->porcentaje)); $objCompra->totalCompra += $precioDiff; if ($this->unidades + $this->fracciones == 0) { $objCompra->flete -= $this->flete; } $transaction = Yii::app()->db->beginTransaction(); if (!$this->save()) { try { $transaction->rollBack(); } catch (Exception $txexc) { Yii::log($txexc->getMessage() . "\n" . $txexc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application'); } throw new Exception('Error de actualización item: ' . $this->validateErrorsResponse()); } if ($objCompra->totalCompra < 0) { try { $transaction->rollBack(); } catch (Exception $txexc) { Yii::log($txexc->getMessage() . "\n" . $txexc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application'); } throw new Exception('Total compra no puede ser negativo'); } if (!$objCompra->save()) { try { $transaction->rollBack(); } catch (Exception $txexc) { Yii::log($txexc->getMessage() . "\n" . $txexc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application'); } throw new Exception('Error de actualización compra: ' . $objCompra->validateErrorsResponse()); } $transaction->commit(); }
public function metabolic() { $precio = Precio::metabolic()->get(); return View::make('front.metabolic')->with(compact('precio')); }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($idPrecio) { $precio = Precio::find($idPrecio); $precio->delete(); return Response::json(array('error' => false, 'message' => 'Precio eliminado'), 200); }
public function actionPrecio() { $precio = 107.5; echo "modulo: " . $precio % 50; echo "<br>"; $precio = Precio::redondear($precio, 0); echo $precio; }
public function getBaseTaxPrice($total = false) { $base = 0.0; if ($total) { $base = Precio::calcularBaseImpuesto($this->getPrice(true) * $this->quantityFraction, $this->tax) + Precio::calcularBaseImpuesto($this->getPrice() * ($this->quantityUnit + $this->quantityStored), $this->tax); } else { $base = Precio::calcularBaseImpuesto($this->getPrice(), $this->tax); } return round($base); }
public function postRenovacion() { $precio = Precio::where('producto_id', Input::get('producto_id'))->where('activo', 1)->firstorfail(); $mtto_detalle = VistaDetalleMantenimiento::find(Input::get('id')); $mtto_catalogo = Mantenimiento::where('producto_id', Input::get('producto_id'))->firstorfail(); //para obtener los meses a sumar en el mantenimiento renovado $vencimiento_actual = $mtto_detalle->fecha_fin; $vencimiento_actual_carbon = Carbon::parse($vencimiento_actual); //validar formulario $rules = array('forma_pago' => 'required'); if (Input::get('valor_efectivo') == 1 and Input::has('efectivo')) { $rules['efectivo'] = 'required|numeric|integer'; } if (Input::get('valor_credito') == 1 and Input::has('credito')) { $rules['credito'] = 'required|numeric|integer'; } if (Input::get('valor_debito') == 1 and Input::has('debito')) { $rules['debito'] = 'required|numeric|integer'; } $messages = array('required' => 'Capture :attribute', 'numeric' => 'solo números', 'integer' => 'solo se aceptan valores enteros'); $validator = Validator::make(Input::all(), $rules, $messages); if ($validator->fails()) { return Redirect::back()->withInput()->withErrors($validator); } //mantenimiento vencido toma la fecha de hoy if ($mtto_detalle->vencido == 1 and $mtto_detalle->venta_mantenimiento_activo == 1) { $inicio_renovacion_carbon = Carbon::now()->toDateString(); $vencimiento_renovacion_carbon = Carbon::parse($inicio_renovacion_carbon)->addMonths($mtto_catalogo->meses)->toDateString(); } elseif ($mtto_detalle->vencido == 0 and $mtto_detalle->venta_mantenimiento_activo == 1) { $inicio_renovacion_carbon = $vencimiento_actual_carbon->addDays(1)->toDateString(); $vencimiento_renovacion_carbon = Carbon::parse($inicio_renovacion_carbon)->addMonths($mtto_catalogo->meses)->toDateString(); } /*"precio"." ".$precio->monto*1.16." "."vencimiento actual "." ".$vencimiento_actual." ". "vencimiento contratado "." ". $vencimiento_renovacion_carbon ." "."meses"." ".$mtto_catalogo->meses." "."inicio del nuevo mantenimiento "." ". $inicio_renovacion_carbon;*/ //registrar venta $venta = new Venta(); $venta->cliente_id = Input::get('cliente_id'); $venta->folio_solicitud = Input::get('folio_solicitud'); $venta->total = $precio->monto * Input::get('iva'); if (Input::get('comentarios')) { $venta->comentarios = Input::get('comentarios'); } $venta->save(); //registrar detalle de venta $venta_producto = new VentaProducto(); $venta_producto->venta_id = $venta->id; $venta_producto->producto_id = Input::get('producto_id'); $venta_producto->cantidad = 1; $venta_producto->total = $precio->monto * Input::get('iva'); $venta_producto->precio_unitario = $precio->monto; $venta_producto->iva = (Input::get('iva') - 1) * 100; $venta_producto->save(); //registra venta de mantenimiento $venta_mantenimiento = new VentaMantenimiento(); $venta_mantenimiento->venta_producto_id = $venta_producto->id; $venta_mantenimiento->empleado_id = 4; $venta_mantenimiento->lote_id = Input::get('lote_id'); $venta_mantenimiento->fecha_inicio = $inicio_renovacion_carbon; $venta_mantenimiento->fecha_fin = $vencimiento_renovacion_carbon; $venta_mantenimiento->nuevo = 0; $venta_mantenimiento->activo = 1; $venta_mantenimiento->save(); //genera recibo $recibo = new Recibo(); $recibo->venta_id = $venta->id; $recibo->fecha_limite = $inicio_renovacion_carbon; $recibo->monto = $venta_producto->total; $recibo->cancelado = 0; $recibo->pagado = 1; $recibo->mensajero = 0; $recibo->save(); //registra pago(s) if (Input::has('efectivo')) { $efectivo = Input::get('efectivo'); $pago_efectivo = new Pago(); $pago_efectivo->recibo_id = $recibo->id; $pago_efectivo->forma_pago_id = 1; $pago_efectivo->monto = $efectivo; $pago_efectivo->usuario_id = Auth::user()->id; $pago_efectivo->save(); } if (Input::has('credito')) { $efectivo = Input::get('credito'); $pago_efectivo = new Pago(); $pago_efectivo->recibo_id = $recibo->id; $pago_efectivo->forma_pago_id = 2; $pago_efectivo->monto = $efectivo; $pago_efectivo->usuario_id = Auth::user()->id; $pago_efectivo->save(); } if (Input::has('debito')) { $efectivo = Input::get('debito'); $pago_efectivo = new Pago(); $pago_efectivo->recibo_id = $recibo->id; $pago_efectivo->forma_pago_id = 5; $pago_efectivo->monto = $efectivo; $pago_efectivo->usuario_id = Auth::user()->id; $pago_efectivo->save(); } //actualiza registro anterior de venta de mantenimiento ya que dejará de ser "nuevo" $venta_mantenimiento_actualiza = VentaMantenimiento::find($mtto_detalle->id); $venta_mantenimiento_actualiza->nuevo = 0; $venta_mantenimiento_actualiza->activo = 0; $venta_mantenimiento_actualiza->save(); //actualiza el ultimo consecutivo de folios de mantenimiento en tabla de configuracion general $config_gral = ConfiguracionGeneral::find(Input::get('config_gral_id')); $config_gral->folio_mtto = Input::get('folio_solicitud'); $config_gral->save(); return Redirect::to('mantenimiento'); }
break; case 'registrar plan pagos': $ap = Registro::listaActividadesPlanificacion($usuario); $actividadesPlanificacion = '<select class="btn-primary" name="actividades" multiple="multiple">'; for ($i = 0; $i < count($ap); $i++) { $f = new FechaRealizacion($ap[$i][0]); $actividadesPlanificacion .= '<option data-fecha="' . $f->getFecha() . '" value="' . $ap[$i][1] . '">' . $ap[$i][1] . '</option>'; } $actividadesPlanificacion .= '</select>'; $e = Entregable::listaEntregables($usuario); $entregables = '<select class="btn-primary" name="entregables" multiple="multiple">'; for ($i = 0; $i < count($e); $i++) { $entregables .= '<option value="' . $e[$i] . '">' . $e[$i] . '</option>'; } $entregables .= '</select>'; $p = new Precio($usuario); $costo = $p->getPrecio(); echo '<div id="registroPago"> <legend>Registro de pago para el plan de pagos</legend> <div class="bs-callout bs-callout-info"> <h4>Nota</h4> <p> Registre un pago para su plan de pagos... </p> </div> <form class="form-horizontal"> <div class="form-group"> <label class="col-md-3 control-label">Actividad</label> <div class="col-md-6"> ' . $actividadesPlanificacion . ' </div>
public function getCatalogo($cat) { $rol = Auth::user()->rol_id; $data[] = null; $data['catalogo'] = $cat; switch ($cat) { case 'Almacen': $data['almacenes'] = Almacen::all(); break; case 'Cliente': $data['clientes'] = DB::table('cliente')->leftJoin('usuario', 'usuario.id', '=', 'cliente.usuario_id')->leftJoin('usuario as usuarioAg', 'usuarioAg.id', '=', 'cliente.agente_id')->leftJoin('Nivel_Descuento', 'Nivel_Descuento.id', '=', 'cliente.nivel_descuento_id')->select('cliente.id', 'cliente.rfc', 'cliente.nombre_cliente', 'cliente.paterno', 'cliente.materno', 'cliente.nombre_comercial', 'cliente.razon_social', 'cliente.numero_cliente', 'cliente.agente_id as idAgente', 'cliente.nivel_descuento_id as idDescuento', 'usuario.usuario', 'usuario.email', 'usuario.id as idUsuario', 'usuarioAg.usuario as agente', 'nivel_descuento.descripcion as descripcion')->get(); break; case 'Comercializador': $data['comercializadores'] = Comercializador::all(); break; case 'NivelDescuento': $data['descuentos'] = NivelDescuento::all(); break; case 'Estados': $data['estados'] = Estado::all(); $data['paises'] = Pais::all(); break; case 'Familias': $data['familias'] = Familia::all(); $data['descuentos'] = DB::table('descuento')->where('estatus', '=', '1')->get(); break; case 'FormaPago': $data['formasPago'] = FormaDePago::all(); break; case 'Importador': $data['importador'] = Importador::all(); break; case 'Mensajeria': $data['Mensajeria'] = Mensajeria::all(); break; case 'Municipios': $data['municipios'] = Municipio::all(); $data['estados'] = Estado::all(); break; case 'NivelDescuento': $data['nivelDescuento'] = nivel_descuento::all(); break; case 'Pais': $data['pais'] = Pais::all(); break; case 'Precio': $data['precio'] = Precio::all(); break; case 'Producto': $data['producto'] = DB::table('producto')->leftJoin('unidad_medida as uMedida', 'uMedida.id', '=', 'producto.unidad_medida_id')->leftJoin('importador', 'importador.id', '=', 'producto.importador_id')->leftJoin('almacen', 'almacen.id', '=', 'producto.almacen_id')->leftJoin('familia', 'familia.id', '=', 'producto.familia_id')->select('producto.id as idProd', 'producto.clave', 'producto.nombre', 'producto.numero_articulo', 'producto.ean_code', 'producto.color', 'producto.numero_color', 'producto.unidad_medida_id', 'producto.piezas_paquete', 'producto.dimensiones', 'producto.piezas_pallet', 'producto.total_piezas', 'producto.foto', 'producto.importador_id', 'producto.almacen_id', 'producto.familia_id', 'producto.estatus_web', 'producto.estatus', 'uMedida.descripcion as descrUMedida', 'importador.nombre', 'almacen.clave as cveAlmacen', 'familia.descripcion as descrFamilia')->get(); break; case 'Proveedor': $data['proveedor'] = DB::table('proveedor')->leftJoin('comercializador', 'comercializador.id', '=', 'proveedor.comercializador_id')->select('proveedor.id as id', 'proveedor.nombre', 'proveedor.nombre_comercial', 'proveedor.razon_social', 'proveedor.estatus', 'proveedor.comercializador_id as idComercializador', 'comercializador.nombre as comercializador')->get(); break; case 'Rol': $data['rol'] = Rol::all(); break; case 'UnidadMedida': $data['unidadMedida'] = UnidadMedida::all(); break; case 'Usuario': $data['usuario'] = Usuario::all(); break; default: # code... break; } return View::make('admin/catalogo', $data); }
for ($i = 0; $i < count($entregables); $i++) { $entregable = new Entregable($usuario, $entregables[$i], $descripciones[$i]); $entregable->insertarBD(); } $planificacion->setEstado('registrar costo total proyecto'); $planificacion->modificarBD(); echo '<div class="alert alert-success"> <strong>Entregables registrados...</strong> </div> <script>$("#page-wrapper").load("vista-registrar-planificacion.php");</script>'; break; case 'registrar costo total proyecto': $costo = $_POST['costo']; $porcentajeA = $_POST['porcentajeA']; //$porcentajeA = 70; $precio = new Precio($usuario, $costo); $precio->setPorcentajeA($porcentajeA); $precio->insertarBD(); $planificacion->setEstado('registrar plan pagos'); $planificacion->modificarBD(); echo '<div class="alert alert-success"> <strong>Costo total proyecto registrado...</strong> </div> <script>$("#page-wrapper").load("vista-registrar-planificacion.php");</script>'; break; case 'registrar plan pagos': $actividades = explode(',', $_POST['actividades']); $fechas = explode(',', $_POST['fechas']); $porcentajes = explode(',', $_POST['porcentajes']); $montos = explode(',', $_POST['montos']); $entregables = explode('|', $_POST['entregables']);
public function run() { DB::table('Precios')->delete(); Precio::create(array('nombre' => 'Lunes, Martes y Jueves', 'tipo' => '3D', 'precio' => '35000', 'funcionarioId' => '1')); }