处理浮点型增0问题

This commit is contained in:
mgw
2025-04-22 15:02:38 +08:00
parent 2867264e88
commit 30a55658de

View File

@@ -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):