コード例 #1
0
ファイル: main.py プロジェクト: AngyLorena/Sprint2
async def salida_producto(salidaInventario_in: SalidaIn):

    producto_in_db = get_producto(salidaInventario_in.codigo_prod)

    if producto_in_db == None:
        raise HTTPException(status_code=404,
                            detail="El producto no ha sido creado")

    if producto_in_db.cantidad_prod < salidaInventario_in.cantidad_prod:
        raise HTTPException(status_code=400,
                            detail="No hay suficiente stock de inventario")

    producto_in_db.cantidad_prod = producto_in_db.cantidad_prod - salidaInventario_in.cantidad_prod
    update_producto(producto_in_db)

    salidaInventario_in_db = InventarioInDB(
        **salidaInventario_in.dict(),
        cantidad_actual=producto_in_db.cantidad_prod,
        costo_actual=producto_in_db.costo_unit_prod,
        costo_prod_ent=0)
    salidaInventario_in_db = save_salida(salidaInventario_in_db)

    salidaInventario_out = SalidaOut(**salidaInventario_in_db.dict())

    return salidaInventario_out
コード例 #2
0
ファイル: main.py プロジェクト: AngyLorena/Sprint2
async def ingreso_producto(entradaInventario_in: EntradaIn):

    producto_in_db = get_producto(entradaInventario_in.codigo_prod)

    if producto_in_db == None:
        raise HTTPException(status_code=404,
                            detail="El producto no ha sido creado")

    producto_in_db.costo_unit_prod = (
        ((producto_in_db.cantidad_prod * producto_in_db.costo_unit_prod) +
         (entradaInventario_in.cantidad_prod *
          entradaInventario_in.costo_prod_ent)) /
        (producto_in_db.cantidad_prod + entradaInventario_in.cantidad_prod))
    producto_in_db.cantidad_prod = producto_in_db.cantidad_prod + entradaInventario_in.cantidad_prod

    update_producto(producto_in_db)

    entradaInventario_in_db = InventarioInDB(
        **entradaInventario_in.dict(),
        cantidad_actual=producto_in_db.cantidad_prod,
        costo_actual=producto_in_db.costo_unit_prod)
    entradaInventario_in_db = save_entrada(entradaInventario_in_db)

    entradaInventario_out = EntradaOut(**entradaInventario_in_db.dict())

    return entradaInventario_out