diff --git a/quality_control/views/quality.check.measures.line.xml b/quality_control/views/quality.check.measures.line.xml
index c3cb5353..68cc4249 100644
--- a/quality_control/views/quality.check.measures.line.xml
+++ b/quality_control/views/quality.check.measures.line.xml
@@ -15,8 +15,30 @@
-
+
+
+
+ quality.check.measure.line.form
+ quality.check.measure.line
+
+
+
+
+
\ No newline at end of file
diff --git a/quality_control/views/quality_views.xml b/quality_control/views/quality_views.xml
index 6872952f..b173f3b1 100644
--- a/quality_control/views/quality_views.xml
+++ b/quality_control/views/quality_views.xml
@@ -268,10 +268,10 @@
-
+
-
+
@@ -320,7 +320,7 @@
-
+
@@ -338,11 +338,11 @@
type="action"
class="btn-primary"
attrs="{'force_show':1}"
- context="{'default_model_name': 'quality.check.measure.line'}"/>
+ context="{'default_model_name': 'quality.check.measure.line', 'default_check_id': id}"/>
-
+
diff --git a/quality_control/wizard/import_complex_model.py b/quality_control/wizard/import_complex_model.py
index c7a43f87..84674138 100644
--- a/quality_control/wizard/import_complex_model.py
+++ b/quality_control/wizard/import_complex_model.py
@@ -24,6 +24,7 @@ class ImportComplexModelWizard(models.TransientModel):
file_data = fields.Binary("数据文件")
model_name = fields.Char(string='Model Name')
field_basis = fields.Char(string='Field Basis')
+ check_id = fields.Many2one(string='质检单', comodel_name='quality.check')
def get_model_column_name_labels(self, model):
fields_info = model.fields_get()
@@ -96,6 +97,9 @@ class ImportComplexModelWizard(models.TransientModel):
"""导入Excel数据"""
if not self.file_data:
raise UserError(_('请先上传Excel文件'))
+
+ if self.check_id.measure_line_ids:
+ self.sudo().check_id.measure_line_ids.unlink()
# 解码文件数据
file_content = base64.b64decode(self.file_data)
@@ -156,6 +160,7 @@ class ImportComplexModelWizard(models.TransientModel):
valid_data_imported = False
# 从第二行开始读取数据(跳过表头)
+ max_columns = 1
for row_index in range(1, sheet.nrows):
row = sheet.row_values(row_index)
@@ -182,8 +187,15 @@ class ImportComplexModelWizard(models.TransientModel):
'remark': row[10] if len(row) > 10 and row[10] else '', # 备注列
}
+ for i in range(1, 6):
+ if measure_line_vals.get(f'measure_value{i}'):
+ if i > max_columns:
+ max_columns = i
+
self.env['quality.check.measure.line'].create(measure_line_vals)
valid_data_imported = True
+
+ quality_check.column_nums = max_columns
# 检查是否有有效数据被导入
if not valid_data_imported:
diff --git a/quality_control/wizard/quality_check_wizard.py b/quality_control/wizard/quality_check_wizard.py
index 502bacc1..f4297f47 100644
--- a/quality_control/wizard/quality_check_wizard.py
+++ b/quality_control/wizard/quality_check_wizard.py
@@ -116,6 +116,9 @@ class QualityCheckWizard(models.TransientModel):
# 对于成品出库的出厂检验报告,增加发布按钮
def publish(self):
+ self.current_check_id._check_part_number()
+ self.current_check_id._check_measure_line()
+ self.current_check_id._check_check_qty_and_total_qty()
self.current_check_id._do_publish_implementation()