diff --git a/apps/mtm/services.py b/apps/mtm/services.py index 73f7e213..06cac779 100644 --- a/apps/mtm/services.py +++ b/apps/mtm/services.py @@ -73,21 +73,24 @@ def daoru_material(path: str): type_str = sheet[f'b{i}'].value.replace(' ', '') try: type = type_dict[type_str] - number = sheet[f'a{i}'].value.replace(' ', '') - name = sheet[f'c{i}'].value.replace(' ', '') + number = sheet[f'a{i}'].value.replace(' ', '') if sheet[f'a{i}'].value else None + if sheet[f'c{i}'].value: + name = sheet[f'c{i}'].value.replace(' ', '') + else: + raise ParseError(f'{i}行物料信息错误: 物料名称必填') specification = sheet[f'd{i}'].value.replace( - '×', '*').replace(' ', '') - model = sheet[f'e{i}'].value.replace(' ', '') + '×', '*').replace(' ', '') if sheet[f'd{i}'].value else None + model = sheet[f'e{i}'].value.replace(' ', '') if sheet[f'e{i}'].value else None unit = sheet[f'f{i}'].value.replace(' ', '') count_safe = sheet[f'h{i}'].value unit_price = sheet[f'i{i}'].value except Exception as e: - raise ParseError(f'{i}行物料信息错误: {str(e)}') + raise ParseError(f'{i}行物料信息错误: {e}') if type in [20, 30]: try: process = process_d[sheet[f'g{i}'].value.replace(' ', '')] except Exception as e: - raise ParseError(f'{i}行物料信息错误: {str(e)}') + raise ParseError(f'{i}行物料信息错误: {e}') try: filters = {'type': type, 'name': name, 'specification': specification, 'model': model, 'unit__iexact': unit}