From 1e667e69ac73325cd31dc223a2c767eb20984e6a Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 20 Aug 2024 14:39:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20daoru=5Fmaterial=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/mtm/services.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) 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}