mirror of
https://github.com/inventree/demo-dataset.git
synced 2025-04-27 21:16:50 +00:00
68 lines
1.4 KiB
Python
68 lines
1.4 KiB
Python
from inventree.api import InvenTreeAPI
|
|
|
|
from inventree.part import Part, PartCategory
|
|
from inventree.stock import StockItem, StockLocation
|
|
from inventree.company import SupplierPart
|
|
|
|
import random
|
|
import sys
|
|
|
|
INVENTREE_URL = "http://localhost:8000"
|
|
INVENTREE_USERNAME = "admin"
|
|
INVENTREE_PASSWORD = "inventree"
|
|
|
|
api = InvenTreeAPI(INVENTREE_URL, username=INVENTREE_USERNAME, password=INVENTREE_PASSWORD)
|
|
|
|
capacitors = Part.list(api, category=6)
|
|
|
|
storage = StockLocation(api, pk=8)
|
|
|
|
count = 0
|
|
|
|
for cap in capacitors:
|
|
|
|
if random.random() > 0.65:
|
|
continue
|
|
|
|
# Get the first matching supplierpart
|
|
sp_list = SupplierPart.list(api, part=cap.pk)
|
|
|
|
for sp in sp_list:
|
|
if random.random() > 0.6:
|
|
continue
|
|
|
|
status = 10
|
|
|
|
q = random.random()
|
|
|
|
quantity = 1000
|
|
|
|
if q < 0.1:
|
|
quantity = 500
|
|
|
|
elif q > 0.85:
|
|
quantity = 4000
|
|
|
|
if random.random() < 0.2:
|
|
quantity += int(random.random() * 2000)
|
|
|
|
if random.random() > 0.95:
|
|
status = 55 # Damaged
|
|
elif random.random() > 0.95:
|
|
status = 50 # Attention
|
|
|
|
StockItem.create(api, data={
|
|
'location': storage.pk,
|
|
'part': cap.pk,
|
|
'quantity': quantity,
|
|
'supplier_part': sp.pk,
|
|
'packaging': 'reel',
|
|
'status': status,
|
|
})
|
|
|
|
count += 1
|
|
|
|
print(f"Created {count} new stock items")
|
|
|
|
|