feat: 导入物料明细支持直接从名称等匹配

This commit is contained in:
caoqianming 2025-11-14 14:44:39 +08:00
parent 75305bd1fd
commit 0141e539e7
1 changed files with 16 additions and 7 deletions

View File

@ -137,18 +137,27 @@ def daoru_mioitems(path:str, mio:MIO):
mioitems = [] mioitems = []
ind = 2 ind = 2
while sheet[f"a{ind}"].value: while sheet[f"a{ind}"].value:
batch = sheet[f"b{ind}"].value batch = sheet[f"e{ind}"].value
material_number = sheet[f"a{ind}"].value material_number = sheet[f"a{ind}"].value
try: if material_number:
material = Material.objects.get(number=material_number) try:
except Exception as e: material = Material.objects.get(number=material_number)
raise ParseError(f"未找到物料:{material_number} {e}") except Exception as e:
raise ParseError(f"未找到物料:{material_number} {e}")
else:
material_name = sheet[f"b{ind}"].value
material_model = sheet[f"c{ind}"].value
material_specification = sheet[f"d{ind}"].value
try:
material = Material.objects.get(name=material_name, model=material_model, specification=material_specification)
except Exception as e:
raise ParseError(f"未找到物料:{material_name} {material_model} {material_specification} {e}")
if batch: if batch:
pass pass
else: else:
batch = "" batch = ""
count = sheet[f"c{ind}"].value count = sheet[f"f{ind}"].value
warehouse_name = sheet[f"d{ind}"].value warehouse_name = sheet[f"g{ind}"].value
try: try:
warehouse = WareHouse.objects.get(name=warehouse_name) warehouse = WareHouse.objects.get(name=warehouse_name)
except Exception as e: except Exception as e: