From 30a55658de094f08603aaffe966df305ac2ceadf Mon Sep 17 00:00:00 2001 From: mgw <1392924357@qq.com> Date: Tue, 22 Apr 2025 15:02:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E6=B5=AE=E7=82=B9=E5=9E=8B?= =?UTF-8?q?=E5=A2=9E0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wizard/import_complex_model.py | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/quality_control/wizard/import_complex_model.py b/quality_control/wizard/import_complex_model.py index d677c176..31432fe1 100644 --- a/quality_control/wizard/import_complex_model.py +++ b/quality_control/wizard/import_complex_model.py @@ -94,6 +94,11 @@ class ImportComplexModelWizard(models.TransientModel): return repeats + def convert_float(self, value): + if isinstance(value, float) and value.is_integer(): + return int(value) + return value + def import_data(self): """导入Excel数据""" if not self.file_data: @@ -172,10 +177,8 @@ class ImportComplexModelWizard(models.TransientModel): continue logging.info('================%s, %s==' % (row[1], type(row[1]))) - compare_value = row[1] - if type(compare_value) == float: - compare_value = str(int(compare_value)) - if compare_value != quality_check.part_number: + compare_value = self.convert_float(row[1]) + if str(compare_value) != quality_check.part_number: print(sheet.row_values(row_index)) raise UserError(_('上传内容图号错误,请修改')) for row_index in range(1, sheet.nrows): @@ -194,14 +197,14 @@ class ImportComplexModelWizard(models.TransientModel): 'sequence': len(quality_check.measure_line_ids) + 1, 'product_name': str(row[0]) if row[0] else '', # 产品名称列 'drawing_no': str(row[1]) if row[1] else '', # 图号列 - 'measure_item': row[2] or '', # 检测项目列 - 'measure_value1': str(row[4]) if row[4] else '', # 测量值1 - 'measure_value2': str(row[5]) if row[5] else '', # 测量值2 - 'measure_value3': str(row[6]) if len(row) > 6 and row[6] else '', # 测量值3 - 'measure_value4': str(row[7]) if len(row) > 7 and row[7] else '', # 测量值4 - 'measure_value5': str(row[8]) if len(row) > 8 and row[8] else '', # 测量值5 + 'measure_item': str(self.convert_float(row[2])) or '', # 检测项目列 + 'measure_value1': str(self.convert_float(row[4])) if row[4] else '', # 测量值1 + 'measure_value2': str(self.convert_float(row[5])) if row[5] else '', # 测量值2 + 'measure_value3': str(self.convert_float(row[6])) if len(row) > 6 and row[6] else '', # 测量值3 + 'measure_value4': str(self.convert_float(row[7])) if len(row) > 7 and row[7] else '', # 测量值4 + 'measure_value5': str(self.convert_float(row[8])) if len(row) > 8 and row[8] else '', # 测量值5 'measure_result': 'NG' if row[9] == 'NG' else 'OK', # 判定列 - 'remark': row[10] if len(row) > 10 and row[10] else '', # 备注列 + 'remark': self.convert_float(row[10]) if len(row) > 10 and row[10] else '', # 备注列 } for i in range(1, 6):