diff --git a/sf_base/models/common.py b/sf_base/models/common.py index 888f3eaf..65dfe13d 100644 --- a/sf_base/models/common.py +++ b/sf_base/models/common.py @@ -92,8 +92,10 @@ class MrsProductionProcess(models.Model): partner_process_ids = fields.Many2many('res.partner', 'process_ids', '加工工厂') active = fields.Boolean('有效', default=True) parameter_ids = fields.One2many('sf.production.process.parameter', 'process_id', string='可选参数') - category_id = fields.Many2one('sf.production.process.category') + category_id = fields.Many2one('sf.production.process.category', string='表面工艺类别') # workcenter_ids = fields.Many2many('mrp.workcenter', 'rel_workcenter_process', required=True) + processing_day = fields.Float('加工天数/d') + travel_day = fields.Float('路途天数/d') # class MrsProcessingTechnology(models.Model): @@ -141,7 +143,10 @@ class MrsProductionProcessParameter(models.Model): is_check = fields.Boolean(default=False) # price = fields.Float('单价') process_id = fields.Many2one('sf.production.process', string='表面工艺') + process_description = fields.Char(string='工艺描述') materials_model_ids = fields.Many2many('sf.materials.model', 'applicable_material', string='适用材料') + processing_day = fields.Float('加工天数/d') + travel_day = fields.Float('路途天数/d') active = fields.Boolean('有效', default=True) def name_get(self): diff --git a/sf_base/views/common_view.xml b/sf_base/views/common_view.xml index a7cbcf9e..533a3e04 100644 --- a/sf_base/views/common_view.xml +++ b/sf_base/views/common_view.xml @@ -27,9 +27,13 @@ + - + + + + @@ -179,41 +183,46 @@ - + + + + + + - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
-
-
- -
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+
+
+ +
diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index 4a0e6bb9..6554a18f 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -137,7 +137,7 @@ class MrpProduction(models.Model): wo.test_results == '返工' and wo.state == 'done' and production.programming_state == '已编程') or ( wo.state == 'rework' and production.programming_state == '编程中') or ( wo.is_rework is True and wo.state == 'done' and production.programming_state in ['编程中', - '已编程']) + '已编程']) for wo in production.workorder_ids): production.state = 'rework' diff --git a/sf_mrs_connect/models/sync_common.py b/sf_mrs_connect/models/sync_common.py index e3ca710b..e37d460a 100644 --- a/sf_mrs_connect/models/sync_common.py +++ b/sf_mrs_connect/models/sync_common.py @@ -326,6 +326,8 @@ class sfProductionProcess(models.Model): production_process.name = item['name'] production_process.category_id = category.id production_process.remark = item['remark'] + production_process.processing_day = item['processing_day'] + production_process.travel_day = item['travel_day'] production_process.active = item['active'] else: self.create({ @@ -333,6 +335,8 @@ class sfProductionProcess(models.Model): "category_id": category.id, "code": item['code'], "remark": item['remark'], + "processing_day": item['processing_day'], + "travel_day": item['travel_day'], "active": item['active'], }) else: @@ -358,12 +362,16 @@ class sfProductionProcess(models.Model): "category_id": category.id, "code": item['code'], "remark": item['remark'], + "processing_day": item['processing_day'], + "travel_day": item['travel_day'], "active": item['active'], }) else: production_process.name = item['name'] production_process.category_id = category.id production_process.remark = item['remark'] + production_process.processing_day = item['processing_day'] + production_process.travel_day = item['travel_day'] production_process.active = item['active'] else: raise ValidationError("表面工艺认证未通过") @@ -1073,6 +1081,9 @@ class sfProductionProcessParameter(models.Model): [('code', '=', item['process_id_code'])]) if production_process_parameter: production_process_parameter.name = item['name'] + production_process_parameter.process_description = item['process_description'] + production_process_parameter.processing_day = item['processing_day'] + production_process_parameter.travel_day = item['travel_day'] production_process_parameter.active = item['active'] production_process_parameter.process_id = process.id production_process_parameter.materials_model_ids = self.env['sf.materials.model'].search( @@ -1080,6 +1091,9 @@ class sfProductionProcessParameter(models.Model): else: self.create({ "name": item['name'], + "process_description": item['process_description'], + "processing_day": item['processing_day'], + "travel_day": item['travel_day'], "code": item['code'], "active": item['active'], "process_id": process.id, @@ -1107,6 +1121,9 @@ class sfProductionProcessParameter(models.Model): if not production_process_parameter: self.create({ "name": item['name'], + "process_description": item['process_description'], + "processing_day": item['processing_day'], + "travel_day": item['travel_day'], "code": item['code'], "active": item['active'], "process_id": process.id, @@ -1115,6 +1132,9 @@ class sfProductionProcessParameter(models.Model): }) else: production_process_parameter.name = item['name'] + production_process_parameter.process_description = item['process_description'] + production_process_parameter.processing_day = item['processing_day'] + production_process_parameter.travel_day = item['travel_day'] production_process_parameter.process_id = process.id production_process_parameter.materials_model_ids = self.env['sf.materials.model'].search( [('materials_no', 'in', item['materials_model_ids_codes'])]) diff --git a/sf_sale/models/sale_order.py b/sf_sale/models/sale_order.py index f3969dfe..e8f57b18 100644 --- a/sf_sale/models/sale_order.py +++ b/sf_sale/models/sale_order.py @@ -113,6 +113,7 @@ class ReSaleOrder(models.Model): 'price_unit': product.list_price, 'product_uom_qty': item['number'], 'model_glb_file': base64.b64decode(item['model_file']), + 'remark': item.get('remark') } return self.env['sale.order.line'].with_context(skip_procurement=True).create(vals)